data-science - 在使用交叉验证时,您是否将数据分成 2 个子集(训练、保留/测试)?
问题描述
我知道有几种重采样方法可以避免过度拟合。在许多教程和书籍(即统计学习介绍第 5 章重采样方法)中,我看到使用了训练和验证拆分或k 折交叉验证。但是,也有很多教程结合了这两种方法。(即将数据分为 3 部分:训练、验证、测试或仅在训练子集上使用训练交叉验证,但仍然在训练和测试中拆分)
这让我很困惑。据我了解,交叉验证是重复的火车验证拆分。这样,您将避免仅在一次拆分上评估模型的性能,这可能很容易(或超级难)预测,因此无法为您提供模型实际性能的准确估计)。通过多次重复在训练和验证中拆分数据的过程,并对所有这些拆分的性能指标进行平均,您可以更好地了解模型的实际性能。
那么为什么在训练和测试子集中进行一些拆分,然后使用交叉验证只训练并让测试数据完全隐藏在模型中?对我来说,这似乎是“错误的”。因为据我现在了解,您似乎正在重新引入交叉验证首先要解决的问题。还是我错过了什么?
仅对所有数据使用k-folds 交叉验证(基本上是在训练和测试子集中重复拆分)而不是在训练和测试中拆分不是更好吗?而不是拆分训练和测试子集,只在训练上进行交叉验证?
谢谢
解决方案
推荐阅读
- sql - 仅列中的聚合值存在差异
- amazon-web-services - SQS 消息延迟未按预期工作
- python - 无法从需要搜索输入的网站抓取 div 标签内的数据
- robots.txt - Robots.txt 文件允许除一个之外的所有根 php 文件并禁止所有子文件夹内容
- javascript - react-redux 的 dispatch 在表单处理函数中调用失败
- css - Ios 设备 CSS 网格的不需要的滚动到顶部
- spring - 如何在无状态应用程序中将属性传递给 Spring Controller?
- javascript - Vuejs / javascript / 我正在尝试连接一个搜索栏来搜索我的表格并根据我的输入显示结果
- python - 如何确保 QTableView.SelectedIndexes 符合模型行顺序?
- netsuite - 在 Suitscript 2.0 的 Suitelet 中使用 N/record