美文网首页
ROC曲线、AUC含义

ROC曲线、AUC含义

作者: Aechen | 来源:发表于2019-08-27 11:36 被阅读0次

    在进行二分类时,机器学习会计算测试样本的预测概率,再人为设定一个阈值,当预测概率大于这个阈值时为正类,反之为负类。这个阈值的设定很重要,直接影响了分类器的泛化能力。

    roc曲线就是根据不同的阈值,比较同一个分类器的泛化能力。

    在提roc曲线时,先了解下这几个指标:

    TP:true positive,正类样本被分类器正确预测为正类,即真正类

    FP:false positive,负类样本被分类器错误预测为正类,即假正类

    TN:true negative,负类样本被分类器正确预测为负类,即真负类

    FN:false negative,正类样本被分类器错误预测为负类,即假负类

    TPR:true positive rate,正类样本被分类器预测为正类占样本中所有正类的比率,即 TP / (TP + FN)

    FPR:false negative rate,负类样本被分类器预测为正类占样本中所有负类的比率,即FP/(FP+TN)

    改变不同的阈值,都会得到一对TPR, FPR,ROC曲线就是以FPR为横坐标,TPR为纵坐标绘制的曲线。如下图所示:曲线上的每个点对应不同阈值下的FPR和TPR。

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

    图1

    ROC曲线是针对一个分类器下的观察,如果要分析多个分类器哪个泛化能力比较好的情况下,如果ROC曲线出现相交的情况则难以评定最优分类器。这时候就引入了AUC衡量指标,即ROC曲线下的面积。

    这里先强调一下:

    TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。

    FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例。

    AUC表示的意思为,随机从样本中抽出一个正样本和一个负样本,分类器预测正样本为正的概率为p1,预测负样本为正的概率为p2,AUC则表示了p1 > p2的概率。

    一下子看可能不好理解,下面就从数学的角度上稍作解释会更加明朗。

    AUC即ROC曲线下的面积,而ROC曲线的横轴是FPRate,纵轴是TPRate,当二者相等时,即y=x,如下图:

    图2

    它所表示的意义为无论是样本是正样本还是负样本,分类器预测两者为正样本的概率是一样的,换句话说,分类器对于正例和负例毫无区分能力,和抛硬币没什么区别。这是最差的情况,此时分类器的AUC值为0.5。

    而我们希望分类器达到的效果是:对于真实类别为正类的样本,分类器预测为正类的概率(即TPRate),要大于真实类别为负类而预测类别为正类的概率(即FPRate),即y>x,因此大部分的ROC曲线长成下面这个样子:

    图3

    最理想的情况下,没有真实类别为1而错分为0的样本,TPRate一直为1,于是AUC为1,这便是AUC的极大值。

    相关文章

      网友评论

          本文标题:ROC曲线、AUC含义

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