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. appendChild方法详解

    方法:target.appendChild(ele); 执行该方法时,会发生两部操作: 1.将元素ele从原来的父元素中移除掉 2.将元素追加至新的目标元素中,并且保留元素的所有样式信息和事件... ...

  2. WIN7+wampserver2.4+zend stadio10.6.1配置Xdebug

    一.前言 zend stadio调试很不方便,php5.3版本之前可使用zend debuger调试,php5.3以后就需要使用XDebug调试了.下面介绍我配置的经验,希望帮助更多的人 二.配置步骤 ...

  3. day3--深入学习命令总结

    1.查看命令帮助的几种方法 a.[命令] --help   适用于一般命令,非内置命令 b.man  [命令]     适用于一般命令,非内置命令 c.help  [命令]     适用于内置命令 d ...

  4. VUE父子组件传值问题

    一.父组件向子组件传递数据 组件实例的作用域是孤立的.这意味着不能(也不应该)在子组件的模板内直接引用父组件的数据.要让子组件使用父组件的数据,我们需要通过子组件的props选项. 1.静态props ...

  5. java面试题及答案

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

  6. C# 插入排序(数据结构与算法)

    1                                                                   }

  7. python进阶------进程线程(一)

    Python中的进程线程 一.进程线程的概念 1.1进程: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及 ...

  8. web-故道白云&Clound的错误

    web-故道白云 题目: 解题思路: 0x01 首先看到题目说html里有秘密,就看了下源代码如图, 重点在红圈那里,表示输入的变量是id,当然上一行的method="get"同时 ...

  9. formData实现图片上传

    前言 在 上一篇 已经实现了图片预览,那么如何上传图片呢?有两种思路: 1.将图片转化为dataURL(base64),这样就成为了一串字符串,再传到服务端.不过这样缺点很多,数据量比转换之前增加1/ ...

  10. CSS实现模糊效果

    HTML代码如下: <body> <h1>body设置了模糊效果</h1> <div id="aa"></div> &l ...