成为AI产品经理——TPR、FPR、ROC、AUC
目录
一、PR图、BEP
1.PR图
2.BEP
二、灵敏度、特异度
1.灵敏度
2.特异度
三、真正率、假正率
1.真正率
2.假正率
三、ROC、AUC
1.ROC
2.AUC
四、KS值
一、PR图、BEP
1.PR图
二分类问题模型通常输出的是一个概率值,我们需要设定一个阈值,让大于这个阈值的时候为正样本,其余的为负样本。
如果我们选择不同的阈值,我们就可以得到不同的预测结果,也就可以得到不同的混淆矩阵,从而得到不同的precision值和recall值。P-R图是我们在连续变化的阈值下,得到的准确率和召回率的关系。(召回率作为横轴,将精确率作为纵轴)。

PR 图主要有以下用途:
-
权衡 Precision 和 Recall: PR 图帮助我们直观地理解在不同阈值下模型的 Precision 和 Recall 的权衡关系。这对于某些应用中 Precision 和 Recall 之间存在权衡关系的情况非常重要,例如在医学领域的疾病诊断中,我们可能更关注 Recall,以确保尽可能多地捕获患者的真实病情。
-
评估样本不平衡: 当数据集中的类别不平衡时,PR 图比 ROC 曲线更能准确地反映模型性能。在样本不平衡的情况下,ROC 曲线可能给出过于乐观的评估,而 PR 图更能反映模型在正类别上的性能。
-
选择适当的阈值: PR 图可以帮助选择适当的分类阈值,以满足特定任务的需求。根据应用场景,我们可能更关注 Precision 或 Recall,通过观察 PR 图可以更好地理解不同阈值下的模型表现。
-
比较模型性能: PR 图可用于比较不同模型的性能。具体来说,我们可以比较不同模型在保持较高 Precision 的同时实现较高 Recall 的能力,或者根据实际需求调整模型的阈值。
下图A模型的曲线完全包住C模型的曲线,我们就说A模型比C模型的效果好;
B模型的曲线完全包住C模型的曲线,我们就说B模型比C模型的效果好;
但是A模型和B模型的曲线有交叉,我们使用BEP进行比较。

2.BEP
BEP是精确率和召回率的平衡点,P=R时,那一条线。如果,模型的PR曲线有交叉,我们可以根据BEP来判断模型的好坏。
BEP过于简单,我们常用F1值来比较模型。F1值是考虑了召回率和精确率的一个计算指标。
二、灵敏度、特异度
1.灵敏度
灵敏度的计算公式为:
灵敏度
灵敏度是在实际的正样本中,能够找到正样本的能力。 它和召回率的公式一样,它就是召回率。
2.特异度
特异度的计算公式为:
特异度
特异度是指在实际所有的负样本中,找到正确负样本的能力。
三、真正率、假正率
1.真正率
真正率=召回率=灵敏度
真正率的含义是在所有实际的正样本下识别为正样本的概率。
2.假正率
误判率 = 假正率 = 1 - 特异度 =
因为特异度是在实际的负样本中找到负样本的能力,1-特异度就代表它在所有实际的负样本中找正样本的能力,那这肯定不对啦,在负样本中怎么能找到正样本呢?所有这些正样本是错误的正样本。所以我们把这个概率也叫做假正率。
在我们实际工作中,为了避免样本对于精确率和召回率的影响,可以使用TPR和FPR。
三、ROC、AUC
1.ROC
ROC曲线是我们在连续变化的阈值下,生成不同的正负样本,对应出不同的混淆矩阵,得到不同的TPR和FPR值所绘制出来的一条曲线,它表示TPR和FPR的关系。

