当前位置: 首页 > news >正文

【数据集划分】训练集train/验证集val/测试集test是如何划分的?

🚀在跑代码时常常将数据集简单的划分为训练集train和测试集test(二划分),其实更为全面完整的划分应该是划分为训练集train验证集val测试集test(三划分)。那么具体如何划分呢?各个部分起着什么作用呢?

如下图所示,展示了划分的具体过程和各个部分的作用:
在这里插入图片描述

① {\color{#E16B8C}{①}} 整体划分: 按照一定方法(e.g. 分层采样),固定划分dataset为trainval和test;(这里trainval相当于二划分的train)
② {\color{#E16B8C}{②}} 超参确定: 按照一定的评估方法(e.g. 留出法/交叉验证法/自助法)动态划分trainval,train用于训练,val用于评估,目的是选择合适的算法和超参数;(相当于为了确定超参和算法对二划分的train进一步划分处理)
③ {\color{#E16B8C}{③}} 正式训练: 确定算法和超参数后,trainval整个用于训练;
④ {\color{#E16B8C}{④}} 最终评估: test用于评估最后通过trainval训练出来的模型。

⭐️这里几个注意点:

  • 超参确认中的训练数据只是trainval划分为train的一部分,而正式训练的训练数据是trainval整体;
  • 为了使得通过train训练+val评估的结果可以近似估计使用trainval整体训练的结果,我们需要针对数据集的体量和特性选择合适的评估方法以确定超参数;
  • 一般来说,体量大的数据集适合用留出法和交叉验证法,而体量小的数据集适合用自助法;
  • 交叉验证法中的留一法由于使得train/trainval的差异始终保持为一个样本,因而近似估计trainval的效果最好,最后确认的超参和算法也更加可靠,但缺点是计算开销过大,因而选择评估方法时也要综合考虑准确率和计算开销。

http://www.mrgr.cn/news/78576.html

相关文章:

  • 《Vue 组件化开发:构建可复用的模块》
  • 通过指令导入/导出vscode扩展插件
  • Java技术复习提升 15IO流
  • 机器学习——生成对抗网络(GANs):原理、进展与应用前景分析
  • 自动控制原理——BliBli站_DR_CAN
  • 解决jupyter notebook 新建或打开.ipynb 报500 : Internal Server Error(涉及jinja2兼容性问题)
  • HarmonyOS NEXT应用开发,关于useNormalizedOHMUrl选项的坑
  • 51c自动驾驶~合集38
  • 随机变量的线性最小均方估计(LMMSE)——多个观测变量
  • 使用C#开发VTK笔记(一)-VTK开发环境搭建
  • 【数据库系统概论】第6章 (一)函数依赖和码
  • 3.26线性回归对率回归
  • 大米中的虫子检测-检测储藏的大米中是否有虫子 支持YOLO,VOC,COCO格式标注,4070张图片的数据集
  • 2008年IMO几何预选题第3题
  • Gazebo插件相机传感器(可订阅/camera/image_raw话题)
  • 力扣刷题TOP101:6.BM7 链表中环的入口结点
  • 输出1~n中能被3整除,且至少有一位数字是5的所有整数.:JAVA
  • 3.22决策树,离散值
  • 【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践
  • 《Django 5 By Example》阅读笔记:p388-p454
  • 使用C#开发VTK笔记(一)-开发环境搭建
  • 开发指南080-邮箱录入控件
  • 单细胞细胞通讯全流程分析教程,代做分析和辅导
  • 《深入理解经典广度优先遍历算法》
  • C语言 qsort及应用
  • 每天五分钟深度学习PyTorch:搭建卷积神经网络完成手写字体识别