首页IT科技训练集测试集和验证集的比例(机器学习数据集—-训练集、测试集以及验证集)

训练集测试集和验证集的比例(机器学习数据集—-训练集、测试集以及验证集)

时间2025-04-28 13:00:22分类IT科技浏览5615
导读:1、训练集...

1               、训练集

用来构建模型            ,通过训练拟合一些参数建立分类器               。

2                   、验证集

用于确定网络结构以及调整模型的超参数                   。

使用验证集的目的就是为了快速调参(如网络层数      、网络节点数           、迭代次数等等)                     ,从而获得当前最优模型      。

验证集是在训练集中划分出的一部分           。

验证集不是必须要有的!

3                    、测试集

用来评估最终模型好坏                    。

4         、是否需要划分验证集判断

4.1划分验证集

如果样本数量为万级以上       ,可以考虑划分为训练集(60%)       、验证集(20%)                     、测试集(20%);

如果样本数量达到百万级以上         ,验证集和测试集都留1W即可;

超参数越少或者容易调整                    ,可以减少验证集比例           ,更多的分配给训练集         。

4.2不需要划分验证集

如果样本数量少于1w      ,可以不用划分验证集                   ,采用交叉验证训练优化选择模型       。

5            、交叉验证

5.1简单交叉验证

所谓简单是相对于其他交叉验证方法而言的                     。

随机将样本划分为训练集(70%)和测试集(30%)               ,用训练集训练模型   ,用测试集验证模型及参数            。接着再把样本打乱                  ,重新选择训练集和测试集                  ,继续训练模型和验证模型   。最终选择损失函数评估最优模型和参数                     。

5.2 K折交叉验证

将样本随机划分为K个大小相同的互斥的子集,每次选K-1个作为训练集               ,剩的那个作为测试集               。重复若干次(小于K)后                     ,选择损失函数评估最优模型和参数。

这种方法评估结果的稳定性和保真性很大程度上取决于K的选择                  。

5.3留一交叉验证

是K折交叉验证的特例   ,适用于样本数量很少的情况                  。

该方法中            ,K等于样本数量N                     ,每次选择N-1个样本进行训练       ,剩的1个样本进行测试   。

5.4三种方法的选择

如果只是做个初步的模型建立         ,不是做深入分析的话                    ,选择简单交叉验证           ,否则用K折交叉验证;在样本量少的情况下      ,使用留一交叉验证               。

5.5交叉验证函数

cross_val_predict和cross_val_score都是交叉验证函数                   ,区别主要是而这返回的评估结果不一样                   。

①   、cross_val_predict:返回的是与样本数量个数一样的分类结果或者预测值      。可以通过该预测输出与实际目标值做对比               ,准确定位到预测出错的地方   ,有利于参数优化和问题排查           。输出的预测值可以用于计算PR曲线和ROC曲线                    。 

其中                  ,Ytrain为正确的标签                  ,y_score为输出概率值,thresholds1为阈值               ,当 y_score>thresholds1时预测为正样本;当 y_score<thresholds1时预测为负样本         。注意                     ,输出的precision和recall最后一个值分别为1和0   ,并且没有对应的阈值       。

②                     、cross_val_score:输出的是每一折的得分(准确率)            ,K个得分取平均值就是模型的平均性能                     。最终输出的Accuracy可以由平均得分和95%置信区间共同得出            。

cross_val_predict的输出结果不可以作为模型泛化性能参考;cross_val_score可以作为模型泛化性能的参考   。

5.6置信区间

表示估计的准确度或精确度                     。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
智能伪原创工具软件(SEO智能伪原创工具——优化网站排名的强大助手) 公安ai(公安tbm)