AUC(一):AUC与Mann–Whitney U test
在算法面试中,常常会被一个问题AUC的物理含义是什么。本文参考论文1,介绍一下AUC的物理含义。
概念
在二分类模型中,预测值ppp表示事件发生的概率。对于分类任务,需要给出一个阈值(threshold)来判别哪些任务是正例、哪些是负例。AUC(Area Under the Curve)提供了一种判别所有阈值效果的指标。AUC的计算逻辑如下所示:
- 将模型预测值排序
- 对于每一个阈值计算TPR(True Positive Rate)和FPR(False Positive Rate)
- 绘制ROC曲线
- 使用梯形近似计算AUC
根据上述流程,绘制的AUC曲线如下所示
其中横轴代表FPR,纵轴代表TPR。
AUC与Mann-Whitney U statistic
面试中,常常会问AUC的物理含义,绝大部分人都会说:“给出一个正样本与一个负样本,正样本比负样本分值大的概率”。再进一步,为什么是这样的,绝大部分人就懵逼了。下面将回答这个从"what"到"why"的问题。为了便于解释和推导,这里假设不同样例预测值完全不同(not ties)。针对ties的情况,可参见论文[1]。not ties的情况如下
index | label | score(100%)score(100 \%)score(100%) |
---|---|---|
1 | 1 | 98.4 |
2 | 1 | 95.2 |
3 | 1 | 94.4 |
4 | 0 | 92.8 |
5 | 1 | 83.2 |
6 | 1 | 81.6 |
7 | 1 | 58.4 |
8 | 0 | 57.6 |
9 | 0 | 28.0 |
10 | 0 | 13.6 |
11 | 1 | 3.2 |
12 | 0 | 2.4 |
13 | 0 | 1.6 |
14 | 0 | 0.8 |
15 | 0 | 0.0 |
ties情况
index | label | score(100%)score(100 \%)score(100%) |
---|---|---|
1 | 1 | 98.4 |
2 | 1 | 98.4 |
3 | 1 | 98.4 |
4 | 0 | 98.4 |
5 | 1 | 83.2 |
6 | 1 | 81.6 |
7 | 1 | 58.4 |
8 | 0 | 57.6 |
9 | 0 | 28.0 |
10 | 0 | 13.6 |
11 | 1 | 3.2 |
12 | 0 | 2.4 |
13 | 0 | 1.6 |
14 | 0 | 0.8 |
15 | 0 | 0.0 |
假设在整个验证集有nnn个样本,eee个正样本,e′=n−ee'=n-ee′=n−e个负样本。由于假设了预测结果not ties,理想状态下,不同阈值可以将样本切分成nnn块。在上述not ties的例子中,阈值为[100,98.3,95.1,94.3,.....][100,98.3,95.1,94.3,.....][100,98.3,95.1,94.3,.....]。此时,每选择一个阈值仅会出现下属两种情况下的一种:
- TPR上升
- FPR上升
绘制出来如下所示
其中横轴代表FPR,纵轴代表TPR。从图片可知,只有当TPR上升时,才会有新增面积。此时新增面积为
areagained=e′−fe′earea \ gained = \frac{e'-f}{e'e} area gained=e′ee′−f
其中fff表示当前点,负例被预测成正例的数量。进而,整个ROC曲线下面的面积为
AUC=1e′e∑i=1e(e′−fi)=1−1e′e∑i=1efiAUC = \frac{1}{e'e}\sum_{i=1}^{e}(e'-f_{i})=1-\frac{1}{e'e}\sum_{i=1}^{e}{f_{i}} AUC=e′e1i=1∑e(e′−fi)=1−e′e1i=1∑efi
若想求ROC曲线下面的面积,即转化为求F=∑i=1efiF=\sum_{i=1}^{e}{f_{i}}F=∑i=1efi,计算公式如下所示:
F=∑i=1efi=∑i=1e(ri−i)=∑i=1eri−e(e+1)2(1)F=\sum_{i=1}^{e}{f_{i}}=\sum_{i=1}^{e}{(r_{i}-i)}=\sum_{i=1}^{e}{r_{i}}-\frac{e(e+1)}{2} \qquad (1) F=i=1∑efi=i=1∑e(ri−i)=i=1∑eri−2e(e+1)(1)
其中rir_{i}ri表示当前验证集中的排序位置。对于上面的no ties的例子,∑i=1efi=7\sum_{i=1}^{e}{f_{i}}=7∑i=1efi=7。
熟悉统计学的人知道,有一种检验方式叫Mann–Whitney U test(曼-惠特尼U检验),它的目的是检验两个总体均值为u1u_{1}u1和u0u_{0}u0的样本是否有显著差异。给定两个样本,数量分别为eee、e′e'e′,Mann–Whitney U test的计算方式如下:
U=∑i=1er1i−e(e+1)2U = \sum_{i=1}^{e}{r_{1i}}-\frac{e(e+1)}{2} U=i=1∑er1i−2e(e+1)
其中r1ir_{1i}r1i表示第iii个正例的rankrankrank。显然Mann–Whitney U test与FFF的计算方式相同,因而将上面的公式组合可知:
AUC=1−Ue′eAUC = 1 - \frac{U}{e'e} AUC=1−e′eU
即AUCAUCAUC可以直接通过Mann–Whitney U test直接得到。看到这里,可能会有人疑问。维基百科明明写着
AUC=Ue′eAUC = \frac{U}{e'e} AUC=e′eU
到你这里怎么变成这样了。仔细阅读的读者会发现,公式(1)(1)(1)使用的rir_{i}ri是按照预测概率从大到小排列的rankrankrank。若rir_{i}ri按照从小到大排列,此时
U′=∑i=1e(n−ri+1)−e(e+1)2U'=\sum_{i=1}^{e}{(n-r_{i}+1)}-\frac{e(e+1)}{2} U′=i=1∑e(n−ri+1)−2e(e+1)
进而
U+U′=∑i=1e(n+1)−e(e+1)=ee′U + U' = \sum_{i=1}^{e}{(n+1)}-e(e+1)=ee' U+U′=i=1∑e(n+1)−e(e+1)=ee′
从而
AUC=U′e′eAUC=\frac{U'}{e'e} AUC=e′eU′
通过上述公式推导可知,在相关文档中为了公式简明,将rir_{i}ri从大到小转化为从小到大排列,进而产生了维基百科中的公式。
AUC物理含义
通过上面的公式推导可知,AUC的物理含义其实就是Mann–Whitney U test的物理含义。Wilcoxon-Mann-Witney Test的一种计算方法是:
- 从e×e′e \times e'e×e′个正负样本对中,有多少个中的正样本的score大于负样本的score。
- 若分值一样,则记为0.5
- 加和结果除以e×e′e \times e'e×e′
其物理含义是:测试任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score。
总结
本篇博客从AUC的计算出发,介绍了AUC与Mann-Witney Test的等价关系,进而给出AUC的物理含义。接下来将介绍AUC在工业场景的应用。
Areas beneath the relative operating characteristics (ROC) and relative operating levels (ROL) curves: Statistical signi? cance and interpretation ↩︎
AUC(一):AUC与Mann–Whitney U test相关推荐
- 【杂纪】从ROC曲线到AUC值,再到Mann–Whitney U统计量
统计检验中的两类错误 在进行假设检验时,分别提出原假设(Null Hypothesis)和备择假设(Alternative Hypothesis),检验结果可能出现的两类错误: 原假设实际上是正确的, ...
- 曼-惠特尼U检验Mann–Whitney U Test
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...
- #通俗理解# 什么是ROC曲线和AUC以及AUC存在的问题
1. 什么是AUC 简单用一句话总结一下AUC(Area under Curve)的含义:在所有样本中随机挑选一个正样本和一个负样本,模型对正样本预测为正的概率为p1,对负样本预测为正的概率为p2,A ...
- auuc 评估指标_分类之性能评估指标
本文主要介绍几种常用的用于分类的性能评估指标,同时介绍如何绘制ROC曲线以及计算AUC值的便捷方法.最后再附上一个绘制ROC曲线和计算AUC的Python源码实现. Precision和Recall ...
- 全面梳理:准确率,精确率,召回率,查准率,查全率,假阳性,真阳性,PRC,ROC,AUC,F1
二分类问题的结果有四种: 逻辑在于,你的预测是positive-1和negative-0,true和false描述你本次预测的对错 true positive-TP:预测为1,预测正确即实际1 fal ...
- 精确率、召回率、F1 值、ROC、AUC等分类模型评价指标含义与作用详解
文章目录 摘要 一.精确率.召回率.F函数.准确率和错误率 1.定义 2.区别与应用 二.ROC曲线.P-R曲线.AUC 1.P-R曲线 2.ROC曲线 3.AUC 摘要 在涉及机器学习领域的分类问题 ...
- 机器学习(16)ROC曲线与AUC指标(癌症分类的模型检测--AUC指标)
目录 一.基础理论 0.引言 1.TPR与FPR 1.TPR(召回率) 2.FPR 2.ROC曲线 3.AUC指标 二.癌症分类的模型检测(AUC指标) 1.正反例转1.0 2.计算AUC指标 总代码 ...
- R语言构建LogisticRegression模型并计算AUC指标
R语言构建LogisticRegression模型并计算AUC指标 目录 R语言构建LogisticRegression模型并计算AUC指标 #AUC指标 #数据加载
- 2020-08-24绘制ROC PR曲线 核心方法总结 ,计算AUC核心方法
#1 绘制ROC AUC PR曲线 #核心方法 roc_curve(y_test, preds) # preds为概率形式 #source code import matplotlib.p ...
最新文章
- linux通信机制总结
- 自定义组合控件:Banner、轮播图、广告栏控件
- Kafka设计解析(七)- 流式计算的新贵 Kafka Stream
- Honeycomb Gym - 102028F(bfs)
- 线段树-Count on a Treap-神题
- [转]从青铜到王者,一文教你节省90%内存占用
- sublime text 3编写C语言或者C++的snippet
- 聊聊React的路由React-Router、react-router-dom
- 罗永浩宣布春节后回归科技界;2021年年终奖人均水平为2.3万元;消息人士:字节跳动日均进账10.07亿 | EA周报...
- 学生签到系统c代码_手把手教你做一个Java web学生信息、选课、签到考勤、成绩管理系统附带完整源码及视频开发教程...
- php ood,ooa ood oop编程思想_php oop思想_冒号课堂编程范式与oop思想
- idea进入方法快捷键详情大全(idea快捷键大全最新设置)
- 机器人也会骑车?日本村田顽童来京秀车技
- 苹果手机投屏win10电脑
- 大学学习历程简单总结
- [励志英语片段]practicing deliberately
- 这家协同办公软件厂商,也曾如盛夏莲花般绽放
- Linux软件包管理工具-yum
- CGB2107-Day03-mybatis
- 【散文】一场白露,怎知秋心
热门文章
- SEO优化工作需要正能量
- 九、为影院添加影片《仿淘票票系统前后端完全制作(除支付外)》
- 数据结构课设+校园导航系统+西安邮电大学
- 什么是函数式编程,以及优缺点
- Cisco 3750/Cisco 4506 交换机vlan划分
- 合泰HT32单片机串口通信
- java浮动广告_[Java教程]JavaScript制作浮动广告_星空网
- Java程序优雅关闭
- 怎样从PHP文件中提取特征码,关于判断文件唯一性,怎么提取特征码
- 稳、准、狠:京东开放平台的“速度与激情”