Precision和Recall是评估分类模型性能的两个重要指标,它们虽然都与模型的正确性相关,但关注的角度和用途有所不同。
Precision(精确率)
- 定义:Precision 是指在模型预测为正例的所有样本中,真正为正例的样本所占的比例。
- 公式:
P
r
e
c
i
s
i
o
n
=
(
T
P
T
P
+
F
P
)
Precision = (\frac{TP}{TP + FP})
Precision=(TP+FPTP)
- 其中,TP(True Positive)是指模型正确预测为正例的样本数,FP(False Positive)是指模型错误预测为正例的样本数。
- 解读:Precision 关注的是模型的预测结果有多“精确”。即,当模型预测一个样本为正例时,这个预测有多大的可信度。如果 Precision 高,意味着模型很少会将负例误判为正例。
- 使用场景:在注重减少错误警报(即 FP)的场景中,Precision 是一个关键指标。例如,在垃圾邮件过滤中,Precision 高意味着很少有非垃圾邮件被误判为垃圾邮件。
Recall(召回率)
- 定义:Recall 是指在所有实际为正例的样本中,被模型正确预测为正例的样本所占的比例。
- 公式:
R
e
c
a
l
l
=
(
T
P
T
P
+
F
N
)
Recall = (\frac{TP}{TP + FN})
Recall=(TP+FNTP)
- 其中,FN(False Negative)是指模型错误预测为负例的正例样本数。
- 解读:Recall 关注的是模型的“敏感性”或“覆盖率”。即模型能找出所有正例的能力。如果 Recall 高,意味着模型能够识别出大多数的正例样本。
- 使用场景:在注重捕获所有正例样本的场景中,Recall 是关键指标。例如,在疾病筛查中,Recall 高意味着很少有患病患者被漏诊。
Precision 和 Recall 的联系
Precision 和 Recall 之间存在一种权衡关系,即通常当 Precision 增加时,Recall 可能会下降,反之亦然。这是因为一个模型要想提升 Precision,可能会减少预测为正例的样本数量(降低 FP),但这也可能会使一些正例被遗漏(增加 FN),从而降低 Recall。相反,提升 Recall 通常意味着模型会更多地预测正例(降低 FN),但这可能会导致更多的 FP,从而降低 Precision。
出发的角度
- Precision:从“正例预测”的角度出发,考察模型在预测正例时的准确性。
- Recall:从“正例覆盖”的角度出发,考察模型在所有正例样本中的识别能力。
这两者的权衡通常通过F1-score来实现,它是 Precision 和 Recall 的调和平均数,用于在 Precision 和 Recall 之间找到一个平衡点。