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

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

时间2025-10-07 14:17:14分类IT科技浏览8253
导读: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
弄几台电脑可以做什么生意(几台电脑在家能做什么赚钱-手机上的5个撸钱方式,不出门也能养家糊口,实在干货!) 快速收录工具(如何使用快速收录工具?小心这些注意事项!)