【问题标题】:Non overlapping data in train test validation split python火车测试验证拆分python中的非重叠数据
【发布时间】:2020-11-06 17:03:18
【问题描述】:

我正在尝试为卫星图像分类的一些深度学习问题创建一个函数。我已经搜索了很多库,但我没有找到我的需求我尝试了这个 sikit-learn,但我觉得它不是我需要的

任何关于我可能看不到的特殊功能的提示?

【问题讨论】:

    标签: python validation testing split training-data


    【解决方案1】:

    sklearn train_test_split 似乎可以满足您的所有需求。

    https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html

    【讨论】:

    • 它不能确保集合是唯一的。它只是分裂
    • 哦,好的。您能否进一步解释一下您所说的“每个组中的唯一数据且没有多余的数据”是什么意思?
    • 我的意思是,例如,如果我的数据在拆分期间是 1、2、3、4、5、6、7、8、9,我需要在一组中包含“1”(测试或训练或验证)与“2”相同
    • 我没有在测试和验证集中找到 5 个例子
    【解决方案2】:

    这应该可以解决问题。如果您愿意,可以分别对 X 和 y 数据使用置换数组。

    num_tr, num_va = int(len(data)*0.5), int(len(data)*0.2)
    perm = np.random.permutation(len(data))
    tr_data = data[perm[:num_tr]]
    va_data = data[perm[num_tr:num_tr+num_va]]
    te_data = data[perm[num_tr+num_va:]]
    

    【讨论】:

    • 我认为这会在读取数据时将其按部分拆分。它不会随机播放或从不同部分获取集合?
    • 我希望这个函数能像我所说的那样维护我提供的数据的形式和约束
    • 我相信我不明白你的问题。您想要对数据进行混洗还是排序?如果你想要两者,应该洗牌什么,应该保持秩序?
    猜你喜欢
    • 1970-01-01
    • 2020-05-21
    • 2017-02-21
    • 2017-09-05
    • 2020-08-03
    • 1970-01-01
    • 2020-05-11
    • 2020-03-23
    • 2020-11-29
    相关资源
    最近更新 更多