分类任务评价指标(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 之间
参考:
标签:F1,AUC,样本,Recall,ROC,TP,TPR 来源: https://www.cnblogs.com/lokvahkoor/p/15259047.html