返回顶部
首页 > 资讯 > 后端开发 > Python >sklearn.metrics中的f1-score简介
  • 634
分享到

sklearn.metrics中的f1-score简介

sklearn.metrics中f1-scoref1-score 2023-05-19 11:05:20 634人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1 f1_score,average='binary', 'Macro', 'micro', 'weighted'

1 f1_score,average='binary', 'macro', 'micro', 'weighted'

        F1得分可以解释为精确度和召回率的调和平均值,其中F1得分达到其最佳值为1,最差得分为0。精确度和召回率对F1得分的相对贡献相等。F1得分的公式为:

F1 = 2 * (precision * recall) / (precision + recall)

        在多类别和多标签的情况下,这是每个类别的F1得分的平均值,其权重取决于平均参数。

sklearn.metrics.f1_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')

参数介绍:

        y_true:1d array,或label array/sparse matrix,Ground truth (correct) target values

        y_pred: 分类器返回的估计目标。

        pos_label:str or int, default=1,要报告 average = ‘ binary’且数据为二分类。如果数据是多类或多标签的,这将被忽略; 设置labels = [ pos _ label ]和average!= “binary”将只报告该标签的分数。

        average: 该参数是多类/多标签目标所必需的。如果没有,则返回每个类的分数。否则,这将确定对数据执行的平均类型:

'binary': 仅报告pos_label指定的类的结果。这仅适用于目标 (y_{true,pred}) 是二分类的。

'micro': 通过计算总真阳性、假阴性和假阳性来全局计算指标。

        权重倾向:每一个样本的权重都相同;
        适用环境:多分类不平衡,若数据极度不平衡会影响结果;

 'macro': 计算每个标签的指标,并找到它们的未加权平均值。

取值范围:每一类别的权重都相同;
适用环境:多分类问题,不受数据不平衡影响,容易受到识别性高(高recall、高precision)的类别影响;

'weighted': 计算每个标签的指标,并找到它们的平均加权支持 (每个标签的真实实例数)。这会改变 “macro” 以解决标签不平衡; 它可能导致F分数不在精度和召回率之间。

'samples': 计算每个实例的指标,并找到它们的平均值 (仅对于与accuracy_score不同的多标签分类有意义)。

代码展示:

二分类情况:

>>> from sklearn.metrics import precision_score, recall_score, f1_score
>>> y_true = [0, 1, 0, 0, 1, 0, 1]
>>> y_pred = [0, 1, 0, 0, 0, 1, 0]
# 计算二分类情况下的average = 'macro' 'micro' 'binary'
# 二分类情况下,也能用macro和micro,但一般用binary
>>> f1_score(y_true, y_pred,average='macro')
0.5333333333333332
>>> precision_score(y_true, y_pred, average='macro')
0.55
>>> recall_score(y_true, y_pred, average='macro')
0.5416666666666666
>>> precision_score(y_true, y_pred, average='micro')
0.5714285714285714
>>> recall_score(y_true, y_pred, average='micro')
0.5714285714285714
>>> f1_score(y_true, y_pred,average='micro')
0.5714285714285714
>>> f1_score(y_true, y_pred,average='binary')
0.4
>>> recall_score(y_true, y_pred, average='binary')
0.3333333333333333
>>> precision_score(y_true, y_pred, average='binary')
0.5
>>> f1_score(y_true, y_pred) # 二分类情况下,默认使用binary
0.4

多分类情况:

>>> from sklearn.metrics import precision_score, recall_score, f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26666666666666666
>>> f1_score(y_true, y_pred, average='micro')
0.3333333333333333
>>> f1_score(y_true, y_pred, average=None) # 相当于binary,为每个类别计算binary的f1分数,但是不能输入binary,要输入None
array([0.8, 0. , 0. ])
>>> 0.8/3
0.26666666666666666

到此这篇关于sklearn.metrics 中的f1-score简介的文章就介绍到这了,更多相关sklearn.metrics 中f1-score内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: sklearn.metrics中的f1-score简介

