您如何确定训练,验证和测试百分比?


10

将我标记的数据分为训练,验证和测试集时,我听到了从50/25/25到85/5/10的所有信息。我确信这取决于您将如何使用模型以及如何过度拟合学习算法。有没有办法决定还是凭经验来决定?甚至ELSII在这个问题上似乎也含糊不清。


此Stackoverflow问答对此主题有两个不错的答案,每个答案均> 30。stackoverflow.com/questions/13610074/...
卢克Singham

Answers:


13

除非您有大量样本(例如),否则不重新采样而进行的样本样本验证(交叉验证,或者更好:自举)是不可靠的。通常首选使用引导程序进行严格的内部验证,前提是您对所有模型选择步骤进行了编程,以便可以在每个引导程序循环中重复这些步骤。除挥发性之外,拆分样本方法的问题之一是难以选择拆分分数。N>20000


如果您正在处理10000 <N <1000000的大规模数据(而不是大数据),该怎么办?那时,拆分似乎是合理的。这适合我遇到的许多(但不是全部)情况。
Ed Fine

这可能是很合理的。
Frank Harrell

我有N = 95,000,000(保留9,500,000套)。哪里有参考资料告诉我,我不必重复10次实验?
dranxo 2014年

2
只需运行两次(2次拆分),您将得到多少结果。它们的变化可能很小,以至于您只需要拆分一下即可。考虑这么大样本量的比例的置信区间的宽度。
Frank Harrell 2014年


3

当然,您还必须确定(两倍)重采样的拆分率...

但是,请记住,重采样通常可在很宽的分光比范围内使用

  • 如果这样做会减少可能的不同运行次数,则不要进行遗忘
  • 在最里面的训练集中保留足够的训练案例,以便训练算法有相当大的机会产生有用的模型。
  • 您拥有的案件越独立,这些注意事项就越不重​​要。

如果您正在处理10000 <N <1000000的大规模数据(而不是大数据),该怎么办?

如果不确定不确定是否需要重采样,可以执行以下操作:重采样几次。足够了,因此您可以测量是否需要重新采样。

  • 检查预测的稳定性
  • 检查模型参数的稳定性

有了这些结果,您可以决定是否应该添加更多的重采样迭代,或者是否一切正常。


2

没有硬性规定。但是实证分析表明,您拥有的训练数据越多,您的准确性就越好。但是无论您做什么,都不要忘记将所有的培训/验证/测试数据放在一起,并在打包时进行10倍的简历。这样可以很好地了解实验过程中是否存在过拟合/欠拟合问题。


1

我认为这与您要回答的问题都很重要。您是否对准确了解多种算法之间的性能差异感兴趣?然后,您需要一个相当大的验证集。您是否对算法对N = 10000个样本的性能表现感兴趣?然后,您应该在火车集中放置至少10000个样本。

更大的验证集可以使您对结果有更多的统计确定性,但是确定性取决于算法的性能,该算法在较少的样本上进行了训练,最终可能不是您想要的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.