模型评估指标AUC(area under the curve)

模型评估指标AUC(area under the curve)AUC 在机器学习领域中是一种模型评估指标 根据维基百科的定义 AUC areaunderthe 是 ROC 曲线下的面积 所以 在理解 AUC 之前 要先了解 ROC 是什么 而 ROC 的计算又需要借助混淆矩阵 因此 我们先从混淆矩阵开始谈起 混淆矩阵假设 我们有一个任务 给定一些患者的样本 构建一个模型来预测肿瘤是不是恶性的 在这里 肿瘤要么良性 要么恶性 所以这是一个典型的二分类

AUC在机器学习领域中是一种模型评估指标。根据维基百科的定义,AUC(area under the curve)是ROC曲线下的面积。所以,在理解AUC之前,要先了解ROC是什么。而ROC的计算又需要借助混淆矩阵,因此,我们先从混淆矩阵开始谈起。

混淆矩阵

假设,我们有一个任务:给定一些患者的样本,构建一个模型来预测肿瘤是不是恶性的。在这里,肿瘤要么良性,要么恶性,所以这是一个典型的二分类问题。

所以,上面这四个数就形成了一个矩阵,称为混淆矩阵。

FPR=FPFP+TN F P R = F P F P + T N



FPR表示,在所有的恶性肿瘤中,被预测成良性的比例。称为伪阳性率。伪阳性率告诉我们,随机拿一个恶性的肿瘤样本,有多大概率会将其预测成良性肿瘤。显然我们会希望FPR越小越好。

TPR=TPTP+FN T P R = T P T P + F N


TPR表示,在所有良性肿瘤中,被预测为良性的比例。称为真阳性率。真阳性率告诉我们,随机拿一个良性的肿瘤样本时,有多大的概率会将其预测为良性肿瘤。显然我们会希望TPR越大越好。

可能看到这里,你会觉得有点奇怪,用FPR和TPR分别作横纵坐标有什么用呢?我们先来考察几个特殊的点。

点(0,1),即FPR=0,TPR=1。FPR=0说明FP=0,也就是说,没有假正例。TPR=1说明,FN=0,也就是说没有假反例。这不就是最完美的情况吗?所有的预测都正确了。良性的肿瘤都预测为良性,恶性肿瘤都预测为恶性,分类百分之百正确。这也体现了FPR 与TPR的意义。就像前面说的我们本来就希望FPR越小越好,TPR越大越好。

点(1,0),即FPR=1,TPR=0。这个点与上面那个点形成对比,刚好相反。所以这是最糟糕的情况。所有的预测都预测错了。

点(0,0),即FPR=0,TPR=0。也就是FP=0,TP=0。所以这个点的意义是所有的样本都预测为恶性肿瘤。也就是说,无论给什么样本给我,我都无脑预测成恶性肿瘤就是了。

点(1,1),即FPR=1,TPR=1。显然,这个点跟点(0,0)是相反的,这个点的意义是将所有的样本都预测为良性肿瘤。

考察完这四个点,我们可以知道,如果一个点越接近左上角,那么说明模型的预测效果越好。如果能达到左上角(点(0,1)),那就是最完美的结果了。

ROC曲线

介绍了混淆矩阵之后,我们就可以了解一下ROC(receiver operating characteristic curve)曲线是怎么定义的。

我们知道,在二分类(0,1)的模型中,一般我们最后的输出是一个概率值,表示结果是1的概率。那么我们最后怎么决定输入的x是属于0或1呢?我们需要一个阈值,超过这个阈值则归类为1,低于这个阈值就归类为0。所以,不同的阈值会导致分类的结果不同,也就是混淆矩阵不一样了,FPR和TPR也就不一样了。所以当阈值从0开始慢慢移动到1的过程,就会形成很多对(FPR, TPR)的值,将它们画在坐标系上,就是所谓的ROC曲线了。

2 如果在给定的样本中,我都随机预测,也就是0.5概率预测为良性肿瘤,0.5概率预测为恶性肿瘤。那么这条曲线会是怎样的呢?可以想象,如果数据是均匀,那么这条曲线就是y=x。

3 注意曲线一定是从(0,0)开始最终到达(1,1)的。理解了上面四个点的意义就知道了。

4 事实上,ROC曲线不是光滑的,而是阶梯型的。为什么呢?因为样本的数量是有限的,而FPR和TPR的变化需要至少有一个样本变化了,在没有变化的间隙里,就不会有变化。也就是说,步进是1/样本数。

