返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: precision-recall-f1

Precision/Recall/F1

Precision, Recall & F1
🎯核心定义
由混淆矩阵导出的三个核心分类指标。查准率 P=TPTP+FPP = \frac{TP}{TP + FP} (预测为正的样本里有多少真的为正, 衡量“宁缺毋滥”); 查全率 R=TPTP+FNR = \frac{TP}{TP + FN} (实际为正的样本里找回了多少, 衡量“宁可错杀也不漏”); F1=2PRP+RF1 = \frac{2PR}{P + R} 是 P 与 R 的调和平均, 单值综合两者; 更一般地 Fβ=(1+β2)PRβ2P+RF_\beta = \frac{(1+\beta^2)PR}{\beta^2 P + R}, β>1\beta > 1 更重视召回率 (如 F2F_2), β<1\beta < 1 更重视精确率。调和平均惩罚悬殊的二者: P=1,R=0.1P = 1, R = 0.1F1=2×1×0.11.10.18F1 = \frac{2 \times 1 \times 0.1}{1.1} \approx 0.18, 远低于算术平均的 0.55。
💡使用场景
类别不平衡、漏斗式业务 (搜索/推荐/风控) 中几乎必问; PR 曲线是改变阈值时 P 随 R 变化的轨迹, 随机分类器的基线是 P=ρP = \rho, 其中 ρ=TP+FNN\rho = \frac{TP+FN}{N} 为正类占比 (如正类占 1% 时基线 P=0.01P = 0.01); 面试常追问“为什么用 F1 而不是准确率”“PR 曲线和 ROC 曲线选哪个”。
解决的核心痛点
把评估与多数类解耦——P 只看预测为正的一列, R 只看实际为正的一行, 都不被海量负类稀释; F1 用调和平均把“P、R 一边高一边低”的虚假好模型打回原形 (无脑全预测为正时 P=ρ0P = \rho \approx 0), 而算术平均会被高分值掩盖。Fβ 允许按业务代价调节权重: 医疗筛查漏诊致命选 β=2\beta = 2 保召回, 广告误投放浪费预算选 β=0.5\beta = 0.5 保精确。
🎯5 个高频面试考点 (Exam Points)
1
手算: 某模型 P=0.9,R=0.5P = 0.9, R = 0.5, 求 F1 并解释为什么低于算术平均?
2
为什么 F1 用调和平均而不用算术平均? P=1,R=0.1P = 1, R = 0.1 时 F1 是多少?
3
Fβ 中 β 的含义与选择: F2F_2F0.5F_{0.5} 分别侧重什么? 医疗筛查与广告投放各选哪个?
4
PR 曲线与 ROC 曲线如何选择: 类别不平衡时为什么 PR 更敏感? PR 基线 P = ρ 是什么含义?
5
如何从模型概率分数画出 PR 曲线? 如何选最优阈值 (F1 最大化 / 代价最小化)?
📖 关联深度指南:📄 ml-math-and-eval-metrics
更新于 2026-08-12
🎯
检验攻克程度:针对「Precision/Recall/F1」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点混淆矩阵下一个知识点ROC-AUC

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合