机器学习入门文档深度页
训练集、验证集与测试集
训练集学习参数,验证过程选择方案,测试集只在选择完成后评价一次。
学习前需要掌握
任务定义内容待补充
背景与问题
反复查看测试结果并调整方案会使测试集间接参与训练,最终分数过于乐观。
概念定义
三个数据角色由用途而非文件名决定。任何用于选择模型、特征、阈值或停止时机的数据都属于验证过程。
直观理解
训练集是练习,验证集是模拟考试,测试集是最终考试;不能看着最终答案不断改方案。
核心原理
划分应模拟真实使用:时间预测按过去/未来,重复实体按群组隔离,分类常分层。
数学表达
核心表达
划分应模拟真实使用:时间预测按过去/未来,重复实体按群组隔离,分类常分层。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1定义未来预测对象
- 2选择时间/群组/随机策略
- 3保留测试集
- 4在训练部分交叉验证
代码对应位置
示例 1训练集、验证集与测试集:最小可验证示例:把正文原理映射为可检查的代码行为。
计算与实现步骤
- 1
定义未来预测对象
- 2
选择时间/群组/随机策略
- 3
保留测试集
- 4
在训练部分交叉验证
- 5
锁定方案
- 6
测试一次并报告
代码实现
示例 1
训练集、验证集与测试集:最小可验证示例
训练集、验证集与测试集:最小可验证示例
Python
example_01.py用途:把正文原理映射为可检查的代码行为。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
把正文原理映射为可检查的代码行为。
X- 完整特征矩阵,每行一个样本、每列一个特征。
y- 目标标签或连续目标值。
X_train- 训练特征,只允许它参与预处理器和模型的 fit。
X_test- 测试特征,只用于最终 transform、predict 和评价。
y_train- 与 X_train 对齐的训练目标。
y_test- 与 X_test 对齐的测试目标。
Step 1 · 1–4 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)预期输出或运行结果
得到互不重叠的训练和测试分块,并保持分类比例。
常见错误 · 4 条
- 测试集调参
- 随机划分时间数据
- 同一用户跨分块
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- 模型选择
- 可靠实验
常见错误
测试集调参
随机划分时间数据
同一用户跨分块
文档来源
00|机器学习导论原始文档
学习资料/learning_tech/00_introduction.md- §6 数据集为什么需要划分
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。