分类:精确率和召回率

精确率

精确率指标尝试回答以下问题:

正例识别的正确比例是多少?

精确率的定义如下:

$$\text{Precision} = \frac{TP}{TP+FP}$$

让我们通过分析上一部分中用于分析肿瘤的机器学习模型来计算精确率:

真正例 (TP):1 假正例 (FP):1
假负例 (FN):8 真负例 (TN):90
$$\text{Precision} = \frac{TP}{TP+FP} = \frac{1}{1+1} = 0.5$$

我们的模型的精确率为 0.5,也就是说,如果预测肿瘤是恶性,其正确率为 50%。

召回率

召回率尝试回答以下问题:

正确识别的实际正例比例是多少?

从数学上讲,召回率的定义如下:

$$\text{Recall} = \frac{TP}{TP+FN}$$

让我们来计算我们的肿瘤分类器的召回率:

真正例 (TP):1 假正例 (FP):1
假负例 (FN):8 真负例 (TN):90
$$\text{Recall} = \frac{TP}{TP+FN} = \frac{1}{1+8} = 0.11$$

该模型的召回率是 0.11,换言之,该模型能够正确识别所有恶性肿瘤的 11%。

精确率和召回率:一场拔河比赛

如需全面评估模型的效果,您必须同时检查精确率和召回率。遗憾的是,精确率和召回率往往处于紧张状态。也就是说,提高精确率通常会降低召回率,反之亦然。请查看下图了解此概念,该图显示了电子邮件分类模型做出的 30 个预测。分类阈值右侧的类别被归类为“垃圾内容”,左侧的类别则归类为“非垃圾内容”。

从 0 到 1.0 的数字行,其中放置了 30 个样本。

图 1. 将电子邮件归类为垃圾邮件或非垃圾邮件。

我们根据图 1 所示的结果计算精确率和召回率:

真正例 (TP):8 假正例 (FP):2
假负例 (FN):3 真负例 (TN):17

精确率指的是被标记为垃圾邮件的电子邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值线右侧的绿点所占的百分比:

$$\text{Precision} = \frac{TP}{TP + FP} = \frac{8}{8+2} = 0.8$$

召回率是指实际垃圾邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值行右侧的绿点所占的百分比:

$$\text{Recall} = \frac{TP}{TP + FN} = \frac{8}{8 + 3} = 0.73$$

图 2 说明了提高分类阈值的影响。

同一组样本,但分类阈值略有提高。30 个示例中有 2 个已重新分类。

图 2. 提高分类阈值。

假正例数量会减少,但假负例数量会增加。因此,精确率会提高,而召回率会降低:

真正例 (TP):7 假正例 (FP):1
假负例 (FN):4 真负例 (TN):18
$$\text{Precision} = \frac{TP}{TP + FP} = \frac{7}{7+1} = 0.88$$ $$\text{Recall} = \frac{TP}{TP + FN} = \frac{7}{7 + 4} = 0.64$$

相反,图 3 显示了降低分类阈值(从图 1 中的初始位置开始)产生的效果。

同一组样本,但分类阈值降低了。

图 3.降低分类阈值。

假正例增加,假负例减少。因此,这一次精确率会降低,召回率会提高:

真正例 (TP):9 假正例 (FP):3
假负例 (FN):2 真负例 (TN):16
$$\text{Precision} = \frac{TP}{TP + FP} = \frac{9}{9+3} = 0.75$$ $$\text{Recall} = \frac{TP}{TP + FN} = \frac{9}{9 + 2} = 0.82$$

我们开发了同时依赖于精确率和召回率的各种指标。有关示例,请参阅 F1 得分