【机器学习300问】46、什么是ROC曲线?

news2024/11/19 18:25:58

一、二分类器的常用评估指标有哪些?

        二分类器是机器学习领域中最常见的也是应用最广泛的分类器。评价二分类器的指标也很多,下面列出几个我之前重点写文章介绍过的指标。

(1)准确率(Accuracy)

        定义为分类正确的样本数占总样本数的比例,在类别分布均匀的情况下,准确率是一个直观有效的评估指标,但在类别不平衡数据集上可能不能很好地反映分类器性能。

(2)精确率(Precision)

        定义为被预测是正类的样本中实际为正类的比例,对于那些错判代价高的场景特别重要,例如医疗诊断中,高精确率意味着模型预测为阳性的结果中有很高比例确实是真实的病例。

(3)召回率(Recall)

        定义为实际是正类的样本中被正确预测为正类的比例,在某些情况下,如罕见事件检测或安全预警系统中,高召回率至关重要,因为它反映了模型能否找出所有的正类实例。

(4)F1分数(F1 Score)

        定义为精确率和召回率的调和平均数,用来同时考虑两者的表现。F1值在精确率和召回率之间取得平衡,通常用于综合评估分类器的效果。

如果友友们想细致了解上述指标,可以看看我的这篇文章:

【机器学习300问】25、常见的模型评估指标有哪些?icon-default.png?t=N7T8http://t.csdnimg.cn/g0aM0

二、什么是ROC曲线?

        ROC曲线(Receiver Operating Characteristic Curve)是一种直观且强大的可视化工具,用于评估和比较二分类模型(二分类器),在不同阈值条件下的表现好坏。他的中文直译是“受试者工作特征曲线”。

(1)先得知道几个概念

        为了让概念生动活泼,我在这里全部用医院检测癌症的二分类任务说明。

名词解释
阳性P当医学检测或测试预测出一个人患有癌症时,这个结果被称为阳性。阳性通常指标签为“是”的正分类结果。
阴性N如果检测或测试结果表明一个人没患癌症,那么结果是阴性。阴性通常指标签为“否”的负分类结果。
真阳性TP当测试结果预测为阳性,并且这个预测是正确的(即该人确实患有癌症),则这样的结果称为真阳性。
假阳性FP当测试结果预测为阳性,但这个预测是错误的(即该人实际上没有患癌症),则这个结果称为假阳性。
真阳性率TPR真阳性率,也称为召回率或灵敏度。是真阳性的数量除以实际全部阳性的数量(真阳性加上假阴性)\text{TPR}=\frac{TP}{TP + FN}=\frac{TP}{P}。换言之,它指在所有真实情况为阳性的样本中,被正确识别为阳性的比例。
假阳性率FPR假阳性率,也称特异度。是假阳性的数量除以实际全部阴性的数量(假阳性加上真阴性)\text{FPR} = \frac{FP}{FP + TN}=\frac{FP}{N}。这个比率告诉我们在所有实际为阴性的样本中,有多少被错误地识别为阳性。

(2)ROC曲线的定义

        在ROC曲线图上,我们将假阳性率\text{FPR}放在X轴上真阳性率\text{TPR}放在Y轴上每种可能的阈值对应图上一个点,连接这些点形成的曲线就是ROC曲线。

ROC曲线
ROC曲线

        如上图所示理想的模型会有一条靠近左上角的曲线,因为这意味着在保持很低的误报率的同时,有着很高的正确发现率。图中虚线表示分类能力如同随机分类,分类器的ROC曲线越往左上角靠就越说明这个分类器效果好。

(3)举例说明

        现在用我最喜欢的举例说明为大家介绍什么是ROC曲线。

假设有一家医院,现在需要诊断病人。有10位疑似癌症患者,其中有3位很不幸确实得了癌症(P=3),另外7位不是癌症患者(N=7)。医院对这10个疑似癌症患者做了诊断,诊断出了3位癌症患者,其中有2位确实是真患者(TP=2)。那么真阳性率是TPR=\frac{TP}{P}=\frac{2}{3}。对于7位非癌症患者来说,有一位很不幸被误诊为癌症患者(FP=1),那么假阳性率是FPR=\frac{FP}{N}=\frac{1}{7}。对于这个医院(二分类器)来说这组分类结果就对应了ROC曲线上的一个点(\frac{1}{7},\frac{2}{3})

