[机器学习]ROC曲线以及AUC的理解

ROC曲线以及AUC的理解

对于不平衡分类问题的评判准则有很多种,比较经典且经常使用的一种方法就是ROC曲线和AUC值。
对于二分类问题,我们引入混淆矩阵的概念。一个二分类问题,预测结果可能出现四种情况:
如果一个点属于阴性(-)并被预测到阴性(-)中,即为真阴性值(True Negative,TN);
如果一个点属于阳性(+)但被预测到阴性(-)中,称为假阴性值(False Negative,FN);
如果一个点属于阳性(+)并且被预测到阳性(+)中,称为真阳性值(True Positive,TP);
如果一个点属于阴性(-)但被预测到阳性(+)中,称为假阳性值(False Positive,FP)。以上内容可以用以下的混淆矩阵来表示:

真实为阳性(+)真实为阴性(-)
预测为阳性(+)真阳性值(TP)假阳性值(FP)
预测为阴性(+)假阴性值(FN)真阴性值(TN)

于是,模型整体的准确率可表示为 Accuracy = (TN+TP)/(N+P)
但实际上利用Accuracy对于一些不平衡的数据所建立的模型进行评判是相当不合理的,因为当模型倾向于将所有数据评为数据量更大的那个分类,此时模型的准确率依然很高。
但往往我们关心的是其实是模型在每个类别上的预测能力,因此,我们需要如以下所展示的评价指标来综合判断模型的准确性。

对于二分类模型,很多时候不是直接给出每个样本的类别预测,而是给出属于其中一类的概率,因此需要选取一个阈值,当预测概率大于阈值时,将观测预测为此,否则为另一类。
不同的阈值对应不同的分类预测结果。ROC曲线可以同时展示出所有可能阈值对应的两类错误,通过将阈值从0到1移动,获得多对FPR(1-specificity)和TPR(sensitivity)以FPR为横轴TPR为纵轴,将各点连接起来而得到的一条曲线。即每一个点,对应的是一个分类器,一个相同模型阈值不一样的分类器。

名称定义相同含义名称
假阳性率(FPR)FP/N第I类错误,1-特异度(1-specificity)
真阳性率(TPR)TP/P1-第II类错误,灵敏度(sensitivity),召回率(recall)

在这里插入图片描述

首先我们考虑图中的四个点,第一个点(0,1)即FPR=0,TPR=1,这意味着FP(False Positive)=FN(False Negative)=0,表示我们得到了一个完美的分类器,因为它将所有的样本都正确分类了。
而相应的,(1,0)这个点表示这是一个最差的分类器,因为它将所有的样本都分错了。

第三个点(0,0),即FPR=TPR=0,这时候FP=TP=0,可以发现此时的分类器将所有的样本都预测为负样本。

类似的,第四个点(1,1),表示此时的分类器将所有的样本都预测为正样本。

事实上,我们构建出来的分类器,一开始将阈值调整的特别低,那么它就会讲所有的样本都分为负样本,所以,一般起点都是从(0,0)开始,然后,再调整阈值将所有样本都分为正样本,结果就到了(1,1)
所以经过以上的分析,我们可以明确。ROC曲线越接近左上角,说明该分类器的性能是越好的。另外,途中用虚线表示的对角线上的点其实表示一个采用随机猜测策略的分类器的结果,例如(0.5,0.5),它表示该分类器随机的将一半的样本猜测为正样本,另外一半样本猜测为负样本。(0.25,0.25)就表示将所有样本的四分之一随机猜测为正样本,这样的确为正样本的样本中有四分之一被猜测为了正样本,实际上为负样本的样本中也有四分之一被猜测为了正样本。

不过,很多时候单独看ROC曲线并不能清晰地看出哪个分类器的效果更好,所以可采用ROC曲线下面的面积(area under the ROC curve,AUC)来表示分类器的性能,显然这个数值不会大于1。前面提到,一个理想的ROC曲线会紧贴左上角,所以AUC值越大分类器的效果就越好。另外不难理解,任何一个“有效”的分类器的AUC值都应该大于0.5。
接下来我们开始解释ROC数学上的真实意义(非常美妙)
先介绍变量 D D D表示样本实际上属于正样本还是负样本(1为正,0位负) C C C表示一个样本经过分类器的分析之后的一个指标,也可以理解成一个类似概率的东西,因为我们构造二分类,往往就是得到一个样本属于正样本(或者负样本的一个概率) c c c表示阈值,实际上,我们的分类器其实就是把 C > c C>c C>c的样本分为正样本,而这个阈值是可调的,所以ROC整个的曲线其实就是一个分类器通过不断调整这个连续量 c c c(从 + ∞ +\infty + − ∞ -\infty )得到的曲线
所以,利用以上的变量解释的话。sensitivity也可以表示为 P ( C > c ∣ D = 1 ) P(C>c|D=1) P(C>cD=1),1-specificity也可以表示为 P ( C > c ∣ D = 0 ) P(C>c|D=0) P(C>cD=0)
则ROC曲线的每一个点的坐标实际上就是 ( P ( C > c ∣ D = 0 )   ,   P ( C > c ∣ D = 1 ) )    c ∈ ( − ∞   ,   + ∞ ) (P(C>c|D=0)\, ,\,P(C>c|D=1))\,\,c\in(-\infty\,,\,+\infty) (P(C>cD=0),P(C>cD=1))c(,+)
所以AUC:the area under the curve
在这里插入图片描述

所以可以看到,事实上AUC表示的是在正样本和负样本中分别随机抽取一个样本,分类器能够将两个样本区分开(即所得指标正样本比负样本大的)概率。所以,AUC越大,事实上证明这一类分类器的区分能力越好。
而这种区分能力,恰恰是准确率在面对不平衡样本时不能评判出来的能力。所以,AUC对于不平衡样本构建出来的模型的评价更为重要。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值