# Summary
1. 精确率 Precision 低则多冤枉,召回率低则多放漏,只有当你既少冤枉,又少放漏时,F1 才会高。
2. 混淆矩阵就像模型的"成绩单",不仅告诉你对错,还告诉你错在哪里,怎么改进!
# Cues
# Note
四种可能的结果:识别好人坏人
```Java
实际情况
坏人 好人
┌─────────────────┐
预 判 坏 │ 25人 10人 │ → 预测坏人35人
测 │ (✓) (✗) │
结 │ │
果 判 好 │ 5人 60人 │ → 预测好人65人
│ (✗) (✓) │
└─────────────────┘
↓ ↓
实际30人 实际70人
```
真阳性 (TP):25 个坏人被正确识别为坏人。
假阳性 (FP):10 个好人被错判为坏人(冤枉)。
假阴性 (FN):5 个坏人被错判为好人(漏网)。
真阴性 (TN):60 个好人被正确识别为好人。
## 1. 准确率(Accuracy)
准确率 = (TP + TN) / 总人数
= (25 + 60) / 100
= 85%
含义:整体上,你的识别有 85% 是正确的。
问题:如果坏人比例极低(比如只有 1%),即使你全判成好人,准确率也能很高,但失去意义。
## 2. 精确率(Precision)
精确率 = TP / (TP + FP)
= 25 / (25 + 10)
= 71.4%
含义:你抓的“坏人”里面,71% 真的是坏人。
场景:当“冤枉好人”代价很高时要关注,比如社会舆论对执法公正的要求。
## 3. 召回率(Recall)
召回率 = TP / (TP + FN)
= 25 / (25 + 5)
= 83.3%
含义:所有坏人里,你抓出了 83%。
场景:当“放过坏人”代价很高时要关注,比如反恐、安检等。
## 4. F1 分数
F1 = 2 × (精确率 × 召回率) / (精确率 + 召回率)
= 2 × (0.714 × 0.833) / (0.714 + 0.833)
= 0.769
含义:F1 把“冤枉好人”和“放走坏人”都纳入考虑,得到一个平衡分数。
解释:只有当你既少冤枉,又少放漏时,F1 才会高。