我对交叉验证的应用有点困惑。因此,如果我有一个大数据集,我会将我的数据拆分为测试和训练数据,并对测试数据进行验证。但是,如果我有一个小数据集,我想使用交叉验证,然后验证已经在其中执行。
令我困惑的是,很多人拆分数据,通过交叉验证对训练数据进行训练,然后对测试数据集进行验证。所以他们结合了这两种方法。这是一个正确的方法吗?由于我的数据集很小,我可以只做交叉验证吗?
我对交叉验证的应用有点困惑。因此,如果我有一个大数据集,我会将我的数据拆分为测试和训练数据,并对测试数据进行验证。但是,如果我有一个小数据集,我想使用交叉验证,然后验证已经在其中执行。
令我困惑的是,很多人拆分数据,通过交叉验证对训练数据进行训练,然后对测试数据集进行验证。所以他们结合了这两种方法。这是一个正确的方法吗?由于我的数据集很小,我可以只做交叉验证吗?
让我们看看三种不同的方法
在最简单的场景中,可以收集一个数据集并通过交叉验证训练您的模型以创建最佳模型。然后您将收集另一个完全独立的数据集并测试您的模型。然而,考虑到时间或成本的限制,这种情况对于许多研究人员来说是不可能的。
如果您有足够大的数据集,您可能希望拆分数据并将其放在一边(完全不受训练影响)。这是为了将其模拟为一个完全独立的数据集,即使它来自同一个数据集,但模型训练不会从这些样本中获取任何信息。然后,您将在剩余的训练样本上构建模型,然后在这些遗漏的样本上进行测试。
如果您的数据集较小,您可能无法承担简单地忽略大量数据以进行模型构建的代价。因此,验证在每个折叠(k 折叠 CV?)上执行,并且您的验证指标将在每个验证中汇总。
要更直接地回答您的问题,是的,您可以对完整数据集进行交叉验证。然后,您可以使用您的预测类和实际类通过您喜欢的任何指标(准确度、AUC 等)来评估您的模型性能。
也就是说,您可能仍然希望查看重复的交叉验证来评估模型的稳定性。关于这方面的一些很好的答案是关于内部与外部 CV和这里的重复次数