谈谈准确率(P值)、召回率(R值)及F值

转载自  谈谈准确率(P值)、召回率(R值)及F值

谈谈准确率(P值)、召回率(R值)及F值

一直总是听说过这几个词,但是很容易记混,在这里记录一下。希望对大家理解有帮助。

首先来做一个总结:

准确率(P值)是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

召回率(R值)是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

用公式表达如下:

上面还是有点抽象,下面通过例子来解释一下上面说法:

1、准确率(P值)

假设我此时想吃香蕉,实验室里面每天都会安排10个水果,水分别是6个香蕉,3个橘子,1个菠萝。哎,但是,实验室主任搞事情啊,为了提高我们吃水果的动力与趣味,将10个水果放在黑盒子中,每个人是看不到自己拿的什么,每次拿5个出来,哎,我去抽了,抽出了2个香蕉,2个橘子,1个菠萝。

下面我们来分别求求P值,R值,F值,哈哈!

按照一开始说的,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

这里我们的正样本就是我想吃的香蕉!

在预测结果中,有2个香蕉,总个数是我拿的5个,那么P值计算如下:

2、召回率(R值)

按照开始总结所说。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

我们这里的正类是我想吃的香蕉,而在样本中的香蕉个数是6个,召回率的召回也可以这么理解,代表了原始样本中正类召回了多少。计算如下:

分母已经变成了样本中香蕉的个数啦

3、F值

可能很多人就会问了,有了召回率和准去率这俩个评价指标后,不就非常好了,为什么要有F值这个评价量的存在呢?

按照高中语文老师所说的,存在即合理的说法,既然F值存在了,那么一定有它存在的必要性,哈哈哈哈!

我们在评价的时候,当然是希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。

比如极端情况下,在我们这个例子中,我们只搜索出了一个结果,且是香蕉,那么Precision就是100%,但是Recall为1/6就很低;而如果我们抽取10个水果,那么比如Recall是100%,但是Precision为6/10,相对来说就会比较低。

因此P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,通过计算F值来评价一个指标!

我这里给出最常见的F1计算方法,如下:

那么在我们这个例子中F1 = (2*2/5*2/6)/(2/5+2/6)

(这里我就不算出来了,有这个形式,更加能体现公式特点!)

 

希望对大家理解有所帮助~

参考:

推荐系统评测指标-准确率(Precision)、召回率(Recall)、F值(F-Measure) | 书影博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324827.shtml

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

相关文章

线程创建两种方式

方式一(继承于Thread类) 创建一个继承于Thread类的子类重写Thread类的run() --> 将此线程执行的操作声明在run()中创建Thread类的子类的对象通过此对象调用start() package com.wdl.java;//1. 创建一个继承于Thread类的子类 class MyThread extends Thread {//2. 重写Thre…

在ASP.NET CORE 2.0使用SignalR技术

一、前言 上次讲SignalR还是在《在ASP.NET Core下使用SignalR技术》文章中提到,ASP.NET Core 1.x.x 版本发布中并没有包含SignalR技术和开发计划中。时间过得很快,MS已经发布了.NET Core 2.0 Preview 2 预览版,距离正式版已经不远了&#xf…

java中常见的几种内部类,你会几个?(未完)

点击上方蓝色关注我们!大家好,我是雄雄,今天给大家介绍的是java中的几种内部类。java中常见的几个内部类,你会几个?我会四个!在看每个新知识点时,我们不禁有这样或者那样的疑问,比如…

通俗理解信息熵

转载自 通俗理解信息熵 通俗理解信息熵 前段时间德川和我讲解了决策树的相关知识,里面德川说了一下熵,今天整理了一下,记录下来希望对大家理解有帮助~ 1、信息熵的公式 先抛出信息熵公式如下: 其中代表随机事件X为的概率&…

.NET Core 2.0 Preview 2为开发人员带来改进

Microsoft发布了.NET Core 2第二个预览版(Preview 2),该版本可用于Mac OS X、Linux和Windows平台。Preview 2首次给出了对所有平台上各种软件包和安装程序的统一命名模式。所有的运行时文件将以"dotnet-运行时名称”命名,而S…

java中,剩下的这两个内部类不太好理解!

