# 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 才会高。