我想知道要选择哪种类型的模型交叉验证来分类问题:k折或随机子采样(自举采样)?

我最好的猜测是使用2/3的数据集(约1000个项目)进行培训,并使用1/3进行验证。

在这种情况下,k折仅给出三个迭代(折叠),这还不足以看到稳定的平均误差。

另一方面,我不喜欢随机的子采样功能:从未选择某些项目进行培训/验证,而有些项目将不止一次使用。

使用的分类算法:随机森林和逻辑回归。

有帮助吗?

解决方案

如果您有足够数量的样本并想使用所有数据,那么K折的交叉验证就是必需的。拥有约1,500个似乎很多,但是它是否足以用于k折的交叉验证也取决于数据的维度(属性数量和属性值的数量)。例如,如果每个观测值具有100个属性,则1,500个观测值较低。

k折的另一个潜在的缺点是单个极端离群值偏向结果的可能性。例如,如果您有一个极端离群值可能会严重偏见分类器,那么在10倍的交叉验证中,10个分区中的9个将受到影响(尽管对于随机森林,我认为您不会遇到这个问题)。

当您被取消采样或上面的情况时,不希望每个观察结果出现在K-1折叠中时,都可以选择随机亚采样(例如,引导采样)。

其他提示

我想您说您想使用3倍交叉验证,因为您对数据有所了解(使用k = 10会导致过度拟合吗?我很好奇您的推理)。我不确定您知道这一点,如果不是这样,您可以简单地使用较大的k。

如果您仍然认为自己不能使用标准的k折交叉验证,那么您可以对算法进行一些修改:说您将数据分为30倍,每次使用20进行训练,并进行10次进行评估(然后移动一折,并将第一和最后9个用作评估,其余的作为培训)。这意味着您可以使用所有数据。

当我使用k折的交叉验证时,我通常会多次多次运行该过程,以确保我有足够的数据,如果您不这样做,您将根据随机性看到不同的性能。在这种情况下,我建议您进行采样。那么,诀窍是经常做到这一点。

许可以下: CC-BY-SA归因
scroll top