1. 评估指标基础:混淆矩阵与核心指标

在机器学习分类任务中,评估模型性能不能只看最终对不对。我们需要一套标准化的“记账本”,记录模型每一次预测的细节,再从中提炼出有意义的评价数字。这个记账本就叫 混淆矩阵。

1.1 混淆矩阵:四格记账本

对于二分类问题,模型会输出“正类”或“负类”。混淆矩阵把预测结果和真实标签交叉,形成四个格子:

真实正类 (P) 真实负类 (N)
预测正类 TP (真阳性)
预测正确,实际也是正
FP (假阳性)
预测错误,实际是负
预测负类 FN (假阴性)
预测错误,实际是正
TN (真阴性)
预测正确,实际也是负
  • TP:真阳性,模型说“是”,实际也是“是”。
  • FP:假阳性(误报),模型说“是”,实际是“否”。
  • FN:假阴性(漏报),模型说“否”,实际是“是”。
  • TN:真阴性,模型说“否”,实际也是“否”。
💡 记忆口诀:首字母 T/F 表示预测对不对,P/N 表示模型预测的类别。“FP” = 模型预测P(正类),但实际是F(假)。

【SVG图:混淆矩阵框架图】

混淆矩阵结构 真实正类 (P) 真实负类 (N) 预测正类 预测负类 TP 真阳性 正确 FP 假阳性 误报 FN 假阴性 漏报 TN 真阴性 正确 对角线(TP + TN)表示预测正确 反对角线(FP + FN)表示预测错误

1.2 从混淆矩阵引出三大指标

混淆矩阵四个数字摆出来,我们需要一个更直观的“评分”来对比模型好坏。三个经典指标就此诞生:

指标 公式 含义 关注点
准确率 (TP + TN) / (TP + FP + FN + TN) 全部预测中,猜对的比例 整体正确程度
精确率 TP / (TP + FP) 在模型判为“正类”里,真正是“正类”的比例 谨慎:不要误报
召回率 TP / (TP + FN) 在真实“正类”里,模型成功找出多少 全面:不要漏报

1.3 类比:超市监控防损系统

假设你是一家超市的防损经理,安装了一套AI摄像头来识别盗窃行为。真实情况每天有10起盗窃,摄像头会发出警报。

  • 精确率:在摄像头所有报警中,真正抓到小偷的比例。如果摄像头总报警20次,其中5次是真小偷,精确率 = 5/20 = 25%。精确率低意味着频繁“误报”,浪费保安排查时间。
  • 召回率:在真实发生盗窃中,摄像头成功识别的比例。如果摄像头只抓住了其中6次,召回率 = 6/10 = 60%。召回率低意味着“漏报”多,商品损失增大。
  • 准确率:在所有正常情况下(包括没盗窃的时段和没报警的时段),系统判断正确的比例。因为无盗窃事件占大多数,准确率可能高达90%以上,但它掩盖了“精确率低”或“召回率低”的问题。
⚠️ 常见误区:准确率高不代表模型好!在样本不平衡时(如99%负类、1%正类),模型只要永远判“负”,准确率就能达到99%,但这种模型完全没有使用价值。此时必须看精确率或召回率。

1.4 各指标适用场景

场景需求 优先指标 原因
垃圾邮件分类 精确率 宁可漏放几封垃圾邮件,也不要把正常邮件误判为垃圾(误报代价高)
癌症早期筛查 召回率 宁可有假阳性(进一步复查),也不能漏掉一个真病人(漏报代价高)
手写数字识别 准确率 各类样本均衡,FP和FN代价相当,整体正确率反映系统水平
产品缺陷检测(工业质检) 精确率 + 召回率 既不能浪费良品(低精确率),也不能放过次品(低召回率),需平衡

1.5 练习题

题目:某个二分类模型在测试集上得到以下混淆矩阵:TP = 80, FP = 30, FN = 20, TN = 120。请计算准确率、精确率、召回率。

解题步骤:

  1. 总样本数 = 80 + 30 + 20 + 120 = 250
  2. 准确率 = (80 + 120) / 250 = 200 / 250 = 0.80
  3. 精确率 = 80 / (80 + 30) = 80 / 110 ≈ 0.727
  4. 召回率 = 80 / (80 + 20) = 80 / 100 = 0.80

这个模型虽然准确率和召回率都达到了80%,但精确率偏低(72.7%),说明存在一定数量的“误报”。在某些场景下需要进一步优化。

1.6 应用边界

  • 混淆矩阵仅适用于分类问题(二分类最直观,多分类可通过OvR/OvO扩展),不适用于回归问题。
  • 当类别极度不平衡时,准确率会“假性膨胀”,需要引入精确率、召回率或F1分数。
  • 精确率和召回率是相互制约的(Trade-off)。提高精确率通常会降低召回率,反之亦然。实际中常根据业务成本选择平衡点。
💡 指标速查
对话场景自查:
“模型整体表现怎么样?” → 看准确率(样本均衡时)
“模型会不会乱报警?” → 看精确率
“模型会不会漏掉坏人?” → 看召回率