机器学习为什么要划分训练集、测试集和验证集?这3个样本集的区别又在哪里?

adminadmin 02-12 66 阅读 0 评论

  按照是否有y标签,可以将模型算法分为有监督算法和无监督算法。其中有监督算法,是根据已有样本标签拟合数据,使得拟合后的误差最小。

  为了评估有监督算法的区分度、稳定性、鲁棒性等模型效果,往往会将样本拆分为:训练集(train set)、测试集(test set)、验证集(validation set 或者 外样本测试oot)。

  机器学习中普遍的做法是将样本按7:3的比例从同一个样本集中随机划分出训练集和测试集。在风控领域,做评分卡模型的时候除了随机抽样外,也有用到分层抽样,不过划分的比例还是一样的。

  这三个样本集的作用分别是:训练集(train set),用于训练有监督模型,拟合模型,调整参数,选择入模变量,以及对算法做出其他抉择;测试集(test set),用于评估训练出的模型效果,但不会改变模型的参数及效果,一般验证模型是否过拟合或者欠拟合,决定是否重新训练模型或者选择其他的算法;验证集(validation set),因为训练集和测试集均源自同一分布中,随着时间的流逝,近期样本的分布与训练模型的样本分布会有变化,需要校验训练好的模型在近期样本(验证集)是否有同样的效果,即模型的稳定性、鲁棒性、泛化误差。

  只有确定好了训练集和测试集后,才可以对有监督算法调整学习算法的参数来探索合适的参数,筛选合适的特征,快速检测算法的性能,引导对机器学习做出最重要的改变。

  因此,需合理地选择训练集和测试集,使其分布能代表真实的数据分布,才能期望算法有良好的效果。免费机器学习电子资源合集

  特别强调:

  曾经看到过不少童鞋在做模型训练的过程中,直接以整个样本集来训练模型,耗费精力在特征和算法设计上进行多项对比,最终训练出了一个模型效果比较不错的模型;然后,再将样本集划分为训练集和测试集,直接用之前训练好的模型参数跑训练集和测试集,在这两个数据集模型效果显著且稳定,不存在过拟合或欠拟合。大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  你是否在以上的做法中发现了问题呢?这样的模型很可能却过不了验证集的校验。为什么呢?

  还是我一直反复强调的“数据泄露”,这个词在我的多篇博文里反复提到,是因为这点很容易忽略,只单方面的注重模型效果,而忽略稳定性大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。

  用整个样本来训练模型,模型已经拟合了几乎所有样本的特征,此时再将样本集划分训练集和测试集,就已经让测试集的所有信息被模型给学习到了,模型在已经学习过的样本集上当然效果会显著喽。

  所以,训练模型一定得是在训练集上,而测试集是验证模型在与训练集同分布的样本集上效果,验证集是验证模型在与训练集变化了的样本分布上的效果,评估模型效果是否稳定大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。

  欢迎关注我的专栏:python大师养成记

  2. 机器学习+建模方法论

  3. 三方数据测试及策略分析方法论

机器学习为什么要划分训练集、测试集和验证集?这3个样本集的区别又在哪里?

机器学习为什么要划分训练集、测试集和验证集?这3个样本集的区别又在哪里?

The End

文章声明:以上内容(如有图片或视频在内)除非注明,否则均为欧洲杯_NBA_免费高清无插件直播_360直播网原创文章,转载或复制请以超链接形式并注明出处。

本文作者:admin本文链接:https://xuxtx.com/post/460.html

上一篇 下一篇

相关阅读

发表评论

访客 访客
快捷回复: 表情:
评论列表 (暂无评论,66人围观)

还没有评论,来说两句吧...