加权准确率WA,未加权平均召回率UAR和未加权UF1

加权准确率WA,未加权平均召回率UAR和未加权UF1

  • 1.加权准确率WA,未加权平均召回率UAR和未加权UF1
  • 2.参考链接

1.加权准确率WA,未加权平均召回率UAR和未加权UF1

from sklearn.metrics import classification_report
from sklearn.metrics import precision_recall_curve, average_precision_score,roc_curve, auc, precision_score, recall_score, f1_score, confusion_matrix, accuracy_scoreimport torch
from torchmetrics import MetricTracker, F1Score, Accuracy, Recall, Precision, Specificity, ConfusionMatrix
import warnings
warnings.filterwarnings("ignore")  # 忽略告警pred_list  =  [2, 0, 4, 1, 4, 2, 4, 2, 2, 0, 4, 1, 4, 2, 2, 0, 4, 1, 4, 2, 4, 2]
target_list = [1, 1, 4, 1, 3, 1, 2, 1, 1, 1, 4, 1, 3, 1, 1, 1, 4, 1, 3, 1, 2, 1]print(classification_report(target_list, pred_list))# Accuracy # WA(weighted accuracy)加权准确率,其实就是我们sklearn日常跑代码出来的acc
# 在多分类问题中,加权准确率(Weighted Accuracy)是一种考虑每个类别样本数量的准确率计算方式。
# 对于样本不均衡的情况,该方式比较适用。其计算方式是将每个类别的准确率乘以该类别在总样本中的比例(权重),然后求和。
test_acc_en = Accuracy(task="multiclass",num_classes=5, threshold=1. / 5, average="weighted")# Recall macro表示加权的
# UAR(unweighted average recall)未加权平均召回率
# 是一种性能评估指标,主要用于多分类问题。它表示各类别的平均召回率(Recall),在计算时,不对各类别进行加权。对于每个类别,召回率是该类别中真正被正确预测的样本数与该类别中所有样本数的比值。
# UAR在评估一个分类器时,对每个类别都给予相同的重要性,而不考虑各类别的样本数量。这使得UAR在处理不平衡数据集时具有一定的优势,因为它不会受到数量较多的类别的影响。
test_rcl_en = Recall(task="multiclass",num_classes=5, threshold=1. / 5, average="macro") # UAR# F1 score
# F1分数是精确率(Precision)和召回率(Recall)的调和平均值。
# 在多分类问题中,通常会计算每个类别的F1分数,然后取平均值作为总体的F1分数。
# 平均方法可以是简单的算术平均(Macro-F1)(常用),也可以是根据每个类别的样本数量进行加权的平均(Weighted-F1)
test_f1_en = F1Score(task="multiclass", num_classes=5, threshold=1. / 5, average="macro") # UF1preds  = torch.tensor(pred_list)
target = torch.tensor(target_list)
print("sklearn vs torchmetrics: ")
print("Accuracy-W_ACC")
print(accuracy_score(y_true=target_list, y_pred=pred_list))
print(test_acc_en(preds, target))print("recall-UAR")
print(recall_score(y_true=target_list,y_pred=pred_list,average='macro')) # 也可以指定micro模式
print(test_rcl_en(preds, target))print("F1-score-UF1")
print(f1_score(y_true=target_list, y_pred=pred_list, average='macro'))
print(test_f1_en(preds, target))

在这里插入图片描述

2.参考链接

  1. 一文看懂机器学习指标:准确率、精准率、召回率、F1、ROC曲线、AUC曲线
  2. 多分类中TP/TN/FP/FN的计算
  3. 多分类中混淆矩阵的TP,TN,FN,FP计算
  4. TP、TN、FP、FN超级详细解析
  5. 一分钟看懂深度学习中的准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP
  6. 深度学习评价指标简要综述
  7. 深度学习 数据多分类准确度 多分类的准确率计算
  8. Sklearn和TorchMetrics计算F1、准确率(Accuracy)、召回率(Recall)、精确率(Precision)、敏感性(Sensitivity)、特异性(Specificity)
  9. 【PyTorch】TorchMetrics:PyTorch的指标度量库

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

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

相关文章

response.setcontenttype用法详解

response.setcontenttype用法详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们一起来探讨一下在Java Web开发中常用的response.setConten…

2018年AMC8数学竞赛真题的典型考点和详细解析

从战争中学习战争最有效。前几天,六分成长分析了2023年、2022年、2020、2019年的AMC8的典型考题、考点和详细答案解析。今天继续为大家分享2018年的AMC8的五道典型考题。 欢迎您查看历史文章了解之前各年的真题解析,本系列会持续更新,直到大家…

【2.5w字吐血总结 | 新手必看】全网最详细MySQL笔记

写在前面 鉴于全网MySQL知识点的总结分散难懂、良莠不齐,为了避免初学者少走弯路,更好更快地掌握MySQL知识,博主特地将自己所学的笔记分享出来。 如果想深度理解掌握MySQL,欢迎订阅专栏:MySQL进阶之路【秋说】&#…

王世军:铁笔翰墨染丹青 九峰冠华传千古

鸡是十二生肖中一员,在民间过年时常被剪成窗花,贴于窗户大门上。为表达人们对鸡的喜爱,将正月初一定为“鸡日”,鸡谐音“吉”,意为大吉大利,讨个好彩头。鸡又为“五德之君”,鸡的五德谓之文、武…

