scikit-learn 1.3.X 版本 bug - F1 分数计算错误


如果您正在使用 scikit-learn 1.3.X 版本,在使用 f1_score()classification_report() 函数时,如果参数设置为 zero_division=1.0zero_division=np.nan,那么函数的输出结果可能会出错。错误的范围可能高达 100%,具体取决于数据集中的类别数量。这个错误可能会显著地影响到多分类问题中常用的宏平均 F1 指标,从而可能导致对分类器性能的误判,甚至可能带来一些安全风险。

scikit-learn releases 页面:https://github.com/scikit-learn/scikit-learn/releases

在这里插入图片描述

F1 分数的定义:查准率是指预测结果中,每个类别预测正确的比例。召回率则是指样本标签中,每个类别被正确预测的比例。两者的分母不同,查准率的分母是预测结果的样本数,召回率的分母是样本标签的样本数。F1 分数是查准率和召回率的调和平均值

问题原因:在计算 F1 分数时,如果某个类别的查准率和召回率都为 0,那么根据 zero_division 参数的设定,F1 分数可能被赋值为 1.0 或 np.nan,而非正确的 0.0。

检测这个错误的方法:如果想要确定某个 F1 分数计算是否受到这个错误的影响,可以先使用 classification_report() 函数进行 F1 分数的计算。如果存在任何一个类别的查准率和召回率都为 0,而对应的 F1 分数为 1.0 或 nan,那么这个 F1 分数的计算就是错误的。

解决办法:

  • 请升级到已发布的 scikit-learn 1.4.0 或更高版本,该版本已修复了这个 bug。
  • 另一种解决方案是降级到 scikit-learn 1.2.2 版本,或者设置 zero_division 参数为 0.0。但要注意了解这一参数变化将如何影响查准率吧、召回率和 F1 分数!

在这里插入图片描述


📚️ 参考链接:

  • Connor Boyle’s Website - Scikit-Learn’s F-1 calculator is broken
  • 网友指出 sklearn 版本 bug,你的实验结果很可能是错的。。。

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

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

相关文章

通过docker-compose部署NGINX服务,并使该服务开机自启

要在通过docker-compose部署的NGINX服务实现开机自启,你需要确保Docker守护进程在系统启动时自动运行,并配置docker-compose.yml文件以在容器中运行NGINX服务。以下是步骤: 确保Docker守护进程开机启动: 在Ubuntu/Debian上&#x…

龙测科技荣获2023年度技术生态构建奖

本月,由极客传媒举办的“有被Q到”2024 InfoQ 极客传媒合作伙伴年会顺利举办,龙测科技喜获2023年度技术生态构建奖。 InfoQ是首批将Node.js、HTML5、Docker等技术全面引入中国的技术媒体之一,秉承“扎根社区、服务社区、引领社区”的理念&…

Oracle篇—logminer日志挖掘恢复误操作数据

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

第三篇:跨平台QT开发-正则表达式和文件处理

正则表达式 正则表达式即一个文本匹配字符串的一种模式,Qt 中 QRegExp 类实现使用正则表达式 进行模式匹配,且完全支持 Unicode,主要应用:字符串验证、搜索、查找替换、分割。 正则表达式中字符及字符集 元素含义 c 匹配字符本…

beep蜂鸣器驱动实验-蜂鸣器驱动代码框架测试

一. 简介 上一篇文章学习了编译蜂鸣器驱动框架代码,并进行了编译。文章地址如下: beep蜂鸣器驱动实验-蜂鸣器驱动框架代码实现-CSDN博客 本文对上一篇所实现的蜂鸣器框架代码进行测试。 二. 蜂鸣器驱动代码框架测试 1. 拷贝驱动程序 注意&#xf…

Android开发--实时监测系统+部署故障诊断算法

0.项目整体思路介绍: 搭建无人装备模拟实验平台,使用采集器对数据进行采集,通过网络通信Udp协议发送到安卓端,安卓端作界面显示,算法使用matlab仿真后,用C语言实现。将采集器采集到的数据经过处理后训练&a…

css1文本属性

一.颜色(color)(一般用16进制) 二.对齐(text-align) 三.装饰(text-decoration) 四.缩进(text-indent)(一般用2em)(有单位)…

网络协议梳理

1 引言 在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什…

C#验证字符串是否包含汉字:用正则表达式 vs 用ASCII码 vs 用汉字的 Unicode 编码

目录 一、使用的方法 1.使用正则表达式验证字符串 2.使用正则表达式验证字符 3.用ASCII码判断 4.用汉字的 Unicode 编码范围判断 二、实例 1.源码 2.生成效果 验证一个字符串是否是纯汉字或者包含有汉字的前提,是VS编辑器的默认编码格式设置为:选…

