AUC原理详细讲解

article/2025/10/3 23:03:04

一、AUC含义

首先,在试图弄懂AUC和ROC曲线之前,首先要彻底理解混淆矩阵的定义!

混淆矩阵中有着Positive、Negative、True、False的概念,其意义如下:

  • 称预测类别为1的为Positive(阳性),预测类别为0的为Negative(阴性)。
  • 预测正确的为True(真),预测错误的为False(伪)。

对上述概念进行组合,就产生了如下的混淆矩阵:
混淆矩阵

然后,由此引出True Positive Rate(真阳率)、False Positive(伪阳率)两个概念:

T P R a t e = T P T P + F N TP_{Rate} = \frac{TP}{TP+FN} TPRate=TP+FNTP
F P R a t e = F P F P + T N FP_{Rate} = \frac{FP}{FP+TN} FPRate=FP+TNFP

仔细看这两个公式,发现其实 T P R a t e TP_{Rate} TPRate就是 T P TP TP除以 T P TP TP所在的列, F P R a t e FP_{Rate} FPRate就是 F P FP FP除以 F P FP FP所在的列,二者意义如下:

  • T P R a t e TP_{Rate} TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。
  • F P R a t e FP_{Rate} FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例。

如果上述概念都弄懂了,那么ROC曲线和AUC就很容易理解了:

按照定义,AUC即ROC曲线下的面积,而ROC曲线的横轴是 F P R a t e FP_{Rate} FPRate,纵轴是 T P R a t e TP_{Rate} TPRate,当二者相等时,即y=x,如下图:

在这里插入图片描述

表示的意义是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的。

换句话说,分类器对于正例和负例毫无区分能力,和抛硬币没什么区别,一个抛硬币的分类器是我们能想象的最差的情况,因此一般来说我们认为AUC的最小值为0.5(当然也存在预测相反这种极端的情况,AUC小于0.5,这种情况相当于分类器总是把对的说成错的,错的认为是对的,那么只要把预测类别取反,便得到了一个AUC大于0.5的分类器)。

而我们希望分类器达到的效果是:对于真实类别为1的样本,分类器预测为1的概率(即 T P R a t e TP_{Rate} TPRate),要大于真实类别为0而预测类别为1的概率(即 F P R a t e FP_{Rate} FPRate),即 y > x y>x yx,因此大部分的ROC曲线长成下面这个样子:
ROCV2

最理想的情况下,既没有真实类别为1而错分为0的样本—— T P R a t e TP_{Rate} TPRate一直为1,也没有真实类别为0而错分为1的样本—— F P r a t e FP_{rate} FPrate一直为0,AUC为1,这便是AUC的极大值。


下面举个简单的例子。

首先对于硬分类器(例如SVM,NB,LR),预测类别为离散标签,对于8个样本的预测情况如下:
在这里插入图片描述
得到混淆矩阵如下:
在这里插入图片描述

进而算得 T P R a t e TP_{Rate} TPRate=3/4, F P R a t e FP_{Rate} FPRate=2/4,得到ROC曲线:

在这里插入图片描述
最终得到AUC为0.625。

对于LR等预测类别为概率的分类器,依然用上述例子,假设预测结果如下:
在这里插入图片描述

这时,需要设置阈值来得到混淆矩阵,不同的阈值会影响得到的 T P R a t e TP_{Rate} TPRate F P R a t e FP_{Rate} FPRate,如果阈值取0.5,小于0.5的为0,否则为1,那么我们就得到了与之前一样的混淆矩阵。其他的阈值就不再啰嗦了。依次使用所有预测值作为阈值,得到一系列 T P R a t e TP_{Rate} TPRate F P R a t e FP_{Rate} FPRate的描点,求面积,即可得到AUC。

二、AUC公式

AUC是指随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值比分类器输出该负样本为正的那个概率值要大的可能性。

随机抽取一个样本, 对应每一潜在可能值X都对应有一个判定位正样本的概率P。对一批已知正负的样本集合进行分类,具体数据如下表:

labelpredict r a n k i n s i rank_{ins_i} rankinsi
10.97
10.86
00.75
10.64
10.53
00.32
00.11

按概率从高到矮排个降序

  1. 正样本中概率最高的,排序为 r a n k 1 rank_1 rank1
  • 比它概率小的有 M − 1 M-1 M1个正样本( M M M为正样本个数), ( r a n k 1 − M + 0 ) (rank_1 - M+0) (rank1M+0) 个负样本。
  1. 正样本概率第二高的, 排序为 r a n k 2 rank_2 rank2
  • 比它概率小的有 M − 2 M-2 M2个正样本, ( r a n k 2 − M + 1 ) (rank_2 - M + 1) (rank2M+1)个 负样本。
  1. 正样本概率第三高的, 排序为 r a n k 3 rank_3 rank3
  • 比它概率小的有 M − 3 M-3 M3个正样本, ( r a n k 3 − M + 2 ) (rank_3 - M + 2) (rank3M+2)个 负样本。

