一个模型准确率百分之九十九,为什么还是没用?因为在不平衡问题上,准确率会说谎。本文用疾病筛查和抓小偷两个例子,讲清准确率、精确率、召回率与F1值的定义和取舍关系,说明为什么单一指标常常不够,必须结合业务成本一起看。

核心要点

  • 类别严重不平衡时,准确率会严重失真
  • 精确率关注抓出来的准不准,召回率关注该抓的是否都抓到
  • F1 值是精确率与召回率的调和平均,适合两者都要顾

准确率的谎言

假设某种情况在人群中的比例是千分之一,一个模型什么都不做,只说“一切正常”,它的准确率就是百分之九十九点九。数字漂亮,实用价值为零。这就是为什么在不平衡问题里,必须换一批指标来看。

精确率回答的是“被判定为阳性的那些里,有多少是真的”;召回率回答的是“所有真的阳性里,模型抓出了多少”。用抓小偷打比方:精确率是抓到的人里真小偷的比例,召回率是街上所有小偷中被抓到的比例。

两头难以兼得

两者天然有张力。想提高召回率,就放宽标准、多抓一些,误抓的好人变多,精确率下降;想提高精确率,就只抓证据确凿的,漏掉的小偷变多,召回率下降。具体偏重哪一头,要看业务代价。

筛查类场景更怕漏诊,宁可让一些健康的人做进一步检查,所以追求高召回率;邮件过滤更怕误杀重要信件,宁可放进几封广告,所以追求高精确率。脱离场景去谈哪个指标更好,本身就没有答案。

F1 值与阈值

想用一个数字同时反映两者,就有了 F1 值。它是精确率和召回率的调和平均,特点是只有两个数字都不低时 F1 才会高,一个高一个低会被明显拉下来,因此常作为不平衡问题的主指标。

实践中还常看曲线下面积这类指标,用来综合评估模型在不同判定阈值下的整体表现。但无论指标多精巧,最终仍要回到一个问题:这个模型上线后,一次错误要付出多大代价,我们更能承受哪一种错误。

常见问题

精确率和召回率应该优先保哪个?

看错误的代价。漏掉一个危险信号可能带来严重后果时,优先保召回率,宁可多报一些再人工复核;误报会严重打扰用户、损害信任时,优先保精确率。也可以通过调判定阈值在两者间滑动,找到业务上最划算的那个点。

本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。