auc是怎么计算的?

auc是怎么计算的?1roc 曲线计算 auc 我们都知道 auc 是 roc 曲线下的面积 但这种计算不方便 2 公式计算 auc 有另外一种计算方法 任意给一个正类样本和一个负类样本 正类样本的 score 大于负类样本的 score 的概率公式如下 M 是正样本的个数 N 是副样本的个数值得是第 i 个样本的序号 对所有的预测样本的 score 进行从小到大的排序 然后从 1 进行标号 原始样本 模型打分 0 8 0 5 0 6 0 3 0 4

1 roc曲线计算auc

我们都知道auc是roc曲线下的面积,但这种计算不方便

auc是怎么计算的?

 

2 公式计算auc

有另外一种计算方法:

任意给一个正类样本和一个负类样本,正类样本的score大于负类样本的score的概率

公式如下

auc是怎么计算的?

M 是正样本的个数,N是副样本的个数

rank_i值得是第i个样本的序号。对所有的预测样本的score进行从小到大的排序,然后从1进行标号。

原始样本 y_{1, +} y_{2, +} y_{3, -} y_{4, -} y_{5, -}
模型打分 0.8 0.5 0.6 0.3 0.4
按分数排序 y_{1, +} y_{3, -} y_{2, +} y_{5, -} y_{4, -}
分数 0.8 0.6 0.5 0.4 0.3
排序rank 5 4 3 2 1

 

对于公式的分母:正样本排在负样本的情况,一共有M*N种

分子的左边一项,是正样本的序号之和

对于分子右边一项 \frac{M(M+1)}{2},M是正样本的个数,这个公式也是首项为1,末项为M, 公差为1的等差数列的求和公式,它的序列为

1, 2, 3, 。。。M

讨论一下这个序列是怎么来的?

用一种特殊的情况来说明

假设模型是完美的,正样本都排在前面,负样本都排在后面

那么此时的auc应该为1

原始样本 y_{1, +} y_{2, +} y_{3, -} y_{4, -} y_{5, -}
模型打分 0.9 0.8 0.5 0.4 0.3
序号 5 4 3 2 1

对于分母,正样本排在负样本是2*3=6,那么对于这种特殊情况,分子也应该为6

对于分子左边,两个正样本的序号5 + 4 = 9,明显大于6,那么多出来的3,是怎么计算的?

  1. 对于正样本y_{2,+},后面有三个负样本,正样本大于负样本的组合有3种情况(y2, y3), (y2, y4),(y2,y5),应该是3;但是如果是按序号算的话,是4,也就是说比3多了1个
  2. 同样,对于正样本y_{2,+},正样本大于负样本的组合有3种情况(y1, y3), (y1, y4),(y1,y5),应该是3;但是如果是按序号算的话,是5,也就是说比3多了2个
  3. 这样多出的情况就是一个序列 1, 2
  4. 这个序列的最大值,就是正样本的个数M
  5. 对于这个序列的求解就是用等差数列的求和公式,也就是分子的右边一项
  6. 因为是多出的,所以用了减号

按照这种思路,就是解释了分子,当然这是一种特殊情况的解释,这种情况比较容易理解。

3 采样会影响auc吗?

直接给出答案,不会的

这种情况下要用roc曲线下的面积来解释采样对auc没有影响

auc是怎么计算的?

几个指标:

  1. TPR: TP/(TP+FN)
  2. FPR: FP/(FP+TN)
  3. recall: TP/(TP+FN)
  4. precision: TP/(TP+FP)
  5. accuracy: (TP+TN)/(TP+FP+FN+TN)

会受采样影响的指标accuracy,precision

对于precision: TP/(TP+FP),假如对负样本进行了下采样,TP不会变,FP会变(因为负样本减少了),所以采样对precision有影响

对于影响auc两个引子TPR, FPR

TPR: TP/(TP+FN),TP, FN都来源于实际样本的正标签,如果是下采样,其值自然不变,如果是真样本随机采样,TP, FN也是同等变化,其比例不会变

