ROC-AUC 浅谈理解ROC曲线和AUC值
这是一个评价二分类器的指标,特点是不受不平衡数据集的影响。但事实理解起来有点难。下面先介绍ROC-AOC是什么,然后再谈谈我的一种理解。ps,理解这个指标,首先得对经典的F1, Recall,Precision的比较熟悉,否则看了会一头雾水,如果你不熟这几个指标的计算,建议先阅读。
1. ROC曲线
receiver operating characteristic curve(名称似乎无法直观理解它本身,所以忽略),它是一条关于TPR和FPR的曲线,其中TPR,true positive rate,标签为正的样本,被预测为正的比率。FPR,false positive rate,标签为负,预测为正的比率。
正确预测为正的 / 全体标签为正的数量。
本来是负,错误预测为正 / 全体标签为负的数量。
在一个二分类器中,这个两个值和我们预测的阈值有关(大于阈值为1,小于阈值为0),考虑我们的阈值设置得很小,比如0.2,那么就会有越来越多的样本被预测为正确,那么TPR自然上升,但是与此同时,越来越多本来负的样本被错误预测为正,所以FPR也同时上升。也就是说,通过改变阈值,TPR的提高是以FPR提高为代价,预测正确样本数量提高是以预测错误样本的提高为代价的,ROC曲线其实就是FPR和TPR的一种权衡曲线。
如图,使用不同阈值会得到不同的FPR和TPR,画图如下。FPR升高,TPR同时升高,FPR下降,TPR同时下降。但阈值为0时,全部正样本都会被预测为正,TPR为1,全部负样本都会被预测为负,FPR为1。反之,当阈值为1时,TPR和FPR都为0。
2. AOC值
Area Under Curve,这个从名字上就可以理解,它求ROC曲线的面积,通过对比面积,来对比分类器的好坏。
如图,两条曲线代表同一任务中两个分类器的ROC曲线。如何对比它们的好坏呢?我们来看TPR和FPR的公式,我们希望TPR当然是越大越好,FPR越小越好。我们可以从图中发现,蓝色的曲线的TPR,在FPR相同的情况下,要高得多。那有没有什么统一的方法衡量呢?答案就是曲线下面积,这就是所谓的AOC值。
3. 深入理解
以上是ROC-AUC指标内容部分,但是你应该还是不能建立起sensitive的感知,究竟什么分类器它的面积才会大呢?这里提供两种我自己理解的角度。
3.1 从公式理解
我们说了,TPR当然是越大越好,FPR越小越好。对于同一个任务来说,公式中的分母是固定的,代表真实标签中正样本和负样本的数量,所以我们只要对比分母即可。TP和FP,分别代表预测为正且正确,预测为负且预测错误。
那么TP和FP和分类器的好坏有什么关系呢?下图中两个分类器的分类结果,明显右侧的分类器要好得多。
如果正负样本有交叉,那么阈值变动的时候,在交叉部分,TP和FP必定同时增加(单调,可能其一不变)。
3.2 从ROC曲线上理解
像下图这种理想情况,处在中间时TPR=1,FPR=1,往右移动阈值,那么TP(预测为三角形且为三角形)的数量就要开始下降,但FP(预测为三角形但是为正方形)的数量一直为0。所以往右边移动阈值,TPR会不断下降,但是FPR一直为0。而往左边移动,则相反,TPR=1,FPR会不断增加,因为FP会不断增加。
于是,ROC曲线如下。
事实上,下图中红框框出的点,只有在样本预测分布有交叉的情况下才会出现。
所以,结论:为何ROC曲线以及AUC值——ROC曲线的面积,只和分类器预测的结果分布的交叉部分有关。你就不难理解为何ROC曲线不会受正负样本的平衡比例影响,因为它和样本的多少无关,只和预测发生交叉的数量有关。
建议可以把视频中的案例自己手动算一遍,然后应该就可以理解上文。
ref
https://www.bilibili.com/video/BV1wz4y197LU?from=search&seid=15705467768719329210
ROC-AUC 浅谈理解ROC曲线和AUC值相关推荐
- 关于单片机看门狗的浅谈理解
单片机中所谓"看门狗",本质上就是一个计时器,主要作用就是用来防止代码卡死或跑飞,在单片机的应用中十分重要,但使用时却是十分简单方便的. 按字面意思理解,跟看家护院的狗狗是一个意思 ...
- 信号完整性之浅谈理解(一)
一.高速电路的定义? 本人从各种资料和书中看到许多关于高速电路的定义,可能不同的产品对于高速信号的定义不同,具体还要看设计的产品类型,主要有以下几种: 1.是指由于信号的高速变化使电路中的模拟特性,如 ...
- 信号完整性之浅谈理解(七)
之前和大家分享过一些信号完整性的东西,包括串扰.阻抗.S参数等,这些可能相对的独立,每个都是基本的概念.那如果我们分析信号的质量的话,都是综合来看的一个波形好坏,波形的好坏就可能包括了这些所有的信号基 ...
- 浅谈5G网络及其应用
<原创声明:本文属博主原创,禁止一切形式的转载.抄袭> 2018年8月27日,中国互联网领袖安全峰会CSS在北京召开,作为一名本科大二小菜鸟的我有幸能通过CSDN的通知抢到免费的门票并参加 ...
- ROC曲线与AUC区域的理解与实践
Receiver Operating Characteristic Area Under the Curve (ROC and AUC). 如何向别人解释 ROC AUC 对评价机器学习算法的意义: ...
- (推荐)彻底理解ROC曲线和AUC值
本文转自:https://mp.weixin.qq.com/s/a-SL1peqyw9eKyjzFthvlA 二分类模型预测的结果是否足够好,ROC和AUC是重要指标. 1. T.F.P.N.R 首先 ...
- python的roc曲线与阈值_浅谈ROC曲线的最佳阈值如何选取
为了获取ROC曲线的最佳阈值,需要使用一个指标--约登指数,也称正确指数. 借助于matlab的roc函数可以得出计算. % 1-specificity = fpr % Sensitivity = t ...
- 机器学习分类问题指标理解——准确率(accuracy)、精确率(precision)、召回率(recall)、F1-Score、ROC曲线、P-R曲线、AUC面积
2020.08.25更新: 修改了ROC曲线中TPR公式的错误. 2020.07.25更新: 修改了混淆矩阵,每一行为实际值,每一列与预测值. 机器学习分类问题指标理解 0. 一个例子 1.准确率(A ...
- 深入理解ROC曲线的定义以及绘制ROC曲线过程,其与模型性能的关系,以及AUC
深入理解ROC曲线的定义以及绘制ROC曲线过程,其与模型性能的关系,以及AUC 很多学习器是为测试样本产生一个实值或者是概率预测,然后将这个预测值和一个分类阈值(threshold)进行比较.若大于阈 ...
最新文章
- 运算符优先级记忆口诀及列表(转)
- 【青少年编程】黄羽恒:我要背单词
- 华数大数据平台解决方案
- Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
- Xcode8注释有时会失效的解决方法
- java布局管理怎么有图片_java-用于背景图像和文本的布局管理器
- 直播预告 | 中国工程院院刊:信息与电子工程领域青年学术前沿论坛
- 两种通过代码访问SalesOrder header text内容的办法
- JBoss Fuse 6.2发布–指导如何快速尝试
- 一本通 1064:奥运奖牌计数--AC
- Java I/O体系之OutputStream和InputStream详细讲解
- 芯片老化验证流程_IC老化测试
- servletcheckbox选中和未选中判断_【微课堂】2020【1期】如何判断牛市启动,春季布局思路! 2020.1.4...
- 生产系统仿真软件,实现数字化工厂的利器!
- Moore-Penrose广义逆矩阵
- UVALive 3713 Astronauts(2-sat+输出任意路径)
- Mac OSX配置XAMP虚拟主机
- 一个产品人和“阿里云”的故事
- Scala 034 特质trait
- Mysql集群高可用之mha