准确率、精确率、召回率和 F1 到底怎么看?

从混淆矩阵出发理解四个分类指标,并根据漏判和误判的实际代价选择评价标准。

学习路线:AI 入门与 PyTorch 基础(1~20) · 第 7 课
Learning Path

AI 入门与 PyTorch 基础(1~20)

从 AI 基本概念、机器学习任务、深度学习直觉、PyTorch 入门到中文文本分类项目全貌。

学完本阶段你能做到:能说清 AI、机器学习、深度学习、PyTorch 训练流程和一个中文文本分类项目的大致链路。

推荐读法:零基础建议顺序阅读;已有基础的读者可以把它当作路线地图和查漏补缺清单。

查看完整阶段 · 20 篇
Lesson Guide

这一课怎么学

先看目标,再带着问题读正文。读完后用练习确认自己真的理解了。

本节你会学到

  • 说清楚「准确率、精确率、召回率和 F1 到底怎么看?」解决的核心问题
  • 知道它在「AI 入门与 PyTorch 基础(1~20)」中的位置
  • 把 混淆矩阵、机器学习、分类与回归 这些关键词联系起来

前置知识

  • 建议先读完上一篇:训练集、验证集和测试集分别做什么?
  • 能区分输入、输出、数据和模型目标。

概念回顾

  • 【混淆矩阵】准确率只给总分,混淆矩阵能告诉你模型到底把哪一类看错成了哪一类。 前面或后面会反复用到它。
  • 【机器学习】机器学习的重点不是手写所有规则,而是准备数据、定义目标,让模型自己找到可复用的模式。 前面或后面会反复用到它。
  • 【分类与回归】判断邮件是不是垃圾邮件是分类,预测房价是多少是回归。 前面或后面会反复用到它。
  • 【过拟合】过拟合就像背答案,训练题都会了,但真正考试时不一定会。 前面或后面会反复用到它。

核心概念

常见误区

  • 不要只记定义,要追问它解决了什么问题。
  • 不要只看一个指标,要结合任务目标判断模型是否真的有用。

课后练习

  • 用 3 句话向一个零基础朋友解释「准确率、精确率、召回率和 F1 到底怎么看?」。
  • 打开概念库里的「混淆矩阵」,补一遍它和本文的关系。
  • 读下一课「过拟合、欠拟合和数据泄漏是什么?」前,先写下你认为它会解决的问题。

自检练习与参考答案

1. 为什么不能只看一个指标?

单一指标会掩盖类别不平衡、业务代价和错误分布。评估要结合任务目标、混淆矩阵和具体错误样本。

2. 什么时候准确率会误导你?

当类别不平衡或不同错误代价差异很大时,准确率可能很高但模型仍然没解决关键问题。

下一步建议读「过拟合、欠拟合和数据泄漏是什么?」。

分类模型不能只看“猜对多少”。在垃圾短信、疾病筛查和风险识别中,漏掉一个正例和误判一个正常样本,代价可能完全不同。

理解分类指标,最好先从混淆矩阵开始。

第 7 课视频 · 准确率、精确率、召回率和 F1(约 1 分 14 秒)

混淆矩阵记录四种结果

以“垃圾短信”为正类:

真实情况 / 预测结果 预测垃圾 预测正常
实际垃圾 TP FN
实际正常 FP TN
  • TP:垃圾短信被正确识别;
  • TN:正常短信被正确放行;
  • FP:正常短信被误判为垃圾;
  • FN:垃圾短信被漏掉。

Accuracy:整体猜对多少

Accuracy = (TP + TN) / 全部样本

类别比较均衡时,准确率很直观。但如果 1000 条短信中只有 10 条垃圾短信,模型把所有短信都判断为正常,也有 99% 的准确率,却完全没有识别能力。

Precision:预测为正的结果有多可靠

Precision = TP / (TP + FP)

精确率高,说明模型一旦说“这是垃圾短信”,通常是可信的。误判正常短信代价很高时,应重点关注精确率。

Recall:真正的正例找回了多少

Recall = TP / (TP + FN)

召回率高,说明真正的垃圾短信很少漏掉。疾病筛查、安全风险检测等不希望漏判的任务,通常更关注召回率。

F1:平衡 Precision 和 Recall

F1 = 2 × Precision × Recall / (Precision + Recall)

F1 是二者的调和平均。只有 Precision 和 Recall 都比较好时,F1 才会高,适合类别不均衡且两种错误都需要考虑的场景。

指标必须对应业务代价

没有一个指标永远最好。选择指标前应该问:

  • 漏掉一个正例的代价是什么?
  • 错判一个负例的代价是什么?
  • 类别是否严重不均衡?
  • 是否需要分别观察每个类别?

这一课先记住什么

Accuracy 看整体,Precision 关注误判,Recall 关注漏判,F1 在两者之间取平衡。评价模型时不要只报一个数字。

下一课会讨论模型最常见的两种学习问题:过拟合和欠拟合

Discussion

留言讨论