ROC-wiki

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)

\[\mathrm{TPR} := \frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}, \mathrm{FPR}:= \frac{\mathrm{FP}}{\mathrm{FP}+\mathrm{TN}},
\]

即TPR表示正样本分类正确的概率, FPR表示负样本判断错误(即取伪)的概率.

问题是如何通过这俩个指标反映一个二分类器的优劣, 首先假设二分类器由下列方式定义:

\[f:\mathbb{R}^d \rightarrow \mathbb{R}, \quad c(x;T) = I(f(x)>T),
\]

其中\(T\)便是阈值, 即超过一定的阈值判断其为正样本.

注: 其实此说法有瑕疵, 因为完全有可能选择超过一定的阈值判断其为负样本时分类器效果"更好", 但是这种争论没有多大意义, 逼近只需取\(f'(x)=-f(x)\)即可.

显示强调\(T\)的存在, 有\(\mathrm{TPR}(T)\)和\(\mathrm{FPR}(T)\), 另外, 此时\(f\)可以看成一个随机变量, 不妨令\(Y_+\)表示\(f\)的输入\(X\)为正样本时的随机变量, \(Y_-\)表示\(f\)的输入\(X\)为负样本时的随机变量, 则

\[\mathrm{TPR}(T)=P(Y_+>T) = \int_{T}^{\infty} p(y|+) \mathrm{d}y, \\
\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_-)\):

\[\begin{array}{ll}
\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)\)).

代码

sklearn-roc_curve

ROC and AUC的更多相关文章

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

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

  2. Area Under roc Curve(AUC)

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

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

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

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

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

  5. ROC和AUC理解

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

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

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

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

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

  8. ROC与AUC原理

    来自:https://blog.csdn.net/shenxiaoming77/article/details/72627882 来自:https://blog.csdn.net/u010705209 ...

  9. ROC,AUC,Precision,Recall,F1的介绍与计算(转)

    1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...

  10. ROC,AUC,Precision,Recall,F1的介绍与计算

    1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...

随机推荐

  1. JVM结构详解

    JVM 结构详解 JVM 结构图 程序计数器(PC 寄存器) 程序计数器的定义 程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址.若当前线程正在执行的是一个本地方法,那么此时程 ...

  2. Linux—禁止用户SSH登录方法总结

    Linux-禁止用户SSH登录方法总结 一.禁止用户登录 1.修改用户配置文件/etc/shadow       将第二栏设置为"*",如下.那么该用户就无法登录.但是使用这种方式 ...

  3. 3.0 rust 项目路径

    $ rustc --versionrustc 1.44.0 (49cae5576 2020-06-01) 将代码存在到不同的文件 main.rs mod aa; fn main() { println ...

  4. Taro 3.5 canary 发布:支持适配 鸿蒙

    一.背景 鸿蒙作为华为自研开发的一款可以实现万物互联的操作系统,一经推出就受到了很大的关注,被国人寄予了厚望.而鸿蒙也没让人失望,今年 Harmony2.0 正式推出供用户进行升级之后,在短短的三个月 ...

  5. 【C#】【MySQL】C#连接MySQL数据库(三)登陆注册代码

    项目结构 项目代码 WebForm_Login.aspx <%@ Page Language="C#" AutoEventWireup="true" Co ...

  6. C#编程概述(摘抄)

    C#编程概述 一个简单的C#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序结构. 关键字 所有C#关键字都由小写字母组成,但是.NET类型名使用Pascal大小 ...

  7. 模板方法模式(Template Method Pattern)——复杂流程步骤的设计

    模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单.吃东西.买单等几个步骤,通常情况下这几个步骤的次序是:点单 --> 吃东西 --> 买单. 在 ...

  8. Redis集群断电恢复

    再集群整体断点或关闭后,默认启动集群后,会成为孤立的单点,需要删除每个节点的pid文件,node.conf.并将RDB和AOF文件移动出来,再挨个启动每个节点,并用create创建集群脚本,重新创建集 ...

  9. df和du显示不同

    目录 一.简介 二.原因分析 三.解决方法 一.简介 Linux服务器,使用df -h查看文件系统使用率,可以看到/dev/xvdb1磁盘占用了约27G,挂载目录为/opt. 但进入到opt目录中执行 ...

  10. Excel字符串函数公式大全

    一.Excel字符串的操作  1.1.Excel根据字节截取对应字符串(注:一个中文汉字对应两个字节) =LEFTB(A3,7) 从左边开始截取7个字节 =RIGHTB(A10,10) 从右边开始截取 ...