1. 为什么模型评估如此重要
在机器学习项目中,模型评估就像汽车仪表盘上的各种指示灯和仪表。没有它们,我们就像在黑夜中闭眼驾驶——完全不知道模型的实际表现如何。我见过太多团队花费数周时间调参优化,最后才发现从一开始就选错了评估指标。
Scikit-learn作为Python最主流的机器学习库,提供了完整的模型评估工具链。但很多使用者(包括当年的我)常常陷入两个误区:要么只看accuracy就下结论,要么把所有评估指标都跑一遍却不会解读。这就像医生只看体温就诊断病情,或者把所有的检查都做一遍却看不懂报告单。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 评估指标的选择艺术
2.1 分类问题的评估迷宫
当我在电商平台做用户流失预测时,曾经犯过典型的评估指标选择错误。我们的正样本(流失用户)占比只有8%,如果只用准确率评估,一个永远预测"不流失"的模型就能达到92%的准确率——这显然毫无意义。
关键指标对比表:
| 指标 | 适用场景 | 计算公式 | 注意事项 |
|---|---|---|---|
| 准确率 | 类别平衡的二分类 | (TP+TN)/(TP+TN+FP+FN) | 样本不均衡时失效 |
| 精确率 | 关注预测为正的准确性 | TP/(TP+FP) | 与召回率需要权衡 |
| 召回率 | 关注找出所有正样本 | TP/(TP+FN) | 医疗诊断等场景关键指标 |
| F1分数 | 精确率和召回率的调和平均 | 2*(Precision*Recall)/(P+R) | 类别不平衡时的好选择 |
| ROC-AUC |
