核心要点

  • 精确率 Precision = TP/(TP+FP),衡量「预测为正」中有多少是真的正例,关注误报。

  • 召回率 Recall = TP/(TP+FN),衡量「真实正例」中有多少被找回,关注漏报。

  • F1 = 2·P·R/(P+R) 是精确率与召回率的调和平均,平衡两者、对小值更敏感。

  • 调阈值做取舍:阈值升高 → 精确率升、召回率降;按业务代价(误报贵 vs 漏报贵)选点。

标准回答

三个指标的定义

精确率 Precision = TP/(TP+FP),回答「我说是正例的,有多少真是正例」,代价是误报(FP)。召回率 Recall = TP/(TP+FN),回答「真正的正例,我找回了多少」,代价是漏报(FN)。

为什么需要 F1

精确率和召回率通常此消彼长,单看一个会被钻空子(如全预测为正可让召回率=1)。F1 = 2·P·R/(P+R) 取两者的调和平均,只有当两者都高时 F1 才高,比算术平均更惩罚不均衡。

如何取舍

取舍由分类阈值控制:提高阈值更保守,精确率升、召回率降。选点取决于业务代价——垃圾邮件、推荐里误报代价高,偏精确率;癌症筛查、风控里漏报代价高,偏召回率。也可用 Fβ 加权或直接看 PR 曲线选工作点。

常见误区

⚠️ 常见踩坑

不要在类别不平衡时用准确率代替它们:99% 负例时全猜负也有 99% 准确率却毫无价值。也别混淆 P 与 R 的分母——精确率分母是「预测为正」,召回率分母是「真实为正」。

追问

追问 1类别极度不平衡时该看什么指标?

优先看精确率、召回率、F1 以及 PR-AUC,而非准确率。PR 曲线只关注正类,对不平衡更敏感;ROC-AUC 在极端不平衡时可能偏乐观。

追问 2Fβ 中 β 怎么取?

Fβ = (1+β²)·P·R/(β²·P+R)。β>1(如 F2)更看重召回率,适合漏报代价高的场景;β<1(如 F0.5)更看重精确率。β=1 即标准 F1,两者等权。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • Recall

    为 Claude Code 提供持久化记忆能力,完全离线运行,避免每次会话重复解释项目上下文。468 stars。