图中有一条绿色的直线,这条绿的直线代表真正率和假正率概率一样,也就是这种分类概率和我们随机猜的概率一样,模型效果差,不能用。越靠近这条直线,模型效果越差,这条绿色直线下面的是指,绝大多数情况下,模型的正样本都预测错了,根本不能用。
我们希望的是,真正率高,假正率低,也就是靠近左上方(0,1)的位置,此时真正率接近于1,假正率接近于0
2.AUC
AUC是ROC曲线下面的面积,在绿色直线处,总面积1被一分为二,我们需要直线上面部分的面积,这一部分面积的值为0.5-1,小于0.5不能用。
- 0.5 - 0.7:效果较低
- 0.7 - 0.85:效果一般
- 0.85 - 0.95:效果很好
- 0.95 - 1:效果非常好,一般不可能。要对这个结果持怀疑态度,进一步分析模型的准确性。
四、KS值
横坐标为在连续的阈值变化下的正样本的个数(概率分数、模型预测数)。纵坐标为TPR和FPR。

KS为在某一阈值的正样本数(概率分数) 下,TPR-FPR的值。
KS = max(TPR - FPR)
KS用来评估模型好坏样本的区分程度,有时候人们会把0.6的KS值乘以100,说成60,也正确。
KS值的业务标准如下:
- KS<20:欠拟合,模型不具备可用性
- KS>20 & KS<30:模型可用
- KS>30 & KS<40 :模型预测能力优秀
- KS>40:模型区分度很高。我们需要对这个结果持怀疑态度,进一步分析模型的准确性。
上边的业务标准是刘老师给出的,下面这个是网上大部分资料给出的。
- KS: <20% : 差
- KS: 20%-40% : 一般
- KS: 41%-50% : 好
- KS: 51%-75% : 非常好
- KS: >75% : 过高,需要谨慎的验证模型
业务标准根据不同的业务场景而调整,并不是一个统一的值。
如果模型的AUC或KS值很高,并不是一件好事情。我们要进一步分析模型的准确性,避免是因为数据不准确导致的。
五、总结

