f1-score是什么_python概念题

f1-score是什么_python概念题一、F1score概念?F1score是分类问题的一个衡量指标,一些多分类问题的机器学习竞赛,常把F1score作为最终评测的方法。它是精确率和召回率的调和平均数,取值0-1之间。F1score认为召回率和精确率同样重要,而F2认为召回率的重要程度是精确率的2倍,F0.5则认为召回率的重要程度是精确率的一半。要明确几个概念TP(TruePositive):被判定为正样本,实际为正样本 TN(TrueNegative):被判定为负样本,实际为负样本 FP(FalseP

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、F1 score概念?

F1 score是分类问题的一个衡量指标,一些多分类问题的机器学习竞赛,常把F1 score作为最终评测的方法。它是精确率和召回率的调和平均数,取值0-1之间。

F1 score认为召回率和精确率同样重要,而F2认为召回率的重要程度是精确率的2倍,F0.5则认为召回率的重要程度是精确率的一半。

F_{1}=2\frac{precision\cdot recall}{precision+recall}

要明确几个概念

  • TP(True Positive): 被判定为正样本,实际为正样本
  • TN(True Negative): 被判定为负样本,实际为负样本
  • FP(False Positive): 被判定为正样本,实际为负样本
  • FN(False Negative): 被判定为负样本,实际为正样本
  • accuracy:准确率,针对所有样本而言,即所有实际正负样本中,判定正确的样本所占的比例。accuracy = (TP + TN)/(TP + TN + FP + FN)
  • precision:精确率(又称为查准率),针对所有判定为正的样本而言,即所有判定为正的样本中,实际为正的样本所占的比例。precision = TP/(TP + FP)
  • recall:召回率(又称为查全率),针对所有实际为正的样本而言,即所有实际为正的样本中,判定为正的样本所占的比例。recall = TP/(TP + FN)

注意:上述所有正负样本描述是针对二分类问题而言,如果是多分类问题,则上述正样本代表第k类样本,负样本代表所有其他类样本。

 

二、F1 score如何计算?

  1. 首先分别计算每一类样本的精确率precision_{k}和召回率recall_{k}
  2. 然后分别计算每一类的F1 score: f1_{k}=2\cdot \frac{precision_{k}\cdot recall_{k}}{precision_{k}+recall_{k}}
  3. 最后对所有类别的F1 score求均值,得到最终结果:F1 score=(\frac{1}{n}\sum f1_{k})^{2}

 

三、python如何实现?

可以通过调用sklearn包实现

函数介绍:

sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average=’binary’, sample_weight=None)

  • y_true: 真实类别,1d array-like, or label indicator array / sparse matrix.
  • y_pred: 预测类别,1d array-like, or label indicator array / sparse matrix.
  • average: string,[None, ‘binary’(default), ‘micro’, ‘macro’, ‘samples’, ‘weighted’],如果二分类则选binary,如果考虑类别的不平衡性,需要计算类别的加权平均,则使用‘weighted’;如果不考虑类别的不平衡性,计算宏平均,则使用‘macro’。

代码示例:

from sklearn.metrics import f1_score

y_true = [0,0,0,1,1,2]
y_pred = [0,0,1,1,2,2]

print(f1_score(y_true, y_pred, average='weighted'))
print(f1_score(y_true, y_pred, average='macro'))

f1-score是什么_python概念题 

 

参考:

https://blog.csdn.net/qq_14997473/article/details/82684300

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182095.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 四旋翼飞行器1——结构和控制原理

    四轴飞行器是一个在空间具有6个活动自由度(分别沿3个坐标轴作平移和旋转动作),但是只有4个控制自由度(四个电机的转速)的系统,因此被称为欠驱动系统(只有当控制自由度等于活动自由度的时候才是完整驱动系统)四旋翼飞行器的结构可大致分为两种结构形式:“十字形”结构该种结构四个旋翼对称分布在机体的前后、左右方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支…

    2022年4月8日
    80
  • JDBC连接(Statement和PrepareStatement)「建议收藏」

    JDBC连接(Statement和PrepareStatement)「建议收藏」1.JDBC连接的连接步骤(Statement和PrepareStatement)(1)注册驱动(只做一次)(2)建立连接(Connection) (3)创建执行SQL的语句(Statement)(4)执行语句(5)处理执行结果(ResultSet)(6)释放资源1.1注册驱动(1)Class.forName(“com.mysql.jdbc.Drive

    2022年5月24日
    53
  • fvwm 3_三菱vvvf

    fvwm 3_三菱vvvfChangeMenuStyleChangeMenuStylemenustylemenu…Changesthemenustyleofmenutomenustyle.YoumayspecifymorethanonemenuineachcallofChangeMenuStyle.31.1.10.CopyMenuStyle

    2022年10月4日
    7
  • 博途v15定时器设置_博图界面怎么修改定时器时间

    博途v15定时器设置_博图界面怎么修改定时器时间FUNCTION_BLOCKFB8VAR_INPUTTakt:BOOL;//Takt-Signalinput,suchasM0.0toM0.7Start:BOOL;Reset:BOOL;END_VARVARTakt_old:BOOL;BitNr:INT;currTime:…

    2022年9月1日
    2
  • SpringBoot面试题(持续整理中……)「建议收藏」

    SpringBoot面试题(持续整理中……)「建议收藏」SpringBoot是微服务中最好的Java框架。为了更好的理解与使用SpringBoot,同时,为了记录平时的点点滴滴,便于日后的面试!1、什么是SpringBoot?用来简化Spring应用的初始搭建以及开发过程,使用特定的方式来进行配置创建独立的Spring引用程序main方法运行嵌入的tomcat无需部署war文件简化maven配置自动配置Spring添加对应的功能s…

    2022年6月7日
    26
  • C语言冒泡法_冒泡编程c语言

    C语言冒泡法_冒泡编程c语言在考试前依然有很多同学不清楚冒泡法怎么用所以这期我专门整理了一下冒泡法的用法,供大家参考哦!

    2022年8月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号