学习目标
完成本课后,你将能够:
- 根据目标变量的含义而不是算法名称区分回归与分类。
- 定义预测对象、目标变量、计量单位和预测时间范围。
- 区分数值预测、概率估计、模型评分与最终决策。
- 解释二分类、多分类和多标签分类。
- 理解分类阈值为何取决于任务和错误代价。
- 检查所选任务类型是否真正回答业务问题。
1. 从问题本身开始
选择回归还是分类,不应从算法名称或数据表中的某一列开始,而应先明确人员或系统需要做出什么决策。先问:什么样的答案才有用? 我们需要估计一个数值、确定一个类别,还是根据预测采取行动?例如,对于一栋建筑,可以预测明天的供热能耗(kWh),判断当前运行状态是否异常,或者选择一个控制指令。前两者分别可能是回归和分类。选择控制指令属于另一个决策问题,不能自动称为分类。
2. 回归:预测一个数值
例如:每日能耗(kWh)、室内温度(°C)、维修时长(小时)或用水量(m³)。数值的含义和单位非常重要:只说预测值为 125 并不充分,还需要说明它代表每天 125 kWh。
需要从操作层面定义目标:哪项测量被视为正确答案、按什么时间段汇总,以及预测必须何时可用。如果目标是预测下一天的能耗,所有输入特征都必须在该日开始之前可获得。
3. 分类:确定一个类别
例如:故障 / 正常、工单类型 A / B / C、泵故障 / 传感器故障 / 网络故障。类别必须有清晰定义和标注规则。如果两位专家对“故障状态”的理解不同,问题首先出在任务定义和标注,而不是算法。
例如,一张服务工单可能同时涉及供暖和电力。这些目标具有不同的结构。
4. 模型究竟输出什么?
必须区分模型输出与使用该输出所作的决策。- 回归模型通常输出目标数值的估计。
- 分类模型可以为每个类别输出置信度或概率估计。
- 随后由规则把评分转换为类别标签,例如选择概率最高的类别,或将事件概率与阈值比较。
概率估计为 0.82,并不意味着事件必然发生。这是模型估计,其解释取决于概率校准和数据质量。“故障”这一标签则是对模型估计应用决策规则后的结果。
5. 阈值与错误代价
不能仅仅为了获得漂亮的指标而选择阈值。阈值应考虑错误后果、检查能力、安全规则和客户要求。分类指标和错误分析将在主题 1.5 中详细学习。
6. 用同一个案例比较任务
假设系统监测一台泵。温度、振动、压力和负载是输入特征,但目标变量取决于具体问题:| 问题 | 目标变量 | 任务定义 |
|---|---|---|
| 距离下一次维护还有多少小时? | 小时数 | 回归 |
| 是否存在已确认的故障? | 是 / 否 | 二分类 |
| 检测到哪一种故障? | 多个类别中的一个 | 多分类 |
| 同时存在什么问题? | 一组标签 | 多标签分类 |
输入特征可以相同,但任务并不相同。目标答案、获得答案的过程,以及结果的使用方式都可能不同。
7. 练习:检查任务定义
请为每个场景确定任务类型,并明确目标变量及其单位或允许的类别集合。- 预测建筑未来 24 小时的用水量。
- 判断服务工单是否报告了漏水。
- 从供暖、通风、供水、电气中为工单分配一个类别。
- 标记一条工单文本中出现的所有主题。
然后提出五个澄清问题:预测对象是什么;正确答案如何定义;答案对应哪个时间段;预测必须何时可用;收到结果后会采取什么行动?
8. 常见错误与适用边界
- 根据算法名称选择任务。 同一算法家族可能有分类和回归版本。应先定义目标变量。
- 把类别编码当作数值。 1、2、3 可能只是类别代码,并不表示数量关系。
- 混淆概率与决策。 模型估计和操作人员采取的行动是不同阶段。
- 没有定义时间范围。 如果没有明确时间段和特征可用时间,“预测负荷”就是含糊的。
- 类别定义不清。 模糊的类别会导致标注不一致。
选择回归或分类,并不能自动解决因果关系、数据质量、公平性或安全问题。这些都是任务设计和评估中的独立问题。
9. 本课要点
- 回归估计数值目标;分类确定类别。
- 任务类型由目标答案的含义决定,而不是算法名称或数据列的存储格式。
- 类别概率与最终标签不是同一概念。
- 分类阈值应考虑错误代价和实际工作流程。
- 合理的任务定义需要明确预测对象、目标变量、时间范围和结果用途。