【问题标题】:Stratified split of subset of data数据子集的分层拆分
【发布时间】:2020-09-25 06:39:48
【问题描述】:

我有一个大小为 10,000 的整体数据集。我知道我可以使用分层拆分来创建训练和测试集,然后我可以运行两次(第二次在测试集上)以获得验证和测试集。我可以为 10,000 个样本执行此操作。我知道我可以使用StratifiedShuffleSplit

对于我的工作,我只需要使用 1,000 个样本。有没有一种很好的方法可以做到这一点,但只能使用数据的一个子集?我想保留原始 10,000 组中的班级百分比,但将其应用于 1,000 组。

【问题讨论】:

    标签: python machine-learning scikit-learn train-test-split


    【解决方案1】:

    只是想出来以防其他人也有同样的疑惑。

    我可以简单地将 train_size 和 test_size 参数输入为整数。然后我以 50/50 在测试集上再次运行拆分以获得验证和测试集。

    【讨论】:

      【解决方案2】:

      如果您使用 pandas 或 numpy 来存储数据,则有 pandas.DataFrame.sample(1000)numpy.random.choice

      【讨论】:

      • OP 要求 分层 拆分。如果您认为您提出的方法确实提供了这样一个选项,请明确说明这一点。
      猜你喜欢
      • 2014-01-13
      • 2022-06-25
      • 2020-11-19
      • 2023-01-22
      • 1970-01-01
      • 2021-04-08
      • 2013-03-12
      • 2018-11-19
      • 2017-04-10
      相关资源
      最近更新 更多