简介
ROC曲线与AUC面积均是用来衡量分类型模型准确度的工具。通俗点说,ROC与AUC是用来回答这样的问题的:
- 分类模型的预测到底准不准确?
- 我们建出模型的错误率有多大?正确率有多高?
- 两个不同的分类模型中,哪个更好用?哪个更准确?
一句话概括版本:
ROC是一条线,如果我们选择用ROC曲线评判模型的准确性,那么越靠近左上角的ROC曲线,模型的准确度越高,模型越理想;
AUC是线下面积,如果我们选择用AUC面积评判模型的准确性,那么模型的AUC面积值越大,模型的准确度越高,模型越理想;
数据分析与挖掘体系位置
ROC曲线与AUC面积都是评判模型结果的指标,因此属于模型评估的一部分。此外,ROC曲线与AUC面积均多用于判断分类器(Classifier)的优劣,因此适用于分类型的数据模型,如分类树(Classification Tree)、逻辑回归(Logistic Regression)、线性判别分析(Linear Discriminant Analysis)等方法。
在分类型模型评判的指标中,常见的方法有如下三种:
- 混淆矩阵(也称误差矩阵,Confusion Matrix)
- ROC曲线
- AUC面积
本篇主要介绍第二与第三种方法,即ROC曲线与AUC面积。
此方法在整个数据分析与挖掘体系中的位置如下图所示。
ROC曲线的定义
ROC曲线全称为受试者工作特征曲线(Receiver Operating Characteristic Curve)。虽然听上去很高端,但是ROC其实非常容易理解。一句话说,ROC就是一张图上的曲线,我们通过曲线的形状来判定模型的好坏。
那么要想了解一个曲线代表什么意思,首先最好搞明白曲线的横轴与纵轴分别代表什么。
下图中显示的是两条ROC曲线,一条蓝色,一条红色。他们分别对应两个不同的模型。我们可以看到,图中横轴写着“False positive rate”,纵轴写着“True positive rate”。
这两个就是ROC曲线绘制的关键:我们通过计算分类模型的“False positive rate”与“True positive rate”值,分别把它们当成横纵轴,就能够绘制出这个模型的ROC曲线。
那么,怎么计算这两个指标呢?
ROC曲线的计算
ROC曲线的横轴与纵轴,与混淆矩阵(Confusion Matrix)有着密切的关系,具体的理解请详见混淆矩阵篇的讲解。这里只是简单回顾一下:
在分类型模型中,以二分类为例,我们的模型结果一般可以视为0/1问题,或者说positive/negative的问题。模型的产出物,不是positive,就是negative。
我们通过样本的采集,能够直接知道真实的情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是positive,哪些是negative。
因此,我们就能得到这样四个结果:
- 真实值是positi