概述
很多分类器根据测试样本产生一个概率预测,然后将该预测值与阈值进行比较,高于阈值则被分类为正类,低于阈值则被分为负类。
AUC值是评价分类器的一个指标,全称是Area Under Curve,直译就是曲线下的面积。什么曲线呢,就是ROC曲线。
ROC曲线
要介绍AUC值,首先得介绍ROC曲线。ROC曲线起源于二战,广泛用于医学行业。想了解ROC的历史发展,点「链接」看,这里就不赘述。ROC曲线全称为Receiver Operation Characteristic曲线,受试者操作特征曲线,从中文名很难明白这是怎么一回事。直接看定义吧。
- 一个帮助你理解的表格
预测值 | 预测值 | ||
---|---|---|---|
0 | 1 | ||
真实值 | 0 | TN | FP |
真实值 | 1 | FN | TP |
0代表负例 1代表正例
TN:true negative 真实的负例
TP:true positive 真实的正例
FP:false positive 错误的正例
FN:false negative 错误的负例
第一个字母T和F分别代表预测正确还是错误,第二个字母N和P分别代表预测为正类还是负类
- 定义
- 横坐标为FPR:false positive rate,假正类率,即有多少样本是对的,结果预测为了负类,这类样本占所有负类样本的比例。
FPR = FP / (FP+TN)
- 纵坐标为TPR:true positive rate,真正类率,即有多少样本是对的,结果预测为正类,这类样本占所有正类样本的比例。
- 一个帮助你记忆更便捷的方法
想必以上的内容已经把你看晕了,绕来绕去的很不好记,于是有一个好一点的方法。假设有一组0&1序列,在序列中加入一个分割线,表示为阈值,在分割线左边的为划分的负类,在分割线右边的表示为划分的正类。
FPR表示的为分割线右边的0的个数占所有的0的个数的比例,即把所有负类中划分为正例的比例。值越大则误分类率越高。
TPR表示的为分割线右边的1的个数占所有的1的个数的比例,即把所有的正例分类为正例的比例。值越大则误分类率越低。
- 图像
图片来源于周志华老师的西瓜书
分析两个特殊的点。
- (0,1):FPR=0,TPR=1。FP=0,TP / (TP+FN)=1 => FN=0。即所有的值均预测正确,这是一个完美的分类器。
- (1,1):FPR=1,TPR=1。FP /(FP +TN)=1 ,TP / (TP+FN)=1。=> TN=0,FN =0。即无论什么样的样本,分类器均认为他是正类。这是一个很不负责任的分类器。
AUC值
ROC曲线形成之后,它将整个区域变成了两个部分,一部分是左上角的区域,一部分是右下角的区域。AUC值就是ROC曲线右下角区域的面积。
- 物理意义
AUC值得物理意义就是分类器将样本分类成功的概率。值越大,则表示该分类器将样本正确分类的概率值越高。
假设AUC值为a,
0.5=a,表明该分类器随机分类,分类结果毫无意义,跟掷硬币一样,分对分错概率五五开,完全不可信。
1>a>0.5,表明该分类器将样本分对的概率比分错的概率高,比较可信。
0.5>a>0,表明该分类器有点皮,他反着分类,反向预测。
1=a,表示这是一个完美的分类器,他说的都对。
0=a,我没想好这个表示什么 =。=
- 计算方法
利用微积分的思想,将曲线下的图形划分为一个个无限小的梯形,计算面积。