数据挖掘-分类器的ROC曲线及相关指标(ROC、AUC、ACC)详解

数据挖掘-分类器的ROC曲线及相关指标(ROC、AUC、
ACC)详解
[转载请注明来源于此:]
超级管道
>ROC(Receiver Operating Characteristic Curve),即受试者⼯作特征曲线
ROC曲线是⽤来验证⼀个分类器(⼆分)模型的性能的。其⼯作原理是,给出⼀个模型,输⼊已知正负类的⼀组数据,并通过对⽐模型对该组数据进⾏的预测,衡量这个模型的性能。
注意,“测试数据”的正负类是已知的,我们需要的是判断模型预测数据的阳性、阴性是否符合“测试数据”的事实。
在这个前提下,整个ROC曲线的内容如下图:调料盒
>ROC曲线是怎么画的呢?
1. 给定⼀个初始阈值(⼀半是从0%开始)
2. 根据分类结果画上图中第⼀个表格,然后根据上⾯的式⼦算出TPR和FPR。由TPR和FPR可以确定⼀个点,在图中画出;
3. 给⼀个新的阈值(如每次加1%),并重复步骤2、3,直到阈值取到100%。
4. 若⼲个点最后组成了ROC曲线。
>关于ROC曲线有⼏个⼩点可以关注⼀下:
显然,FPR=1-TNR。1-TNR也就是其他⽂章中说的“1-特异性”指标;该指标的值越⼩越好。
TPR的值越⼤越好;
水垢过滤器
最⼤的阈值,在不考虑权重的情况下,应当是使得TPR最⼤且“1-特异性”指标相对较⼩的值;
ROC曲线的图像总应该是在y=kx之上的(图中灰线),k取⾮0正值;
AUC的值总是⼤于0.5,⼩于1;
可以通过约登指数(TPR+1-FPR)取得最⼤时的阈值来确定⼀个分类器合适的阈值;
ACC被称作“准确率”,其含义为,对所有样本,被准确判断为阳性和阴性所占的⽐例。ACC=(TP+TN)/所有数据的个数=
(TP+TN)/(TP+TN+FP+FN);
TPR在医学上被称作“确诊率”,那是因为医学判断⼀个⼈是否得病,依据的是是否检出病征(⽽⼀个⼈默认为阴性病征),只有TPR 有受试的意义;ACC与“确诊率”不是⼀个东西;
⼀般来说,AUC在0.9以上时,该分类器模型具有价值;
ext前端框架>ROC、AUC、ACC的区别
有⼈可能要问,有了ROC为什么要AUC和ACC?
1.先从ACC解释起:
自动拖把准确率(Accuracy):ACC=(TP+TN)/(TP+TN+FP+FN)
反映的是分类器准确识别真阳性和假阴性的⽐率。看起来似乎这个指标已经能反映⼀个分类器的性能
了,但我们应当想起⼀个很重的前提:这个ACC是只针对⽬前输⼊的这⼀组数据做出的判断。这就很容易因为数据偏斜造成模型的“测不准”。dsp2812
举个例⼦:我输⼊了⼀组数据,这组数据,很不幸,是⾮常极端的。10000个数据元⾥有9900个是负类,只有100个是正类。假如这个模型对负类的预测很准确,但对正类的预测⼗分不准,由于ACC=(TP+TN)/(TP+TN+FP+FN),TP和FP的值在这组数据中都⾮常⼩,因此这时候ACC公式约等于TN/(TN+FN),由于对负类的预测很准,此时ACC的值也很⼤;但对于另外⼀组数据,⽐如9000个正类,1000个负类,这时候由于对正类的预测很糟糕,会出现⼤⾯积的假阳性预测,因此ACC的值⼜变得很低。
综上,ACC没办法较好地脱离测试数据对模型进⾏评价,这也就是我们为什么要⽤ROC的原因。
2.AUC是什么
AUC(Area Under Curve),是对ROC曲线的量化指标。
⼀个合适的分类器,要求做到TPR较⾼⽽FPR较⼩,体现在曲线上,就是在相同的FPR时,TPR越⼤的越好:
如上图中,红线对应的分类器的性能就好过蓝线对应的分类器。
但对于⼈类来说,通过⼈眼识别⾃然很简单。但对于计算机呢?⽽且,某些情况下,ROC曲线并不⼀定是完全光滑的(由于阈值取值的问题等),有可能某⼀个时刻红线超过了蓝线⽽另⼀个时刻蓝线超过了红线,这就很难进⾏判断到底哪个分类器性能好。
所以我们⽤AUC进⾏评价。AUC的值,等于曲线与FPR轴线形成的⾯积。AUC的值越⼤越好,其取值范围为(0.5,1)。

本文发布于:2024-09-21 11:12:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/98802.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:曲线   分类器   模型   阈值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议