【机器学习】PR曲线F1评分ROC曲线AUC

news2025/2/24 17:18:37

参考:《百面机器学习》

PR曲线

TP( True Positive):真正例

FP( False Positive):假正例

FN(False Negative):假反例

TN(True Negative):真反例

精确率(Precision): P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

召回率(Recall): R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

精确率(Y),也称为查准率,衡量的是分类正确的正样本个数占分类器判定为正样本的样本个数的比例

召回率(X),也称为查全率,衡量的是分类正确的正样本个数占真正的正样本个数的比例。

F1-score

F1 score是分类问题中常用的评价指标,定义为精确率(Precision)和召回率(Recall)的调和平均数。
F 1 = 2 1 P r e c i s i o n + 1 R e c a l l = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1=\frac{2}{\frac{1}{Precision}+\frac{1}{Recall}}=\frac{2×Precision×Recall}{Precision+Recall} F1=Precision1+Recall12=Precision+Recall2×Precision×Recall

F1 score 综合考虑了精确率和召回率,其结果更偏向于 Precision 和 Recall 中较小的那个。可以更好地反映模型的性能好坏,而不是像算术平均值直接平均模糊化了 Precision 和 Recall 各自对模型的影响。

补充另外两种评价方法:

加权调和平均:

上面的 F1 score 中, Precision 和 Recall 是同等重要的,而有的时候可能希望我们的模型更关注其中的某一个指标,这时可以使用加权调和平均:
F β = ( 1 + β 2 ) 1 1 P r e c i s i o n + β 2 × 1 R e c a l l = ( 1 + β 2 ) P r e c i s i o n × R e c a l l β 2 × P r e c i s i o n + R e c a l l F_{\beta}=(1+\beta^{2})\frac{1}{\frac{1}{Precision}+\beta^{2}×\frac{1}{Recall}}=(1+\beta^{2})\frac{Precision×Recall}{\beta^{2}×Precision+Recall} Fβ=(1+β2)Precision1+β2×Recall11=(1+β2)β2×Precision+RecallPrecision×Recall
β > 1 \beta > 1 β>1 时召回率有更大影响, β < 1 \beta < 1 β<1 时精确率有更大影响, β = 1 \beta = 1 β=1 时退化为 F1 score。

F2,召回率权重更高,F0.5,精确率权重更高。
(根据式子可以看出 β \beta β越大,P就可以小一些,也就是不重要)

几何平均数:
G = P r e c i s i o n × R e c a l l G=\sqrt{Precision×Recall} G=Precision×Recall

ROC曲线

真阳性率(True Positive Rate): T P R = T P P = T P T P + F N TPR =\frac{TP}{P}=\frac{TP}{TP+FN} TPR=PTP=TP+FNTP

假阳性率(False Positive Rate,FPR): F P R = F P N = F P F P + T N FPR =\frac{FP}{N}=\frac{FP}{FP+TN} FPR=NFP=FP+TNFP

真阳性率(Y),也称为灵敏度,衡量的是分类正确的正样本个数占真正的正样本个数的比例

假阳性率(X),也称为特异度,衡量的是错误识别为正例的负样本个数占真正的负样本个数的比例。

img

AUC

参考链接:AUC的计算方法及相关总结
A U C = ∑ i ∈  positiveclass  rank ⁡ i − M ( 1 + M ) 2 M × N A U C=\frac{\sum_{i \in \text { positiveclass }} \operatorname{rank}_{i}-\frac{M(1+M)}{2}}{M \times N} AUC=M×Ni positiveclass ranki2M(1+M)
AUC指的是ROC曲线下的面积大小,该值能够反映基于ROC曲线衡量出的模型性能。AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

参考链接

如何理解机器学习和统计中的AUC?

PR和ROC对比

  • 当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。

    ROC曲线能够尽量降低不同测试集带来的干扰,在正负样本不平衡时,更能反映模型本身的特性

  • 如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能。

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

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

相关文章

基于imx6ull配置开发环境

