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
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
随机推荐
- 1z0-052 q209_10
10: A user, who is authenticated externally, logs in to a remote machine and connects to the databas ...
- Memcached安装与配置
memcached是danga.com的一个项目.它是一款开源的高性能的分布式内存对象缓存系统.最早是给LiveJournal提供服务的.后来逐渐被越来越多的大型站点所採用.用于在应用中减少对数据库 ...
- org.dom4j.DocumentException:对实体 "virtual_card_id" 的引用必须以 ';' 分隔符结尾
Error on line 1 of document : 对实体 "virtual_card_id" 的引用必须以 ';' 分隔符结尾. CreateTime--2018年 ...
- eclipse 配置多个tomcat
eclipse 配置多个tomcat CreateTime--2018年4月23日15:32:28 Author:Marydon windows-->Preferences-->Ser ...
- 关于NHibernate中存在于Session中实例的3种状态的简单分析
在使用NHibernate的时候.在Session中会有3种状态. 1. 瞬时状态 (Transient) 由 new 命令开辟内存空间的对象,也就是平时所熟悉的普通对象. 如: Student st ...
- try/except/else语句
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #try/except/else语句 #try语句分句形式 except: # ...
- ASP.NET DataBase
//数据库操作 public class DataBase { private SqlConnection conn;//数据库连接对象 #region 打开数据库连接 private void Op ...
- gVim中重新载入当前文件
http://club.topsage.com/thread-2251455-1-1.html有些时候当前打开的文件可能被外部程序不知不觉改变了,这个时候我们就需要重新打开这个文件,或是重读/重载一个 ...
- 系统加速解决方案之Windows XP
系统加速解决方案之Windows XP 在使用Windows XP的过程中,系统速度会随着时间的推移越来越慢,你可重装系统,但重装后,那么多的应用软件也要重新安装,如何在不安装系统的前提下提升Wind ...
- Android 方向传感器
一般情况下,在Android系统中获取手机的方位信息在api中有TYPE_ORIENTATION常量,可以像得到加速度传感器那样得到方向传感器sm.getDefaultSensor(Sensor.TY ...