召回率、精确率、准确率、F1-score和混淆矩阵,这些是评估一个分类模型性能的常用指标,我们可以通过一个简单的二分类问题来说明它们的区别。这个例子是关于邮件垃圾分类的场景,假设我们要训练一个分类器来区分电子邮件是否是垃圾邮件。
假设的分类结果:
- 总共分类了 100 封邮件。
- 其中,实际垃圾邮件有 20 封,非垃圾邮件有 80 封。
- 下面这个混淆矩阵(Confusion Matrix) 展示了分类模型的四种预测结果:
实际垃圾邮件 (Positive) | 实际非垃圾邮件 (Negative) | |
---|---|---|
预测为垃圾邮件 | 15 (TP) | 10 (FP) |
预测为非垃圾邮件 | 5 (FN) | 70 (TN) |
定义这些术语:
- 真正类(TP):模型正确预测为垃圾邮件的邮件数。这里是 15 封。(阳性)
- 假正类(FP):模型错误地将非垃圾邮件预测为垃圾邮件的邮件数。这里是 10 封。(假阳性,误报,误诊)
- 假负类(FN):模型错误地将垃圾邮件预测为非垃圾邮件的邮件数。这里是 5 封。(假阴性,漏报,漏诊)
- 真负类(TN):模型正确预测为非垃圾邮件的邮件数。这里是 70 封。(阴性)
各个指标的计算
1. 召回率(Recall)
- 召回率衡量的是有多少真正的垃圾邮件被模型识别出来:
Recall = TP TP + FN = 15 15 + 5 = 0.75 \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} = \frac{15}{15 + 5} = 0.75 Recall=TP+FNTP=<