分类问题

混淆矩阵

alt

对于二分类问题,混淆矩阵是一个 2x2 的矩阵。

  • TP (True Positive,真正例):预测为正类且实际为正类的样本数量。(正确识别目标)
  • TN (True Negative,真负例):预测为负类且实际为负类的样本数量。(正确排除非目标)
  • FP (False Positive,假正例):预测为正类但实际为负类的样本数量。(误报)
  • FN (False Negative,假负例):预测为负类但实际为正类的样本数量。(漏报)

反应每个类别的正确和错误预测情况

正类目标类别

  • 疾病检测中的“患病”样本
  • 垃圾邮件分类中的“垃圾邮件”
  • 欺诈检测中的“欺诈交易”

负类非目标类别


准确率

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

模型正确预测的样本占所有样本的比例

是一个全局评估指标,适用于样本类别分布均衡的情况

问题: 当数据集中的正负样本不平衡时,准确率可能会导致误导

在一个几乎所有样本都为负类的情况下,一个简单的模型只预测负类时候比较厉害,准确率也会非常高,但实际上模型并没有有效识别正类

什么都能干 , 但是分不清正负类,有很多情况下TP才有价值,TG价值不高


精确率

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

所有被模型预测为正类的样本中,实际为正类的比例

问题: 忽略FN , 其实本来是正类. 适用于假正例代价较高的应用场景评估

垃圾邮件检测、金融欺诈检测环境比较适合

过关的必须要正确,杀一百不放过一个那种


召回率

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

所有实际为正类的样本中,被模型正确预测为正类的比例

识别正类的能力,适用于需要尽可能识别出所有正类的场景

召回率高说明模型识别正类的能力强,但这可能会导致误预测负类为正类(假正例增多)。在漏判正类后果严重的场景下,召回率非常重要,如疾病检测、欺诈检测等。


F1-Score

F1=2×Precision×RecallPrecision+RecallF_1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

精确率和召回率的调和平均数, 在不平衡数据集的情况下,比准确率更能反映模型性能。