本文链接: https://lsjlt.com/news/213108.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • sklearn.metrics中的f1-score简介
    目录1 f1_score,average='binary', 'macro', 'micro', 'weighted'...
    99+
    2023-05-19
    sklearn.metrics 中f1-score f1-score
  • Pytorch训练模型得到输出后计算F1-Score 和AUC的操作
    1、计算F1-Score 对于二分类来说,假设batch size 大小为64的话,那么模型一个batch的输出应该是torch.size([64,2]),所以首先做的是得到这个二维...
    99+
    2024-04-02
  • Pytorch训练模型得到输出后计算F1-Score 和AUC的示例分析
    小编给大家分享一下Pytorch训练模型得到输出后计算F1-Score 和AUC的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、计算F1-Score对...
    99+
    2023-06-15
  • 简介Android 中的AsyncTask
    AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合。其实AsyncTask并不是那么好,甚至有些糟糕。本文我会讲AsyncTask会引起哪些问...
    99+
    2022-06-06
    asynctask Android
  • Docker中的compose简介
    目录Docker Compose 是什么Docker Compose 作用前言一、Docker-compose简介1、docker-compose基础概念2、为什么要使用docker...
    99+
    2023-02-14
    Docker compose介绍 Docker compose
  • MySQL中约束的简介
    小编给大家分享一下MySQL中约束的简介,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1)主键约束主键约束是使用最频繁的约束。在...
    99+
    2024-04-02
  • 简介Redis中的showlog功能
    Redis 有一个实用的slowlog功能,正如你可以猜到的,可以让你检查运行缓慢的查询. Slowlog 将会记录运行时间超过Y微秒的最后X条查询. X 和 Y 可以在 redis.conf 或者在运行时...
    99+
    2022-06-04
    功能 简介 Redis
  • Android中的Adapter简单介绍
    Android中的Adapter在自定义显示列表时非常有用,比如SimpleAdapter,它的构造函数是:  public SimpleAdapter (Context co...
    99+
    2022-06-06
    adapter Android
  • MySQL5.7中的InnoDB引擎简介
    这篇文章主要讲解了“MySQL5.7中的InnoDB引擎简介”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL5.7中的InnoDB引擎简介”吧! ...
    99+
    2024-04-02
  • python中的json简单介绍
    这篇文章主要讲解了“python中的json简单介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中的json简单介绍”吧! ...
    99+
    2024-04-02
  • PyTorch中的torch.cat简单介绍
    目录1.toych简单介绍2.张量Tensors3.torch.cat1.toych简单介绍 包torch包含了多维疑是的数据结构及基于其上的多种数学操作。 torch包含了多维张量...
    99+
    2024-04-02
  • CSS中Sprites的简单介绍
    本篇内容介绍了“CSS中Sprites的简单介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTML代码...
    99+
    2024-04-02
  • ASP.NET中的Razor语法简介
    目录一、Razor 语法1、 Razor C# 语法规则2、Razor的作用域3、Razor和Html混合编写4、变量5、数据类型6、转换数据类型(string类型才能转)7、循环8...
    99+
    2024-04-02
  • C++中的atoi 函数简介
    目录一.atoi 函数二.atoi 函数函数实战 一.atoi 函数 在 stdlib.h 中 atoi 函数,可用于将 char 字符串转为 int 整数类型, 语法如下: ...
    99+
    2024-04-02
  • C++中的boost::function库简介
    boost::function Boost.Function库用来提供一个对象化的函数指针,通过它可以很容易的将一个函数封装为仿函数。 boost::function库可以支持自由函...
    99+
    2024-04-02
  • Python中itertools简介使用介绍
    目录Python中itertools模块一、 简介二、 使用介绍1、 常用迭代器1.1 chain1.2 groupby2、 无穷迭代器2.1 count2.2 cycle2.3 r...
    99+
    2022-12-28
    Python中itertools Python itertools详解 Python itertools
  • JavaScript的简介
    这篇文章主要讲解了“JavaScript的简介”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的简介”吧!JavaScript是一种基于对...
    99+
    2024-04-02
  • Ajax的简介
    这篇文章给大家分享的是有关Ajax的简介的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 我很开心您来阅读我写的关于ajax的实例教程,无论您是第一次...
    99+
    2024-04-02
  • Django的简介
    Django的MTV模式:   Model(模型):和数据库相关的.负责业务对象与数据库的对象(ORM)   Template(,模板):放所有的HTML文件           模板语法:目的是将变量(数据库内容)如何巧妙的镶嵌到HT...
    99+
    2023-01-30
    简介 Django
  • Linux 中的防火墙 ufw 简介
    我们来研究下 Linux 上的 ufw(简单防火墙),为你更改防火墙提供一些见解和命令。 ufw(简单防火墙Uncomplicated FireWall)真正地简化了 iptables,它从出现的这几年,已经成为 U...
    99+
    2022-06-03
    Linux 防火墙 ufw ufw防火墙
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作