ROC曲线,AUC

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

@ds17

ROC概念

Reciever operating characteristic curve

  • True positive:一个实例是正类并且也被 预测成正类,即为真正类,TP
  • False positive:如果实例是负类被预测成正类,称之为假正类,FP
  • True negative,TN
  • Fasle negative,FN

TPR, True positive rate, sensitivity
真正类率,命中率

TPR=TPTP+FN

FPR, False positive rate
假正类率,假警报率
FPR=FPFP+TN

TNR, True Negative Rate,specificity
真负类率
TNR=TNFP+TN=1−FPR=Specifity

ACC,Accuracy
准确率
ACC=(TP+TN)P+N

对于一个Binary Logistic Regression Classifier,计算结果为一个概率。设置不同的Threshold,可以得到不同的分类结果,进而算出不同的TPR/FPR。遍历“所有的Threshold”以TFR为横轴,TPR为纵轴,绘出ROC曲线。
ROC曲线
Threshold=0,对应点(1,1);
Threshold=1,对应点(0,0);
理想目标:TPR=1,FPR=0,即图中(0,1)点,故ROC曲线越靠拢(0,1)点,越偏离45度对角线越好,Sensitivity、Specificity越大效果越好。

ROC意义

当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。
在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。
下图是ROC曲线和Presision-Recall曲线的对比:

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

AUC

AUC不大于1;
一般ROC曲线都处于 y=x 上方,所以 1>AUC>0.5 ;
AUC越大,当前分类器越有可能将正样本排在负样本前面,分类效果更好。

Reference

  1. python sklearn画ROC曲线
  2. ROC和AUC介绍以及如何计算AUC
深入理解ROC曲线的定义以及绘制ROC曲线过程,其与模型性能的关系,以及AUC 深入理解ROC曲线的定义以及绘制ROC曲线过程,其与模型性能的关系,以及AUC 很多学习器是为测试样本产生一个实值或者是概率预测,然后将这个预测值和一个分类阈值(threshold)进行比较。若大于阈值,则为正类;反之为负类。根据这个学习器计算出来得预测值,我们可以将测试样本进行排序,“最可能”是正例的放在最前面,“最不可能”是正例的排在最后面,这样分类过程就相当于在这个排序中的某个”截断点”(cut point)将样本呢分为两类,前一部分为正例,后一部分为反例。 前面有precision和recall,可 阅读详情

相关推荐

python绘制ROC曲线,计算AUC

使用Python绘制ROC曲线 计算AUC

weixin_45426939的博客 1万+

详解ROC/AUC计算过程

ROC和AUC的详细计算过程

ybdesire的专栏 5万+

Sklearn机器学习——ROC曲线、ROC曲线的绘制和AUC面积、运用ROC曲线找到最佳阈值

介绍了如何平衡分类正确率和误判多数变成小数的成本的一个图像,ROC曲线(横坐标是假正率,纵坐标是Recall)。AUC曲线面积越大越好。

qq_47250064的博客 1万+

Lesson 5.3 ROC-AUC 的计算方法、基本原理与核心特性

ROC-AUC 的计算方法、基本原理与核心特性

每天进步一点点! 2038

Python应用|ROC曲线,AUC计算及代码

