ROC曲线的一点理解

news2024/12/26 22:30:29

1 背景知识

真阳率(TPR)和假阳率(FPR)

  • 真阳率(TPR):又称召回率(Recall),计算公式为 \text{TPR} = \frac{\text{TP}}{\text{TP} + \text{FN}}​,表示实际为正的样本中被正确分类为正的比例。
  • 假阳率(FPR):计算公式为\text{FPR} = \frac{\text{FP}}{\text{FP} + \text{TN}}​,表示实际为负的样本中被错误分类为正的比例。

2 ROC曲线作用

ROC曲线(Receiver Operating Characteristic Curve),即受试者工作特征曲线,是一种用于评估二分类模型性能的工具。

3 分类器分类阈值

  • 分类器通常会输出一个概率分数或置信度分数,这个分数表示样本属于某一类别的可能性。
  • 通过设置不同的阈值,将概率分数转换为二元分类结果。例如,如果阈值设为0.5,概率分数大于或等于0.5的样本被分类为正类,低于0.5的样本被分类为负类。

4 绘制ROC曲线

  • 通过改变分类阈值,从0到1,对每一个阈值计算对应的TPR和FPR。则每个阈值在ROC曲线中对应一个点。
  • 在以FPR为横轴、TPR为纵轴的坐标系中绘制出这些点,连接这些点就形成了ROC曲线。

引用自深入解析ROC曲线及其应用_ruc曲线 csdn-CSDN博客

ROC曲线通过展示真阳性率(TPR)与假阳性率(FPR)之间的权衡关系,为模型的性能提供直观的图形表示。

5 解析ROC曲线

曲线形状

  • 理想的ROC曲线在左上角(TPR接近1,FPR接近0)弯曲,表示高真阳率和低假阳率。 所以曲线越接近左上角,分类器的性能越好。
  • 对角线(从点(0,0)到(1,1))表示随机猜测的分类器,其AUC为0.5。这意味着分类器的性能和随机猜测没有区别。

起点(0,0)解释:

  • 此时是阈值设置得极高的情况,TPR和FPR都是0,所有样本都被分类为负类。 (简单理解极端情况就是:阈值为1 ,概率得分只有>1才能分为正类,低于1的样本得分被分为负类)

终点(1,1)解释:

此时,TPR和FPR都是1。当阈值设置得极低时,所有样本都被分类为正类。(极端情况阈值=0,概率得分>0被分为正类,低于0的样本得分被分为负类,显然没有负类)

\text{FPR=1} = \frac{\text{FP=1}}{\text{FP=1} + \text{TN=0}}   1表示所有正类样本都分成正类

\text{TPR=1} = \frac{\text{TP=1}}{\text{TP=1} + \text{FN=0}}    1表示所有负类样本都分成正类

对角线上任意一点(x,y)

  • 假设某个阈值下,假阳率(FPR)为x,真阳率(TPR)为y。  
  • 对于随机分类器,FPR和TPR会随着阈值的变化线性变化,即在对角线上移动。

eg: 假设有一个数据集,其中正类和负类样本各占50%。随机分类器对这些样本进行分类,表现如下:

  • 对于正类样本,有50%的概率被随机分类为正类,50%的概率被随机分类为负类。
  • 对于负类样本,也有50%的概率被随机分类为正类,50%的概率被随机分类为负类。

随机分类器的表现可以总结为:

  • FPR = 0.5
  • TPR = 0.5

这个结果对应于对角线上的点(0.5, 0.5)。如果我们绘制随机分类器的ROC曲线,它会从(0,0)开始,经过(0.5, 0.5),最终到达(1,1),形成一条对角线。

曲线下面积(AUC)

  • AUC(Area Under the Curve)是衡量分类器整体性能的指标,取值范围在0到1之间。
  • AUC越接近1,分类器性能越好。AUC为0.5表示分类器没有区分能力,与随机猜测相同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STC12C5A60S2单片机输出pwm的方法

所谓的pwm输出就是让单片机在某个管脚上按照时间输出特定频率和占空比的矩形方波。这里面有两个参数,一是频率,二是占空比。两者互不干涉。以STC12C5A60S2为例子,本51型单片机可以有两路pwm输出。以其中的一路为例说明; 首先说频…

专题八_分治-归并