点击上方蓝色关注我们!大家好,我是雄雄,今天我们接着昨天的分享,将剩余的两个内部类(方法内部类和匿名内部类)结束掉,这两个内部类都不太好理解。昨天的推文:java中常见的几种内部类…

【jzoj】2018.2.3NOIP普及组——D组模拟赛

前言 万年D组系列… 正题 题目1:数池塘(jzoj1898) 有一个地方有一些积水,连着的积水是一个池塘,求池塘数。 输入 第1行:由空格隔开的两个整数:N和M 第2..N1行:每行M个字符代表…

通俗理解条件熵

转载自 通俗理解条件熵 通俗理解条件熵 前面我们总结了信息熵的概念通俗理解信息熵,这次我们来理解一下条件熵。 1、信息熵以及引出条件熵 我们首先知道信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。公式如下: 我…

WebAssembly:随风潜入夜

What? WebAssembly 是一种二进制格式的类汇编代码,可以被浏览器加载和并进一步编译成可执行的机器码,从而在客户端运行。它还可以作为高级语言的编译目标,理论上任何语言都可以编译为 WebAssembly。 我们知道汇编语言就是机器码的…

让java的多重继承成为现实!

点击上方蓝色关注我们!大家好,我是雄雄,前两天给大家说了说java中的四种内部类,推文分别为:静态内部类和成员内部类方法内部类和匿名内部类在内部类的基础上,我们来看看今天的知识点儿。众所周知&#xff0…

通俗理解决策树算法中信息增益的

转载自 通俗理解决策树算法中信息增益的 通俗理解决策树算法中的信息增益 在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要&#x…

DDD理论学习系列(6)-- 实体

1.引言 实体对应的英语单词为Entity。提到实体,你可能立马就想到了代码中定义的实体类。在使用一些ORM框架时,比如Entity Framework,实体作为直接反映数据库表结构的对象,就更尤为重要。特别是当我们使用EF Code First时&#xf…

班级日常 | 一天一瞬间!

点击上方蓝色关注我们!欢迎来到今天的“一天一瞬间”专栏在学习word操作时,同学们的兴趣还是较高的,但是,比起“一天一个黑科技”来说,还是差了许多!前面两天都是学的一些简单的DOS命令,比如进某…

ASP.NET Core Web 资源打包与压缩

本文将介绍使用的打包和压缩的优点,以及如何在ASP.NET Core应用程序中使用这些功能。 概述 在ASP.Net中可以使用打包与压缩这两种技术来提高Web应用程序页面加载的性能。通过减少从服务器请求的次数和减少资源文件的体积来提高加载性能。 打包是一地将多个文件&a…

班级日常分享 | 一天一瞬间!

点击上方蓝色关注我们!介于最近同学们的学习劲头十足的样子,我和丁老师商量决定晚上不布置作业,看一部电影放松放松!昨晚下晚自习后,零零散散的还有一部分同学在教室里面学习,值班老师都催促多次&#xff0…

句法分析(syntactic parsing)在NLP领域的应用是怎样的

转载自 句法分析(syntactic parsing)在NLP领域的应用是怎样的 句法分析(syntactic parsing)在NLP领域的应用是怎样的? 文章整理自郭江师兄问题回答(被收录于知乎编辑推荐)!已取得…

新的学期、新的开始、新的付出、新的收获!

点击上方蓝色关注我们!本文原创:王晓丹同学初次,我漫步在静静的校园,深情的黄昏,显得格外惹人喜爱。哇!那是什么?我情不自禁的喊了出来,一颗石榴树 ,引起了我满满的回忆&…

ASP.NET Core Web API 最小化项目

ASP.NET Core中默认的ASP.NET Core 模板中有Web API 模板可以创建Web API项目。 有时,只需要创建一个API,不需要关心Razor,本地化或XML序列化。通过删除无用的NuGet软件包和代码,可以提高 API 的加载时间并减少部署包大小。 新建…

LinkedHashSet VS HashSet

LinkedHashSet的使用 LinkedHashSet作为HashSet的子类,在添加数据的同时,每个数据还维护了两个引用,记录此数据前一个 数据和后一个数据。 优点:对于频繁的遍历操作,LinkedHashSet效率高于HashSet