准确率,精准率,召回率,真正率,假正率,ROC/AUC-CSDN博客
参考文献: 刘海丰——《成为AI产品经理》
声明:本文是对于刘海丰老师《成为AI产品经理》课程重点的总结,自用,请勿传播。
相关文章:
成为AI产品经理——TPR、FPR、ROC、AUC
目录 一、PR图、BEP 1.PR图 2.BEP 二、灵敏度、特异度 1.灵敏度 2.特异度 三、真正率、假正率 1.真正率 2.假正率 三、ROC、AUC 1.ROC 2.AUC 四、KS值 一、PR图、BEP 1.PR图 二分类问题模型通常输出的是一个概率值,我们需要设定一个阈值ÿ…...
java: Internal error in the mapping processor: java.lang.NullPointerException
启动java项目出错,其他人工程没有问题,别着急。 java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.j…...
TCP知识点
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议,广泛应用于互联网。下面是TCP的一些知识点: TCP是一种可靠的协议,采用三次握手建立连接和四次挥手断开…...
大语言模型(LLMs)在 Amazon SageMaker 上的动手实践(一)
本期文章,我们将通过三个动手实验从浅到深地解读和演示大语言模型(LLMs),如何结合 Amazon SageMaker 的模型部署、模型编译优化、模型分布式训练等。 实验一:使用 Amazon SageMaker 构建基于开源 GPT-J 模型的对话机器…...
顶级数据恢复工具—— 最全的15个数据恢复软件榜单
在这个信息为王的数字时代,关键数据的丢失对个人和企业来说都可能是灾难性的。无论是由于意外删除、硬件故障还是恶意攻击,拥有强大的数据恢复解决方案都是至关重要的。在本综合指南中,我们将探索市场上最好的数据恢复软件,包括顶…...
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解前言Inception-ResNet讲解Inception-ResNet-V1Inception-ResNet-V2残差模块的缩放(Scaling of the Residuals)Inception-…...
Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏
deepin-terminal 安装 源里面自带了这个软件,可以直接装 sudo apt install deepin-terminal 启动 按下Win键,输入deep即可快速检索出图标,点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口࿰…...
HTTP协议,Web框架回顾
HTTP 请求协议详情 -请求首行---》请求方式,请求地址,请求协议版本 -请求头---》key:value形式 -referer:上一次访问的地址 -user-agenet:客户端类型 -name:lqz -cookie&…...
el-checkbox 对勾颜色调整
对勾默认是白色 改的时候一直在试着改color人,其实不对。我用的是element ui 的复选框 /* 对勾颜色调整 */ .el-checkbox__inner::after{/* 是改这里的颜色 */border: 2px solid #1F7DFD; border-left: 0;border-top: 0;}...
系统管理精要:深度探索 Linux 监控与管理利器
前言 系统管理在 Linux 运维中扮演着至关重要的角色,涵盖了系统的配置、监控和维护。了解这些方面的工具和技术对于确保系统稳定运行至关重要。本文将着重介绍系统管理的关键部分,包括配置系统、监控系统状态和系统的日常维护,并以 top 和 vm…...
vue3之echarts渐变柱状图
vue3之echarts渐变柱状图 效果: 核心代码: <template><div class"abnormal"><div class"chart" ref"chartsRef"></div></div> </template><script setup> import * as echa…...
有一种浪漫,叫接触Linux
大家好,我是五月。 嵌入式开发 嵌入式开发产品必须依赖硬件和软件。 硬件一般使用51单片机,STM32、ARM,做成的产品以平板,手机,智能机器人,智能小车居多。 软件用的当然是以linux系统为蓝本,…...
构建 App 的方法
目录 构建 App 使用 App 设计工具以交互方式构建 App 使用 MATLAB 函数以编程方式构建 App 构建实时编辑器任务 可以使用 MATLAB 来构建可以集成到各种环境中的交互式用户界面。可以构建两种类型的用户界面: App - 基于用户交互执行操作的自包含界面 实时编辑器…...
laravel实现发送邮件功能
Laravel提供了简单易用的邮件发送功能,使用SMTP、Mailgun、Sendmail等多种驱动程序,以及模板引擎将邮件内容进行渲染。 1.在项目目录.env配置email信息 MAIL_MAILERsmtp MAIL_HOSTsmtp.qq.com MAIL_PORT465 MAIL_FROM_ADDRESSuserqq.com MAIL_USERNAME…...
概要设计检查单、需求规格说明检查单
1、概要设计检查表 2、需求规格说明书检查表 概要(结构)设计检查表 工程名称 业主单位 承建单位 检查依据 1、设计方案、投标文件;2、合同;3、信息系统相关技术标准及安全规范; 检查类目 检查内容 检查…...
达梦列式存储和clickhouse基准测试
要验证达梦BigTable和ClickHouse的性能差异,您需要进行一系列基准测试。基准测试通常包括多个步骤,如准备测试环境、设计测试案例、执行测试、收集数据和分析结果。以下是您可以遵循的一般步骤: 准备测试环境: 确保两个数据库系统…...
【Web】NewStarCtf Week2 个人复现
目录 ①游戏高手 ②include 0。0 ③ez_sql ④Unserialize? ⑤Upload again! ⑥ R!!C!!E!! ①游戏高手 经典前端js小游戏 检索与分数相关的变量 控制台直接修改分数拿到flag ②include 0。0 禁了base64和rot13 尝试过包含/var/log/apache/access.log,ph…...
Python实现Windows服务自启动、禁用、启动、停止、删除
如果一个程序被服务监管,那么仅仅kill程序是无用的,还要把服务关掉 import win32service import win32serviceutildef EnableService(service_name):try:# 获取服务管理器scm win32service.OpenSCManager(None, None, win32service.SC_MANAGER_ALL_ACC…...
【华为OD题库-043】二维伞的雨滴效应-java
题目 普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携带并落到地面,随着日积月累,地面会呈现伞坠的信息。 1、为了…...
百度手机浏览器关键词排名优化——提升关键词排名 开源百度小程序源码系统 附带完整的搭建教程
百度作为国内领先的搜索引擎,一直致力于为用户提供最优质的信息服务。在移动互联网时代,手机浏览器成为了用户获取信息的主要渠道。而小程序作为轻量级的应用程序,具有即用即走、无需下载等优势,越来越受到用户的青睐。然而&#…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