以此类推…

正样本中概率最小的, 排序为r a n k M ank_M ankM,比它概率小的有0个正样本, r a n k M − M + ( M − 1 ) = r a n k M − 1 rank_M - M + (M-1) = rank_M-1 rankMM+(M1)=rankM1个负样本。

总共有 M × N M \times N M×N个正负样本对( N N N为负样本个数)。把所有比较中正样本概率大于负样本概率的例子都计算之后得到公式:

A U C = ( r a n k 1 − M + r a n k 2 − M + 1.... + r a n k M − 1 ) ( M × N ) AUC = \frac{(rank_1 - M + rank_2 - M + 1 .... + rank_M - 1)} {(M \times N)} AUC=(M×N)(rank1M+rank2M+1....+rankM1)

就是正样本概率大于负样本概率的可能性了。 化简后(因为后面是个等差数列)得:

A U C = ∑ i n s i ∈ p o s i t i c e c l a s s r a n k i n s i − M × ( M + 1 ) 2 M × N = 7 + 6 + 4 + 3 − 4 × ( 4 + 1 ) 2 4 × 3 = 20 − 10 12 = 5 6 ≈ 0.8333 AUC = \frac{\sum_{ins_i\in positiceclass}rank_{ins_i}-\frac{M\times (M+1)}{2}}{M\times N}=\frac{7+6+4+3-\frac{4\times (4+1)}{2}}{4\times 3}=\frac{20-10}{12}=\frac{5}{6}\approx 0.8333 AUC=M×Ninsipositiceclassrankinsi2M×(M+1)=4×37+6+4+324×(4+1)=122010=650.8333

三、AUC优势

AUC的计算方法同时考虑了分类器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价。

例如在反欺诈场景,设欺诈类样本为正例,正例占比很少(假设0.1%),如果使用准确率评估,把所有的样本预测为负例,便可以获得99.9%的准确率

但是如果使用AUC,把所有样本预测为负例, T P R a t e TP_{Rate} TPRate F P R a t e FP_{Rate} FPRate同时为0(没有Positive),与(0,0) (1,1)连接,得出AUC仅为0.5,成功规避了样本不均匀带来的问题。


http://chatgpt.dhexx.cn/article/0uPdxGHF.shtml

相关文章

详解AUC指标

AUC指标 AUC是一个模型评价指标,用于二分类模型的评价。AUC是“Area under Curve(曲线下的面积)”的英文缩写,而这条“Curve(曲线)”就是ROC曲线。 ROC:受试者工作特征曲线    为什么要用AUC作为二分类…

机器学习篇-指标:AUC

AUC是什么东西? AUC是一个模型评价指标,只能够用于二分类模型的评价,对于二分类模型来说还有很多其他的评价指标: 比如:logloss,accuracy,precision 在上述的评价指标当中,数据挖掘…

网络: 快速理解NAT与NAPT的区别

NAT:网络地址转换 。 NAPT:网络地址端口转换。 (通俗的讲)它们都是地址转换,NAPT与NAT的区别在于 NAT是NAT是一对一转换,NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的,而NAPT是多个内部地…

NAT和NAPT 技术

一、什么是NAT NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除了转换IP地址,还出现了可以转换TCP\UDP端口号的NAPT(Network Address Port Translator)技术 二、NAT的工作机制 如下图所示…

19 网络端口地址转换NAPT配置

借鉴网址: Packet Tracer 思科模拟器入门教程 之十八 网络端口地址转换NAPT配置_柚子君.的博客-CSDN博客 姓 名 彭彭头 实验日期 2022.06.07 学 号 实验序号 19 实验名称 网络端口地址转换NAPT配置 一、实验目的及要求 理解NAT网络地址转换的原理及功能…

Cisco Packet Tracer思科模拟器中利用动态NAPT实现局域网访问Internet (动态地址转换)

本篇文章主要讲解思科模拟器中的动态地址转换 ,主讲ACL和接口进行地址转换、地址池范围地址转换、静态一对一地址转换。 园区网内通常情况下有很多台主机,从ISP申请并给园区网中的每台主机分配一个合法IP地址是不现实的,为了使所有内部主机都…

NAT--静态、动态、NAPT、Easy-ip、NAT server

静态NAT 静态 NAT ( Static NAT )&#xff08; 一对一 &#xff09;。将内部网络的私有IP地址转换为公有IP地址&#xff0c;IP地址对是一对一的&#xff0c;是一直不变的。 实验拓扑&#xff1a; PC配置 AR1 <Huawei>sys Enter system view, return user view with Ct…

静态NAPT部署

