精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标

对于二分类问题来说,经过分类器分类后一般会出现下面四种情况(假设positive表正类,negative表负类):

  • 将正类预测为正类,记该类样本数为TP (true positive)
  • 将正类预测为负类,记该类样本数为FN (false negative)
  • 将负类预测为正类,记该类样本数为FP (false positive)
  • 将负类预测为负类,记该类样本数为TN (true negative)
混淆矩阵如下:
精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标
文章图片

精确率
精确率(precision):被预测成正的样本中预测正确的比例。越接近1,预测效果越好

P=TPP′=TPTP+FP
召回率
召回率(recall):原为正样本中被正确预测的比例。越接近1,效果越好

R=TPP=TPTP+FN
F1 值
F1 值:精确率和召回率的调和均值,即:

2F1=1P+1R
化简得 F1值:
F1=2TP2TP+FP+FN
准确率
准确率(accuracy):被正确预测的样本数占总样本数的比例:

A=TP+N=TP′+N′=TN+TPTN+TP+FN+FP
ROC
ROC(Receiver operating characteristic curve)
再写一下混淆矩阵:
精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标
文章图片

引入两个概念真阳性率TPR(被正确判断为正类即Positive的概率)和伪阳性率FPR(被错误判断为正类的概率)
由上混淆矩阵可知:
真阳性率:

TPR=TPP=TPTP+FN
伪阳性率:
FPR=FPN=FPFP+TN
对于某个二分类模型来说,一般划分正类(positive)和负类(negative)是通过同阈值相比较来划分的,所以说只要调整阈值的大小,就能得出多组TPR和FPR。
将得到的FPR作为横坐标,TPR作为纵坐标,就可以得出对于该分类模型的ROC曲线图了。
如对于某个二分类模型,阈值取 a,b,c,d 四个不同值,对于同一数据集就可以在ROC图上得出4个不同的点,如下图点 A,B,C,D 。
精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标
文章图片

首先来看一下一条特殊的线y=x ,这条线上的点坐标 x=y(FPR=TPR) ,即原为正类的,预测为正类的概率等于原为负类但被预测成正类的概率。即随机预测。
还有特殊的两个点 E,F 。 E 点的 FPR=0,TPR=1 说明 FP=FN=0 即全预测对了。 F 点刚好相反 TN=TP=0 即全预测错了,但是 F 点只要反过来预测就能全对。所以 E 和 F 点都是完美预测对应的点。
那对于 A,B,C,D 来说也一样,离左上角或右下角越近(即离随机预测对应的线越远),预测的结果越理想。因此可以判断预测结果的理想程度为:

A>B>C>D
AUC
AUC (Area under the Curve of ROC) ROC曲线下方面积
结合ROC不难得知:
  • AUC=1完美分类器
  • 0.5
  • AUC=0.5效果同随机分类
  • 0
  • AUC=0反着预测就是完美分类器
参考
【精确率|精确率 召回率 F1值 准确率 ROC曲线 AUC评价指标】https://en.wikipedia.org/wiki/Receiver_operating_characteristic

    推荐阅读