机器学习:ROC曲线笔记
ROC曲线(Receiver Operating Characteristic Curve)是一种用于评估二分类模型性能的图形化工具,主要用于展示在不同阈值(Threshold)下模型的真阳性率(True Positive Rate,TPR)和假阳性率(False Positive Rate,FPR)之间的关系。
ROC曲线最早起源于二战期间,用于分析雷达信号检测敌方飞机的能力,随后逐渐扩展到其他领域,特别是医学诊断。自20世纪末,ROC已被广泛应用于机器学习,通过改变分类阈值,展示模型将正类与负类区分开来的能力,以此找到最佳的模型参数和决策阈值。
目录
基本概念
1.混淆矩阵(Confusion Matrix)
1.1 组成类别
1.2 评估指标
2. AUC(Area Under the Curve)
3.约登指数(Youden's index)
曲线组成
基本概念

1.混淆矩阵(Confusion Matrix)
也称为误差矩阵,用于展示实际类别与模型预测类别之间的关系,以此评估有监督学习中分类模型的性能。混淆矩阵对于二分类和多分类问题都适用,在流行病学研究中,它被应用于评估筛检试验的真实性。
| 预测 | 实际 | |
|---|---|---|
| 正例 | 负例 | |
| 正例 | 真阳性(TP) | 假阳性(FP) |
| 负例 | 假阴性(FN) | 真阴性(TN) |
(ROC曲线是多个混淆矩阵结果的组合)
1.1 组成类别
真阳性(True Positive,TP):模型正确地将正类预测为正类的数量。
假阴性(False Negative,FN):模型错误地将正类预测为负类的数量。
假阳性(False Positive,FP):模型错误地将负类预测为正类的数量。
真阴性(True Negative,TN):模型正确地将负类预测为负类的数量。
1.2 评估指标
通过混淆矩阵,我们可以计算出多种评估指标,从不同角度评估模型性能:
准确率(Accuracy):模型正确预测的总体比例,计算公式为:
精确度(Precision):模型预测为正类中实际为正类的比例,计算公式为:
召回率(Recall)或灵敏度(Sensitivity):实际为正类中模型预测为正类的比例,计算公式为:
特异度(Specificity):实际为负类中模型预测为负类的比例,计算公式为:
F1分数(F1 Score):精确度和召回率的调和平均数,计算公式为:
2. AUC(Area Under the Curve)
曲线下面积,用于综合评价模型在各种不同阈值下的表现。AUC的取值范围在0~1,常用于量化比较不同分类器的性能,AUC值越高,表示模型性能越好。
AUC = 1.0 :完美分类器,模型没有任何的分类错误;
AUC > 0.5 :模型具有将正类和负类区分开来的能力,且性能超过了随机猜测;
AUC < 0.5 :模型的表现还不如随机猜测,表明模型存在严重问题。
3.约登指数(Youden's index)
也称为正确指数,常用于确定最佳阈值,即约登指数最大的时候,模型分类能力最佳。计算方式为:
曲线组成
1.真阳性率:也称为灵敏度、召回率或命中率,作为纵坐标;
2.假阳性率:是在所有实际负例中,被错误地判断为正例的比例,作为横坐标;
3.阈值:是界定正类和负类的分界线。通过调整阈值,模型预测正类的标准更高或更低,从而影响到TPR和FPR的值。ROC曲线上的每一个点都对应一个特定的决策阈值。
4.AUC:ROC曲线与坐标轴对角线组成的面积。
曲线绘制:在一个坐标图上,将FPR作为横轴(X轴),TPR作为纵轴(Y轴)。对于一个二分类模型,通过改变决策阈值,我们可以得到一系列的(FPR, TPR)点,将这些点连线就形成了ROC曲线。理想情况下,最好的预测模型的ROC曲线会尽可能地靠近左上角,意味着具有更高的TPR和更低的FPR。
相关文章:
机器学习:ROC曲线笔记
ROC曲线(Receiver Operating Characteristic Curve)是一种用于评估二分类模型性能的图形化工具,主要用于展示在不同阈值(Threshold)下模型的真阳性率(True Positive Rate,TPR)和假阳…...
【lesson54】线程互斥
文章目录 线程互斥 线程互斥 互斥量mutex 大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间内,这种情况,变量归属单个线程,其他线程无法获得这种变量。但有时候,很多变量都需要在线程间…...
Android14音频进阶:MediaPlayerService如何启动AudioTrack 上篇(五十五)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…...
K8sGPT 的使用
K8sGPT 介绍 k8sgpt 是一个扫描 Kubernetes 集群、诊断和分类问题的工具。它将 SRE 经验编入其分析器中,并帮助提取最相关的信息,通过人工智能来丰富它。它还可以与 OpenAI、Azure、Cohere、Amazon Bedrock 和本地模型结合使用。 K8sGPT Github 地址 …...
《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)
文章目录 4.1 颜色理论在 CSS 设计中的应用:网页的调色盘4.1.1 基础知识4.1.2 重点案例:创建一个具有情感设计的登录页面4.1.3 拓展案例 1:使用颜色增强信息的可视化表示4.1.4 拓展案例 2:利用颜色创建网站的品牌身份 4.2 字体与文…...
设计模式浅析
一、设计模式的使用场景 设计模式(Design Patterns)是在软件开发中经过验证的最佳实践,用于解决常见的设计问题。它们提供了一种可复用的解决方案,可以帮助开发人员提高代码质量、可维护性和可重用性。设计模式的采用通常在以下情…...
Linux环境中的git
目录 1.要使用git,首先要安装git 2.首次使用git需要做的操作 3.git操作 1.要使用git,首先要安装git 指令:sudo yum install -y git 2.首次使用git需要做的操作 在gitee网页,在你的仓库中找到: 先将下面两行代码分别…...
单测的思路
文章目录 单测的定义方法的单测几种生成工具的对比生成步骤 接口的单测场景的单测总结参考 单测的定义 单元测试(Unit Testing)是一种软件开发中的测试方法,它的主要目的是确保软件中的最小可测试单元(通常是函数、方法或类&…...
Linux内核与驱动面试经典“小”问题集锦(6)
接前一篇文章:Linux内核与驱动面试经典“小”问题集锦(5) 问题8 问:如何判断一个数是否是2的幂次(假设最多32位)? 备注:此问题是笔者年前参加小米面试时遇到的一个问题,…...
【zabbix】(四)-钉钉告警企业微信配置
前提条件: 已经安装了Python3环境(脚本需要requests模块)。Centos7.x自带Python2(不含requests模块) 钉钉告警配置 一 安装Python3 参考该优秀文档部署 查看Python的模块:pip list / pip3 list 报错 …...
python-自动化篇-办公-一键将word中的表格提取到excel文件中
文章目录 代码 工作中,经常需要将Word文档中的表格粘贴到Excel文件中,以便汇总及分析。一个一个复制粘贴,非常不方便,还是Python自动化操作,省心省力。要求如下图所示,即将word中的所有表格,转存…...
C#,数值计算,矩阵的行列式(Determinant)、伴随矩阵(Adjoint)与逆矩阵(Inverse)的算法与源代码
本文发布矩阵(Matrix)的一些初级算法。 一、矩阵的行列式(Determinant) 矩阵行列式是指矩阵的全部元素构成的行列式,设A(a)是数域P上的一个n阶矩阵,则所有A(a)中的元素组成的行列式称为矩阵A的行列式&…...
人工智能|推荐系统——基于tensorflow的个性化电影推荐系统实战(有前端)
代码下载: 基于tensorflow的个性化电影推荐系统实战(有前端).zip资源-CSDN文库 项目简介: dl_re_web : Web 项目的文件夹re_sys: Web app model:百度云下载之后,把model放到该文件夹下recommend: 网络模型相…...
Hive SQL编译成MapReduce任务的过程
目录 一、架构及组件介绍 1.1 Hive底层架构 1.2 Hive组件 1.3 Hive与Hadoop交互过程 二、Hive SQL 编译成MR任务的流程 2.1 HQL转换为MR源码整体流程介绍 2.2 程序入口—CliDriver 2.3 HQL编译成MR任务的详细过程—Driver 2.3.1 将HQL语句转换成AST抽象语法树 词法、语…...
【C++】快速上手map、multimap、set、multiset
文章目录 一、前言二、set / multiset1. 常见应用2. 核心操作 三、map / multimap1. 常见应用2. 核心操作 一、前言 S T L STL STL 中的关联式容器分为树型结构和哈希结构,树型结构主要有四种: s e t set set、 m u l t i s e t multiset multiset、 m a…...
【分享】图解ADS+JLINK调试ARM
文章是对LPC2148而写的,但是对三星的44B0芯片同样适用,只需要在选择时将相应的CPU选择的S3C44B0就可以了。 JLINK在ADS下调试心得 前两天一个客户用jlink在ADS下调试LPC2148总报错,这个错误我之前在调试LPC2200的时候也碰到过,后…...
反无人机系统技术分析,无人机反制技术理论基础,无人机技术详解
近年来,经过大疆、parrot、3d robotics等公司不断的努力,具有强大功能的消费级无人机价格不断降低,操作简便性不断提高,无人机正快速地从尖端的军用设备转入大众市场,成为普通民众手中的玩具。 然而,随着消…...
Kotlin和Java 单例模式
Java 和Kotlin的单例模式其实很像,只是Kotlin一部分单例可以用对象类和委托lazy来实现 Java /*** 懒汉式,线程不安全*/ class Singleton {private static Singleton instance;private Singleton() {}public static Singleton getInstance() {if (insta…...
软考 系统分析师系列知识点之信息系统战略规划方法(9)
接前一篇文章:软考 系统分析师系列知识点之信息系统战略规划方法(8) 所属章节: 第7章. 企业信息化战略与实施 第4节. 信息系统战略规划方法 7.4.5 信息工程方法 信息工程(Information Engineering,IE&…...
政安晨:示例演绎TensorFlow的官方指南(一){基础知识}
为什么要示例演绎? 既然有了官方指南,咱们在官方指南上看看就可以了,为什么还要写示例演绎的文章呢? 其实对于初步了解TensorFlow的小伙伴们而言,示例演绎才是最重要的。 官方文档已经假定了您已经具备了相当合适的…...
企业级应用如何利用Taotoken的容灾与路由能力保障AI服务高可用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级应用如何利用Taotoken的容灾与路由能力保障AI服务高可用 对于将大模型能力深度集成到关键业务流程的企业应用而言࿰…...
嵌入式存储优化实战:如何为你的AUTOSAR FEE模块选择合适的FeeMainFunctionPeriod与FeeMaxBytesPerCycle?
嵌入式存储优化实战:AUTOSAR FEE模块参数配置与性能调优 在汽车电子控制单元(ECU)的开发中,存储管理一直是影响系统性能和可靠性的关键因素。AUTOSAR的Flash EEPROM Emulation(FEE)模块作为非易失性数据存储…...
第七章:LLM输出质量评估方法——从指标到流程
本章难度:★★★★☆ | 预计阅读时间:10分钟 你将学到:LLM评估的四大核心维度、三大评估框架对比、LLM-as-Judge的用法与局限、人工评估设计方法、红队测试流程、以及如何建立完整的评估体系 引言:为什么评估是AI产品的核心竞争力 你上线了一个RAG聊天机器人,工程师说&qu…...
Scratch 画笔模块全解析:从零到一绘制动态轨迹
1. 初识Scratch画笔模块:数字画布的神奇魔法 第一次接触Scratch的画笔功能时,我仿佛回到了小时候拿着彩色粉笔在水泥地上涂鸦的快乐时光。这个看似简单的模块,实际上藏着让角色"留下痕迹"的魔法——就像蜗牛爬过会留下闪亮的黏液轨…...
别再乱配了!Modbus Slave模拟器与iPlat点表地址映射的保姆级避坑指南
Modbus Slave模拟器与工业平台联调实战:从地址映射原理到批量读取优化 工业物联网项目中,Modbus协议作为最常用的数据采集标准,其配置过程看似简单却暗藏玄机。我曾亲眼见过一个资深工程师花了三天时间排查数据采集失败问题,最终发…...
告别卡顿!手把手教你用UltraISO给老旧笔记本装上OpenEuler 22.03 LTS(保姆级BIOS设置指南)
告别卡顿!手把手教你用UltraISO给老旧笔记本装上OpenEuler 22.03 LTS(保姆级BIOS设置指南) 老旧笔记本性能跟不上现代操作系统?别急着淘汰它们!OpenEuler作为一款轻量级Linux发行版,特别适合为老设备注入新…...
如何零成本获取全球金融数据?开源工具AKShare终极指南
如何零成本获取全球金融数据?开源工具AKShare终极指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/ak…...
告别Unity WebGL的模糊UI:用Vue3重构前端界面,手把手教你实现双向通信
Unity WebGL与Vue3的完美联姻:打造高清交互界面的实战指南 1. 为什么需要重构Unity WebGL的UI系统? 许多Unity开发者都曾经历过这样的困境:当我们将精心制作的3D项目发布为WebGL版本时,原生UGUI在浏览器中的表现往往不尽如人意。模…...
基于YOLO+DeepSeek的病虫害检测与环境监测一体化解决方案
智慧农业智能云平台 定位:基于YOLODeepSeek的病虫害检测与环境监测一体化解决方案🌾 核心识别能力 • 支持作物:9种 作物 作物 作物 🌽 玉米 🌾 小麦 🌾 水稻 🍅 番茄 🥔 马铃薯 &am…...
基于ssm的精准扶贫管理系统(10061)
有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...
