ROC是一个曲线,AUC是曲线下面的面积值。

 
ROC曲线是FPR和TPR的点连成的线。
可以从上面的图看到,横轴是FPR, 纵轴是TPR (TPR = TP / (TP + FN);FPR = FP / (FP + TN))
ROC曲线如果想要理解的话,要关注四点一线:
1) (0,1)点:FPR==0,TPR==1 -->代表最好的一种情况,即所有的正例都被正确预测了,并且,没有负例被错认为正例。 
2) (1,0)点:--> 代表最差的一种情况,所有的正例都看错了。
3) (0,0)点: --> 分类器将所有的样本都认为是负样本。
4) (1,1)点: --> 分类器将所有的样本都认为是正样本。
5) y=x曲线:  --> 随机猜测出来可得这样一个曲线。 
形象的理解一下:
1) 商品推荐:重在覆盖度,所以更加注重True Positive的高,这个越高越好。False Positive这个不那么低也可以接受。
2) 嫌犯预测:重在准确,更加注重False Positive的低。

 
PR曲线是准确率和召回率的点连成的线。
可以看到,左边的图是ROC曲线,右边的图是PR曲线。
ROC曲线,越左上凸越好; 因为这个ROC想要True Positive高,False Positive小。
PR曲线,越右上凸越好。 PR想要Recall和Precision同时高。
 

当样本分布极不均衡的时候,哪个曲线表现的更好呢?
先看两个公式:
1) TPR = TP / (TP + FN);
2) FPR = FP / (FP + TN)
在ROC曲线中,这两个指标构成了最后的曲线。
如果,样本极不均衡。这里假设,正样本非常少,负样本非常多。
如果是这样的话,则TN会非常大,将FPR拉低,最后的曲线会表现的非常好。
 
这时候,再看看PR曲线,也许这个曲线就没有表现的那么好。
所以,有的时候,光看一个曲线是不能完全覆盖所有的情况的。
 
 

如何画ROC曲线?
如上图所示,假如我有20个测试样本,将预测的概率由大到小排列一下。
然后,分别用这个score作为阈值,大于0.9的作为正类,小于0.9的作为负类,这样的话,就有20组TP,FN等的值了。
这样就可以画出来一个曲线。
 
如果曲线不是特别平滑的话,那么很可能存在过拟合的情况。
 
 

ROC和AUC的区别的更多相关文章

  1. 查全率(Recall),查准率(Precision),灵敏性(Sensitivity),特异性(Specificity),F1,PR曲线,ROC,AUC的应用场景

    之前介绍了这么多分类模型的性能评价指标(<分类模型的性能评价指标(Classification Model Performance Evaluation Metric)>),那么到底应该选 ...

  2. 机器学习-Confusion Matrix混淆矩阵、ROC、AUC

    本文整理了关于机器学习分类问题的评价指标——Confusion Matrix.ROC.AUC的概念以及理解. 混淆矩阵 在机器学习领域中,混淆矩阵(confusion matrix)是一种评价分类模型 ...

  3. ROC和AUC介绍以及如何计算AUC ---好!!!!

    from:https://www.douban.com/note/284051363/?type=like 原帖发表在我的博客:http://alexkong.net/2013/06/introduc ...

  4. Area Under roc Curve(AUC)

    AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...

  5. 【转】ROC和AUC介绍以及如何计算AUC

    转自:https://www.douban.com/note/284051363/ ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器( ...

  6. ROC和AUC介绍以及如何计算AUC

    原文:http://alexkong.net/2013/06/introduction-to-auc-and-roc/ 为什么使用ROC曲线 既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因 ...

  7. ROC和AUC理解

    一. ROC曲线概念 二分类问题在机器学习中是一个很常见的问题,经常会用到.ROC (Receiver Operating Characteristic) 曲线和 AUC (Area Under th ...

  8. 信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC

    原文地址:http://blog.csdn.net/pkueecser/article/details/8229166 在信息检索.分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常 ...

  9. 评估分类器性能的度量,像混淆矩阵、ROC、AUC等

    评估分类器性能的度量,像混淆矩阵.ROC.AUC等 内容概要¶ 模型评估的目的及一般评估流程 分类准确率的用处及其限制 混淆矩阵(confusion matrix)是如何表示一个分类器的性能 混淆矩阵 ...

随机推荐

  1. Re.findall() & Re.finditer()的用法

    re.findall(pattern, string, flags=0) Return all non-overlapping matches of pattern in string, as a l ...

  2. 10.javaweb核心标签库详解

    一.JSTL简介及在项目中安装配置 1,  简介 使用JSTL标签的目的就是不希望jsp中出现java逻辑代码 分类 2,  JSTL的安装配置 首先将jar包中的各个标签库配置文件拷贝到项目WEB- ...

  3. netty常用使用方式

    最近在重新看netty,在这里总结一些netty的一些常用的使用方式,类似于模板,方便速查. 以netty 4.1.x的API作记录,不同版本可能API有略微差异,需要注意netty5被废弃掉了(辨别 ...

  4. MongoDB可视化界面配置

    环境:windows 10 64bit 1. 以管理员身份运行cmd cd E:\MongoDB\Server\3.4\bin 2. 在data文件夹中建立logs目录 3. 在logs目录下建立mo ...

  5. 微信支付——openid获取不到

    1.写微信支付遇到状况,通过wx.login获取code,然后向微信服务器获取openid,获取失败:{"errcode":40029,"errmsg":&qu ...

  6. [转载] Redis-benchmark使用总结

    转载自http://blog.csdn.net/jiangguilong2000/article/details/24143721 Redis-benchmark为Redis性能测试工具. 指令说明: ...

  7. Spring集成Quartz完成定时任务

    在JavaEE系统中,我们经常会用到定时任务,比如每天晚上凌晨之后跑批处理或者是每天某个时刻群发消息等等. 我们可以使用java.util.Timer结合java.util.TimerTask来去完成 ...

  8. Python 面向对象(一) 基础

    Python 中一切皆对象 什么是面向对象? 面向对象就是将一些事物的共有特征抽象成类,从类来创建实例. 类class 可以理解为模版 比如人类,都具有身高.体重.年龄.性别.籍贯...等属性,但属性 ...

  9. Less循环

    Less循环 在Less中,mixin可以调用它自身.通过这种递归调用,再结合Guard表达式和模式匹配,就可以写出各种循环结构.如,使用循环来创建一个网格类: .generate-columns(4 ...

  10. 2746:约瑟夫问题poj

    2746:约瑟夫问题 总时间限制:  1000ms 内存限制:  65536kB 描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退 ...