准确率(Precision)、召回率(Recall)以及综合评价指标(F1-Measure)
2024-09-06 13:31:01
在信息检索和自然语言处理中经常会使用这些参数,下面简单介绍如下:
准确率与召回率(Precision & Recall)
我们先看下面这张图来加深对概念的理解,然后再具体分析。其中,用P代表Precision,R代表Recall
一般来说,Precision 就是检索出来的条目中(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。
下面这张表介绍了True Positive,False Negative等常见的概念,P和R也往往和它们联系起来。
Relevant | NonRelevant | |
Retrieved | true positives (tp) | false positives(fp) |
Not Retrieved | false negatives(fn) | true negatives (tn) |
那么,
我们当然希望检索的结果P越高越好,R也越高越好,但事实上这两者在某些情况下是矛盾的。比如极端情况下,我们只搜出了一个结果,且是准确的,那么P就是100%,但是R就很低(tp==1,fp==0,fn很大,tn==0);而如果我们把所有结果都返回(全部都检索到了,不过检索到不相关的也有很多,即fp很大,fn==0),那么必然R是100%,但是P很低。
因此在不同的场合中需要自己判断希望P比较高还是R比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。
F1-Measure
前面已经讲了,P和R指标有的时候是矛盾的,那么有没有办法综合考虑他们呢?我想方法肯定是有很多的,最常见的方法应该就是F-Measure了,有些地方也叫做F-Score,其实都是一样的。
F-Measure是Precision和Recall加权调和平均:
当参数a=1时,就是最常见的F1了:
很容易理解,F1综合了P和R的结果,当F1较高时则比较说明实验方法比较理想。
最新文章
- java中的23中设计模式(转)
- oc程序编译【-framework Foundation 编译】
- git生成ssh key 避免每次push都要输入账号密码
- SQL Server 2012 创建数据库快照
- [转]微服务(Microservice)那点事
- sh脚本学习之: sh脚本 、sed、awk
- js 获取checkbox选中项目
- Supports BorlandIDEServices
- SignalR Troubleshooting
- win7删除桌面文件需要刷新才会消失(2种解决方法)
- 权限管理学习 一、ASP.NET Forms身份认证
- 2019年度SAP项目实践计划
- Linux配置本地yum源
- sql server2012学习笔记
- .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现
- PHP面试准备
- day44-pymysql模块的使用
- 织梦 dedecms 首页调用公司简介的内容
- C#-微信公众平台接口-上传临时素材
- 20165310java_teamExp1_week1