auc曲线面积与roc曲线,roc曲线auc多大有意义

  auc曲线面积与roc曲线,roc曲线auc多大有意义

  ROC和AUC将ROC的全称定义为“受试者的工作特征”。ROC曲线的面积为AUC(曲线下面积)。AUC用于衡量机器学习算法对“二分类问题”的性能(泛化能力)。

  虽然Python为sklearn提供了一个直接计算ROC的函数[1],我们还是详细介绍一下函数背后的计算过程。

  计算ROC时需要知道的重要概念。首先解释两个二元分类问题中的一些常见概念,真正、假正、真负、假负。它们根据实际类别和预测类别的组合进行区分。

  假设有一个测试样本。这些样本只有正反两个例子。机器学习算法的预测类别如下图所示。左半部分的预测类别是正例,右半部分的预测类别是反例。另一方面,样本中真正的正例是上半部分,下半部分是真正的反例。

  预测值与正例相同,P(正预测值与负例相同,N(负预测值与真值相同,T(真预测值与真值相反,标为F(假)

  TP:预测类为P(正例),实际类为PFP)预测类为P,实际类为N(负例)TN)预测类为N,实际类为P样本中真正例的总数。TP FN TPR为真实定位速率,TPR=TP/(TPfn)。

  同样,样本中真实反例类别的总数为FP TN。FPR是错误定位率,FPR=FP/(TNFP)。

  还有“分界点”的概念。机器学习算法对测试样本进行预测后,可以输出每个测试样本相对于某个类别的相似概率。比如t1是P类的概率是0.3,一般认为概率小于0.5,t1属于N类。0.5这里是“分界点”。

  总之,计算ROC最重要的三个概念是TPR、FPR和分界点。

  不同的截断点,TPR和FPR的计算结果是不同的。在二维坐标系中用不同的截断点绘制相应的TPR和FPR结果得到的曲线就是ROC曲线。横轴由FPR表示。

  Sklearn计算roc sk learn给出了一个计算roc的例子[1]。

  y=NP.array ([ 1,1,2,2 ] ) scores=NP.array ) [ 0.1,0.4,0.35,0.8 ] ) fpr,tpr,thresholds=metrics。皇家对空观察队

  FPR=数组([0.0.5,0.5,1。] ) TPR=array ) [ 0.5,0.5,1 .1。]阈值=数组] [ 0.8,0.4,0.35,

  详细计算过程中的示例显示了以下数据

  Y=NP。数组([1,1,2,2])分数=NP。array) [0.1,0.4,0.35,0.8])利用这些数据计算TPR和FPR的过程是怎样的?

  1.分析数据Y是一维数组(样本的真实分类)。数组值表示类别。有两类:1和2。假设y的1代表反例,2代表正例。将y改写如下

  Y _ true=[0,0,1,1] score是每个样本属于正例的概率。

  2.对于score,数据重新排序的样本被预测为属于p的真实类别Y[0]0.1 ny[2]0.35 py[1]0.4 ny[3]0.8p 3 .将分界点设置为分数值,将分界点设置为0.1,0.35,0.4,

  3.1 0.1的分界点意味着如果得分=0.1,则预测类别是正面的例子。

  此时,由于所有四个样本的得分都等于或大于0.1,所以所有样本的预测类别都是p

  sores=[ 0.1,0.4,0.35,0.8 ] y _ true=[ 0,0,1,1 ] y _ pred=[ 1,1,1,1,1 ]

  TPR=TP/(TPfn )=1

  FPR=FP/(TNFP )=1

  3.2分界点0.35意味着如果得分=0.35,则预测类别为p。

  因为在这种情况下,四个样本中有三个样本的得分大于或等于0.35。所以所有样本的预测类都是三个P(两个预测正确,一个预测错误);样本被预测为N(预测是正确的)。

  sores=[ 0.1,0.4,0.35,0.8 ] y _ true=[ 0,0,1,1 ] y _ pred=[ 0,1,1,1 ]

  TPR=TP/(TPfn )=1

  FPR=FP/(TNFP )=0.5

  3.3分界点0.4意味着如果得分=0.4,则预测类别为p。

  因为在这种情况下,四个样本中有两个样本的得分大于或等于0.4。所以所有样本的预测类都是两个P(一个正确,一个错误);预测两个样本为N(一个正确,一个错误)。

  sores=[ 0.1,0.4,0.35,0.8 ] y _ true=[ 0,0,1,1 ] y _ pred=[ 0,1,0,1 ]

  TPR=TP/(TPfn )=0.5

  FPR=FP/(TNFP )=0.5

  3.4 0.8的分界点表示如果score=0.8,则预测类别为P .因此,所有样本的预测类别中有一个是P(一个预测是正确的);三个样本预测为N(两个正确,一个错误)。

  sores=[ 0.1,0.4,0.35,0.8 ] y _ true=[ 0,0,1,1 ] y _ pred=[ 0,0,0,0,1 ]

  TPR=TP/(TPfn )=0.5

  FPR=FP/(TNFP )=0

  经验会把TPR和FPR的计算过程解释如下,比较好记。

  TPR:在真实正例中预测正确的比例FPR:在真实反例中预测正确的比例理想的分类器是对样本进行完全正确的分类。即FP=0,FN=0。因此,理想的分类器TPR=1,FPR=0。

  参考:3358 sci kit-learn.org/stable/modules/generated/sk学习。度量标准。ROC _ ROC计算公式,3358blog.yhat

auc曲线面积与roc曲线,roc曲线auc多大有意义