第12章:模型评估与错误分析
1 项目背景
业务场景
算法团队花了两周时间训练了一个客服工单分类模型,测试集上的 Accuracy 达到 91%。产品经理信心满满地推进上线,结果灰度期间运营团队反馈:"这模型把一半的投诉工单分到了咨询类,投诉用户得不到及时处理,更生气了!"
小陈一脸困惑地打开混淆矩阵一看——"投诉"类别的召回率(Recall)只有 48%,远低于整体的 Accuracy 91%。原因很简单:训练数据中投诉工单仅占 5%,模型学会了"只要预测为咨询,准确率就高"的偷懒策略。但业务上,漏掉一条投诉的代价远远大于把咨询误判为投诉。
技术经理拍板:"重新评估模型,这次不能只看 Accuracy。"
痛点
在真实的业务场景中,模型评估远比"跑个测试集看准确率"复杂得多:
- 指标选择的陷阱:Accuracy 在样本均衡时有效,但在投诉占 5% 的极端不平衡场景下,一个永远预测"咨询"的模型 Accuracy 也有 95%。你需要 Precision、Recall、F1、AUC 等多个指标来从不同角度衡量。
- 业务代价不对等:把"投诉"误判为"咨询"的代价是客服响应慢(用户愤怒升级),把"咨询"误判为"投诉"的代价只是多看了一眼。阈值选择需要有业务权重。
- 模型为什么错:准确率从 91% 降到上线后的 71%,是数据漂移?是标注错误?还是模型本身有盲区?没有系统的错误分析就无法定位问题。
Accura