分类性能度量
拖动决策阈值,实时观察混淆矩阵、错误率、精度、查准率、查全率与 F1 的变化, 并同步观察 P-R 曲线与 ROC 曲线上的工作点如何移动。
1公式与参数说明
下面五个公式构成了二分类任务最核心的性能度量体系。所有指标均可由混淆矩阵的四个计数推导得到。
混淆矩阵 基础
把样本按「真实类别 × 预测类别」分成四类。TP、TN 是判断正确的部分,FP、FN 是两类错误——它们对应着完全不同的业务代价。
错误率与精度 整体
错误率是分类错误的样本比例,精度是分类正确的样本比例,二者互补。它们把 FP 与 FN 一视同仁,因此不适合类别极不平衡的场景。
查准率与查全率 局部
查准率(Precision)衡量「预测为正的样本中有多少是真的正例」;查全率(Recall)衡量「真正的正例中有多少被找了出来」。两者天然相互制约。
F1 度量 折中
F1 是查准率与查全率的调和平均,对较小的那个值更敏感。只有当 P 和 R 都较高时,F1 才会高——它是二者的平衡打分。
ROC 曲线与 AUC 排序能力
以 FPR 为横轴、TPR 为纵轴,遍历所有阈值得到 ROC 曲线;曲线下面积即 AUC。AUC 等价于「随机取一个正例和一个负例,模型把正例排在负例前面的概率」。
参数与符号说明
| 符号 | 名称 | 含义 |
|---|---|---|
TP |
真正例 True Positive | 真实为正例,模型也预测为正例的样本数 |
FN |
假反例 False Negative | 真实为正例,却被预测为负例的样本数(漏报) |
FP |
假正例 False Positive | 真实为负例,却被预测为正例的样本数(误报) |
TN |
真反例 True Negative | 真实为负例,模型也预测为负例的样本数 |
m |
样本总数 | 评估数据集中的样本个数,m = TP + FP + TN + FN |
f |
学习器 / 模型 | 待评估的分类函数,通常输出一个 [0,1] 的预测概率 |
D |
数据集 | 用于评估的样本集合,其中每个样本带有真实标记 y |
θ |
决策阈值 | 预测概率 ≥ θ 判为正例,否则判为负例;本页所有指标随 θ 实时变化 |
2交互模拟
左侧调整参数,右侧实时呈现公式的计算结果与可视化曲线。
3深入理解
📘标准介绍
在机器学习中,性能度量(Performance Measure)是衡量模型泛化能力的评价标准。 对二分类任务,最基础的做法是先把预测结果与真实标记逐一比对,统计出混淆矩阵的四个计数:TP、FN、FP、TN。
在此基础上定义:错误率 E = 1 − (TP+TN)/m, 精度 acc = (TP+TN)/m; 查准率 P = TP/(TP+FP), 查全率 R = TP/(TP+FN); F1 = 2PR/(P+R)。
由于查准率与查全率此消彼长,通常还要遍历所有决策阈值,绘制 P-R 曲线(横轴 R、纵轴 P) 与 ROC 曲线(横轴 FPR、纵轴 TPR),并用曲线下面积 AUC 作为与阈值无关的整体排序能力度量。
💡通俗介绍
把模型想象成一个安检系统:
- 查准率回答:「警报响了,这件东西真的是危险品的概率有多大?」——查准率低意味着大量误报,安检员天天被折腾。
- 查全率回答:「所有危险品里,有多少被警报成功发现了?」——查全率低意味着漏检,后果可能非常严重。
- 决策阈值就是安检的灵敏度旋钮:调低(更敏感)→ 几乎所有东西都报警 → 查全率↑、查准率↓;调高(更宽松)→ 只对非常可疑的东西报警 → 查准率↑、查全率↓。
- F1 是二者的平衡打分:只要有一项很烂,F1 就会很难看。
拖动本页左侧的阈值滑块,就能直观感受到这个「灵敏度旋钮」如何左右权衡。
🎯解决了什么问题
它回答了模型评估中最关键的三个问题:
- 模型好不好?——用一个或一组数值给出可比较、可复现的结论,而不是靠感觉。
- 错误代价是什么?——精度把所有错误一视同仁,而查准率/查全率把 FP 与 FN 分开计量,让不同业务代价可以被显式建模。
- 阈值该定在哪?——P-R 曲线与 ROC 曲线把「所有阈值下的表现」一次性画出来,帮助选择真正符合业务要求的工作点,而不是默认 0.5。
⭐为什么重要
没有正确的度量,就没有正确的优化方向。选错指标会直接导致模型在真实场景中失效:
- 在类别极不平衡的数据上(例如 1% 的欺诈样本),一个「全部预测为负」的模型精度可以高达 99%,但毫无价值——此时应该看查准率、查全率或 AUC。
- 度量指标直接决定了模型选择、超参数调优与阈值设定的优化目标。
- 在风控、医疗等强监管领域,可解释的指标(如查全率必须 ≥ 95%)是上线准入的硬性条件。
🏭应用场景
- 医疗筛查:癌症初筛优先保证高查全率(宁可误报,不可漏诊),再通过复检控制查准率。
- 垃圾邮件过滤:更关注查准率,因为把正常邮件误判为垃圾邮件(FP)的代价很高。
- 金融风控 / 反欺诈:极不平衡数据,常用 P-R 曲线与 AUC 共同评估,并配合代价敏感阈值。
- 推荐与搜索排序:把排序问题转化为二分类,用 AUC 衡量排序质量。
- 工业质检:漏检(FN)会造成客诉,误检(FP)会增加返工成本,需按成本比选择工作点。
- 模型监控:线上持续统计混淆矩阵,监控查准率/查全率的漂移。
⚠️局限与缺陷
- 精度陷阱:在类别不平衡时精度具有极强的误导性,必须结合查准率/查全率。
- AUC 的盲区:AUC 是全局排序指标,对类别极不平衡或只关心高分区域的场景不敏感;两个模型的 ROC 曲线可以交叉,此时 AUC 更大不代表实际更好。
- F1 的隐含假设:F1 默认查准率与查全率同等重要,且只适用于二分类的单一类别;多分类需用 macro-F1 或 micro-F1。
- 阈值依赖:查准率、查全率、F1 都依赖于某个特定阈值,脱离阈值单独比较没有意义。
- 忽略概率校准:这些指标只关心「排序」和「判对与否」,不衡量预测概率是否准确;若下游需要真实概率,还需 Brier Score 或校准曲线。
- 忽略代价差异:FP 与 FN 的实际代价通常相差巨大,标准指标并未体现,需要引入代价敏感学习。