【数据集划分】训练集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的效果最好,最后确认的超参和算法也更加可靠,但缺点是计算开销过大,因而选择评估方法时也要综合考虑准确率和计算开销。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值