投稿
← 学习路线第一单元 / 05 · 共 7 节

实验 05 / 约 45 分钟

给模型留一场真正的考试

模型是否已经见过拿来考试的题?

未开始
你正在理解:评测:留出没参与学习的数据

这和大模型有什么关系?

评估语言模型也要防止测试内容进入训练或调参过程。否则得分可能高估面对新任务的能力。这里用十条数据,练习守住训练与评估的边界。

这个实验能解释到哪里:下方演示的是预处理均值泄漏。大模型的评测污染还可能来自重复文本、近似题目、公开答案等,不能只靠随机分组解决。

动手时带着这个问题:把测试数据混入统计过程,观察信息怎样提前流入训练。

还没建立全貌?先看一次回答的完整过程 ↗
浏览器内实时计算LAB / SPLIT

亲手划分十条数据

试一试把数值 24 的样本移入训练集,看训练均值如何变化。

● 训练 · 调参数● 验证 · 选方法● 测试 · 最后评估
训练 / 验证 / 测试6 / 2 / 2
训练集平均数4.50
全部数据平均数8.80

同一个原理 · 两种讲法

先理解,再往深处走。

01

三份数据各有任务

训练集像练习题,用来调整参数;验证集像模拟考,用来选择方法;测试集像最后的考试,用来评估已经定下来的方案。

02

考试答案不能混进练习过程

即使只是计算平均数,也只能用训练集。把测试集一起算进去,会让预处理提前知道考试数据的信息,这叫数据泄漏。

03

点一下,换一份分组

下面每个样本都能在训练、验证、测试之间切换。观察“训练集平均数”和“全部数据平均数”,再打开错误示范。没有训练样本时,这个实验必须拒绝计算。

Python / 只用标准库 / 无需 GPU

在自己的电脑上复现

运行 split 实验,确认三组索引无交集。比较训练集均值与全量均值。写出一种不能简单随机切分的业务数据及理由。

下载实验代码 ↓

保存为 ai_lab.py,在 Python 3.10 或以上运行。本单元使用人造数据,不调用外部服务。Python 练习与在线实验采用各自的小数据例子,练习相同原理,不要求数值逐项相同。

python ai_lab.py --lesson split

程序包含结果断言;如果不满足预期会报错。第 7 节会在运行目录生成 report.json。运行后,回到笔记写下你的观察与改动。

继续读原始资料

本站提供原创导读;以下链接前往资料原站。仅本成人学习栏目提供这些精选来源。

scikit-learn · 常见陷阱与数据泄漏 ↗英文 · 阅读数据泄漏与一致预处理核对日期 2026-09-21

只对你可见

我的学习记录

未开始

登录后可保存笔记、打卡和学习进度。

“通过验证”仅由下方三题检验产生,不是手动勾选。

只能关联自己投稿的编号;不会公开笔记或自动发布作品。

同一节每天一条,再次提交会更新今天的记录。
    删除本节的私密记录

    删除本节进度、笔记、关联与打卡;其他课程和原作品保留。

    验证方式 / 本节三题知识检验 v1

    合上导读,检验一下

    全部答对后记录“通过验证”。这表示通过本节知识小测,不等同于独立完成代码、人工评阅或能力认证。