数据类笔试题:Python绘制ROC曲线和计算AUC 前言: 这是我最近应聘某家互联网公司时遇到的笔试题:用Python或者R绘制ROC曲线并计算AUC ROC:Receiver Operating Characteristic,评判分类模型性能的方法,通过画在二维平面的曲线表示,横坐标为FPR(false positive rate,0~1),纵坐标为TPR(true positive rate...

SumIris的博客 9255

PR曲线、ROC曲线、AUC、AP简单梳理

是不是对一堆PR曲线、ROC曲线、AUC、AP傻傻分不清楚?是不是学完就忘忘了又学?希望这篇文章能帮你梳理清楚一坨乱麻。 1、混淆矩阵 每次在重温理解AUC、PR曲线、ROC曲线的时候,第一步就是在纸上画出来这个混淆矩阵,方便后序进阶。 预测/真实 1(Postive) 0(Negative) 1 (Postive) TP(True Postive:真阳) FP (False Postive:假阳) 0 (Negative FN (False Negative:假阴) TN (True

weixin_42926836的博客 7052

AUC的计算方法

摘要: 在机器学习的分类任务中,我们常用许多的指标,诸如召回率(Recall)、准确率(Precision)、F1值、AUC等。 那么,如果如果手动计算AUC应该要怎么计算呢?相信大家很多时候都是用写好的库直接计算,可能对AUC计算不太了解,下面这篇文章就简单的概述一下AUC的计算方法。 (注:本文的重点其实不在于阐述什么是AUC。因为网上关于这方面的文章实在太多了。但是对于AUC的计算的文

SCUT_Sam 13万+

ROC曲线与AUC计算

ROC曲线绘制与AUC计算           致谢 多位博主的无私分享。 参考文献 [1] http://blog.youkuaiyun.com/chjjunking/article/details/5933105 . chjjunking的博客 [2] http://blog.youkuaiyun.com/abcjennifer/article/details/735937

mytestmy的专栏 1万+

Python计算ROC

from sklearn.metrics import roc_curve, auc, mean_squared_error, accuracy_score def check_fit(truth, prob): """ truth: 真实的值 [1,0,1,1,1] prob: 预测的值 [0.9,0.7,0.8,0.2,0.3] """ fpr, tp...

time 3803

Python编程:实现AUC计算(含完整代码)

在机器学习领域中,AUC是一种常用的指标,用于衡量分类模型的预测能力。AUC又称为ROC曲线下面积,它的取值范围在0.5到1之间,越接近1则说明模型的性能越好。本文将会介绍如何使用Python编程计算AUC,并提供完整的源代码。以上示例中,我们假设测试集中共有5个样本,其中前三个样本为正例,后两个样本为负例。模型预测得分越接近1则表示该样本被预测为正例的概率越大。在使用该函数前,我们需要将测试集样本的真实标签值和模型的预测得分作为输入参数传入。以上就是Python编程计算AUC的方法,希望对您有所帮助!

与其临渊羡鱼,不如退而结网 2271

ROC曲线及AUC值

ROC曲线 参考文献:【ROC曲线与AUC值】 1. 介绍及引入 ROC的全名叫做Receiver Operating Characteristic,其主要分析工具是一个画在二维平面上的曲线——ROC curve。 平面的横坐标是false positive rate(FPR),即假阳性率(1−Sp1-Sp1−Sp); 纵坐标是true positive rate(TPR),即真阳性率(SnSnSn)。 对某个分类器而言,我们可以根据其在测试样本上的表现得到一个TPR和FPR点对。这样,此分类器就可以映射成

林景的博客 5546

ROC曲线和AUC面积理解

关注微信公众号【Microstrong】,我现在研究方向是机器学习、深度学习,分享我在学习过程中的读书笔记!一起来学习,一起来交流,一起来进步吧!本文同步更新在我的微信公众号中,公众号文章地址:https://mp.weixin.qq.com/s?__biz=MzI5NDMzMjY1MA==&mid=2247484146&idx=1&sn=963765a3ede231292...

Microstrong 9万+

AUC的计算及ROC曲线的绘制

AUC的计算及ROC曲线的绘制, %scores为每个样本属于1类的概率,testclass分为0类和1类 %输出res为AUC面积,计算方式为矩形面积之和,sum1为ROC曲线的tpr和fpr值对

多分类ROC曲线及AUC计算

上一篇博客(https://blog.youkuaiyun.com/u010505915/article/details/106394765)介绍了二分类下的ROC曲线及AUC计算,本文主要介绍多分类下的ROC曲线及AUC计算。 对于多分类数据,假设测试样本个数为m,分类个数为n(分类label分别为:1,2,...,n),可以将这些样本及对应的label表示为矩阵形式,每行一个样本,每列为该样本是否属于该分类,从而形成一个[m, n]的标签矩阵: ID 分类1 分类2 分类3 A 1

u010505915的博客 4万+

利用Python画ROC曲线和AUC值计算

给大家介绍了如何利用Python画ROC曲线,以及AUC值的计算,有需要的朋友们可以参考借鉴,下面来一起看看吧。

hcaptcha-challenger:基于本地AI模型自动破解验证码的工程实践

验证码作为区分人类与机器的经典安全机制,其核心原理是通过图像识别、行为分析等交互式挑战来阻挡自动化程序。传统绕过方法依赖第三方打码平台或脚本,存在成本高、稳定性差的问题。随着多模态大语言模型和计算机视觉技术的发展,本地化AI求解成为新的技术方向,它通过集成YOLO、ResNet等模型,在本地完成图像语义理解,实现了高隐私、低成本、可进化的验证码自动化解决方案。这种范式尤其适用于需要大规模稳定处理网页交互的场景,如电商数据采集和社交媒体管理。hcaptcha-challenger项目正是这一理念的工程实践,它

weixin_42587866的博客 1026

多分类下的ROC曲线和AUC

本文主要介绍一下多分类下的ROC曲线绘制和AUC计算,并以鸢尾花数据为例,简单用python进行一下说明。如果对ROC和AUC二分类下的概念不是很了解,可以先参考下这篇文章:http://blog.youkuaiyun.com/ye1215172385/article/details/79448575 由于ROC曲线是针对二分类的情况,对于多分类问题,ROC曲线的获取主要有两...

MinerYCC 6万+

告别QXDM:在Android Studio中调试与验证高通NV读写功能的完整流程

本文详细介绍了在Android Studio中调试与验证高通NV分区读写功能的完整流程,替代传统的QXDM工具。通过JNI接口层、HAL服务层和Diag通信层的架构设计,开发者可以在熟悉的IDE环境中高效完成NV操作,包括环境配置、错误处理和性能优化等关键实践。

weixin_27013291的博客 261

入门选手都能理解的ROC曲线与AUC值

1.ROC曲线 在信号检测理论中,接收者操作特征曲线(receiver operating characteristic curve,或者叫ROC曲线)是一种坐标图式的分析工具,用于 (1) 选择最佳的信号侦测模型、舍弃次佳的模型。 (2) 在同一模型中设定最佳阈值。 在做决策时,ROC分析能不受成本/效益的影响,给出客观中立的建议。 ROC曲线首先是由二战中的电子工程师和雷达工程师发明的,用来侦...

bitcarmanlee的博客 1万+

BUUCTF reverse题解汇总

BUUCTF平台刷题过程中做的一些逆向题解的总结归类

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 1万+

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7316

ROC曲线面积AUC详解

一、roc曲线 1.roc曲线:接收者操作特征(receiver operating characteristic), roc曲线上每个点反映着对同一信号刺激的感受性。 横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity) 纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率) 2. 针对一个二分类问题,将实例分成正类(postive)或者负类(negative)。但

午夜阳光 1万+

YOLO26改进策略【YOLO和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度

本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。EfficientViM: Efficient Vision Mamba with Hidden State Mixer based State Space DualityEfficie

Limiiiing的博客 399
上一篇: 机器学习术语
下一篇: conda install 速度慢的解决
调包侠理查
博客等级 码龄14年 34粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值