Two lists, with every group of rows on one side: const [train, test] = split(rated(tutor).rows). Turns of one conversation depend on each other:
a test row whose conversation is also in the training rows measures
memory, not the program. A row with no group (conversation null) is a
group of its own. test is the share of groups held out (at least one
group each side when there are two or more); seed makes it repeatable
here (not Python's draw for the same seed).
Two lists, with every group of rows on one side:
const [train, test] = split(rated(tutor).rows). Turns of one conversation depend on each other: a test row whose conversation is also in the training rows measures memory, not the program. A row with no group (conversationnull) is a group of its own.testis the share of groups held out (at least one group each side when there are two or more);seedmakes it repeatable here (not Python's draw for the same seed).