FPR: FP/(FP+TN) 都是来源于实际样本的负标签,采样的话,比例不会变

假如负样本变为原来的1/2,由于是随机采样,FP, TN也是变为原来的1/2,所以 FP/(FP+TN) = 0.5*FP/(0.5*FP+0.5*TN),其比值不变

下面是论文的解释

auc是怎么计算的?

论文作者进行了实验

auc是怎么计算的?

图a 样本1:1,图c 样本1:10,其roc曲线不变,所以auc不变

但是图b,d的precision-recall曲线就变了。

作者给出的方法是,只要指标计算是在同一行或同一列,其值就不会变,要是跨行或跨列,其值就会变,像accuracy

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176831.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:56
下一篇 2026年3月26日 下午8:57


相关推荐

  • 云服务器和虚拟主机有什么区别?区别大吗?

    云服务器和虚拟主机有什么区别?区别大吗?云服务器和虚拟主机有什么区别?区别大吗?如今云服务器和虚拟主机已经成为众多企业和个人建站的必选之一,两者其实各有各的优点,云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务,用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。它的好处是可独立分配CPU、内存、带宽等资源。而虚拟主机,是将一台服务器分割成若干相对独立的主机的技术。每台切割出的主机在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,跟独立的主机几乎一样,但是这台服务器上所有的用户共享一个IP。下面赵一

    2022年6月25日
    23
  • Docker 安裝 OpenClaw 完整教學 2026:容器化部署零環境衝突,Windows / macOS / Linux 一鍵啟動

    Docker 安裝 OpenClaw 完整教學 2026:容器化部署零環境衝突,Windows / macOS / Linux 一鍵啟動

    2026年3月15日
    3
  • DNS递归和迭代查询[通俗易懂]

    DNS递归和迭代查询[通俗易懂]转自:https://www.jianshu.com/p/6b502d0f2ede一、DNS解析分类DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询,递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询。其实DNS客户端和本地名称服务器是递归,而本地名称服务器和其他名称服务器之间是迭代二、DNS递归解析原理递归解析(或叫递归查询)是最常见,也是默…

    2022年6月6日
    160
  • 关于extremedb

    关于extremedb尊敬的前辈 nbsp nbsp nbsp nbsp 大家好 nbsp nbsp nbsp nbsp 我在网上看到了关于 extremedb 的文章 在实际操作时碰到了一些问题 想和大家探讨一下 1 我先安装了 extremedb 3 1 win32 sql log eval 1B EXE 2 然后用安装目录 C McObject eXtremeDB SQL LOG win32 host bin 下的 mcocomp exe 对 test mco 文件进行了

    2026年3月18日
    2
  • 解决H5页面在微信浏览器中打开 input file 在安卓上没有拍照选项

    解决H5页面在微信浏览器中打开 input file 在安卓上没有拍照选项有时候我们会在微信公众号里开发会遇到上传图片的功能,当你写<inputtype="file">的时候,在IOS上可以成功调起拍照和图库两块,在安卓手机上只能调取图库而没有拍照功能,解决办法:给input加上accept属性<inputtype="file"accept="image/*"/> //调用相机,图片或者相册(两者都行)加上了capture=…

    2022年7月17日
    28
  • 电路模电数电知识点总结(初步完成,后期进行小部分优化)[通俗易懂]

    电路模电数电知识点总结(初步完成,后期进行小部分优化)[通俗易懂]文章目录前言推荐的学习资料复习要点第一模块电路分析基础小知识点电位参考方向参考方向小练习电压的三种表达方式恒压源与恒流源特性比较电容电感无源元件小结理想受控源电路符号理想受控源的分类受控电源与独立电源的比较基尔霍夫定律一组概念基尔霍夫电流定律(KCL)基尔霍夫电压定律(KVL)列写方法:电阻的等效变换法化简方法电源的等效变换法理想电压源的串并联理想电流源的串并联电压源与电流源的相互转化输入电阻叠加原理前言本文针对《电工电子技术(第4版)》——徐淑华,此书进行简单知识总结。本文可能对快速回忆知识..

    2022年6月20日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号