我可以用一个小数据集重复交叉验证,和/或如何提高交叉验证的信心?

机器算法验证 交叉验证
2022-04-13 06:26:46

对于大学,我们需要对 3 种癌症类型进行分类,并估计我们的模型的表现如何。我们收到了一个包含 100 个样本的数据集。我们使用比率为 0.3 和 0.7 的分层抽样将数据分成训练和测试集。生成的训练集由 69 个样本组成,测试集由 31 个样本组成。

我们使用 10 倍交叉验证来计算模型的准确性。当对大多数模型在测试集上应用相同模型时,测试集上的准确度比在训练集上使用交叉验证时差 10-15%,除了一个模型在测试集上的准确度比在测试集上好 2%在交叉验证期间。

我们现在遇到的问题是交叉验证的两个最佳评分模型没有显着差异,一个的准确度为 88.57% +/- 12.45%,另一个准确度为 88.00% +/- 7.92%。但是,在测试集上,第一个得分为 76%,第二个得分为 90%。

如果我们理解正确,我们不能根据测试集的结果选择第二个模型作为最佳模型,因为那样我们就会使用测试集作为训练集。相反,我们希望使用重复的交叉验证来提高我对交叉验证结果的信心,从而希望能够选择最好的模型。

对于我们拥有的小数据集,如果我们重复交叉验证并取平均值,我们会遇到相同折叠会被多次使用的问题吗?

1个回答

似乎您使用了不正确的评分规则,正确分类的比例。优化这个度量会选择一个虚假的模型。

您将需要重复 10 次交叉验证 100 次以获得足够的验证估计精度,并确保使用适当的评分规则(例如,Brier 评分(二次误差评分)或对数评分规则(对数似然度))。