ROC曲线和AUC面积理解

什么是ROC曲线?为什么要使用ROC?以及 AUC的计算 一、ROC简介 ROC的全名叫做Receiver Operating Characteristic,中文名字叫“受试者工作特征曲线”,其主要分析工具是一个画在二维平面上的曲线——ROC 曲线。平面的横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR)。对某个分类器而言,我们可以根据其在测试样本上的表现得到一个TPR和FPR点对... 阅读详情


关注微信公众号【Microstrong】,我现在研究方向是机器学习、深度学习,分享我在学习过程中的读书笔记!一起来学习,一起来交流,一起来进步吧!

本文同步更新在我的微信公众号中,公众号文章地址:https://mp.weixin.qq.com/s?__biz=MzI5NDMzMjY1MA==&mid=2247484146&idx=1&sn=963765a3ede231292bcae8b6e21c5325&chksm=ec653377db12ba615279b2a9702f9c129dba27adbbe8936fcf2a211b3592f159738345dc8add#rd

目录:

(1)    ROC曲线的由来

(2)    什么是ROC曲线

(3)    ROC曲线的意义

(4)    AUC面积的由来

(5)    什么是AUC面积

(6)    AUC面积的意义

(7)    讨论:在多分类问题下能不能使用ROC曲线

 

一、 ROC曲线的由来

  很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为反类。例如,神经网络在一般情形下是对每个测试样本预测出一个[0.0,1.0]之间的实值,然后将这个值与阈值0.5进行比较,大于0.5则判为正例,否则为反例。这个阈值设置的好坏,直接决定了学习器的泛化能力。

  在不同的应用任务中,我们可根据任务需求来采用不同的阈值。例如,若我们更重视“查准率”,则可以把阈值设置的大一些,让分类器的预测结果更有把握;若我们更重视“查全率”,则可以把阈值设置的小一些,让分类器预测出更多的正例。因此,阈值设置的好坏,体现了综合考虑学习器在不同任务下的泛化性能的好坏。为了形象的描述这一变化,在此引入ROC曲线,ROC曲线则是从阈值选取角度出发来研究学习器泛化性能的有力工具。

如果你还对“查准率”和“查全率”不了解,看我之前的文章【错误率、精度、查准率、查全率和F1度量】详细介绍

二、 什么是ROC曲线

  ROC全称是“受试者工作特征”(Receiver OperatingCharacteristic)曲线。我们根据学习器的预测结果,把阈值从0变到最大,即刚开始是把每个样本作为正例进行预测,随着阈值的增大,学习器预测正样例数越来越少,直到最后没有一个样本是正样例。在这一过程中,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了“ROC曲线”。

  ROC曲线的纵轴是“真正例率”(True Positive Rate, 简称TPR),横轴是“假正例率”(False Positive Rate,简称FPR),基于上篇文章《错误率、精度、查准率、查全率和F1度量》的表1中符号,两者分别定义为:


  显示ROC曲线的图称为“ROC图”。图1给出了一个示意图,显然,对角线对应于“随机猜测”模型,而点(0,1)则对应于将所有正例预测为真正例、所有反例预测为真反例的“理想模型”。

图1:ROC曲线与AUC面积   

  现实任务中通常是利用有限个测试样例来绘制ROC图,此时仅能获得有限个(真正例率,假正例率)坐标对,无法产生图1中的光滑ROC曲线,只能绘制出图2所示的近似ROC曲线。绘制过程很简单:给定个正例和个反例,根据学习器预测结果对样例进行排序,然后把分类阈值设置为最大,即把所有样例均预测为反例,此时真正例率和假正例率均为0,在坐标(0,0)处标记一个点。然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例。设前一个标记点坐标为,当前若为真正例,则对应标记点的坐标为;当前若为假正例,则对应标记点的坐标为,然后用线段连接相邻点即得。

三、 ROC曲线的意义

(1)主要作用

1. ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。

2.有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的查全率就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。

3.可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

(2)优点

1. 该方法简单、直观、通过图示可观察分析方法的准确性,并可用肉眼作出判断。ROC曲线将真正例率和假正例率以图示方法结合在一起,可准确反映某种学习器真正例率和假正例率的关系,是检测准确性的综合代表。

