训练集、验证集、测试集
约 10 分钟
为什么要分三份
- 训练集:平时作业——模型从里面学规律。
- 验证集:模拟考——用来挑模型、调旋钮(学习率、模型大小),调完一批用它看效果,不行再调。
- 测试集:高考——只在最后用一次,估计模型的真实水平。
为什么不能混用
拿「高考卷」反复调参,等于提前漏题:测试成绩会虚高,对真实水平的估计就失真了。铁律:测试集只能碰一次,碰完它就「脏」了,不能再当公正裁判。
怎么分
常见比例如 60% 训练、20% 验证、20% 测试。数据少时用交叉验证:把数据切成 5 份,轮流拿 1 份当验证集,5 次结果取平均,结论更稳。
一个容易踩的坑
切分前要先打乱数据。如果数据按时间排好序,直接前 80% 训练、后 20% 测试,可能训练集全是冬天、测试集全是夏天——模型等于没考同一个科目。涉及未来的预测(股价、销量)更要小心:不能用「未来」的数据去训练预测「过去」。
常见误区
「测试集准确率 99%」先别激动:查一下是不是同一批人既出现在训练集又出现在测试集(数据泄漏)——那是背答案,不是真本事。
练一练:把「平时作业、模拟考、高考」这套分工讲给家长听,说说为什么高考题不能提前刷十遍。
小纸条
解释三份数据各自的作用,以及测试集为什么只能用一次。
登录 后可看答案