训练集验证集测试集
交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题。
主要有三种方式:留出验证(HoldOut检验)、k折交叉验证(k-fold交叉验证)、自助法。
留出验证
方法:将原始数据集随机划分成训练集和验证集两部分。尽量保持训练集和测试集分布一致
例如,将样本按照70%~30%的比例分成两部分,70%的样本用于训练模型;30%的样本用于模型验证。
缺点:
(1)数据都只被用了一次,没有被充分利用
(2)在验证集上计算出来最后的预测准确率受数据集划分的影响。
k折交叉验证
为了解决简单交叉验证的不足,提出k-fold交叉验证。
步骤:
1、首先,将全部样本划分成k个大小相等的样本子集;
2、依次遍历这k个子集,每次把当前子集作为验证集,其余所有样本作为训练集,进行模型的训练和评估;
3、最后把k次评估指标的平均值作为最终的评估指标。在实际实验中,k通常取10.
例如取k=10,如下图所示:
自助法
自助法是基于自助采样法的检验方法。对于总数为n的样本合集,进行n次有放回的随机抽样,得到大小为n的训练集。
n次采样过程中,有的样本会被重复采样,有的样本没有被抽出过,将这些没有被抽出的样本作为验证集,进行模型验证。
参考资料:
K折验证交叉验证
机器学习干货篇:训练集、验证集和测试集
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示