一文弄懂什么是Precision,Recall,F1score,以及accuracy[通俗易懂]

一文弄懂什么是Precision,Recall,F1score,以及accuracy[通俗易懂]近期在做实验的时候一直出现Precision,Recall,F1score,以及accuracy这几个概念,为了防止混淆,在这里写下学习笔记,方便以后复习。以一个二分类问题为例,样本有正负两个类别。那么模型预测的结果和真实标签的组合就有4种:TP,FP,FN,TN,如下图所示。TP实际为正样本你预测为正样本,FN实际为正样本你预测为负样本,FP实际为负样本你预测为正样本,TN实际为负样本…

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

Jetbrains全系列IDE稳定放心使用

近期在做实验的时候一直出现Precision,Recall,F1score,以及accuracy这几个概念,为了防止混淆,在这里写下学习笔记,方便以后复习。

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

首先我们来谈一个好理解的概念:
Accuracy(准确率)

这个概念的理解就是你预测对的样本数占样本总数的比例,那什么是预测对的样本?什么是总样本? 看上面的图,我们能知道预测正确的样本数是TP,TN;总体的样本数就是四个加起来:TP+FN+FP+TN。 所以根据定义,可以得到Acc的计算公式:




A c c u r a c y = T P + T N / ( T P + T N + F P + F N ) Accuracy = TP+TN / (TP +TN+FP+FN) Accuracy=TP+TN/(TP+TN+FP+FN)

紧接着我们来看什么是Precision(精确率)
很多人容易把accuracy和precision弄混,无论是叫法还是定义。实际上很简单,区别也很明显。

精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)




P r e c i s i o n = T P / ( T P + F P ) Precision = TP / (TP + FP) Precision=TP/(TP+FP)

随后是召回率(Recall):

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。


R e c a l l = T P / ( T P + F N ) Recall = TP / (TP + FN) Recall=TP/(TP+FN)

一般情况下,召回率和精确率是针对某一个类别说的,比如正类别的Recall,负类别的Recall等。如果你是10分类,那么可以有1这个类别的Precision,2这个类别的Precision,3这个类别的Recall等。而没有类似全部数据集的Recall或Precision这种说法。 通常对于二分类,我们说正类的recall和precision。

补充:
在信息检索领域,精确率和召回率又被称为查准率和查全率,

查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量

F1-score 是基于召回率和精确率计算的:

F 1 s c o r e = 2 ∗ P r e c i s i o n ∗ R e c a l l / ( P r e c i s i o n + R e c a l l ) F1score = 2*Precision*Recall / (Precision+Recall) F1score=2PrecisionRecall/(Precision+Recall)

参考:https://blog.csdn.net/u014380165/article/details/77493978

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

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

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


相关推荐

  • iOS使用CoreImage处理图像40中可用的滤镜名称

    iOS使用CoreImage处理图像40中可用的滤镜名称

    2021年12月16日
    30
  • 常用webservice方法_太极拳初学入门的基本要领

    常用webservice方法_太极拳初学入门的基本要领1.什么是webservice先来考虑一个问题,如果我们要在自己的程序里面展示天气预报,那怎么弄?正确的做法是我们发送一个请求到一个系统,他会给我们返回来天气情况。这个就是一个webservice。天气预报系统就相当于webservice的服务端,我们的系统就相当于客户端。2.如何调用别人发布的webservice

    2022年9月21日
    0
  • InvocationHandle的invoke方法[通俗易懂]

    InvocationHandle的invoke方法[通俗易懂]在学习代理模式中接触到了动态代理的相关内容,这是AOP的核心内容。先用一个例子说明动态代理的使用//接口(动态代理只能代理接口)publicinterfaceSubject{publicvoidrequest();}//接口实现:实现了Subject的request()方法publicclassRealSubjecti

    2022年5月30日
    35
  • Linux的vi命令用法大全_linux top命令详解

    Linux的vi命令用法大全_linux top命令详解vi共分为三种模式:分别是一般模式,编辑模式与命令行模式一般模式:以vi打开一个文件就直接了一般模式(这是默认的模式)编辑模式:在指令模式下输入的按键“i,I,o,O,a,A,r,R”,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入…

    2022年9月22日
    0
  • Tomcat使用IDEA远程Debug调试[通俗易懂]

    Tomcat使用IDEA远程Debug调试[通俗易懂]Tomcat运行环境:CentOS6.5、Tomcat7.0、IDEA远程Tomcat设置1、在tomcat/bin下的catalina.sh上边添加下边的一段设置CATALINA_OPTS=”-Xdebug-Xrunjdwp:transport=dt_socket,address=60222,suspend=n,server=y”2、address=60222这个是后边IDEA设置的时候需要

    2022年9月10日
    0
  • 光流法:Farneback

    光流法:Farneback光流法:Farnback光流法:Farnback基本假设Farneback光流法图像模型位移估计Reference现实世界中,万物都在在运动,且运动的速度和方向可能均不同,这就构成了运动场。物体的运动投影在图像上反应的是像素的移动。这种像素的瞬时移动速度就是光流。光流法是利用图像序列中的像素在时间域上的变化、相邻帧之间的相关性来找到的上一帧跟当前帧间存在的…

    2022年7月23日
    6

发表回复

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

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