何时使用 k 折交叉验证以及何时使用拆分百分比?

When to use k-fold cross validation and when to use split percentage?

哪种数据集从使用 k 折验证中获益最多?它通常是比标准拆分百分比更好的选择吗?

简短的回答是:小的。

更长的版本 - 当数据的单个随机样本不具有代表性 基础分布样本时,您使用 k 倍拆分(或引导程序等)。数据集的大小只是一种启发式方法,它试图捕捉这种现象。问题是 - 你的分布越复杂 - "big enough" 就越大。因此,如果您的问题是二维分类,您可以在其中几乎完美地拟合线性模型,那么即使您只有几个 hundreads 点,您也可以使用单个随机拆分。另一方面,如果您的数据来自极其复杂的分布,这违反了 iid 假设等,您将需要大量拆分才能恢复可靠的统计数据。

那么如何决定呢?一般来说 - 如果你能负担得起(就计算时间而言),请做 k-fold cv。您不会以这种方式损害您的过程。另一种更具统计意义的方法是收集数据的多个统计数据,例如 - 每个拆分的边缘分布(每个特征的投影)的 KDE,以及整个数据集并比较这三个 - 如果它们几乎相同,你是很高兴与这样的分裂一起去。如果您可以注意到(通过视觉或通过统计测试)这些分布存在显着差异 - 那么您必须添加 k-fold cv(或其他减少结果方差的技术)。