实验拓扑 Jan16公司搭建了网站服务器&#xff0c;用于对外发布官方网站&#xff0c;公司只租用了一个互联网IP地址用于互联网的访问。为了保障内部网络的安全和互联网IP地址不足的情况&#xff0c;需在出口路由中配置静态NAPT&#xff0c;用于将内部服务器映射到互联网IP地址上…

NAT 和 NAPT

出处&#xff1a;http://bbs.51cto.com/thread-878322-1.html NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;是将IP数据报头中的IP地址转换为另一个IP地址的过程。在实际应用中&#xff0c;NAT主要用于实现私有网络访问公共网络的功能。这…

华为静态NAT、动态NAT、NAPT、Easy NAT配置实例

一、NAT的四种类型 1&#xff0c;静态NAT&#xff08;服务器地址转换&#xff09; 静态NAT实现了私有地址和公有地址的一对一转换&#xff0c;一个公网地址对应一个私网地址 2&#xff0c;动态NAT 动态NAT基于地址池来实现私有地址和公有地址的转换&#xff0c;转换是随机的 …

华为 静态NAT---动态NAT---NAPT---Easy IP---NAT服务器工作原理和示例配置

目 录 一、NAT简介 二、NAT好处&#xff1a; 三、静态NAT工作原理和示例配置 1. 静态NAT工作原理 2. 静态NAT配置示例 四、动态NAT工作原理和示例配置 1. 动态NAT工作原理 2.动态NAT示例配置 五、NAPT工作原理和示例配置 1. NAPT工作原理 2.NAPT示例配置 六…

华为设备的NAT、NAPT、easy IP的区别

首先来了解一下什么是NAT&#xff0c;网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术&#xff0c;是一种将私有&#xff08;保留&#xff09;地址转化为合法IP地址的转换技术&#xff0c;它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因…

6.NATNAPT

7. NAT&NAPT 它们都是地址转换NAPT与NAT的区别在于 NAT是NAT是一对一转换&#xff0c;NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的&#xff0c;而NAPT是多个内部地址使用同一地址不同端口转换成外部地址进行通信的。 //配置完动态路由Rout…

NAPT之NAT地址池、NAPT之easy-ip、NAT-Server

NAPT之NAT地址池 拓扑 需求 实现企业内网主机&#xff08;PC1-PC4&#xff09;访问公网网站服务器&#xff08;Server1&#xff09; 配置步骤 第一步&#xff1a;给PC1-PC4/Server1配置接口IP地址&#xff0c;掩码&#xff0c;网关 第二步&#xff1a;R1配置默认路由 -边界…

NAT和NAPT

NAT和NAPT引入原因 IPV4是一个32位的地址&#xff0c;最大容纳为 2 32&#xff0c;就这还包括了广播地址、网络地址等主机不可用的IP地址。也就是40多亿。现在全球电子设备的IP地址已经远远超过了40亿。所以IP地址不是不够用了吗&#xff1f;为什么现在的网络还好好的呢&…

路由 NAT(简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表)

4.1.0 路由 NAT&#xff08;简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表&#xff09; 目录 简介NAT地址映射表静态NAT简介操作案例 动态NAT简介操作案例 NAT Server简介操作案例 NAPT简介操作案例 Easy-ip简介操作案例 简介 为了有效节约公网IPv4地址&a…

NAPT-PT技术实现

一实验原理 NAPT-PT全称Network Address Port Translation-Protocol Translation。由于静态NAT-PT和动态NAT-PT都比较浪费IPV4地址&#xff0c;比没有体现出IPV6的优越特性。在本实验中采用NAPT-PT&#xff0c;只有一个IPV4地址&#xff0c;用端口来表识IPV6网中的主机。 二实…

NAPT实验

CLI举例&#xff1a;私网用户通过NAPT访问Internet&#xff08;限制公网地址对应的私网地址数&#xff09; **组网需求&#xff1a; 某公司在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet&#xff0c;需要在FW上配置源NAT策略。除…

NAPT的类型(Cone NAT、Symmetric NAT)

NAPT与NAT的区别在于&#xff0c;NAPT不仅转换IP包中的IP地址&#xff0c;还对IP包中TCP和UDP的Port进行转换。这使得多台私有网主机利用1个NAT公共IP就可以同时和公共网进行通信。&#xff08;NAPT多了对TCP和UDP的端口号的转换&#xff09; 一、带防火墙的NAT NAT一开始的功…

NAT / NAPT

目录 一、前言 二、网络地址转换(NAT) 2.1 NAT如何解决IP冲突 2.2 SNAT / DNAT 2.3 SNAT工作原理 2.3.1 案例1&#xff08;NAT&#xff09; 2.3.2 案例2&#xff08;NAPT&#xff09; 2.4 DNAT 三、总结 一、前言 本人在学习Bridge/Router的过程中&#xff0c;发现在…