Chrome 沙箱逃逸 -- Plaid CTF 2020 mojo

文章目录 前置知识参考文章环境搭建题目环境调试环境 题目分析附件分析漏洞分析OOBUAF 漏洞利用总结 前置知识 Mojo & Services 简介 chromium mojo 快速入门 Mojo docs Intro to Mojo & Services 译文:利用Mojo IPC的UAF漏洞实现Chrome浏览器沙箱逃逸原文…

JAVA SpringBoot中使用redis的事务

目录 一、Java语言介绍 二、SpringBoot框架介绍 三、Redis缓存介绍 四、什么是redis的事务 一、Java语言介绍 Java是一种广泛使用的高级编程语言,由Sun Microsystems公司于1995年推出。它的设计目标是要求“一次编写,到处运行”(Write Once, Run Anywhere, WOR…

逆向工程:揭开科技神秘面纱的艺术

在当今这个科技飞速发展的时代,我们每天都在与各种电子产品、软件应用打交道。然而,你是否想过,这些看似复杂的高科技产品是如何被创造出来的?今天,我们就来探讨一下逆向工程这一神秘而又令人着迷的领域。 一、什么是…

Topaz Photo AI for Mac v2.3.1 补丁版人工智能降噪软件无损放大

想要将模糊的图片变得更加清晰?不妨试试Topaz Photo AI for Mac 这款人工智能、无损放大软件。Topaz Photo AI for Mac 一款强大的人工智能降噪软件,允许用户使用复杂的锐化算法来提高图像清晰度,还包括肖像编辑选项,如面部重塑、…

RabbitMQ的延迟队列实现[死信队列](笔记二)

上一篇已经讲述了实现死信队列的rabbitMQ服务配置&#xff0c;可以点击: RabbitMQ的延迟队列实现(笔记一) 目录 搭建一个新的springboot项目模仿订单延迟支付过期操作启动项目进行测试 搭建一个新的springboot项目 1.相关核心依赖如下 <dependency><groupId>org.…

来看看Tomcat和Web应用的目录结构

在前面两篇大致了解了Tomcat的架构和运行流程&#xff0c;以及Tomcat应用中的web.xml。 聊一聊Tomcat的架构和运行流程&#xff0c;尽量通俗易懂一点-CSDN博客 来吧&#xff0c;好好理解一下Tomcat下的web.xml-CSDN博客 那接下来&#xff0c;再看看Tomcat的目录&#xff0c;…

【网络技术】【Kali Linux】Nmap 嗅探(一)简单扫描

一、实验环境 本次实验进行简单的Nmap扫描&#xff0c;实验使用 Kali Linux 虚拟机和 Ubuntu Linux 虚拟机完成&#xff0c;主机操作系统为 Windows 11&#xff0c;虚拟化平台选择 Oracle VM VirtualBox&#xff0c;如下图所示。 二、实验步骤 1、相关配置 Kali Linux 虚拟机…

Leaf——美团点评分布式ID生成系统

0.普通算法生成id的缺点 1.Leaf-segment数据库方案 第一种Leaf-segment方案&#xff0c;在使用数据库的方案上&#xff0c;做了如下改变&#xff1a; - 原方案每次获取ID都得读写一次数据库&#xff0c;造成数据库压力大。改为利用proxy server批量获取&#xff0c;每次获取一…

2023年ABC123公众号年刊下载(PDF电子书)

Part1 前言 大家好&#xff0c;我是ABC_123。2023年公众号正式更名为"希潭实验室"。除了分享日常红队攻防、渗透测试技术文章之外&#xff0c;重点加强了APT案例分析方面的内容。公众号关注度得到进一步提升&#xff0c;关注人数已达到3万5千人。原计划在2023年编写…

DDoS攻击激增,分享高效可靠的DDoS防御方案

当下DDoS攻击规模不断突破上限&#xff0c;形成了 "网络威胁格局中令人不安的趋势"。专业数据显示&#xff0c;对比2022年上半年与2023年上半年&#xff0c;所有行业的DDoS攻击频率增加了314%。其中零售、电信和媒体公司遭受的攻击规模最大&#xff0c;三个垂直行业的…

基于蒙特卡洛的电力系统可靠性分析matlab仿真,对比EDNS和LOLP

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 1.课题概述 电力系统可靠性是指电力系统按可接受的质量标准和所需数量不间断地向电力用户供应电力和电能量的能力的量度&#xff0c;包括充裕度和安全性两个方面。发电系统可靠性是指统一并网的全部发电机…