机器学习常见评价指标:AUC、Precision、Recall、F-measure、Accuracy(转)

 

  • 主要内容 
    • AUC的计算
    • Precision、Recall、F-measure、Accuracy的计算

1、AUC的计算 
  AUC是一个模型评价指标,用于二分类模型的评价。AUC是“Area under Curve(曲线下的面积)”的英文缩写,而这条“Curve(曲线)”就是ROC曲线。 
  为什么要用AUC作为二分类模型的评价指标呢?为什么不直接通过计算准确率来对模型进行评价呢?答案是这样的:机器学习中的很多模型对于分类问题的预测结果大多是概率,即属于某个类别的概率,如果计算准确率的话,就要把概率转化为类别,这就需要设定一个阈值,概率大于某个阈值的属于一类,概率小于某个阈值的属于另一类,而阈值的设定直接影响了准确率的计算。使用AUC可以解决这个问题,接下来详细介绍AUC的计算。 
  例如,数据集一共有5个样本,真实类别为(1,0,0,1,0);二分类机器学习模型,得到的预测结果为(0.5,0.6,0.4,0.7,0.3)。将预测结果转化为类别——预测结果降序排列,以每个预测值(概率值)作为阈值,即可得到类别。计算每个阈值下的“True Positive Rate”、“False Positive Rate”。以“True Positive Rate”作为纵轴,以“False Positive Rate”作为横轴,画出ROC曲线,ROC曲线下的面积,即为AUC的值。 
  那么什么是“True Positive Rate”、“False Positive Rate”? 
  首先,我们看如下的图示: 

这里写图片描述


  然后,我们计算两个指标的值: 
  TruePositiveRate=TPTP+FNTruePositiveRate=TPTP+FN,代表将真实正将本划分为正样本的概率 
  FalsePositiveRate=FPFP+TNFalsePositiveRate=FPFP+TN,代表将真实负样本划分为正样本的概率 
  接着,我们以“True Positive Rate”作为纵轴,以“False Positive Rate”作为横轴,画出ROC曲线,ROC曲线下的面积,即为AUC的值。类似下图: 

这里写图片描述

2、Precision、Recall、F-measure、Accuracy的计算 
  首先,我们看如下图示(与上边的图示相同): 

这里写图片描述


  精确率(Precision):Precision=TPTP+FPPrecision=TPTP+FP 
  召回率(Recall):Recall=TPTP+FNRecall=TPTP+FN 
  F-measure:F−measure=2×Precision×RecallPrecision+RecallF−measure=2×Precision×RecallPrecision+Recall 
  准确率(Accuracy):Accuracy=TP+TNTP+TN+FP+FN

猜你喜欢

转载自blog.csdn.net/liqiming100/article/details/82111706