我看到在数据集上使用10倍交叉验证的论文,这些数据集的样本数量与10不相同。
我找不到他们解释他们如何选择每个子集的情况。
我的假设是他们在某种程度上使用了重新取样,但如果是这种情况,则样本可能会出现在两个子集中,从而偏向模型。
论文例如:http://www.biomedcentral.com/1471-2105/9/319
是否建议执行以下操作;
这样做就可以了,所以每个样本都是一个训练集,但只有80/86个样本被用作保留,并且没有偏见让它在训练和保持集中都出现。
任何见解都将受到赞赏。
答案 0 :(得分:4)
您希望折叠具有相同的尺寸,或尽可能接近相等。
要执行此操作,如果您有86
个样本且想要使用10倍CV,则第一个86 % 10 = 6
折叠的大小为86 / 10 + 1 = 9
,其余的将具有{{1} }}:
86 / 10 = 8
一般情况下,如果您有6 * 9 = 54
4 * 8 = 32 +
--------------
86
个样本和n
个折叠,您希望执行scikit-learn does:
前n%n_folds折叠的大小为n // n_folds + 1,其他折叠的大小为n // n_folds。
注意:n_folds
代表整数除法
我不知道对此有适当的科学参考,但它似乎是惯例。有关相同的建议,请参阅this question和this one。至少有两个主要的机器学习库就是这样做的。