1. 交叉编译链背景&#xff1a;因为在原子的教程中有强调最新的Linaro gcc编译完uboot后无法运行的问题&#xff0c;所以原子采用4.9&#xff0c;那我们就沿用下。Linaro gcc有两个版本: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.tar.xz 和 gcc-linaro-4.9.4-20…

linux反弹备忘录

如果你有幸在渗透测试中发现了命令执行漏洞&#xff0c;那么不久之后你可能需要一个交互式shell。如果无法添加新帐户/ SSH密钥/ .rhosts文件并登录&#xff0c;则下一步可能是拖回反向shell或将shell绑定到TCP端口。 本页讨论前者。创建反向 shell 的选项受到目标系统上安装的…

【阶段三】Python机器学习05篇:机器学习项目实战:逻辑回归模型

本篇的思维导图: 要对离散变量进行预测,则要使用分类模型。分类模型与回归模型的区别在于其预测的变量不是连续的,而是离散的一些类别,例如,最常见的二分类模型可以预测一个人是否会违约、客户是否会流失、肿瘤是良性还是恶性等。逻辑回归模型虽然名字中有“回归…

Neural-Pull曲面重建程序配置

前几天一篇曲面重建文章的审稿意见回来了&#xff0c;要求加近三年对比方法。在github上搜了一些项目&#xff0c;大部分的环境都很难配置成功。最后找了一个ICML2021年的点云重建项目[1]作为实验对比。 项目链接&#xff1a;mabaorui/NeuralPull-Pytorch 整体来说&#xff0…

SpringBoot 多种方式配置错误页面

参考资料 SpringBoot异常处理机制-BasicErrorController与ControllerAdviceJava开发从工作到原理–BasicErrorController统一异常处理【spring boot】spring boot 处理异常SpringBoot一个请求的处理全过程ControllerAdvice和ErrorPageRegistrar接口配置错误页面的问题SpringBo…

【Linux操作系统】自动化编译make和Makefile

文章目录一.make/makefile简介1.什么是make,makefile?2.为什么要有make/makefile?二.makefile文件规则1.基本规则2.举一个例子3.伪目标4.其他规则三.文件三个时间问题-make程序1.三个时间何时更新2.touch的两个作用3.make程序如何知道依赖文件是否更新?一.make/makefile简介…

手写Srping11(实现AOP切面)

文章目录目标设计项目结构一、代理方法的案例二、代理方法案例拆解实现1、切点表达式——Pointcut2、类匹配器——ClassFilter3、方法匹配器——MethodMatcher4、实现切点表达式类——AspectJExpressionPointcut4.1、匹配验证5、包装切面信息——AdvisedSupport5.1、被代理的目…

Zynq PS之MIO、EMIO调试

目录 原理框图 Vivado中添加&配置Zynq UltraScale MPSoc IP UART设置&#xff08;仅用于调试&#xff0c;非必需&#xff09; MIO、EMIO设置 DDR配置 执行Generate Output Products 执行Create HDL Wrapper 执行File -> Export ->Export Hardware 执行Launch S…

Springboot中配置文件application.yaml的位置

文章目录位置一&#xff1a;整个项目的config包下位置二&#xff1a;整个项目的根目录下位置三&#xff1a;resources文件夹下config包中位置四&#xff1a;resources文件夹下四个位置的优先级位置一&#xff1a;整个项目的config包下 前些天发现了一个巨牛的人工智能学习网站&…

SQL优化实战-0002:select查询不建议使用星号(select *),最好指定具体查询字段

文章目录1.查询时的普遍写法2.问题分析2.1 计算负担2.2 IO负担2.3 覆盖索引失效2.4 缓存压力3.总结1.查询时的普遍写法 select * from the_table_name where ...2.问题分析 2.1 计算负担 数据库需要去解析更多的对象字段、权限、属性&#xff0c;查询数据字典将"*"…

dp刷题(二)分割回文串(详细推导+O(N^3)=>O(N^2)优化)