得到了ROC曲线,我们就可以计算曲线下方的面积了。计算出来的面积就是AUC值了。

AUC值的意义

知道了如何计算AUC值,我们当然是要来问一下AUC值的意义了。为什么我们要这么大费周章地搞出这个AUC值?

这里写图片描述
当阈值为0.8时,对应上图箭头所指的点。

这里写图片描述
当阈值为0.5时,对应上图箭头所指的点。

这样,不同的阈值对应不同的点。最后所有的点就可以连在一起形成一条曲线,就是ROC曲线。

这里写图片描述
但是,当蓝色区域与红色区域基本重叠时,ROC曲线就和接近y=x这条线了。

综上两个图,如果我们想要用ROC来评估分类器的分类质量,我们就可以通过计算AUC(ROC曲线下的面积)来评估了,这就是AUC的目的。

我们知道阈值可以取不同,也就是说,分类的结果会受到阈值的影响。如果使用AUC的话,因为阈值变动考虑到了,所以评估的效果更好。

在上图中,(a)和(c)为ROC曲线,(b)和(d)为Precision-Recall曲线。(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。



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

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

(0)
上一篇 2026年3月17日 下午1:55
下一篇 2026年3月17日 下午1:55


相关推荐

  • 基于LM331的电压-频率转换电路详细介绍[通俗易懂]

    基于LM331的电压-频率转换电路详细介绍[通俗易懂]目录1.LM331简介2.引脚分布与功能3.LM331的功能框图4.V/F转换的工作原理5.LM331的V/F转换电路1.LM331简介LM331是由美国NS公司(已被TI公司收购)生产的高精度频率-电压转换芯片,可以用于AD转换、频率-电压转换、电压-频率转换和转速测量等。当用作频率-电压转换时输出频率与输入电压成正比例关系,线性失真最大为0.01%。动态范围广,最大可达100dB;温度稳定性高,温度系数为±50ppm/℃;工作范围广(1Hz-100kHz);外.

    2022年5月27日
    60
  • 关于Google FREE Webhosting !的欺诈邮件 200∞「建议收藏」

    关于Google FREE Webhosting !的欺诈邮件 200∞「建议收藏」早上收到了一封貌似正常的邮件:Hello,DearGmailcustomerAfterourfreeemailservicesweofferyoutosingupforourfreehostingservices.Thisservicecurrentlyisinbetatest.Andwechooseyoutotestthis…

    2022年10月8日
    5
  • Ubuntu安装配置MySQL_nginx upstream

    Ubuntu安装配置MySQL_nginx upstream系Ubuntu安装配置nginx提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系Ubuntu安装配置nginx前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

    2026年1月20日
    3
  • 无锁编程实例

    无锁编程实例最近在研究nginx的自旋锁的时候,又见到了GCCCAS原子操作,于是决定动手分析下CAS实现的无锁到底性能如何,网上关于CAS实现无锁的文章很多,但少有研究这种无锁的性能提升的文章,这里就以实验结果和我自己的理解逐步展开。1.什么是CAS原子操作在研究无锁之前,我们需要首先了解一下CAS原子操作——Compare&Set,或是Compare&Swap,现在

    2022年6月3日
    33
  • ARM嵌入式开发板学习路线指引

    ARM嵌入式开发板学习路线指引如何入门嵌入式 嵌入式开发学习方法步骤如何入门嵌入式 嵌入式开发学习路线指引嵌入式开发就是指在嵌入式操作系统下进行开发 一般常用的系统有 linux android 平台 Cortex A9 开发板嵌入式技术学习如何入手 从何学起呢 以下内容简单介绍嵌入式开发的学习步骤及如何成为一位合格的嵌入式工程师 一 首先要掌握基础架构嵌入式 Linux 系统从软件角度看可以分为四个部分 引导加载程序 Bootloader Linux 内核 文件系统 应用程序 开发编译环境的搭建

    2026年3月18日
    2
  • asp.net(c#)网页跳转七种方法小结 .

    asp.net(c#)网页跳转七种方法小结 .转自:http://blog.csdn.net/wonsoft/article/details/5612000  1.Response.Redirect(“http://www.yayiba.com”,false);  目标页面和原页面可以在2个服务器上,可输入网址或相对路径。后面的bool值为是否停止执行当前页。跳转向新的页面,原窗口被代替。”浏览器中的URL为新路径。

    2022年7月20日
    18

发表回复

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

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