训练集、验证集以及测试集的区别

1、数据集的划分:

训练集:含有参考答案的数据,用来训练模型的已标注数据,用来建立模型,发现规律
验证集:模型训练过程中单独留出的样本集,用于调整模型的超参数和用于对模型的能力进行初步评估
测试集:用来评估模最终模型的泛化能力,但不能作为调参、选择特征等算法相关的选择的依据。已标注数据,通常做法是将标注隐藏,输送给训练好的模型,通过结果与真实标注进行对比,评估模型的学习能力

2、划分方法:

1、 总体数据集划分方法
根据已有全部标注数据,随机选出一部分数据(比如70%)作为训练数据,余下的作为测试数据

2、 训练集/验证集的划分:两种方法
方法1:从训练集中,再随机选出一部分数据(比如90%)作为训练数据,余下的作为验证数据(不好)

训练集、验证集以及测试集的区别

方法2: 交叉验证法先将训练集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为验证集,这样就可获得k组训练/验证集,从而可进行k次训练和验证,最终返回的是这个k个测试结果的均值

通常把交叉验证法称为”k折交叉验证”, k最常用的取值是10,此时称为10折交叉验证
具体做法:
将训练集分为10份,其中9份作为训练集,1份作为验证集,做10次验证后,求平均,从而得到该模型的评分

得出几个模型的评分后,进行比较,从而得出最优的超参数

训练集、验证集以及测试集的区别
交叉验证用来选择最优的超参数,代替了原来单个 验证集的功能

; 需注意

假设λ=1,2,3,4,5 分别将其带入模型,训练模型进行10折交叉验证,此时训练模型次数为50次,进行5个模型的评分比较后,选出最优的超参数后,随后需要将整体训练集(训练集+验证集)送进去,训练出最终模型
故 需要训练模型 50+1 次

Original: https://blog.csdn.net/one_bird_/article/details/120877491
Author: 潇洒白羊
Title: 训练集、验证集以及测试集的区别

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/623796/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球