对模型评价指标AUC的理解

AUC是一种衡量机器学习模型分类性能的重要且非常常用的指标,其只能用于二分类的情况.
AUC的本质含义反映的是对于任意一对正负例样本,模型将正样本预测为正例的可能性 大于 将负例预测为正例的可能性的 概率( :-) 没办法这句话就是这么绕, rap~).

AUC作为数值,那么到底是怎么来的?怎么理解它的意义?

在真正接触AUC之前,还需要了解两个概念, 分别是混淆矩阵(confusion matrix) 和 ROC曲线.


混淆矩阵:
混淆矩阵.png

可以看出混淆矩阵由四个值构成:

  • TP : 真实类别为1,且预测结果为1的样本个数,预测正确.
  • FP : 真实类别为0,且预测结果为1的样本个数,预测错误.
  • FN : 真实类别为1,且预测结果为0的样本个数,预测错误.
  • TN : 真实类别为0,且预测结果为0的样本个数,预测正确.

由混淆矩阵可以计算得到ROC曲线的关键参数:TPR(真正例率) 和 FPR(假正例率).
TPR = \frac{TP} {(TP + FN)} = \frac{TP}{P} \tag{1}

  • 对TPR最通俗易懂的理解即将正例预测为正例的比例

FPR = \frac{FP} {(FP + TN)} = \frac{FP}{N} \tag{2}

  • 对FPR最通俗易懂的理解即将负例预测为正例的比例(注意: TPR和FPR分子上表示的都是模型将样本预测为正例的情况,不过一个是预测正确一个是预测错误)

理解到这个程度就可以接触ROC曲线了

ROC curve

可以从图上面看出,FPR和TPR分别是ROC曲线的横坐标和纵坐标.对于ROC曲线有四个点需要单独拎出来理解,这对理解AUC也是很有帮助的.它们分别是:

  • [0, 0] : FPR,TPR均为0.根据式(1)(2)可以得到即TP=FP=0,其含义为模型将所有样本均预测为负例.
  • [0, 1] : FPR=0,TPR=1. 根据式(1)(2)可以得到即FP=FN=0,其含义为模型做出了没有任何错误的完美预测(由此可以看出ROC曲线越是向上凸(贴近上边界),曲线上的点的纵坐标(TPR)越是大,代表模型的性能越好).
  • [1, 0] : FPR =1,TPR=0.根据式(1)(2)可以得到即TP=TN=0,其含义为模型做出的预测全部错误(由此可以看出,ROC曲线越是贴近下边界(下凹),那么模型的性能越是差).
  • [1, 1] : FPR =1,TPR=1.根据式(1)(2)可以得到即TN=FN=0,其意义为模型将所有样本均预测为正例.

此外,对于图ROC curve中的三根曲线的理解:

  • 黑线: 几何含义即ROC图的对角线, 数值含义即TPR = FPR,物理含义即对于任意抽取的样本,模型将其中正例预测为正例的概率和将负例预测为正例的概率是相等的.这也就意味着和随机分类的性能一样.
  • 红蓝色线: 通常来讲, 我们的机器学习模型要优于随机分类器,因此我们经常看到的曲线往往都是像蓝色线和红色线一样的ROC曲线.它们相比黑线是有明显上凸的,同样的横坐标(FPR)下,红蓝线纵坐标(TPR)是大于黑线的,即代表模型将正例预测为正例的概率要大于将负例预测为正例的概率.同理可以看出蓝线模型由于红线模型.

如果要将上述的标准进行定量评估,就延伸得到了AUC, AUC即ROC曲线下方与坐标轴围成的面积大小

AUC(Area under the ROC curve)

AUC更直观地反应了ROC曲线向我们表达的模型分类能力.其数值大小(越大越好)代表了模型的性能优劣.说到这里,自然也就能够明白开篇关于AUC物理意义的阐述了,重申一遍即:AUC的本质含义反映的是对于任意一对正负例样本,模型将正样本预测为正例的可能性 大于 将负例预测为正例的可能性的 概率(例如: 当AUC = 0.5, ROC曲线为黑线时, 模型将一对正负例样本中的正样本预测为正例的概率为0.5,将负样本预测为正例的概率也为0.5,等效于随机分类预测).

  • AUC = 1,代表完美分类器
  • 0.5 < AUC < 1,优于随机分类器
  • 0 < AUC < 0.5,差于随机分类器

如何绘制ROC曲线?
绘制曲线,必不可少的就是拿到曲线上的点,也就是需要get到每个点的TPR和FPR数值.
这里借用在知乎上看到的例子啦:

Case_1:
对于像SVM这样的硬分类器,分类得到的结果都是已经标记完成的二分类数值(0/1).就长下面这个样子:


由此很容易得到混淆矩阵Confusion Matrix:

![Confusion Matrix](https://upload-images.jianshu.io/upload_images/13777601-dce9d6d3474f6df2.png?

fpr-and-tpr.png

imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
已经拿到TP/FP/TN/FN,那么可以计算出TPR = 3/4, FPR = 2/4.从而可以绘制得到ROC曲线:

ROC_1

Case_2:
对于逻辑回归LR, 还有常用的xgb, lgb而言,分类的预测结果都是一个分类概率值.比如长这个样子:

这种情况,看起来就一脸懵逼,因为完全没有预测好的标签. 这个时候就需要我们先将预测结果进行排序,逐步调整分类的阈值, 依次将样本划为正例,然后计算TPR和FPR的数值进行绘图.

步骤:
threshold = 0.9, 即只有第一个样本被划分为正例,此时TPR = 1/4, FPR = 0.
threshold = 0.8, 此时TPR = 2/4, FPR = 0.
threshold = 0.7, 此时TPR = 2/4, FPR = 1/4.
......
threshold = 0.1, 此时TPR = 1, FPR = 1.
最后绘图即可.


说了这么多, 最后强调一下AUC作为评价指标的优势:

由于AUC是与TPR核FPR密切相关的,而TPR和FPR分别从正例,负例的角度上去衡量了模型的分类能力(具有跟精准率和召回率一样的能在样本极端不平衡的情况下进行有效的衡量优势),因此在样本极端不平衡的情况下,AUC依然能够做出合理的评价. :-)

All

AUC的计算方式:

  1. 最为直观的方式当然是绘制出ROC曲线,然后计算出曲线下包绕的面积,面积值即AUC.
    2.直接计算:假设总共有(m+n)个样本,其中正样本m个,负样本n个,总共有mn个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计数,然后除以(mn)就是AUC的值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容