ROC介绍及AUC计算方法

您所在的位置:网站首页 正预测值和负预测值 ROC介绍及AUC计算方法

ROC介绍及AUC计算方法

2024-07-14 10:47| 来源: 网络整理| 查看: 265

近段时间看了下有关ROC和AUC的相关知识,在这里总结一下,有任何不对的地方,欢迎大家指正。

基础知识

针对一个二分类问题,每个测试样本都会有一个真实分类和预测分类,因此可以得到四种结果:

真阳性(true positive):真实值为正,预测值也为正; 假阳性(false positive):真实值为正,预测值为负; 真阴性(true negative):真实值为负,预测值为正; 假阴性(false negative):真实值为负,预测值也为负。

其关系如下图所示:

真阳性率TPR = TP / (TP+FN) 假阳性率FPR = FP / (FP+TN) 真阳性率和假阳性率是ROC最主要的两个基础指标。

ROC介绍

ROC的全名叫做Receiver Operating Characteristic,其主要分析工具是一个画在二维平面上的曲线——ROC curve。 平面的横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR)。将一系列(FPR, TPR)点连接起来,即构成了ROC曲线。那么问题来了,怎么得到这一系列(FPR, TPR)点呢? 在这里引用下Wikipedia上对ROC的定义:

In signal detection theory, a receiver operating characteristic (ROC), or simply ROC curve, is a graphical plot which illustrates the performance of a binary classifier system as its discrimination threshold is varied.

针对特定的分类器和测试数据集,如何对测试样本进行分类呢?首先分类器会为测试样本打一个score,表示该样本预测为正类的概率,当score大于指定的threshold时,预测为正类,否则预测为负类。这样每个样本都会有一个真实的分类和预测的分类,统计计算得到TP,FP,TN,FN,由此就可以计算得到一个(FPR, TPR)点。 结合Wikipedia上上对ROC的定义和分类器预测过程,我们可以通过改变不同的threshold,就可以得到一系列的(FPR, TPR)点。在实际操作过程中,将测试样本按照预测分值从大到小排序,以每一个预测分值为threshold,大于等于threshold的都预测为正,否则预测为负,这样就能得到该score的(FPR, TPR)。 下面举个栗子,如下表所示,一共有五个测试样本,预测分值为0.9,0.8,0.7,0.5,0.3,对应的真实分类为1,1,-1,-1,1。当0.7为threshold时,对应的预测分类为1,1,1,-1,-1。 此时,TP=2,FP=1,TN=1,FN=1,TPR = TP / (TP+FN) = 2/3,FPR = FP / (FP+TN) = 1/2。

序号 分值 真实分类 5 0.9 1 4 0.8 1 3 0.7 -1 2 0.5 -1 1 0.3 1 AUC引用

虽然,用ROC curve来表示分类器的performance很直观好用。可是,人们总是希望能有一个数值来标志分类器的好坏。于是Area Under roc Curve(AUC)就出现了。顾名思义,AUC的值就是处于ROC曲线下方的那部分面积的大小。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的performance。下面主要总结下AUC的计算方法。

方法一

最直观的,根据AUC这个名称,我们知道,计算出ROC曲线下面的面积,就是AUC的值。计算ROC曲线上任意两个相邻点的连线与x轴构成的梯形面积,将这些梯形面积累加,就得到最终的AUC。计算公式如下:

AUC=∑i=0n−1(xi+1−xi)(yi+1+yi)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3