模型不会直接理解“用户”“房子”或“短信”。它看到的是被整理成数字、类别或文本表示的数据。
要读懂一份训练代码,先要分清样本、特征和标签。
样本:一条完整的观察记录
假设我们要预测房价,每一套房子就是一个样本:
| 面积 | 房间数 | 距地铁距离 | 成交价 |
|---|---|---|---|
| 89 | 2 | 600 | 260 万 |
| 120 | 3 | 1100 | 315 万 |
一行通常代表一个样本,很多样本共同组成数据集。
特征:模型作判断时看到的信息
面积、房间数和距地铁距离都是特征。它们是模型用来寻找规律的输入,通常写成 X。
好的特征应该与任务有关,并且在真实预测时能够获得。用不到、质量差或带有未来信息的特征,可能让模型学偏。
在深度学习里,模型可以自动学习更复杂的内部特征,但最初输入的数据仍然需要正确准备。
标签:希望模型学会预测的答案
成交价是标签,也叫目标值,通常写成 y。
训练时,模型根据特征预测价格,再把预测价格和真实标签比较。分类任务的标签可能是类别编号,回归任务的标签通常是连续数值。
数据不只是一个文件
真正可训练的数据还包括:
- 字段含义和单位;
- 缺失值处理规则;
- 标签定义;
- 数据采集范围;
- 每个字段的数据类型;
- 是否包含敏感或不可使用的信息。
这些信息不清楚,代码即使能够运行,训练结果也可能没有意义。
先检查 Shape 和 dtype
进入 PyTorch 后,需要额外关注:
Shape:一批数据有多少条、每条有多少特征;dtype:数据是浮点数还是整数;device:数据在 CPU 还是 GPU。
这三项是模型和数据之间最基本的契约。
这一课先记住什么
样本是一条记录,特征是输入信息,标签是要预测的答案。模型学习的是特征与标签之间的规律。
下一课会把一个完整数据集拆成 训练集、验证集和测试集。
留言讨论