三、ROC曲线对比这些个常用指标有什么优势?

        ROC曲线相对于其他一些常用的二分类评估指标,有以下优势。

(1)不依赖阈值

        ROC曲线展示了分类器在所有可能阈值下的真阳性率(TPR,Sensitivity)和假阳性率(FPR,1-Specificity)的关系,因此,它允许我们观察模型在不同决策阈值下的性能而不受单一阈值影响,有助于我们在实际应用中根据业务需求选择合适的阈值。

(2)可以处理类别不平衡问题

        ROC曲线的一个显著优点是对类别不平衡的数据集更稳健。即使正负样本比例变化,ROC曲线形状本身不会改变,因此可以帮助我们在不同样本分布下公平地比较不同模型的性能。

(3)直观全面且易于比较

        ROC曲线提供了一个可视化工具,可以直观地比较不同分类器在区分正负样本上的整体能力。方便在同一坐标系下比较多个分类器的性能,只需查看它们各自的曲线位置及AUC值即可判断哪一个分类器性能更好。(关于AUC后续我还会单独出一篇文章来讲讲)

直观比较模型

        图中可以直观的看出,红色的模型(二分类器)分类效果最好!

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

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

相关文章

Centos上安装Harbor并使用

harbor的安装与使用 Harbor介绍安装前的准备工作为Harbor自签发证书安装Harbor安装docker开启包转发功能和修改内核参数安装harbor扩展 Harbor 图像化界面使用说明测试使用harbor私有镜像仓库从harbor仓库下载镜像 Harbor介绍 容器应用的开发和运行离不开可靠的 镜像管理&…

STM32 CAN的工作模式

STM32 CAN的工作模式 正常模式 正常模式下就是一个正常的CAN节点,可以向总线发送数据和接收数据。 静默模式 静默模式下,它自己的输出端的逻辑0数据会直接传输到它自己的输入端,逻辑1可以被发送到总线,所以它不能向总线发送显性…

linux centos 安装jenkins,并构建spring boot项目

首先安装jenkins,使用war包安装,比较简单,注意看下载的版本需要的JDK版本,官网下载https://www.jenkins.io/download/ 把下载好的war包放到服务器上,然后运行,注意8080端口的放行 # 前台运行并指定端口 ja…

智能优化算法 | Matlab实现PID搜索算法(PSA)(内含完整源码)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现PID搜索算法(PSA)(内含完整源码) 源码设计 %%%% clc clear close all %%%% Fun_name=F12; % Fun_name of

后端Jwt实现Token编码、解码以及axios的request请求头的Token传输方式

目录 一、什么是JWT: 二、Jwt的使用: 第一步:引入依赖: 第二步:配置拦截器:JwtInterceptor.java: 其中异常文件ServiceException配置如下: 全局异常文件GlobalException.java文…

海康威视-AIOT的业务转型

海康威视的转型和定位为智能物联网(AIoT)解决方案和大数据服务的提供商。 公司不仅仅聚焦于其核心的视频监控业务,而且正在积极拓展到新的技术领域和市场。通过专注于物联感知、人工智能、大数据等技术的创新,对未来技术发展方向的…

增强现实(AR)在广告中的力量

The Power of AR in Advertising 写在前面 增强现实(AR -Augmented Reality)是指借助软件、应用程序和智能手机、平板电脑或耳机等设备,为日常生活添加视觉和音频元素的技术。如今,品牌和广告商可以在营销活动中使用AR&#xff0…

车道线检测论文:《Ultra Fast Structure-aware Deep Lane Detection》

该论文标题为《Ultra Fast Structure-aware Deep Lane Detection》,作者是浙江大学计算机科学与技术学院的Zequn Qin、Huanyu Wang和Xi Li。论文提出了一种新颖的、简单而有效的车道检测方法,旨在解决具有挑战性场景下的车道检测问题,并实现极…

CentOS系统部署YesPlayMusic播放器并实现公网访问本地音乐资源

