zoukankan      html  css  js  c++  java
  • AUC与ROC—衡量分类器的好坏

    二元分类器是指要输出(预测)的结果只有两种类别的模型,既然是一种预测模型,则实际情况一定是有些结果猜对了,有些结果猜错了。因为二元分类器的预测结果有两种类别,对应其真实值,则会有以下四种情形:

    1. 预测为阳性,真实为阴性(伪阳性)
    2. 预测为阴性,真实为阳性(伪阴性)
    3. 预测为阴性,真实为阴性(真阴性)
    4. 预测为阳性,真实为阳性(真阳性)

    ROC 空间

    在信号检测理论中,接收者操作曲线(receiver operating characteristic curve)是一种坐标图式的分析工具。

    ROC空间是一个以伪阳性率(FPR,false positive rate)为X轴,真阳性率(TPR, true positive rate)为Y轴的二维坐标系所代表的平面。

    TPR:真阳性率,所有阳性样本中(TP+FN),被分类器正确判断为阳的比例。

    TPR = TP / (TP + FN) = TP / 所有真实值为阳性的样本个数

    FPR:伪阳性率,所有阴性样本中(FP+TN),被分类器错误判断为阳的比例。

    FPR = FP / (FP + TN) = FP / 所有真实值为阴性的样本个数

    我们想象这样一个场景,接触阳性样本可以给我们带来收益,接触阴性样本则会给我们造成成本。并且如果我们接触样本中所有的阳性样本,我们的收益是1,接触样本中所有阴性样本,我们的成本也是1。如果不接触样本,则既不产生收益也不产生成本。自然的,如果不适用分类器,接触所有样本,则总的效益为1-1=0。现在让我们利用分类器来决定是否接触样本,分类器预测为阳,我们就去接触样本,分类器预测为阴,我们就不去接触。

    那么一个分类器的分类效果就对应ROC空间里的一个点:

     

    A,B,C三个点可以分别代表三个不同的分类器对同样的样本做预测的结果。

    最好的方法是A,因为他的收益大于成本(TPR>FPR),最差的是C(TPR<FPR)。中等的是B,即随机分类器。

    这里有趣的一点是若把C以(0.5, 0.5)为中点作一个镜像,得到C’, C’的效果比A要来的好。C’相当于一个做与C预测结果完全相反的分类器。

    实际的应用当中,分类器还会给出它预测某个样本为阳的概率,并且有一个事先给定的门槛值(threshold),概率高于threshold的就预测为阳性,低于threshold的就预测为阴性。假设以下是某个分类器对id为1-10的客户的分类结果:

    其中probability of 1为分类器判断该样本为阳性的概率,true class为该样本的真实情况。
      如果我们把threshold定位0.5,即去接触id为1~8的客户。此时

    TPR = TP / 所有真实值为阳性的样本个数 = 6 / 6 = 1
    FPR = FP / 所有真实值为阴性的样本个数 = 2 / 4 = 0.6
    

      同理,如果我们把threshold定位0.8,即去接触id为1~5的客户。此时

    TPR = TP / 所有真实值为阳性的样本个数 = 4 / 6 = 0.67
    FPR = FP / 所有真实值为阴性的样本个数 = 1 / 4 = 0.25


    这两个threshold分别对应ROC空间中的两个点A、B

    上面的例子当中,共有10笔预测数据,则一共有11种threshold的设定方法,每一个threshold对应ROC空间中的一个点,把这些点连接起来,就成了ROC曲线。

    
    
  • 相关阅读:
    Buffer -nodejs
    Tip提示框另类写法
    SASS入门
    界面设计必须要权衡的三个要素
    如何快速出稿一个优秀APP的构图
    如何画好一套线性图标
    Ui培训之如何设计极简三色图标
    移动APP设计国外资源总汇
    移动界面UI颜色设计
    APP专业视觉设计基础标准要求
  • 原文地址:https://www.cnblogs.com/dreamafar/p/6238328.html
Copyright © 2011-2022 走看看