目录 分割回文串-ii_牛客题霸_牛客网 ​编辑 描述 示例1 思路 状态F(i)&#xff1a;即为第i个字符时所需要切割的最小次数 状态转移方程&#xff1a;F(i) min(F(i), F(j)1) 优化&#xff1a; 注意点 分割回文串-ii_牛客题霸_牛客网 描述 给出一个字符串s&#xff0…

Android---Bottom Sheet

目录​​​​​​​ Bottom Sheet BottomSheetBehavior BottomSheetDialog 完整 Demo Bottom Sheet Bottom Sheet 是 Design Support Library 23.2 版本引入的一个类似于对话框的控件&#xff0c;可以暂且叫做底部弹出框。Bottom Sheet 中的内容默认是隐藏起来的&#xff0…

Python爬虫登录后token处理

今天继续给大家介绍Python爬虫相关知识&#xff0c;本文主要内容是Python爬虫登录后token处理。 一、网页token及token作用 在上文Python爬虫登录后cookie处理中&#xff0c;我们介绍过使用使用Python爬虫解决cookie及网页登录访问问题。 然而&#xff0c;有的网站&#xff0…

一文读懂Linux内核进程及调度时机原理

前言0.1 进程概要进程是对物理世界的建模抽象&#xff0c;每个进程对应一个 task_struct 数据结构&#xff0c;这个数据结构包含了进程的所有的信息。在 Linux 内核中&#xff0c;不会区分线程和进程的概念&#xff0c;线程也是通过进程来实现的&#xff0c;线程和进程的唯一区…

Leetcode:257. 二叉树的所有路径(C++)

目录 问题描述&#xff1a; 实现代码与解析&#xff1a; 递归&#xff1a; 原理思路&#xff1a; 迭代&#xff08;前序&#xff09;&#xff1a; 思路原理&#xff1a; 问题描述&#xff1a; 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有…

计算机网络第一章

目录 1.概念 2.标准化工作及其相关组织 3.速率相关的性能指标 4.分层的基本原则&#xff1a; 5.参考模型 1.OSI七层参考模型 2.TCP/IP参考模型 3.五层参考模型 1.概念 计算机网络是网络中的一个分支&#xff0c;组成包括了计算机系统&#xff0c;通信设备&#xff0c;线路…

app逆向 || xx合伙人登陆参数

声明 本文仅供学习参考&#xff0c;如有侵权可私信本人删除&#xff0c;请勿用于其他途径&#xff0c;违者后果自负&#xff01; 如果觉得文章对你有所帮助&#xff0c;可以给博主点击关注和收藏哦&#xff01; 本文适用于对安卓开发和Java有了解的同学 前言 本人最近一直在…

学习笔记5:关于操作符与表达式的求值

目录​​​​​​​ 一.移位操作符 1.左移操作符 2.右移操作符 二.位操作符 1.位运算基本知识 2.位运算的巧妙运用 三.其他操作符 1.算术操作符 2.单目操作符 3.关于逻辑操作符 四.表达式求值 隐式类型转换 (1)整形提升(短整型家族数据的二进制序列补位转换) (2).算…

【最新】SpringBoot集成Dubbo3

最近在学习dubbo&#xff0c;构建一个简单的springboot集成dubbo&#xff0c;中间也是出了好多问题&#xff0c;在这记录下整体的过程。 1. 构建SpringBoot环境 一个简单的聚合工程 dubbo-consumer&#xff1a;是服务消费方dubbo-provider&#xff1a;是服务提供方dubbo-inte…

机器学习笔记之前馈神经网络(二)非线性问题

机器学习笔记之前馈神经网络——非线性问题引言回顾&#xff1a;关于非线性问题解决非线性问题的三种方式引言 上一节介绍了从机器学习到深度学习的过渡&#xff0c;并介绍了深度学习的发展过程。本节将主要介绍如何使用神经网络处理非线性问题 回顾&#xff1a;关于非线性问…