【改进YOLOv8】生猪胖瘦评价分级系统:可重参化EfficientRepBiPAN优化Neck

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义: 随着计算机视觉和深度学习的快速发展,目标检测成为了计算机视觉领域的一个重要研究方向。目标检测的目标是在图像或视频中准确地识别和定…

swing快速入门(十五)

注释很详细,直接上代码 上一篇 新增内容 1.文件对话框(保存文件) 2.文件对话框(打开文件) import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;public class swing_tes…

Linux 中使用 docker 安装 Elasticsearch 及 Kibana

Linux 中使用 docker 安装 Elasticsearch 及 Kibana 安装 Elasticsearch 和 Kibana安装分词插件 ik_smart 安装 Elasticsearch 和 Kibana 查看当前运行的镜像及本地已经下载的镜像,确认之前没有安装过 ES 和 Kibana 镜像 docker ps docker images从远程镜像仓库拉…

京东大数据-10月京东咖啡机市场销售数据分析-销售额增长41%,德龙等海外头部品牌店铺数据分析

如今,咖啡已经成为了人们日常生活中流行的生活饮品之一,消费量较大。随着咖啡的受众人群越来越多,消费者们对咖啡品质的要求也愈来愈高,而咖啡品质除了受咖啡豆质量影响外,还受制作过程中煮泡时间、水温和物料数量等因…

【学习笔记】Linux(基础知识)

第1章 Linux概况 1.1 Linux起源 四个重要的支柱: ①Unix操作系统; ②Minix操作系统; ③GNU计划; ④Internet网络。 1. Unix操作系统 UNIX的诞生 1971年,用汇编语言首先开发成功16位UNIX系统 1973年,用C语言重写了UNIX系统 创始人:Ken Thompson & Dennis Ritch…

KSP实战-使用ksp AutoService为SPI自动生成配置文件

AutoService AutoService KSP annotation processor 简介 AutoService是自动为Service Provider Interface(SPI)生成 META-INF/services 配置的高性能KSP注解处理器插件; 效果如图: 背过Java面试题的应该都知道SPI&#xff0c…

牛客小白月赛83

A-小天的金银铜铁_牛客小白月赛83 (nowcoder.com) AC代码: #include<bits/stdc.h> #define endl \n //#define int long long using namespace std; int a,b,c,d,e; int A,B,C,D; void solve() {cin>>a>>b>>c>>d>>e;cin>>A>>…

【c语言】【visual studio】动态内存管理,malloc,calloc,realloc详解。

引言&#xff1a;随着大一期末的到来&#xff0c;想必许多学生都学到内存的动态管理这一部分了&#xff0c;看望这篇博客后&#xff0c;希望能解除你心中对这一章节的疑惑。 (・∀・(・∀・(・∀・*) 1.malloc详解 malloc的头文件是#include <sdtlib.h>,malloc - C Ref…

【C语言】——认识指针变量和地址,以及指针变量类型的意义

&#x1f3a5; 岁月失语唯石能言的个人主页 &#x1f525;个人栏专&#xff1a;秒懂C语言 ⭐若在许我少年时&#xff0c;一两黄金一两风 目录 前言 一、指针变量和地址 1.1 取地址操作符&#xff08;&&#xff09; 1.2 指针变量和解引用操作符&#xff…

Linux上使用HTTP协议进行数据获取的实战示例

嗨&#xff0c;Linux爱好者们&#xff0c;今天我们要一起探讨一下如何在Linux上进行HTTP协议的数据获取。这不是一项简单的任务&#xff0c;但放心&#xff0c;我会以最简单的语言&#xff0c;结合实例来给大家讲解。 首先&#xff0c;我们需要一个工具&#xff0c;那就是curl…

Java 锁的优化

Java锁的优化主要包括以下几个方面&#xff1a; 锁优化&#xff1a; 锁优化主要是通过减少锁的粒度和缩小锁的范围来提高性能。锁优化的方法有&#xff1a; 减少锁的粒度&#xff1a;将大对象拆分成小对象&#xff0c;这样可以减少锁的竞争&#xff0c;提高并发性能。缩小锁…

Git 生成系统公私钥

windows下如何生成公钥和私钥 首先Windows操作系统需要安装git.安装完成后,再到任意的文件夹内,点击右键.选择git bash here打开之后,输入ssh-keygen,一路按enter键.全部结束后,再到C:\Users\Administrator\.ssh 文件夹下,打开id_rsa.pub文件,复制文件内的公钥. 注意:.ssh是隐…

“Java已死、前端已凉”?尊嘟假嘟?

一、为什么会出现“Java已死、前端已凉”的言论 “Java已死、前端已凉”的言论出现&#xff0c;主要是由于以下几个原因&#xff1a; 技术更新迅速&#xff1a;随着互联网技术的发展&#xff0c;新的编程语言和技术不断涌现。Java和前端技术作为广泛应用的技术&#xff0c;面临…

SpringBoot 源码解析

前言 本文只是纯源码分析文章&#xff0c;阅读者需要有Spring或者SpringBoot使用经验。 SpringBoot 源码解析 SpringBoot 源码解析1&#xff1a;环境搭建 SpringBoot 源码解析2&#xff1a;启动流程1 SpringBoot 源码解析3&#xff1a;启动流程2 SpringBoot 源码解析4&#…

初识Dubbo学习,一文掌握Dubbo基础知识文集(2)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

springMVC-@RequestMapping

基本介绍 RequestMapping注解可以指定控制器/处理器的某个方法的请求的url, 示例 &#xff08;结合springMVC基本原理理解&#xff09; Controller public class UserHandler {RequestMapping(value "/login")public String login() {System.out.println("登…