我们应该重复多少次 K-fold CV?

机器算法验证 交叉验证
2022-01-17 16:58:32

我遇到了这个线程,看看引导和交叉验证之间的区别——顺便说一句,很好的答案和参考。我现在想知道的是,如果我要执行重复的 10 倍 CV 来计算分类器的准确度,我应该重复多少次

n是否取决于折叠数?关于样本量?这有什么规则吗?

(在我的例子中,我有 5000 个样本,如果我选择大于n = 20的任何值,我的计算机将花费太长时间来执行计算。)

2个回答

向统计学家提出任何问题,他们的回答将是某种形式的“视情况而定”。

这取决于. 除了模型的类型(好点 cbeleites!),训练集点的数量和预测器的数量?如果模型是用于分类的,那么大的类不平衡会导致我增加重复次数。此外,如果我正在重新采样特征选择过程,我会偏向于更多的重新采样。

对于在这种情况下使用的任何重采样方法,请记住(与经典自举不同),您只需要足够的迭代来获得对分布均值的“足够精确”的估计。这是主观的,但任何答案都会是。

坚持使用两个类别进行分类,假设您期望/希望模型的准确度约为 0.80 。由于重采样过程是对准确度估计进行采样(例如p),因此标准误差将是sqrt[p*(1-p)]/sqrt(B)B采样次数。对于B = 10,准确度的标准误差约为 0.13,而B = 100它的标准误差约为 0.04。对于这种特殊情况,您可以使用该公式作为粗略指南。

还要考虑到,在这个例子中,准确度的方差越接近 0.50 就会最大化,因此准确的模型应该需要更少的复制,因为标准误差应该低于弱学习器的模型。

高温下,

最大限度

影响因素是您的模型的稳定性——或者更准确地说:代理的预测。

如果模型完全稳定,则所有代理模型将对相同的测试用例产生相同的预测。在这种情况下,不需要迭代/重复,它们不会产生任何改进。

正如您可以衡量预测的稳定性,这就是我要做的:

  • 以将每次交叉验证重复/迭代的结果保存到硬盘的方式设置整个过程
  • 从大量迭代开始
  • 经过几次迭代后,获取初步结果并查看每次运行结果的稳定性/变化。
  • 然后决定你想进一步迭代多少次来优化结果。

  • 当然,您可能会决定运行 5 次迭代,然后再决定要执行的最终迭代次数。

(旁注:我通常使用 > ca. 1000 代理模型,因此典型的重复/迭代次数约为 100 - 125)。