F1 P R的理解
F1 P R的理解
precision:查准率
recall:查全率,召回率
查准率,基于预测的结果,预测为正的样本中 由多少真正的正样本。即,真正为正的越多越好。
查全率,针对原来的正样本,有多少正样本被预测正确了。
\[
Precision = \frac{True \ positives}{predictied \ as \ positives} = \frac{TP}{TP+FP}
\]
\[
Recall = \frac{True \ positives}{actual \ positives} = \frac{TP}{TP+FN}
\]
举个例子:
我们用一个模型去判断一段时间的作弊流量,假设该段时间的流量是100个,作弊的是25个,没有作弊的是75个,假设这里正样本为没有作弊的流量。
然后我们用某种模型去预测,结果是70个没有作弊的,但是经检查,我们把其中69个正样本预测为没有作弊,把1个负样本预测为没有作弊。
那么,
P = 69/70, 基于预测的结果,共有70个正样本;这70个样本中,真正的正样本由69个。
R = 69/75, 已知正样本有75个,有69个正样本被正确的预测到了。
所以,
查准率,在于 "准",就是基于预测的结果中,真正的正样本越多越好。
查全率,在于"全",就是把所有的真正的正样本预测出来的越多越好,虽然有些负样本也有可能被预测为正样本,那也不管,重点在于"全"。
我们在预测的时候,总是希望检索结果precision越高越好,同时recall也越高越好,但事实上这两者在某种情况下是矛盾的。例如,我只取一个样本,且是真正的正样本,那么P就是100%,但是R只有\(\frac{1}{70}\)就很低了;而如果取100个样本,那么R显然是100%,但是P只有75%。
这样就引出了 F(k),
\[
F(k) = \frac{(1+k)*P*R}{(k*k)*P+R}
\]
k>0 度量了 查全率 对 查准率 的相对重要性。k>1查全率有更大影响;k<1查准率有更大影响。
通常我们看到的F1就是F(1),在binary classification问题中,F1值是P和R的调和平均数,取值范围为[0,1],值为1表示perfect precision and recall,worst at 0。
\[
F(1) = \frac{2*P*R}{P+R}
\]
F1 P R的理解的更多相关文章
- R树--理解平面思维
R树数据结构 备注:参考wiki的内容. 简介 Guttman, A.; “R-trees: a dynamic index structure for spatial searching,” ACM ...
- Python '\r', '\n', '\r\n' 的彻底理解
回车和换行的历史: 机械打字机有回车和换行两个键作用分别是: 换行就是把滚筒卷一格,不改变水平位置. (即移到下一行,但不是行首,而是和上一行水平位置一样) 回车就是把水平位置复位,不卷动滚筒. ...
- 对RESTful Web API的理解与设计思路
距离上一篇关于Web API的文章(如何实现RESTful Web API的身份验证)有好些时间了,在那篇文章中提到的方法是非常简单而有效的,我在实际的项目中就这么用了,代码经过一段时间的磨合,已经很 ...
- 翻译1-在SQL Server 2016中介绍微软R服务
在SQL Server 2016中介绍微软R服务 源自:http://www.sqlservercentral.com/articles/Microsoft/145393/ 作者:tomakatrun ...
- ROC,AUC,Precision,Recall,F1的介绍与计算(转)
1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...
- 第九天- 文件操作 r w a 文件复制/修改
文件操作简介:使用python来读写文件是非常简单的操作.我们使用 open() 函数来打开一个文件,获取到文件句柄.然后通过文件句柄就可以进行各种各样的操作了.根据打开⽅方式的不同能够执行的操作也会 ...
- R2—《R in Nutshell》 读书笔记(连载)
R in Nutshell 前言 例子(nutshell包) 本书中的例子包括在nutshell的R包中,使用数据,需加载nutshell包 install.packages("nutshe ...
- python对文件操作 r w a 文件复制/修改
文件操作简介: 使用python来读写文件是非常简单的操作.我们使用 open() 函数来打开一个文件,获取到文件句柄.然后 通过文件句柄就可以进行各种各样的操作了.根据打开⽅方式的不同能够执行的操作 ...
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
随机推荐
- AutoResponder Reference
Fiddler's AutoResponder tab allows you to return files from your local disk instead of transmitting ...
- Linux常用shell脚本
在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,如何学好脚本,最关键的是就是大量的练习 和实践. 1.用Sh ...
- PHP $_GET
$_GET 变量用于收集来自 method="get" 的表单中的值. $_GET 变量 $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值. $_GE ...
- linux sar命令详细说明相关参数
详细说明linux的sar命令 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括: ...
- 〖Ruby〗Ruby关键字
模块定义:module 类定义:class 方法定义:def, undef 检查类型:defined? 条件语句:if, then, else, elsif, case, when, unless 循 ...
- HTTP 协议中的 Transfer-Encoding
HTTP 协议中的 Transfer-Encoding 文章目录 Persistent Connection Content-Length Transfer-Encoding: chunked 本文作 ...
- setting.xml配置详解
http://blog.csdn.net/uohzoaix/article/details/7035302 http://www.micmiu.com/software/build/maven-set ...
- Oracle自治事务实际用例
如下,新建两个存储过程: 在主自治事务中,我们插入一条记录,然后在自治事务中,查看表中行数,然后尝试插入三条记录,查看行数,最后rollback 查看行数,最后返回主事务,查看行数. 1.如下代码: ...
- 理解ROC和AUC
分类器各种各样,如何评价这些分类器的性能呢?(这里只考虑二元分类器,分类器的输出为概率值) 方法一:概率定义法 从正样本中随机选取元素记为x,从负样本中随机选取元素记为y,x的置信度大于y的概率 计算 ...
- 推荐6款极具个性化的在线生成logo的网站
http://www.douban.com/group/topic/10434724/