当前位置: 首页 > news >正文

(done) ROC曲线 和 AUC值 分别是什么?

来源:https://www.bilibili.com/video/BV1wz4y197LU/?spm_id_from=333.337.search-card.all.click&vd_source=7a1a0bc74158c6993c7355c5490fc600


在二分类问题下,我们的模型通常会输出一个 概率值,通过判断 概率值 和 阈值threshold 的大小,来判断一个样本是正例还是负例。如下图所示。
在这里插入图片描述

通过取 (0, 1) 的不同阈值threshold,我们可以得到许多不同的混淆矩阵
在这里插入图片描述

那么,有一个问题:
在这里插入图片描述

有的,答案就是:
在这里插入图片描述

如下图是 ROC 曲线的示例:
两个概念:
1.TPR (True Positive Rate): TPR = (TP) / (TP + FN) 意思是:真正例占所有正例的比率,也就是 recall 召回率
2.FPR (False Positive Rate): FPR = (FP) / (FP + TN) 意思是:假正例占所有负例的比率,可以理解为出错的概率(似乎没有其它转有名词)
每一个混淆矩阵,我们都可以求出一对 (TPR, FPR)。当我们有很多个混淆矩阵时,我们就有很多对 (TPR, FPR),那么此时就可以在二维平面上画下如下图的曲线。
在这里插入图片描述

把这个 ROC 曲线的计算方法放到之前的 “汉堡分类” 问题上,如下是计算后得到的 ROC 曲线
在这里插入图片描述

TPR 可以理解为 “正确率”
FPR 可以理解为 “错误率”
因此,越好的分类器,TPR越高,FPR越低
在下图中可以看到 A B 两条 ROC 曲线,ROC曲线越靠近左上角的分类器越好
如下图,分类器B的 ROC曲线更加靠近左上角,因此分类器B是更好的分类器
在这里插入图片描述

如果使用数值而不是图片来表示 性能,那么我们可以使用 ROC 曲线和横轴之间的面积来表示 分类器性能
如下图,棕色AUC 和 蓝色AUC 分别表示 棕色曲线 和 蓝色曲线 和横轴之间的面积
在这里插入图片描述

如果 N 分类,怎么计算 AUC 呢?
这里有 macro宏观AUC 和 micro微观AUC
macro宏观AUC:针对每个类别求一个 ROC 曲线,求对应的 AUC 值,随后针对所有类别的 AUC 值求某种平均
micro微观AUC:假设概率预测结果如下图上表所示 (样本1是类别C1的概率是 P(1,1) …) (橙色表示样本1的真实类别)
我们可以把下图上表转换成下图下表
下图下表看起来就是一个二分类问题
我们可以使用下图下表来获取一个新的针对整个模型的 ROC 曲线以及相应的 AUC 值
在这里插入图片描述

相关文章:

  • 奥特曼回应GPT5
  • Mysql设计规范
  • 更高效的反射调用方式被我找到了!
  • Apollo(阿波罗)配置中心
  • 粗糙度对应表,觉得挺实用
  • python编程之黑洞文件
  • HCIA——TCP协议详解
  • Docker镜像操作
  • 【翻译】Attentive Pooling Networks
  • web学习笔记(四十)
  • 录视频的软件推荐,助力视频内容创作
  • [Django 0-1] Core.Email 模块
  • MacOS安装Homebrew教程
  • 力扣---完全平方数
  • iOS常见崩溃简介
  • 「译」Node.js Streams 基础
  • 【node学习】协程
  • JAVA 学习IO流
  • k个最大的数及变种小结
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • node入门
  • python 装饰器(一)
  • Redis的resp协议
  • 什么软件可以剪辑音乐?
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 用jquery写贪吃蛇
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #DBA杂记1
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • %check_box% in rails :coditions={:has_many , :through}
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (39)STM32——FLASH闪存
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .naturalWidth 和naturalHeight属性,
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net6Api后台+uniapp导出Excel
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET成年了,然后呢?
  • .Net中wcf服务生成及调用
  • .sys文件乱码_python vscode输出乱码
  • @Transaction注解失效的几种场景(附有示例代码)
  • [CISCN2019 华东南赛区]Web11
  • [HNCTF 2022 WEEK2]easy_include 文件包含遇上nginx
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • [LeetCode]Balanced Binary Tree
  • [lesson17]对象的构造(上)
  • [Lucene] Lucene 全文检索引擎简介
  • [mmucache]-ARMV8-aarch64的虚拟内存(mmutlbcache)介绍-概念扫盲
  • [Python]Selenium-自动化测试