分类任务评价指标(Accuracy / Precision / Recall / F1 / ROC / AUC)

结果表示方法

  • TP – True Positive
  • FN – False Negative
  • TN – True Negative
  • FP – False Positive

这里的T/F代表模型预测的正确/错误,而P/N则代表标签预测的是/否(即:正样本/负样本)

常规指标的意义与计算方式

我们先看分类任务的四个基本评价指标:

  • 准确率 - Accuracy

    • 正确样本 占 预测样本的百分比
    • Accuracy = (TP+TN)/(TP+TN+FP+FN)
  • 查准率 - Precision

    • 正确正样本 占 预测正样本的百分比
    • Precision = TP/(TP+FP)
  • 查全率 - Recall

    • 正确正样本 占 预测正确样本的百分比
    • Recall = TP/(TP+FN)
  • F1分数

    • 由于Precision和Recall是一对Tradeoff,因此我们可以通过F1来对二者进行综合
    • F1 = (2×Precision×Recall) / (Precision+Recall)

以上四个指标在大多数场景下足以对分类模型做出准确的评估,但如果碰到一些特殊情况,那么上述指标的评估结果可能就会出现偏差,比如:当样本数据中的负样本占比远超正样本(这个场景在推荐任务中很常见)时,模型只要把输入样本全部分类为负样本,那么就能得到不错的准确率。针对这种情况,我们就需要引入一些更有针对性的评估指标,比如:ROC、AUC等

在介绍ROC和AUC之前,我们先要引入两个概念:TPR和FPR

  • TPR(真正率)= TP/(TP+FN)
    • 正确样本中,正确正样本的占比
  • FPR(假正率)= FP/(FP+TN)
    • 错误样本中,错误正样本的占比

TPR和FPR分别是以1和0作为评价基准的,所以有时可以更准确地反映分类模型的性能,接下来,我们介绍ROC、AUC:

ROC和AUC

ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。该曲线最早应用于雷达信号检测领域,用于区分信号与噪声。后来人们将其用于评价模型的预测能力,ROC 曲线是基于混淆矩阵得出的。

ROC 曲线中的主要两个指标就是真正率和假正率。其中假正率(FPR)为横坐标,真正率(TPR)为纵坐标,如下图所示:

查看源图像

分类模型在测试集上每做一次测试,我们都能得到一组TP/FP/TN/FN数据,由这些数据我们只能计算出一个TPR-FPR值对,对应在ROC曲线图中就是一个点,因此,如果我们要得到完整的ROC曲线,就需要对模型不断地调参,让不同参数的模型分别在测试集上做测试,进而得到很多组TPR-FPR值对,把它们标到坐标系中,连起来,就是我们要的ROC曲线图了:

查看源图像

图中的点越接近坐标((0,1))就代表该模型性能越好

AUC指的是ROC曲线下方的面积(Area Under Curve)。我们在ROC曲线图中经常会看到一条连接原点与((1,1))的辅助线,这条线其实就代表了随机预测模型的性能,其AUC值为0.5。ROC 曲线越陡越好,所以AUC的理想值就是 1,一个正方形,而最差的随机判断都有 0.5,所以一般 AUC 的值会介于 0.5 到 1 之间


参考:

原文地址:https://www.cnblogs.com/lokvahkoor/p/15259047.html