2. 在生物信息学上的优点:ROC曲线不固定阈值,允许中间状态的存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一个更加的阈值作为诊断参考值。

四、 AUC面积的由来

  如果两条ROC曲线没有相交,我们可以根据哪条曲线最靠近左上角哪条曲线代表的学习器性能就最好。但是,实际任务中,情况很复杂,如果两条ROC曲线发生了交叉,则很难一般性地断言谁优谁劣。在很多实际应用中,我们往往希望把学习器性能分出个高低来。在此引入AUC面积。

  在进行学习器的比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则比较合理的判断依据是比较ROC曲线下的面积,即AUC(Area Under ROC Curve),如图1图2所示。

五、 什么是AUC面积

  AUC就是ROC曲线下的面积,衡量学习器优劣的一种性能指标。从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得。假定ROC曲线是由坐标为的点按序连接而形成,参见图2,则AUC可估算为公式3。

 

六、 AUC面积的意义

  AUC是衡量二分类模型优劣的一种评价指标,表示预测的正例排在负例前面的概率。

  看到这里,是不是很疑惑,根据AUC定义和计算方法,怎么和预测的正例排在负例前面的概率扯上联系呢?如果从定义和计算方法来理解AUC的含义,比较困难,实际上AUC和Mann-WhitneyU test(曼-慧特尼U检验)有密切的联系。从Mann-Whitney U statistic的角度来解释,AUC就是从所有正样本中随机选择一个样本,从所有负样本中随机选择一个样本,然后根据你的学习器对两个随机样本进行预测,把正样本预测为正例的概率,把负样本预测为正例的概率,>的概率就等于AUC。所以AUC反映的是分类器对样本的排序能力。根据这个解释,如果我们完全随机的对样本分类,那么AUC应该接近0.5。

  另外值得注意的是,AUC的计算方法同时考虑了学习器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器做出合理的评价。AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价学习器性能的一个原因。例如在癌症预测的场景中,假设没有患癌症的样本为正例,患癌症样本为负例,负例占比很少(大概0.1%),如果使用准确率评估,把所有的样本预测为正例便可以获得99.9%的准确率。但是如果使用AUC,把所有样本预测为正例,TPR为1,FPR为1。这种情况下学习器的AUC值将等于0.5,成功规避了样本不均衡带来的问题。

 

最后,我们在讨论一下:在多分类问题下能不能使用ROC曲线来衡量模型性能?

我的理解:ROC曲线用在多分类中是没有意义的。只有在二分类中Positive和Negative同等重要时候,适合用ROC曲线评价。如果确实需要在多分类问题中用ROC曲线的话,可以转化为多个“一对多”的问题。即把其中一个当作正例,其余当作负例来看待,画出多个ROC曲线。

 

Reference:

1.    《机器学习》周志华著。

2.    机器学习和统计里面的auc怎么理解? - 知乎

https://www.zhihu.com/question/39840928

3.    机器学习和统计里面的auc怎么理解? - 李大猫的回答 - 知乎

https://www.zhihu.com/question/39840928/answer/83576302

4.    机器学习和统计里面的auc怎么理解? - 小小丘的回答 - 知乎

https://www.zhihu.com/question/39840928/answer/84906286

Sklearn机器学习——ROC曲线、ROC曲线的绘制和AUC面积、运用ROC曲线找到最佳阈值 介绍了如何平衡分类正确率和误判多数变成小数的成本的一个图像,ROC曲线(横坐标是假正率,纵坐标是Recall)。AUC曲线面积越大越好。 阅读详情

相关推荐

卷积神经网络的深入理解-评测指标篇(PR曲线,ROC曲线,AUC面积,IOU,AP含实例)

卷积神经网络的深入理解-评测指标篇绪论什么是评测指标?分类任务评测指标1、准确率/召回率/精确度/F1-score2、Precision/Recall(P-R)曲线3、ROC曲线那么该选择PR曲线还是ROC曲线呢?4、AUC面积回归任务评测指标 绪论 这一篇主要是介绍一下模型的评测指标,与上几篇文章一样都会持续更新。 什么是评测指标? 评测指标是用来定量衡量模型的性能的,是作为各种方法比较的一个标准。 评测指标可以分为分类任务的评测指标和回归任务的评测指标 下面会详细介绍两种任务的评测指标。 分类任务评测指

hjkdh的博客 9449

