统计中的精度和召回率的解释

召回率(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统查准率

 

召回率(Recall)和精度(Precise)是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。

 

基本概念

编辑
对于数据测试结果有下面4种情况:
TP: 预测为正,实际为正
TN: 预测为负,实际为负
FP:预测为正,实际为负
FN: 预测为负,实际为正
准确率: TP/ (TP+FP)
召回率: TP/ (TP+FN)
 
 

计算方法

编辑
召回率和精度示意图
recallrecall
假定:从一个大规模数据集合中检索文档时,可把文档分成四组:
- 系统检索到的相关文档(A)
- 系统检索到的不相关文档(B)
- 相关但是系统没有检索到的文档(C)
- 不相关且没有被系统检索到的文档(D)
则:
- 召回率R:用实际检索到相关文档数作为分子,所有相关文档总数作为分母,即R = A / ( A + C )
- 精度P:用实际检索到相关文档数作为分子,所有检索到的文档总数作为分母,即P = A / ( A + B )
举例来说:
一个数据库有500个文档,其中有50个文档符合定义。系统检索到75个文档,但是实际只有45个符合定义。则:
召回率R=45/50=90%
精度P=45/75=60%
本例中,系统检索是比较有效的,召回率为90%。但是结果有很大的噪音,有近一半的检索结果是不相关。 研究表明:在不牺牲精度的情况下,获得一个高召回率是很困难的。
 
 

搜索系统

编辑
对于一个检索系统来讲,召回率和精度不可能两全其美:召回率高时,精度低,精度高时,召回率低。所以常用11种召回率下11种精度的平均值来衡量一个检索系统的精度。我们也可以将这两个度量值融合成一个度量值,如F度量(F-measure)。对于搜索引擎系统来讲,因为没有一个搜索引擎[2]  系统能够搜集到所有的WEB网页,所以召回率很难计算。搜索引擎系统都非常关心精度。
影响一个搜索引擎系统的性能有很多因素,最主要的是信息检索模型,包括文档和查询的表示方法、评价文档和用户查询相关性的匹配策略、查询结果的排序方法和用户进行相关度反馈的机制。
“召回率”与“准确率”虽然没有必然的关系,然而在大规模数据集合中,这两个指标却是相互制约的。
由于“检索策略”并不完美,希望更多相关的文档被检索到时,放宽“检索策略”,往往也会伴随出现一些不相关的结果,从而使准确率受到影响。
而希望去除检索[3]  结果中的不相关文档时,务必要将“检索策略”定的更加严格,这样也会使有一些相关的文档不再能被检索到,从而使召回率受到影响。
凡是设计到大规模数据集合的检索和选取,都涉及到“召回率”和“准确率”这两个指标。而由于两个指标相互制约,我们通常也会根据需要为“检索策略”选择一个合适的度,不能太严格也不能太松,寻求在召回率和准确率中间的一个平衡点,这个平衡点由具体需求决定。
 

常用名词

编辑
TP —— True Positive (真正, TP)被模型预测为正的正样本;可以称作判断为真的正确率
TN —— True Negative(真负 , TN)被模型预测为负的负样本 ;可以称作判断为假的正确率
FP ——False Positive (假正, FP)被模型预测为正的负样本;可以称作误报率
FN——False Negative(假负 , FN)被模型预测为负的正样本;可以称作漏报率
True Positive Rate(真正率 , TPR)或灵敏度(sensitivity) 
  TPR = TP /(TP + FN) 
  被预测为正的正样本结果数 / 正样本实际数
True Negative Rate(真负率 , TNR)或特指度(specificity) 
  TNR = TN /(TN + FP) 
  被预测为负的负样本结果数 / 负样本实际数
False Positive Rate (假正率, FPR) 
  FPR = FP /(TN + FP) 
  被预测为正的负样本结果数 /负样本实际数
False Negative Rate(假负率 , FNR) 
  FNR = FN /(TP + FN) 
  被预测为负的正样本结果数 / 正样本实际数

 

posted @ 2018-01-25 11:23 三横一竖 阅读(3797) 评论(0) 推荐(0)

人工智能在医疗行业中的应用

摘要: 如火如荼的人工智能行业正在世界范围内蓬勃发展,特别是谷歌公司的Alpha Go程序战胜了围棋界的顶尖高手,令世人看到了计算机在人类擅长的领域也有一定的思维演绎能力。伴随计算机运算能力的飞速提升和人工智能领域的算法的不断改进,之前处在实验室阶段的Demo,正逐步变得实用,有些工作岗位甚至被淘汰,但同时 阅读全文
posted @ 2017-11-01 22:08 三横一竖 阅读(1397) 评论(0) 推荐(0)

解决Myeclipse在调试(debug)时无法显示变量值问题(转载)

摘要: 突然发现myeclipse在调试时当鼠标放在变量上面时无法显示变量值了ctrl+shift+i竟然提示cannot be resolved to a variable在Variables里看到变量名是arg0,arg1之类网上查到的最多的方法是Window->Preferences->Java-... 阅读全文
posted @ 2015-01-06 10:50 三横一竖 阅读(929) 评论(0) 推荐(0)

溢出的问题

摘要: 计算机在进行运算时,可以表示的数据容量总是有限的,这也决定了一个具体的数据类型描述的数据量是非常有限的,这些数据在进行计算时很有可能超出该数据类型所能表示的范围发生溢出。一个健壮的程序必须正确处理好溢出,因为溢出发生时程序并没有发生崩溃的现象,只是计算结果和预期有很大差异,在复杂系统中存在致命的... 阅读全文
posted @ 2014-12-21 21:35 三横一竖 阅读(558) 评论(0) 推荐(0)

返回引用和对象遇到的坑

摘要: 在leet code上做题遇到了一个坑,算法总认为自己写得没有问题,处理流程造就烂熟于心,用X code调试发现还是疏忽了:C++返回引用和返回对象的差别,在一个函数结束的地方返回了一个临时对象的引用! 根据以往的经验,引用是C++程序中高效能的法宝,节省了对象复制拷贝时的开销,但是滥用引用也... 阅读全文
posted @ 2014-12-07 21:05 三横一竖 阅读(944) 评论(0) 推荐(0)

vmWare上网配置(转载)

摘要: VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。 如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作。此时,对虚拟系统工作... 阅读全文
posted @ 2014-08-12 10:19 三横一竖 阅读(217) 评论(0) 推荐(0)

linux内核相关的术语(转载)

摘要: vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。 vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后... 阅读全文
posted @ 2014-03-06 11:26 三横一竖 阅读(254) 评论(0) 推荐(0)

一个死锁问题

摘要: 很长时间没有写多线程的程序了,这周写了个应用层协议栈的demo,模型很简单,基本的CS架构,server端收到一个连接请求,就创建一个收包线程来处理收到的报文,基本代码如下: 1 #define DEF_MAX_CONNECTION 10 2 #define DEF_PACK_BUF 512 3 struct threadPara 4 { 5 int sockFd; 6 int localSockFd; 7 struct sockaddr_in *pstLocalAddr; 8 }; 9 10 pthread_mutex_t thread_... 阅读全文
posted @ 2013-08-29 23:43 三横一竖 阅读(328) 评论(0) 推荐(0)

Ethernet,token ring,FDDI,ATM,WLAN(转载)

摘要: 局域网(Local Area Network;LAN)通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络。现在局域网随着整个计算机网络技术的发展和提高得到充分的应用和普及,几乎 每个单位都有自己的局域网,有的甚至家庭中都有自己的小型局域网。很明显,所谓局域网,那就是在局部地区范围内的网络,它所覆盖的地区范围较小。局域网在 计算机数量配置上没有太多的限制,少的可以只有两台,多的可达几百台。一般来说在企业局域网中,工作站的数量在几十到两百台次左右。在网络所涉及的地理距 离上一般来说可以是几米至10公里以内。局域网一般位于一个建筑物或一个单位内,不存在寻径问题,不包括网络层的应 阅读全文
posted @ 2013-08-06 16:21 三横一竖 阅读(708) 评论(0) 推荐(0)

kmalloc与vmalloc

摘要: 在编写LINUX驱动的过程中涉及到内存分配的问题,此时不是用应用层用到的malloc,而是内核专用的内存分配函数vmalloc和kmalloc,释放他们相应的函数分别是vfree和kfree。 kmalloc和vmalloc的区别在与分配的内存在硬件上是否连续,前者分配的是连续内存,对于进行DMA的设备是非常必要的,但是它分配的内存范围很小,为128k -16个字节;后者用于分配线性连续的地址空间,但是物理地址不一定连续,即在虚拟空间上是连续的,显然,kmalloc的分配速度比vmalloc的速度快。 阅读全文
posted @ 2013-08-01 15:20 三横一竖 阅读(523) 评论(0) 推荐(0)
< 2025年7月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

统计

点击右上角即可分享
微信分享提示