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. 英语学习笔记---01---新概念第一册---Lesson 1 Excuse me!

    Lesson 1   Excuse me!   [词汇] excuse [iks5kju:z]                      v. 原谅      劳驾.借光 me             ...

  2. phonegap与H5中的接口对比

    接口 HTML5 phonegap 差异 地理定位 geolocation 单次定位: navigator.geolocation.getCurrentPosition(Success, [error ...

  3. Python函数篇:装饰器

    装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理. ...

  4. Cordova使用build命令出错: Could not create the Java Virtual Machine.

    这是因为虚拟机内存不足导致的,解决方案如下: _JAVA_OPTIONS=-Xmx512M

  5. 使用python3的typing模块提高代码健壮性

    前言:很多人在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,加上Python本身就是一门弱类型的语言,这种 ...

  6. Java工具类之——BigDecimal运算封装(包含金额的计算方式)

    日常对于金额计算,应该都是用的BigDecimal,  可是苦于没有好的工具类方法,现在贡献一个我正在用的对于数字计算的工具类,项目中就是用的这个,简单粗暴好用,话不多说,代码奉上(该工具类需要引入g ...

  7. 设计模式的征途—12.享元(Flyweight)模式

    现在在大力推行节约型社会,“浪费可耻,节俭光荣”.在软件系统中,有时候也会存在资源浪费的情况,例如,在计算机内存中存储了多个完全相同或者非常相似的对象,如果这些对象的数量太多将导致系统运行代价过高.那 ...

  8. 三种读取HashMap的方式

    package com.biubiu.entity; import java.util.Collection; import java.util.HashMap; import java.util.I ...

  9. PowerShell 操作 Azure Blob Storage

    本文假设已经存在了一个 Azure Storage Account,需要进行文件的上传,下载,复制,删除等操作.为了方便查看 PowerShell 代码执行的结果,本文使用了 MS 发布的一个 Azu ...

  10. JSF页面中使用js函数回调后台action方法

    最近遇到了一个问题就是在JSF页面中嵌入html页面,这个html页面中很多功能是使用js动态生成的,现在需要在js函数里想去调用JSF中action类method()方法并动态传送数据给后台进行处理 ...