小白也能看懂的 ROC 曲线详解

下图中的蓝色曲线就是 ROC 曲线,它常被用来评价二值分类器的优劣,即评估模型预测的准确度。二值分类器,就是字面意思它会将数据分成两个类别(正/负样本)。例如:预测银行用户是否会违约、内容分为违规和不违规,以及广告过滤、图片分类等场景。篇幅关系这里不做多分类 ROC 的讲解。坐标系中纵轴为 TPR(真阳率/命中率/召回率)最大值为 1,横轴为 FPR(假阳率/误判率)最大值为 1,虚线为基准线(最低标准),蓝色的曲线就是 ROC 曲线。其中ROC 曲线距离基准线越远,则说明该模型的预测效果越好。

Gefangenes的博客 4859

AUC理解与实现

本文仅用于自我学习,理清思路,并作为笔记保留下来。这是我的第一篇博客,如有不妥,请多多指教。AUC理解AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积,如下图: 要理解这张图的含义,得先理解下面这个表: 表中列代表预测分类,行代表实际分类: 实际1,预测1:真正类(tp) 实际1,预测0:假负类(fn) 实际0,预测1:假正类(fp

羊驼xia的博客 9174

ROC曲线简介

在该阈值下,模型的FRP(假正率)为0.2,TPR(真正率)为0.8,模型取到该阈值时,我们提供的名单,也就是我们对1000个人每个人都进行预测其正负,产生1000个预测结果。假设该商家的客户有1000人,其中有400人会购买,而600人不会购买,这个是真实的。这个结果中包含2个部分,第一部分是全部会购买该产品的客户数量的80%,第二部分是全部不会购买该产品数量的20%。推销不成功的是600*FPR,为120,虽然被推销,但是也没有成功,这一部分是我们所要付出的。在该模型的该阈值下,商家根据数据分析师。

Code for Coffee 4038

关于roc_auc_score直接对预测标签值的计算的理解

网上的举例基本都是预测的概率作为输入 而对于预测的标签为输入时如何计算出来的不是很理解 于是做了些实验: import numpy as np from sklearn.metrics import roc_auc_score y_true = np.array([0, 0, 1, 1]) y_scores = np.array([1, 1, 0, 0]) roc_auc_score(y_...

weixin_42680686的博客 1万+

五分钟秒懂机器学习混淆矩阵、ROC和AUC

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第18篇文章,我们来看看机器学习领域当中,非常重要的其他几个指标。 混淆矩阵 在上一篇文章当中,我们在介绍召回率、准确率这些概念之前,先讲了TP、FP、FN、和FP这几个值。我们再来简单地回顾一下,我们不能死记硬背这几个指标,否则很容易搞错,并且还容易搞混。我们需要从英文入手来理解,其中的T表示真,可以理解成预测正确...

TechFlow的博客 1939

auc是ROC曲线面积的直观理解

AUC的定义是ROC曲线的下部的面积,概率意义是随机取一对正负样本,正样本得分大于负样本得分的概率。 这个概念直观上能看懂但是很难理解为什么和ROC曲线的下部面积有关,下面给出一个我直观上的理解 首先是ROC曲线绘制所用到的混淆矩阵 预测值 预测值 1 0 真实值 1 TP FN 真实值 0 FP TN 混淆矩阵 TPR = TP / (TP + FN) 所有真实类别为1的样本中,预测类别为1的比例 FPR = FP / (FP + TN) 所有

hbsydsy的博客 3271

AUC是什么?AUC的的意义是什么?AUC的判断分类器优劣标准是什么?AUC如何计算?

AUC是什么?AUC的的意义是什么?AUC的判断分类器优劣标准是什么?AUC如何计算? metrics.roc_auc_score metrics.roc_curve AUC就是曲线下面积,在比较不同的分类模型时,可以将每个模型的ROC曲线都画出来,比较曲线下面积做为模型优劣的指标。ROC 曲线下方的面积(Area under the Curve),其意义是: (1)因为是在1x1的方格里求面积,AUC必在0~1之间。 (2)假设阈值以上是阳性,以下是阴性; (3)若随机抽取一个阳性样本.

data+scenario+science+insight 3140

roc曲线怎么绘制_ROC曲线和AUC面积理解

目录:(1)ROC曲线的由来(2)什么是ROC曲线(3)ROC曲线的意义(4)AUC面积的由来(5)什么是AUC面积(6)AUC面积的意义(7)讨论:在多分类问题下能不能使用ROC曲线一、ROC曲线的由来很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为反类。例如,神经网络在一般情形下是对每个测试样本预测出一个[0.0,1.0]之间的...

weixin_39629876的博客 854

告别PlatformIO!用Arduino IDE搞定ESP32上的micro-ROS 2.0.5(Humble版)

本文详细介绍了如何从PlatformIO迁移到Arduino IDE以支持ESP32上的micro-ROS 2.0.5(Humble版)。内容涵盖环境配置、项目转换、常见问题解决及高级优化技巧,帮助开发者顺利过渡并充分利用Arduino IDE的官方支持优势。

weixin_33709590的博客 377

别再手动建模了!用Simscape Multibody Link一键导入SolidWorks装配体到Simulink

本文介绍了如何利用Simscape Multibody Link插件将SolidWorks装配体一键导入Simulink,实现CAD到仿真的无缝衔接。该技术显著提升机械系统设计与控制效率,特别适用于工业机器人、车辆悬架等复杂机构的动力学分析。文章详细解析了插件安装、模型导出优化及仿真验证的全流程,帮助工程师摆脱手动建模的低效工作模式。

weixin_27256197的博客 457

评价指标 | ROC曲线和AUC面积理解

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达目录:(1)ROC曲线的由来(2)什么是ROC曲线(3)ROC曲线的意义(4)AUC面积的由来(5)什么是AUC面积(6)AUC面积的意义(7)讨论:在多分类问题下能不能使用ROC曲线一、ROC曲线的由来很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分...

小白学视觉 2340

如何读懂CiteSpace图谱?科研小白必看的节点颜色/年轮/聚类解读手册

本文详细解析CiteSpace图谱的核心视觉元素,包括节点颜色、年轮和聚类标识,帮助科研人员准确解读数据分析结果。通过生物医学案例展示如何从图谱中识别关键文献和研究趋势,提供五步系统解读法和常见错误规避策略,助力科研小白快速掌握文献计量分析技巧。

weixin_29179311的博客 314

机器学习分类问题指标理解——准确率(accuracy)、精确率(precision)、召回率(recall)、F1-Score、ROC曲线、P-R曲线、AUC面积

简单理解分类问题的7项模型评估指标:准确率(accuracy)、精确率(precision)、召回率(recall)、F1-Score、ROC曲线、P-R曲线、AUC面积

Michael的博客 1万+

原创_新魔百和CM201-1鸿蒙架构当贝乐家语音安卓9线刷固件包刷机教程可救砖rom刷机包

不用担心变砖,因为系统内核会自动判断分区及CPU等级,假设你CPU是高于S905L3的那么。7.adb功能支持,系统增加开机自启功能,添加老人桌面模式,默认为年轻化桌面;所以我发的这个固件可适用于_cw_ys_zg_zn代工上生产的盒子进行刷机;5.CPU及GPU算法更改,当观看4K片源时,AI智能会自动优化系统后台进程,正如我所说,本固件是采用安卓公版镜像制作而成,那么代工厂也是使用的公版镜像,1.移植鸿蒙架构代码,完美融合安卓系统,增加系统的稳定性;刷机的时候 他会自动短接链接,所以不存在变砖。

a138088150的博客 1万+

电力现货市场出清机制解析:从理论到实践(附节点电价计算实例)

本文深入解析电力现货市场的核心出清机制,重点阐述了节点边际电价的计算原理与实践方法。通过对比系统边际电价、节点边际电价和分区边际电价三种模式,揭示了市场出清价格如何反映电力供需与网络阻塞。文章结合IEEE 30节点系统,提供了基于MATLAB和最优潮流模型的计算实例,详细展示了从构建模型到求解对偶变量以获取节点电价的全过程,为理解电力市场定价机制提供了从理论到实践的完整路径。

whisky的博客 756

ROC-AUC 浅谈理解ROC曲线和AUC值

这是一个评价二分类器的指标,特点是不受不平衡数据集的影响。但事实理解起来有点难。下面先介绍ROC-AOC是什么,然后再谈谈我的一种理解。ps,理解这个指标,首先得对经典的F1, Recall,Precision的比较熟悉,否则看了会一头雾水,如果你不熟这几个指标的计算,建议先阅读。 ROC曲线 receiver operating characteristic curve(名称似乎无法直观理解它本身,所以忽略),它是一条关于TPR和FPR的曲线,其中TPR,true positive rate,标签为正

KDLin‘s Blog 2944

LCD工程师必看:MIPI DSI的LP/HS模式切换全流程拆解(附高通平台实测)

本文为LCD工程师深度解析MIPI DSI接口中低速(LP)与高速(HS)模式切换的全流程。文章结合高通平台实测波形,从协议状态机、时序关键参数到实战调试案例,系统拆解了模式切换的本质、协同机制及常见问题排查方法,重点阐述了LP模式在低功耗控制与HS模式在高速数据传输中的核心作用与切换时序。

weixin_29240711的博客 547

ROC曲线含义 绘制 解读,AUC指标

ROC与AUC的含义绘制与解读 1.ROC曲线 ROC曲线是研究学习其泛化性能的有效工具,体现综合考虑学习器在不同任务下“期望泛化性能”的好坏。 ROC曲线的纵轴是“真正例率”TPR(true positive rate)和“假正例率”FPR(false positive rate) TPR=TP/(TP+FN) TPR=TP/(TP+FN) TPR=TP/(TP+FN) FPR=FP/(TN+FP) FPR=FP/(TN+FP) FPR=FP/(TN+FP) 真正例率:真正例在所有实际正例中占比 (正

weixin_55730631的博客 3259

LLaMA Factory添加新模型template的实战解析

本文主要介绍了LLaMA Factory添加新模型template的实战解析,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 实战解析 2.1 检查代码 2.2 修改代码

herosunly的博客 19万+

复现论文《孤岛微电网环境下基于物理模型引导的深度强化学习VSG频率控制方法》

本文提出了一种结合物理模型与深度强化学习的孤岛微电网VSG频率控制方法。通过建立VSG小信号模型并设计可变系数控制器,将物理知识融入深度强化学习框架,解决了高维参数和机组耦合带来的控制难题。复现代码实现了三个核心组件:VSGSmallSignalModel建模VSG动态特性,VariableCoefficientController实现参数自适应调节,PhysicsGuidedDRL整合DQN算法与物理模型引导的奖励机制。该方法通过模型驱动与数据驱动的优势互补,提升了频率控制性能,其中物理模型既作为先验知识

huanghm88的专栏 127

如何绘制ROC曲线

机器学习 roc曲线 混淆矩阵

XKira的专栏 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

AUC,ROC我看到的最透彻的讲解

面试的时候,一句话说明AUC的本质和计算规则: AUC:一个正例,一个负例,预测为正的概率值比预测为负的概率值还要大的可能性。 所以根据定义:我们最直观的有两种计算AUC的方法 1:绘制ROC曲线,ROC曲线下面的面积就是AUC的值 2:假设总共有(m+n)个样本,其中正样本m个,负样本n个,总共有m*n个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计...

qimo601的专栏 3524

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

r roc函数_R语言 ROC包 AUC()函数中文帮助文档(中英文对照)

AUC(ROC)AUC()所属R语言包:ROCfunctionals of ROC curve函的ROC曲线译者:生物统计家园网 机器人LoveR描述----------Description----------various functionals of ROC (Receiver Operating Characteristic) curvesROC(受试者工作特征)曲线的各种函用法-----...

weixin_42495556的博客 2693

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

推荐模型评价指标 AUC

推荐中常用的模型评价指标有准确率,召回率,F1-score和AUC。 1. 什么是AUC AUC指标是一个[0,1]之间的实数,代表如果随机挑选一个正样本和一个负样本,分类算法将这个正样本排在负样本前面的概率。值越大,表示分类算法更有可能将正样本排在前面,也即算法准确性越好。 2. AUC的计算方法 绘制ROC曲线,ROC曲线下面的面积就是AUC的值 假设总共有(m+n)个样本,其中正样本有m个...

thormas1996的博客 4063
上一篇: 【错误率、精度、查准率、查全率和F1度量】详细介绍
下一篇: 新手最容易混淆的概念最小二乘法
Microstrong0305
Microstrong0305 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄12年 6405粉丝 312原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值