AI与编程

AI项目为什么要分训练集和测试集

不少学生用训练过的数据测试模型,得到很高的准确率,但换一批新数据就不行了。本文用通俗的方式解释训练集和测试集的作用,说明怎样划分、怎样避免数据泄漏,以及测试结果怎样报告。

文章目录展开收起

某学生训练了一个识别垃圾种类的模型,用训练用过的照片测试,准确率接近100%。可是到了展示现场,拿起一个新瓶子,模型却认错了。问题出在哪里?出在测试的方法上:用模型“学过”的数据测试,无法说明它能不能识别新的东西。

用考试来理解

可以把训练模型想象成学生复习:

  • 训练集:平时练习的题目。
  • 测试集:考试的新题目。

如果考试题和练习题一模一样,考满分也说明不了学生真正掌握了知识,可能只是记住了答案。模型也一样,在训练数据上表现好,可能只是“记住”了这些照片,而不是学会了识别的方法。

怎样划分

常用的比例是把数据分成两部分:

用途比例说明
训练集约80%用来训练模型
测试集约20%只用来测试,不参与训练

每一类都按同样比例划分,让测试集里各类都有样本。

划分要随机进行,不要把最后拍的20%直接作为测试集,因为最后拍的照片可能环境比较特殊。

小心数据泄漏

数据泄漏是指测试集的信息“漏”进了训练过程,导致测试结果虚高。学生项目中常见的情况:

  • 同一个物体连拍了十张几乎一样的照片,一部分分到训练集、一部分分到测试集,测试时相当于考了原题。
  • 先用全部数据反复调整模型,再拿其中一部分作测试。

避免方法:同一个物体的多张照片,放在同一个集合里;测试集在整个调试过程中都不要动,只在最后测一次。

更严格的测试

为了更真实地检验模型,可以准备一组“全新”的测试数据:换一天、换一个地点、换不同的物体专门拍摄。用这组数据测试的结果,更能代表模型在实际使用中的表现。

测试方式准确率
训练集(自测)98%
随机划分的测试集88%
另一天新拍的测试集81%

三种结果放在一起,能清楚地说明模型的真实水平,也能引出讨论:为什么新拍的照片准确率更低?

怎样报告测试结果

报告中要写明:

  1. 总数据量,训练集和测试集各多少张。
  2. 测试集是怎样得到的。
  3. 测试准确率,按类别分别给出。
  4. 识别错误的典型例子和可能的原因。

只报告一个很高的准确率,评委往往会追问测试方法。把测试过程讲清楚,即使准确率没那么高,也是一个扎实的项目。

资料与编写说明

原创方法文章,诺篮Stem编辑部根据项目指导经验整理

资料核验:2026-10-01
从阅读,走到自己的项目

孩子有想法,却不知从哪里开始?

带上兴趣、年级或已有作品,先聊清楚当前最需要解决的问题。

咨询项目方向
电话小程序预约免费咨询