目录 912. 排序数组 解析 题解 LCR 170. 交易逆序对的总数(数组中的逆序对) 解析 题解 315. 计算右侧小于当前元素的个数 解析 题解 493. 翻转对 解析 题解 912. 排序数组 912. 排序数组 解析 题解 1.局部临时数组 class Solution { public:vector<int> so…

换地不换IP?揭秘微博IP地址的奥秘

在这个信息飞速传递的时代&#xff0c;社交媒体成为我们生活中不可或缺的一部分。微博&#xff0c;作为其中的佼佼者&#xff0c;不仅是我们获取资讯的重要渠道&#xff0c;也是展现自我、分享生活的重要平台。然而&#xff0c;你有没有遇到过这样的情况&#xff1a;明明已经换…

智能相机背后的图像防抖(IS)技术介绍

智能相机背后的图像防抖(IS)技术介绍 在现代摄影和视频拍摄中&#xff0c;防抖技术已成为必不可少的一部分。随着智能手机、相机和其他成像设备的普及&#xff0c;防抖技术的需求也越来越高。本文将详细介绍几种主要的防抖技术&#xff0c;包括光学防抖&#xff08;OIS&#x…

【Redis 初阶】客户端(C++ 使用样例列表)

一、编写 helloworld 需要先使用 redis-plus-plus 连接一下 Redis 服务器&#xff0c;再使用 ping 命令检测连通性。 1、Makefile Redis 库最多可以支持到 C17 版本。&#xff08;如果是用 Centos&#xff0c;需要注意 gcc/g 的版本&#xff0c;看是否支持 C17。不支持的话&a…

【第五节】python异常处理

目录 一、python中的异常用法 1.1 try-except 1.2 异常处理流程&#xff1a; 1.3 try-finally 1.4 使用except是否指定异常 二、异常的参数 三、自定义异常 四、常见的异常列举 一、python中的异常用法 异常是指程序运行过程中出现的非正常状态。在Python编程中&#x…

线程的创建Linux下

进程的创建&#xff1a;第一个参数通常传递一个pthread_t 的地址&#xff0c;第二个参数为线程的属性&#xff0c;第三个参数为函数指针&#xff0c;是子线程要做的事情。arg是函数指针所对应函数的参数。 sleep主要是为了等待子线程退出&#xff0c;因为当主线程退出时&#x…

WebSocket connection to ‘ws://x.x.x.x:8080/ws‘ failed:报错

vue.config.js中进行修改 添加 devServer: { Proxy: {ws:false }}

Flink-StarRocks详解:第二部分(第52天)

文章目录 前言2. 表设计2.1 StarRocks表设计2.1.1 列式存储2.1.2 索引2.1.3 加速处理2.1.3.1 预先聚合2.1.3.2 分区分桶2.1.3.3 物化视图2.1.3.4 列级索引 2.2 数据模型2.2.1 明细模型2.2.1.1 适用场景2.2.1.2 创建表2.2.1.3 使用说明 2.2.2 聚合模型2.2.2.1 适用场景2.2.2.2 原…

[C++] vector对比list deque的引出

文章目录 list与vector的对比双端队列dequedeque的特性deque的底层实现原理内存结构块表&#xff08;Block Array&#xff09;块&#xff08;Block&#xff09; 插入与删除两端插入两端删除 随机访问如何计算位置 迭代器设计 总结 list与vector的对比 vector与list都是STL中非…

实战AR增强现实【OpenCV+Ogre】

作为一份小小的礼物&#xff0c;我想向你展示借助 Ogre 和 OpenCV 自己制作增强现实变得多么容易。你应该知道&#xff0c;除了图形之外&#xff0c;我的另一个兴趣是计算机视觉。 演示将不依赖于 ARCore 或 ARKit 等专有解决方案 - 所有这些都将使用开源代码完成&#xff0c;…

【ROS2】 默认的DDS通信中间件替换为Eclipse Cyclone_DDS (DDS配置方法)

ROS2替换中间件为Cyclone_DDS 1.一些介绍&#xff1a;&#xff09;2.不同DDS的RMW实现3.默认的FastDDS替换为Cyclone DDSi.安装依赖ii.编译 cyclone-dds 4.配置网络 1.一些介绍&#xff1a;&#xff09; 上一篇我们探讨了ros1和ros2编写launch的区别 【ROS2】launch启动文件编…

相机外参矩阵

在上一篇文章中&#xff0c;我们学习了如何将相机矩阵分解为内参矩阵和外参矩阵的乘积。在接下来的两篇文章中&#xff0c;我们将更详细地探讨外参矩阵和内参矩阵。首先&#xff0c;我们将探讨查看外参矩阵的各种方式&#xff0c;并在最后进行交互式演示。 SDT工具推荐&#xf…

程序员必知必懂运维技术概念

引言 随着互联网和云计算的迅速发展&#xff0c;传统的单体架构逐渐被微服务架构所取代。这一变化带来了许多新的挑战&#xff0c;如环境一致性、应用的可移植性、服务的扩展性、服务间通信的管理以及安全性等。为了解决这些问题&#xff0c;业界开发了许多工具和技术&#xf…

SPSSAU | Adaboost模型原理及案例实操

AdaBoost&#xff08;Adaptive Boosting&#xff09;算法的核心思想是将多个弱分类器组合成一个强分类器。其算法步骤如下&#xff1a; 第一&#xff1a;初始化权重&#xff0c;为每个训练样本分配相等的初始权重&#xff1b; 第二&#xff1a;训练弱分类器&#xff0c;根据当…

如何做OLED屏幕安装方案

制定OLED屏幕安装方案时&#xff0c;需要综合考虑多个方面&#xff0c;包括安装环境、屏幕尺寸、支架选择、电源与信号连接、调试与测试等。以下是一个详细的OLED屏幕安装方案&#xff1a; 一、前期准备 确定安装位置&#xff1a; 根据使用需求和环境条件&#xff0c;选择一个…

基于FPGA的以太网设计(4)----详解PHY的使用(以YT8531为例)

目录 1、前言 2、如何了解PHY芯片? 2.1、总览 2.2、管脚 2.3、编码 2.4、自协商 2.5、环回模式 2.6、睡眠模式 2.7、复位 2.8、PHY地址 3、PHY芯片的寄存器配置 3.1、Basic Control Register (0x00) 3.2、Basic StatusRegister (0x01) 3.3、PHY Specific Status…

重生了,这一世 我一定要学会服务器 只因………

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner &#x1f339; 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1f604; (^ ~ ^) 想看更多 那就点个关注吧 我…

IT运维管理与ITSM:理论与实践

IT运维管理和IT服务管理&#xff08;ITSM&#xff09;在现代企业信息化过程中占据着举足轻重的地位。它们不仅是确保IT系统稳定运行和业务连续性的关键&#xff0c;还是推动企业数字化转型、提升竞争力的重要力量。本文将结合《IT运维管理和ITSM》文档的内容&#xff0c;深入探…