准确率,召回率,F值,机器学习分类问题的评价指标

news/2024/7/7 10:04:46

下面简单列举几种常用的推荐系统评测指标:

1、准确率与召回率(Precision & Recall)

准确率召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。

正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:

    1. 正确率 = 提取出的正确信息条数 /  提取出的信息条数     

    2. 召回率 = 提取出的正确信息条数 /  样本中的信息条数    

两者取值在0和1之间,数值越接近1,查准率或查全率就越高。   

    3. F值  = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)

不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:

正确率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:

正确率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%        

由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。

当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。

2、综合评价指标(F-Measure)

P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

F-Measure是Precision和Recall加权调和平均

当参数α=1时,就是最常见的F1,也即

可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。

3、E值

E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:

b越大,表示查准率的权重越大。

4、平均正确率(Average Precision, AP)

平均正确率表示不同查全率的点上的正确率的平均。

原文链接:http://blog.csdn.net/taohuaxinmu123/article/details/9833001

本文链接:http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。

 

 

数据集中 : 正例 反例
你的预测 正例 : A B
你的预测 反例 : C D
准确率就是A/(A+B) 大白话就是“你的预测有多少是对的”
召回率就是A/(A+C) 大白话就是“正例里你的预测覆盖了多少”


作者:郭涛
链接:https://www.zhihu.com/question/19645541/answer/15536424
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

转载于:https://www.cnblogs.com/zhizhan/p/5776303.html


http://www.niftyadmin.cn/n/647661.html

相关文章

c语言单元五循环递推,C语言单元复习题第06部份循环.doc

C语言单元复习题第06部份循环第6章 循环程序设计一、单选题以下关于循环的描述中,错误的是:(  )。A.可以用for语句实现的循环一定可以用while语句实现B.可以用while语句实现的循环一定可以用for语句实现C.可以用do..…

Linux创建boss账户,linux用户和用户组

一.用户和用户组1. /etc/group 储存当前系统中所有用户组信息Group:x:123:abc,def,xyz组名称:组密码占位符:组编号:组中用户名列表用户组编号1至499是系统预留编号,是用来分配给软件的.安装一个软件就会创建该软件的一个用户组并分配一个用户…

linux文件查找工具 -- find

简述:linux中find命令是一种强大的实时查找工具,它通过用户给出的路径,在该路径下的文件系统中进行文件查找。因此在遍历一个较大的文件系统时会比较花费时间,而且find命令占用资源也是比较大的,所以它的工作特点是&am…

android 照片 权限管理,Android6.0拍照,读取照片信息所用到的权限

在拍照,读取相册信息时应该加入权限判断,否则在没有相应权限时会直接出错的. 相关代码如下://判断是否有读写手机存储的权限if (ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)! PackageManager.PERMISSION_GRANTED) {//权限还没有授予&…

Java中函数的递归调用

说到递归,java中的递归和C语言中也是很相似的,在Java中,递归其实就是利用了栈的先进后出的机制来描述的。 public class HelloWorld {public static void main(String[] args){// Scanner s new Scanner(System.in);// System.out.println(&…

c语言条件编译的作用,C语言中条件编译的作用

条件编译属于三种宏定义中的一种,条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误条件编译常用的有四个预处理命令:#if、#el…

android 7.1.1三星官方,三星Galaxy S7将直升Android7.1.1 时间定为明年初

【TechWeb报道】三星在经过Note 7的爆炸门事件后,越发重视Galaxy S7系列的后续发展,不仅在早前推出了新配色珊瑚蓝,还于昨天在国内特供了128GB矅岩黑Galaxy S7 Edge,而现在又有消息传出,三星Galaxy S7以及S7 Edge已经开…

sex在c语言中,2003年4月全国高等教育自学考试计算机软件基础(一)试题

}printf (“x%d,y%d,z%d”,x,y,z);}A.x4,y4,z1 B.x5,y4,z1C.x5,y4,z2 D.x5,y5,z119.C语言中,下列定…