【问题标题】:shuffle or not when splitting train and test set拆分训练集和测试集时是否洗牌
【发布时间】:2018-10-10 14:41:16
【问题描述】:

我需要一个模型来预测一个类别。所以我应该将我的数据拆分为训练、验证和测试集。首先,我打乱我的数据(80% 用于训练集,20% 用于测试集)。然后因为我应该确定一些超参数,所以我使用 10 倍交叉验证来拆分我的训练集。最后,我使用训练集(80% 的数据)和指定的超参数训练我的模型。 我有个问题。我先打乱我的数据然后拆分它们是错误的吗?一些研究人员认为,如果你想声称你的模型可以预测未来的数据,你不应该打乱数据。您应该选择最后 20% 的数据作为测试集。这样对吗?我可以随机播放我的数据吗?你能给我介绍一本学术书籍或论文来解决我的问题吗? 非常感谢

【问题讨论】:

  • 嗨@Atena,你能推荐一些建议不要打乱数据的研究人员的作品/链接吗?
  • 嗨@AzkarioRizky。我的教授说。我没有链接并发布此问题以获取链接。

标签: shuffle cross-validation


【解决方案1】:

无论采用何种 ML 技术,都可以有不同的方法来评估您的结果。在您的问题中,您必须先对数据进行洗牌,然后分成训练集和测试集。这种洗牌应该是随机的;为避免任何偏差,您重复此过程几次,然后报告平均结果。您还可以计算错误/准确度的标准偏差,以观察结果是否变化太大。如果是,那么可能是您的模型没有正确学习,您可能需要尝试其他方法或增加数据或做其他事情。 对于 NLP 类型的问题 Goolge 关于洗牌的建议,您可以在此处查看 Step 3: Prepare Your Data

【讨论】:

    【解决方案2】:

    最好洗牌。如果示例的顺序使得早期示例不同于后面的示例,则按顺序拆分可能会导致训练数据和测试数据显着不同,从而使交叉验证变得不那么有意义。洗牌会减少这种情况的可能性。

    【讨论】:

    • 如果我洗牌,我可以声称我的模型可以预测未来的数据吗?我的数据由智能家居传感器产生并按时间排序,但我选择功能的方式与时间无关
    猜你喜欢
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2023-01-24
    • 2021-01-20
    • 2022-10-23
    • 1970-01-01
    相关资源
    最近更新 更多