Precision,Recall,F1score,Accuracy的理解

Precision,Recall,F1score,Accuracy的理解Precision,Recall,F1score,Accuracy四个概念容易混淆,这里做一下解释。假设一个二分类问题,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。这4个分别表示:实际为正样本你预测为正样本,实际为负样本你预测为正样本,实际为正样本你预测为负样本,实际为负样本你预测为负样本。那么Precision和Recall表示什么意思?一般

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

Jetbrains全系列IDE稳定放心使用

Precision,Recall,F1score,Accuracy四个概念容易混淆,这里做一下解释。

假设一个二分类问题,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。这4个分别表示:实际为正样本你预测为正样本,实际为负样本你预测为正样本,实际为正样本你预测为负样本,实际为负样本你预测为负样本。
在这里插入图片描述

那么Precision和Recall表示什么意思?一般Precision和Recall都是针对某个类而言的,比如正类别的Recall,负类别的Recall等。如果你是10分类,那么可以有1这个类别的Precision,2这个类别的Precision,3这个类别的Recall等。而没有类似全部数据集的Recall或Precision这种说法。

正样本的Precision表示你预测为正的样本中有多少预测对了,如下公式。

这里写图片描述

正样本的Recall表示真实标签为正的样本有多少被你预测对了,如下公式。二者的差别仅在于分母的不同。

这里写图片描述

还有一个概念:Accuracy,表示你有多少比例的样本预测对了,公式如下,分母永远是全部样本的数量,很好理解。很容易扩展到多类别的情况,比如10分类,那么分子就是第一个类别预测对了多少个+第二个类别预测对了多少个+…+第十个类别预测对了多少个。

这里写图片描述

F1score的计算是这样的:1/F1score = 1/2(1/recall + 1/precision)*,简单换算后就成了:F1score=2recallprecision/(recall+precision)。同样F1score也是针对某个样本而言的。一般而言F1score用来综合precision和recall作为一个评价指标。还有F1score的变形,主要是添加一个权重系数可以根据需要对recall和precision赋予不同的权重。

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

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

(0)
上一篇 2022年10月14日 下午7:00
下一篇 2022年10月14日 下午7:00


相关推荐

  • Android短信验证码控件,Android中实现短信验证码自动填入

    Android短信验证码控件,Android中实现短信验证码自动填入Android中实现短信验证码自动填入由于目前的好多应用都有短信验证,短信验证码收到后,用户手动输入已经显得有麻烦,于是我写了这篇博文,希望能对大家有所帮助。实现步骤:1.写一个SmsBroadcastReceiver,在AndroidMainifirst.xml文件中注册:/***配置广播接收者:**表示:*设置此广播接收者的级别为最高*/类代码:publiccl…

    2022年7月25日
    12
  • 软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)…[通俗易懂]

    软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)…[通俗易懂]黑盒(又叫功能测试、数据驱动测试):1.黑盒测试发现错误类型:功能错误和遗漏界面错误数据库错误性能错误初始化和终止错误2.黑盒测试:程序外部接口进行的3.黑盒测试就是根据功能需求来设计测试用例,验证软件是否按照预期要求工作。4.黑盒测试技术主要有等价类划分法、边界值法、判定表法、因果图法、场景法等。5.等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的…

    2026年4月16日
    4
  • Java 拦截器

    Java 拦截器一、引言  既然要用拦截器,首先先得简单了解一下什么是拦截器:  概念:java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。  作用域:动态拦截Action调用的对象(也就是我们的controller层)  我们日常开发中,经常会遇到这个场景:在访问系统功能前,需要用户登录,不登陆的话无法使用我们的系统,那么如果在每个方法

    2022年6月9日
    242
  • SpringBoot(六):SpringBoot整合Redis

    SpringBoot(六):SpringBoot整合Redis前言在本篇文章中将 SpringBoot 整合 Redis 使用的是 RedisTemplat 分别实现了 SpringBoot 与 redis 的单机版 集群版 哨兵模式的整合 Maven 依赖 lt 整合 redis gt lt dependency gt lt groupId gt org springframew boo

    2026年3月18日
    2
  • 希尔排序算法(C语言实现)

    希尔排序算法(C语言实现)希尔排序算法 demo

    2025年6月9日
    5
  • java uuid to long_JAVA UUID 生成

    java uuid to long_JAVA UUID 生成packagecom utils authorAdmini Window Preferences Java CodeStyle CodeTemplate importjava net InetAddress imp

    2026年3月19日
    2

发表回复

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

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