python 划分训练集 测试集 验证集_如何正确使用机器学习中的训练集、验证集和测试集?...

本文介绍了如何正确使用训练集、验证集和测试集以避免在机器学习中犯错误。训练集用于模型学习,验证集用于超参数调整,测试集用于评估模型性能。强调在比较模型效果时,必须在同一测试集上进行,以确保结果的可比性。同时,提出了验证集和训练集不应重叠的重要性,以及在数据不一致情况下的处理策略。
摘要由CSDN通过智能技术生成

训练集、验证集和测试集,林林总总的数据集合类型,到底该怎么选、怎么用?看过这篇教程后,你就能游刃有余地处理它们了。

165224798_1_20190704012203363

1

问题

审稿的时候,不止一次,我遇到作者错误使用数据集合跑模型准确率,并和他人成果比较的情况。

他们的研究创意有的很新颖,应用价值较高,工作可能也做了着实不少。

但因对比方法错误,得出来的结果,不具备说服力。几乎全部都需要返工。

这里,我帮你梳理一下,该怎么使用不同的数据集合:训练集(training set)

验证集(validation set)

测试集(test set)

目的只有一个——避免你踩同样的坑。

其实这个问题,咱们之前的教程文章,已有涉及。

在文章的末尾,我们对比了当时近期研究中, Yelp 情感分类的最佳结果。

下表来自于:Shen, D., Wang, G., Wang, W., Min, M. R., Su, Q., Zhang, Y., ... & Carin, L. (2018). Baseline needs more love: On simple word-embedding-based models and associated pooling mechanisms. arXiv preprint arXiv:1805.09843.

165224798_2_20190704012203519

注意这里最高的准确率(Accuracy)数值,是 95.81 。

我们当时的模型,在验证集上,可以获得的准确率,是这个样子的:

165224798_3_20190704012203675

97.28%,着实不低啊!

于是我问你:咱们这种对比,是否科学?

你当时的答案是什么?

这么久过去了,又看了那么多新的教程和论文,你的答案发生变化了吗?

现在咱们公布一下答案吧。

不科学。

为什么?

因为对比方法有问题。

2

方法

原文中有这样一句:这里数据集只提供了训练集和“测试集”,因此我们把这个“测试集”当做验证集来使用。

作为演示,数据集咱们想怎么用,就可以怎么用。

甚至你把测试集拿来做训练,然后在训练集上跑测试,都没有人管。

但是写学术论文,声称你的模型优于已有研究,却绝不能这么草率。

注意,比较模型效能数值结果时,你只能拿不同的模型,在同样的测试集上面比。

测试集不同,当然不可以。

但模型A用测试集,模型B用验证集(与A的测试集数据完全一致)比,可以吗?

很多人就会混淆了,觉得没问题啊。既然数据都一样,管它叫做什么名称呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值