ROC and AUC
概
AUC常常在文章中作为评价一个分类器优劣的指标, 却总是忘记其原由, 索性记上一笔.
TPR, FPR
首先理解TP, FP, FN, TN的概念, 下面是其对应的类型. 这里, P表示正样本, 而N表示负样本, 下表中的行为真实的标签, 列为预测的标签.
| 预测\真实 | P | N |
|---|---|---|
| P | TP(True Positive) | FP(False Positive) |
| N | FN(False Negative) | TN(True Negative) |
则
\]
即TPR表示正样本分类正确的概率, FPR表示负样本判断错误(即取伪)的概率.
问题是如何通过这俩个指标反映一个二分类器的优劣, 首先假设二分类器由下列方式定义:
\]
其中\(T\)便是阈值, 即超过一定的阈值判断其为正样本.
注: 其实此说法有瑕疵, 因为完全有可能选择超过一定的阈值判断其为负样本时分类器效果"更好", 但是这种争论没有多大意义, 逼近只需取\(f'(x)=-f(x)\)即可.
显示强调\(T\)的存在, 有\(\mathrm{TPR}(T)\)和\(\mathrm{FPR}(T)\), 另外, 此时\(f\)可以看成一个随机变量, 不妨令\(Y_+\)表示\(f\)的输入\(X\)为正样本时的随机变量, \(Y_-\)表示\(f\)的输入\(X\)为负样本时的随机变量, 则
\mathrm{FPR}(T)=P(Y_->T) = \int_{T}^{\infty} p(y|-) \mathrm{d}y.
\]
ROC and AUC
ROC曲线就是以\(y=\mathrm{TPR}(T)\), \(x=\mathrm{FPR}(T)\)的曲线, \(T\)在这里充当一个中间变量.
AUC就是ROC曲线下的面积, 其意义是概率\(P(Y_+>Y_-)\):
\mathrm{AUC}
&= \int_0^1 y(x) \mathrm{d}x = \int_0^1 \mathrm{TPR}(\mathrm{FPR}^{-1}(x)) \mathrm{d}x \\
&= \int_{+\infty}^{-\infty} \mathrm{TPR}(T) \mathrm{FPR}'(T) \mathrm{d}T \\
&= \int_{+\infty}^{-\infty} \int_{T}^{\infty} p(y|+) \cdot(-p(T|-)) \mathrm{d}y \mathrm{d}T \\
&= \int_{-\infty}^{+\infty} p(T|-) \int_{T}^{\infty} p(y|+) \mathrm{d}y \mathrm{d}T \\
&= \int_{-\infty}^{+\infty} \int_{-\infty}^{\infty} I(y>T)p(y|+) p(T|-) \mathrm{d}y \mathrm{d}T \\
&= P(Y_+ > Y_-).
\end{array}
\]
当然很自然的评价指标是, AUC距离0.5越远越好(这么说是因为AUC=0, 实际上只需\(f'(x)=-f(x)\)).

代码
ROC and AUC的更多相关文章
- ROC和AUC介绍以及如何计算AUC ---好!!!!
from:https://www.douban.com/note/284051363/?type=like 原帖发表在我的博客:http://alexkong.net/2013/06/introduc ...
- Area Under roc Curve(AUC)
AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...
- 【转】ROC和AUC介绍以及如何计算AUC
转自:https://www.douban.com/note/284051363/ ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器( ...
- ROC和AUC介绍以及如何计算AUC
原文:http://alexkong.net/2013/06/introduction-to-auc-and-roc/ 为什么使用ROC曲线 既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因 ...
- ROC和AUC理解
一. ROC曲线概念 二分类问题在机器学习中是一个很常见的问题,经常会用到.ROC (Receiver Operating Characteristic) 曲线和 AUC (Area Under th ...
- 信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC
原文地址:http://blog.csdn.net/pkueecser/article/details/8229166 在信息检索.分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常 ...
- 评估分类器性能的度量,像混淆矩阵、ROC、AUC等
评估分类器性能的度量,像混淆矩阵.ROC.AUC等 内容概要¶ 模型评估的目的及一般评估流程 分类准确率的用处及其限制 混淆矩阵(confusion matrix)是如何表示一个分类器的性能 混淆矩阵 ...
- ROC与AUC原理
来自:https://blog.csdn.net/shenxiaoming77/article/details/72627882 来自:https://blog.csdn.net/u010705209 ...
- ROC,AUC,Precision,Recall,F1的介绍与计算(转)
1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...
- ROC,AUC,Precision,Recall,F1的介绍与计算
1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...
随机推荐
- 日常Java 2021/11/2
Java提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型.将序列化对象写入文件之后,可以从文件中读取出来 ...
- day06 HTTP协议
day06 HTTP协议 HTTP协议 什么是http? HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议 是一种按照URL指示,将超文本文档从一台主机 ...
- Redis6 新特性
Redis6新特性 ACL安全策略 ACL(access control list): 访问控制列表,可以设置多个用户,并且给每个用户单独设置命令权限和数据权限 default用户和使用require ...
- 一起手写吧!call、apply、bind!
apply,call,bind都是js给函数内置的一些api,调用他们可以为函数指定this的执行,同时也可以传参. call call 接收多个参数,第一个为函数上下文也就是this,后边参数为函数 ...
- 深入理解java动态代理机制
动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组 ...
- redis 之 集群
#:下载源码包,并编译安装 [root@localhost src]# wget http://download.redis.io/releases/redis-4.0.14.tar.gz [root ...
- java对象分配
1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...
- jquery总结和注意事项
1.关于页面元素的引用通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom ...
- sql优化的8种方式
1.设置索引. MySQL索引操作:给表列创建索引: 建表时创建索引: create table t(id int,name varchar(20),index idx_name (name)); 给 ...
- 程序员Meme 第02期