auc和roc

作者: 鲸鱼酱375 | 来源:发表于2019-07-04 02:31 被阅读0次

    ROC曲线下面的面积就是AUC的值,介于0.1和1之间。Auc作为数值可以直观的评价分类器的好坏,值越大越好。

    auc

    auc和roc也可以用在多分类上面
    (0,1,2) 就可以看成(0)(1,2)

    1.roc曲线的作用

    在互联网广告中,评价一个model的好坏是非常重要的。
    至于怎么评价,倒是有多种办法,如准确度,ABtest效果等。其中也产生了一些评价指标,其中最常用的莫过于AUC了。AUC有一个很好的物理意义——AUC表示拿一个正样本和一个负样本组成一对,模型把这一对都区分正确(正样本的预估值比负样本大就算对了)的概率。

    然后AUC是什么呢?怎么计算出来的呢?按照概率的说法,应该拿无数对正负样本,计算这无数对样本中被分对的比例,得到的就是auc。

    这样做太耗时间了,就有了其他的办法,如绘图求面积,因为概率其实是一个积分嘛。

    有一堆理论去完成这个事情,后来发现AUC是ROC曲线的下面的面积。

    下面开始说说ROC曲线。

    其定义是:接收者操作特性曲线(receiver operating characteristic curve),它通过将连续变量设定出多个不同的临界值,从而计算出一系列真正率和假正率,再以假正率为纵坐标、真正率为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为假正率和真正率均较高的临界值。

    上面的话不太好看懂,需要了解的事情就是——ROC曲线下面的面积(积分)就是AUC的值。

    为啥要用AUC呢?传统比较常用的ACC(准确度)为啥不用呢?

    在互联网广告里面,点击的数量是很少的,一般千分之几,如果用acc,全部预测成负类(不点击)acc也有99%以上,根本无法评价。

    其实最好的评估办法是ABtest,但是ABtest是直接小流量上线,工作量大,再说线上系统又不能没事老折腾,所以一个model要ABtest的话,这个model务必要是评价过是有好效果的。

    面试的时候,一句话说明AUC的本质和计算规则:
    AUC:一个正例,一个负例,预测为正的概率值比预测为负的概率值还要大的可能性。
    所以根据定义:我们最直观的有两种计算AUC的方法
    1:绘制ROC曲线,ROC曲线下面的面积就是AUC的值
    2:假设总共有(m+n)个样本,其中正样本m个,负样本n个,总共有mn个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计数,然后除以(mn)就是AUC的值

    2.roc曲线

    1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。

    横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)

    纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率)

    2针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但是实际中分类时,会出现四种情况.

    (1)若一个实例是正类并且被预测为正类,即为真正类(True Postive TP)

    (2)若一个实例是正类,但是被预测成为负类,即为假负类(False Negative FN)

    (3)若一个实例是负类,但是被预测成为正类,即为假正类(False Postive FP)

    (4)若一个实例是负类,但是被预测成为负类,即为真负类(True Negative TN)

    TP:正确的肯定数目

    FN:漏报,没有找到正确匹配的数目

    FP:误报,没有的匹配不正确

    TN:正确拒绝的非匹配数目


    roc

    由上表可得出横,纵轴的计算公式:

    (1)真正类率(True Postive Rate)TPR: TP/(TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。Sensitivity

    (2)负正类率(False Postive Rate)FPR: FP/(FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。1-Specificity

    (3)真负类率(True Negative Rate)TNR: TN/(FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例,TNR=1-FPR。Specificity

    假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值如0.6,概率大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR,TPR),在平面中得到对应坐标点。随着阈值的逐渐减小,越来越多的实例被划分为正类,但是这些正类中同样也掺杂着真正的负实例,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点(1,1)。

    如下面这幅图,(a)图中实线为ROC曲线,线上每个点对应一个阈值。

    image.png

    横轴FPR:1-TNR,1-Specificity,FPR越大,预测正类中实际负类越多。

    纵轴TPR:Sensitivity(正类覆盖率),TPR越大,预测正类中实际正类越多。

    理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。

    reference:
    https://blog.csdn.net/mytestmy/article/details/24270513

    https://blog.csdn.net/u013385925/article/details/80385873

    相关文章

      网友评论

        本文标题:auc和roc

        本文链接:https://www.haomeiwen.com/subject/yfqacctx.html