【发布时间】:2021-01-17 15:30:01
【问题描述】:
我有一个带有 ID 的动物类型数据集,我想将所述数据集分解为测试/训练数据集。我还想将相应动物的所有 ID 保留在训练或测试数据集中。下面是一个数据示例,其中随机训练/测试拆分比率为 80/20。
Animal ID Test/Train
CAT 1 TRAIN
CAT 1 TRAIN
CAT 2 TRAIN
CAT 2 TRAIN
CAT 3 TRAIN
CAT 3 TEST
CAT 4 TRAIN
CAT 4 TRAIN
CAT 5 TEST
CAT 5 TRAIN
DOG 1 TRAIN
DOG 1 TRAIN
DOG 2 TRAIN
DOG 2 TRAIN
DOG 3 TRAIN
DOG 3 TRAIN
DOG 4 TEST
DOG 4 TEST
DOG 5 TRAIN
DOG 5 TRAIN
请注意 ID 为 3 和 ID 5 的 CAT 如何存在于训练和测试数据集中。 scikit-learn train_test_split 中是否有一个函数能够在保持测试比率的同时将所有相似值保留在同一训练/测试数据集中的列中?因此,如果 ID 为 3 的 CAT 有一个值被标记为训练数据,那么任何其他具有 CAT 和 ID 3 的记录也将被标记为训练数据。
【问题讨论】:
标签: python data-science train-test-split