【发布时间】:2018-05-18 00:10:40
【问题描述】:
我很好奇 Scikit-learn 的 train_test_split() 方法在以下场景中会如何表现:
一个虚构的数据集:
id, count, size
1, 4, 8
2, 5, 9
3, 6, 0
说我会像这样把它分成两个独立的集合(在两个中都保留“id”):
id, count | id, size
1, 4 | 1, 8
2, 5 | 2, 9
3, 6 | 3, 0
然后用train_test_split() 和0 的相同random_state 将它们分开。两者的顺序是否相同以'id'作为参考? (因为您正在改组相同的数据集,但省略了不同的部分)
我很好奇这是如何工作的,因为我有两个模型。第一个使用数据集进行训练并将其结果添加到数据集中,然后将其中的一部分用于训练第二个模型。
这样做时,重要的是在测试第二个模型的泛化时,不使用也用于训练第一个模型的数据点。这是因为数据“以前见过”并且模型将知道如何处理它,因此您不再测试对新数据的泛化。
如果train_test_split() 将它改组,那就太好了,因为这样就不需要跟踪用于训练第一个算法的数据,以防止测试结果受到污染。
【问题讨论】:
标签: scikit-learn train-test-split