拿到一个机器学习需求时,不要先问“用什么算法”,先问:模型最终要预测什么?
如果答案是一个类别,通常是分类;如果答案是一个连续数值,通常是回归。
分类:从有限选项中作选择
分类任务的结果属于预先定义好的类别。
例如:
- 邮件是正常还是垃圾邮件;
- 图片是猫、狗还是鸟;
- 用户是否会流失;
- 一条评论是正面、中性还是负面。
只有两个类别叫二分类,两个以上叫多分类。一张图片中可以同时出现多个标签时,则属于多标签分类。
分类模型通常输出每个类别对应的分数或概率倾向,再选择最合适的类别。
回归:预测连续数值
回归任务预测的是可以在一定范围内连续变化的数值。
例如:
- 预测房屋价格;
- 预测明天的温度;
- 估计配送时间;
- 预测设备剩余寿命。
回归模型的输出通常直接是一个数值,而不是从几个固定类别中选择。
为什么必须先分清任务
任务类型会影响整条建模链路:
| 环节 | 分类 | 回归 |
|---|---|---|
| 目标 | 类别 | 连续数值 |
| 常见损失 | CrossEntropyLoss | MSELoss |
| 常见指标 | Accuracy、F1 | MAE、RMSE |
| 输出示例 | 垃圾短信 | 26.8 万元 |
如果把类别编号 0、1、2 当作普通数字做回归,模型可能误以为类别之间存在固定距离。反过来,把连续价格强行切成几个类别,也会损失精度。
一个容易误判的例子
预测“明天是否下雨”是分类,因为答案是“是或否”;预测“明天降雨量多少毫米”是回归,因为答案是连续数值。
同一份数据可以根据业务问题形成不同任务,关键不在数据长什么样,而在你希望模型回答什么。
这一课先记住什么
分类预测类别,回归预测连续数值。先确定任务,再选择数据处理、模型、损失函数和评价指标。
下一课我们会认识机器学习数据里的三个基本角色:特征、标签和样本。
留言讨论