文章目录 1. 安装Docker2. 本地安装部署YesPlayMusic3. 安装cpolar内网穿透4. 固定YesPlayMusic公网地址 本篇文章讲解如何使用Docker搭建YesPlayMusic网易云音乐播放器,并且结合cpolar内网穿透实现公网访问音乐播放器。 YesPlayMusic是一款优秀的个人音乐播放器&am…

idea使用token方式登录GitHub

总体上分为两大步:1.GitHub生成token。2.idea配置token登录GitHub。 注:idea配置GitHub的前提是本地已经安装了git程序。 一、GitHub生成token 1.登录GitHub 2.进入token创建页面(右上角点击头像–>settings–>页面向下滚动左侧菜单栏…

网络上常见的环路指的是什么

人类的创造力与破坏力同样强大"。 网路互通,同样也衍生出纷繁复杂的路由协议和各种因特网服务,以及"网络安全"这个庞大的领域。 这也是为什么说当今所有的网络通讯流量中,80%的资源都被浪费,只有20%被用以有效数…

网络安全实训Day8

写在前面 网络工程终于讲完了。这星期到了网络安全技术部分。 网络安全实训-网络安全技术 网络安全概述 信息安全:所有保障计算机硬件、系统、软件、数据不因有意或无意的行为导致的服务中断、数据损坏或丢失等安全事件的保障技术 网络安全:基于计算机…

CSS的特殊技巧

1.精灵图 使用精灵图核心总结: 1. 精灵图主要针对于小的背景图片使用。 2. 主要借助于背景位置来实现--- background-position 。 3. 一般情况下精灵图都是负值。(千万注意网页中的坐标: x轴右边走是正值,左边走是负值&#xf…

Unity 中 苹果眼镜开发入口

1. 文档介绍了Unity对Apple新操作系统visionOS的支持。 2. Unity提供了完善的文档、模板和支持,帮助开发者快速为visionOS开发应用。 3. Unity的跨平台框架AR Foundation和XR Interaction Toolkit可以帮助现有移动和XR应用无缝迁移到visionOS。 4. 在visionOS上,可以利用Uni…

Python 从0开始 一步步基于Django创建项目(3)使用Admin site管理数据模型

本文内容建立在《Python 从0开始 一步步基于Django创建项目(2)创建应用程序&数据模型》的基础上。 Django提供的admin site,使得网站管理员,能够轻松管理网站的数据模型。 本文首先创建‘管理员账户’,即超级用户…

超快的 AI 实时语音转文字,比 OpenAI 的 Whisper 快4倍 -- 开源项目 Faster Whisper

faster-whisper 这个项目是基于 OpenAI whisper 的模型,在上面的一个重写。 使用的是 CTranslate2 的这样的一个库,CTranslate2 是用于 Transformer 模型的一个快速推理引擎。 在相同精度的情况下,faster-whisper 的速度比 OpenAI whisper …

【2024第十二届“泰迪杯”数据挖掘挑战赛】B题基于多模态特征融合的图像文本检索—解题全流程(持续更新)

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛B题 解题全流程(持续更新) -----基于多模态特征融合的图像文本检索 一、写在前面: ​ 本题的全部资料打包为“全家桶”, “全家桶”包含:数据、代码、模型、结果csv、教程…

解决淘宝镜像过期问题 ERR! request https://registry.npm.taobao.org

目录 一、问题描述 二、解决方案 2.1、针对于域名更换解决方案 2.2、针对于证书过期解决方案 三、进行测试 一、问题描述 针对于2022年5月31号和2024年1 月 22 日前的前端项目 npm.taobao.org和旧域名于2021年官方公告域名更换事件,已于2022年05月31日零时起…

【Node.js】全局变量和全局 API

node 环境中没有 dom 和 bom ,此外 es 基本上都是可以正常使用的。 如果一定要使用 dom 和bom,可以借助第三方库 jsdom 帮助我们实现操作。npm i jsdom 实例: const fs require(node:fs) const {JSDOM} require(jsdom)const dom new JS…

刷题日记——还是BFS

题目——奇怪的电梯&#xff08;simplified BFS&#xff09; 分析 这题是简化的BFS&#xff08;我一遍就AC了<夸夸自己~~>&#xff09;&#xff0c;照搬之前分析BFS的思路&#xff0c;需要定义这些数据结构&#xff1a; 结构体position&#xff1a;当前位置信息&#x…