【问题标题】:Split Train Test Data sets keeping like values together拆分训练测试数据集将相似的值保持在一起
【发布时间】: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


    【解决方案1】:

    如果是,您是否将分层参数保留为是,然后将其删除并检查。

    【讨论】:

    • 嗨阿迪亚!谢谢你提到这一点。我认为分层保持您试图预测的训练和测试数据集之间的字段比率(即,如果数据在二进制字段上按 75/25 拆分,训练和测试数据集将保持该比率)。在我的示例中,我想确保相应动物的所有 ID 都存在于训练或测试数据集中,并且在两个数据集中都找不到,与预测的字段无关。
    猜你喜欢
    • 2019-03-07
    • 1970-01-01
    • 2021-12-08
    • 2019-05-01
    • 2022-06-25
    • 2019-12-15
    • 2021-05-24
    • 2010-11-25
    • 2018-07-21
    相关资源
    最近更新 更多