首页 > 解决方案 > 在使用交叉验证时,您是否将数据分成 2 个子集(训练、保留/测试)?

问题描述

我知道有几种重采样方法可以避免过度拟合。在许多教程和书籍(即统计学习介绍第 5 章重采样方法)中,我看到使用了训练和验证拆分k 折交叉验证。但是,也有很多教程结合了这两种方法。(即将数据分为 3 部分:训练、验证、测试或仅在训练子集上使用训练交叉验证,但仍然在训练和测试中拆分)

这让我很困惑。据我了解,交叉验证是重复的火车验证拆分。这样,您将避免仅在一次拆分上评估模型的性能,这可能很容易(或超级难)预测,因此无法为您提供模型实际性能的准确估计)。通过多次重复在训练和验证中拆分数据的过程,并对所有这些拆分的性能指标进行平均,您可以更好地了解模型的实际性能。

那么为什么在训练和测试子集中进行一些拆分,然后使用交叉验证只训练并让测试数据完全隐藏在模型中?对我来说,这似乎是“错误的”。因为据我现在了解,您似乎正在重新引入交叉验证首先要解决的问题。还是我错过了什么?

仅对所有数据使用k-folds 交叉验证(基本上是在训练和测试子集中重复拆分)而不是在训练和测试中拆分不是更好吗?而不是拆分训练和测试子集,只在训练上进行交叉验证?

谢谢

标签: data-sciencecross-validationresampling

解决方案


推荐阅读