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.hqwc.cn/news/453941.html

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

相关文章

PHP框架详解 - symfony框架

首先说一下为什么要写symfony框架,这个框架也属于PHP的一个框架,小编接触也是3年前,原因是小编接触Golang,发现symfony框架有PHP框架的东西也有Golang的东西,所以决定总结一下,有需要的同学可以参看小编的G…

我用JVS低代码平台,搭建了一套固定资产管理系统

随着企业规模的不断扩大和业务的快速发展,资产管理成为了企业运营中的重要环节。然而,传统的手工管理模式已经无法满足现代企业的需求,管理效率低下、信息不准确、流程不规范等问题逐渐凸显。为了解决这些问题,越来越多的企业开始…

(源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模

本篇文章是: 2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模的源码版本,包含具体建模代码到生成模型步骤。那么废话不多说直接开始展示建模过程建模: 数据预处理 之前我给大家提供的一年的风暴数据是远远不够的,要做时…

五部委将联合开展智能网联汽车“车路云一体化”应用试点工作

作者介绍 近期,工业和信息化部、公安部、自然资源部、住房和城乡建设部、交通运输部五部委联合发布《关于开展智能网联汽车“车路云一体化”应用试点工作的通知》,提出将建成一批架构相同、标准统一、业务互通、安全可靠的城市级应用试点项目&#xff0c…

架构学习(四):scrapy下载中间件实现动态切换User-Agent

scrapy下载中间件实现动态与固定UserAgent 前言关卡:实现动态切换User-Agentscrapy设置User-Agent方式梳理User-Agent生效梳理为何选择在下载中间件中实现自定义User-Agent下载中间件 结束 前言 请求头User-Agent是比较常规的反爬手段,不同站点对其检测…

vue项目集成booststrap

1.首先安装bootstrap npm install bootstrap 我安装的是4.3的版本 2.在main.js中引用bootstrap import bootstrap/dist/css/bootstrap.css import bootstrap/dist/css/bootstrap.min.css import bootstrap/dist/js/bootstrap.js import bootstrap/dist/js/bootstrap.min.…

Linux ---- Shell编程之免交互

一、Here Document 多行重定向 1、Here Document定义 使用I/O重定向的方式将命令列表提供给交互式程序标准输入的一种替代品Here Document 是标准输 入的一种替代品,可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个文件…

数据类型完整版

第三章 数据类型 3.1 Key操作 3.1.1 相关命令 序号命令语法描述1DEL key该命令用于在 key 存在时删除 key2DUMP key序列化给定 key ,并返回被序列化的值3EXISTS key检查给定 key 是否存在,存在返回1,否则返回04EXPIRE key seconds为给定 k…

新兴人群消费观察:小红书话题浏览量20亿+,数据调研内容策略

近年,由“宅经济”延伸出的懒人经济持续高热。随现代生活观念和产品技术发展,“懒人经济”不止于家门,一波新兴人群正悄然发生变化……本期,笔者想就此进行小红书数据观察,挖掘其主流内容方向。 “新懒人主义”崛起&am…

《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(7)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(6) 4.1 PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个…

前端小案例——动态导航栏文字(HTML + CSS, 附源码)

一、前言 实现功能: 这案例是一个具有动态效果的导航栏。导航栏的样式设置了一个灰色的背景,并使用flex布局在水平方向上平均分配了四个选项。每个选项都是一个li元素,包含一个文本和一个横向的下划线。 当鼠标悬停在选项上时,选项的文本颜色…

19113133262(微信同号)【主题广范|见刊快】2024年新材料与应用化学国际学术会议(ICNMAC 2024)

【主题广范|见刊快】2024年新材料与应用化学国际学术会议(ICNMAC 2024) 2024 International Conference New Materials and Applied Chemistry(ICNMAC 2024) 一、【会议简介】 会议背景:随着科技的飞速发展,新材料与应用化学领域的研究成果日益丰富。为…