分类:准确性

准确率是评估分类模型的一个指标。通俗地说,准确率是指模型做出的正确预测所占的比例。正式而言,准确率具有以下定义:

$$\text{Accuracy} = \frac{\text{Number of correct predictions}}{\text{Total number of predictions}}$$

对于二元分类,也可以根据正类别和负类别按如下方式计算准确率:

$$\text{Accuracy} = \frac{TP+TN}{TP+TN+FP+FN}$$

其中,TP = 真正例,TN = 真负例,FP = 假正例,FN = 假负例。

我们来试着计算一下以下模型的准确率,该模型将 100 个肿瘤分为恶性(正类别)或良性(负类别):

真正例 (TP)
  • 现实:恶性
  • 预测的机器学习模型:恶性
  • TP 结果数:1
假正例 (FP)
  • 真实情况:良性
  • 预测的机器学习模型:恶性
  • FP 结果数量:1
假负例 (FN)
  • 现实:恶性
  • 预测的机器学习模型:良性
  • FN 结果数:8
真负例 (TN)
  • 真实情况:良性
  • 预测的机器学习模型:良性
  • TN 结果数:90
$$\text{Accuracy} = \frac{TP+TN}{TP+TN+FP+FN} = \frac{1+90}{1+90+1+8} = 0.91$$

准确率为 0.91,即 91%(共 100 个样本,其中 91 个正确预测)。这表明我们的肿瘤分类器在识别恶性病变方面表现得不错,对吧?

实际上,让我们来仔细分析一下正类别和负类别,以更深入地了解我们的模型的效果。

在 100 个肿瘤样本中,91 个为良性(90 个 TN 和 1 FP),9 个为恶性(1 个 TP 和 8 个 FN)。

在 91 个良性肿瘤中,该模型正确地将 90 个识别为良性。很好。然而,在 9 个恶性肿瘤中,该模型仅将 1 个恶性肿瘤正确识别为一个不良结果,因为 90 个恶性肿瘤中有 8 个无法诊断!

虽然 91% 的准确率乍一看似乎比较好,但另一个始终预测良性状态的肿瘤分类器模型在我们的样本上会实现完全相同的准确率(91/100 是正确预测)。换言之,我们的模型与预测预测能力(0,区分恶性肿瘤和良性肿瘤)相比毫不逊色。

当您使用类别不平衡的数据集(例如正类别标签和负类别标签的数量之间存在明显差异)时,单单准确率一项并不能反映全面情况。

在下一部分中,我们将介绍评估分类不平衡问题的两个更好指标:精确率和召回率。