站点标志Map the AI
  • 每日短课
  • AI 新闻
  • 学习轨道
  • 主题
  • 我的路径
  • 路线图

精确率、召回率、F1 与准确率

四个描述分类器的数字,各自回答一个具体问题。选错了指标,你就会朝错误的方向优化。

本页目录
  • 准确率:会骗人的那个
  • 精确率:你标记出来的有多少是真的
  • 召回率:真正存在的问题你抓到了多少
  • 权衡本身就是重点
  • F1:非要一个数的时候
  • 把四个指标放在一起看
  • 要点回顾
评测10 / 17

先读这些

  • 评测为什么比训练更难

对各级别的必要程度

各目标级别的推荐分
新手35 分中的 3 分
进阶45 分中的 4 分
专家35 分中的 3 分

主线上的下一篇

混淆矩阵:准确率为何会骗人

主题

评测

分类器只回答是或否。它做出的每个预测都会落进四个格子中的一个,而所有分类指标都只是这四个计数之间不同的比值。把格子搞懂,这些指标就不再是需要背的公式。

假设你做了一个标记欺诈交易的模型。对每一笔交易,它预测是不是欺诈,而现实也是或不是。这样就得到四种结果:

  • 真正例(TP): 标记为欺诈,而且确实是欺诈。
  • 假正例(FP): 标记为欺诈,其实是正常交易。
  • 假负例(FN): 当作正常交易放过,其实是欺诈。
  • 真负例(TN): 放过,而且确实是正常交易。

准确率:会骗人的那个

准确率是预测中正确的比例:(TP + TN) / everything。

这是所有人第一个想到的指标,而恰恰在类别不平衡的时候,它有误导性。如果 1000 笔交易里只有 1 笔是欺诈,一个什么都不标记的模型准确率高达 99.9%,却一笔欺诈都没抓到。数字近乎完美,模型一文不值。

准确率回答的是「我答对了多少」——只有在类别均衡、且两类错误的代价相同时,这个问题才成立。而在欺诈检测、医学筛查、垃圾邮件,以及大多数真实问题里,这两个条件一个都不满足。只要看一眼混淆矩阵,这个缺陷就立刻现形。

精确率:你标记出来的有多少是真的

精确率(precision)是 TP / (TP + FP)——模型判为欺诈的所有交易里,真正是欺诈的比例。

精确率高意味着误报少。当对一次正例采取行动的代价高昂或很烦人时,你就该关心精确率:冻结客户的卡、派安全团队去查、自动删掉一封邮件。精确率 0.7 意味着你有 30% 的告警在浪费别人的时间。

召回率:真正存在的问题你抓到了多少

召回率(recall)是 TP / (TP + FN)——所有真正欺诈中,模型抓到的比例。

召回率高意味着漏掉的少。当漏掉一次正例代价高昂时,你就该关心召回率:没被发现的欺诈、被读成正常的肿瘤、被漏掉的关键安全告警。召回率 0.7 意味着 30% 的真实欺诈从眼皮底下溜走了。

权衡本身就是重点

精确率和召回率互相拉扯。标记得更激进,你抓到更多真实欺诈(召回率上升),但误报也更多(精确率下降)。标记得保守则相反。你通过调整判定阈值来在这条曲线上移动——分数超过阈值就判为正例。

没有普遍正确的平衡点。它取决于两类错误的相对代价:

  • 癌症筛查选择召回率。漏掉一个肿瘤,远比一次误报(后续复查就能排除)糟糕得多。
  • 垃圾邮件过滤器选择精确率。删掉一封真邮件,比放过一些垃圾邮件更糟。

决定这个比例是产品决策,不是建模决策。指标只是把这个权衡摆到明面上。

F1:非要一个数的时候

有时你需要一个分数来给模型排序。F1 分数就是精确率和召回率的调和平均数:

F1 = 2 * (precision * recall) / (precision + recall)

与普通平均数不同,调和平均数会惩罚失衡。精确率 1.0、召回率 0.0,平均下来是 0.5,F1 却是 0——这是对的,因为一个什么都抓不到的模型毫无用处,它的(空)告警再干净也没用。只有两者都高,F1 才高。

F1 给精确率和召回率相同的权重。当两者重要性不等时,Fβ 会倾斜天平——F2 更看重召回率,F0.5 更看重精确率——但到了这一步,通常更好的做法是分别报告精确率和召回率,让读者直接看到这个权衡。

把四个指标放在一起看

没有任何一个数字能单独给出答案。一个好习惯:把精确率和召回率成对报出来,只有在结构上必须用一个标量时才压缩成 F1 或准确率(排行榜、仪表盘上的一个格子)。另外永远先看类别是否均衡——它马上就能告诉你准确率是可以放心信,还是一个陷阱。想看让这一切变得直观的那张图,以及特异度、假正例率这些衍生指标,去看混淆矩阵。

要点回顾

  • 每个预测都是 TP、FP、FN 或 TN 之一;每个指标都是这四个数的某种比值。
  • 准确率在类别不平衡时会误导你——一个什么都不做的模型也能拿到接近满分。
  • 精确率 = 你标记出来的里面有多少是真的;误报代价高时优化它。
  • 召回率 = 真正存在的里面你抓到了多少;漏掉代价高时优化它。
  • 精确率和召回率通过阈值互相权衡;F1(调和平均数)把它们压缩成一个数,只要有一个不高,它就高不了。

下一篇: 混淆矩阵

本页目录

  • 准确率:会骗人的那个
  • 精确率:你标记出来的有多少是真的
  • 召回率:真正存在的问题你抓到了多少
  • 权衡本身就是重点
  • F1:非要一个数的时候
  • 把四个指标放在一起看
  • 要点回顾
站点标志Map the AI

AI 不断向前,学习有路可循。

地图
  • 学习轨道
  • 主题
  • 我的路径
  • 路线图
公司
  • 关于我们
  • 联系我们
法律
  • Cookie 政策
  • 隐私政策
  • 服务条款
© 2026 Map the AI。由 NeatSeed LLC 运营。保留所有权利。