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}
\]

最新文章

  1. Vue 入门指南
  2. EntityFrame Work 6 Code First 配置字段为varchar 类型
  3. Scrapy爬虫导图(持续完善中)
  4. 解除SQL对组件&quot;Ad Hoc Distributed Queries&quot;的&quot;STATEMENT&#39;OpenRowset OpenDatasource&quot;的访问
  5. thymeleaf 基本语法
  6. PHP5生成图形验证码(有汉字)
  7. UVA - 12230 Crossing Rivers (期望)
  8. spring的常用配置
  9. CSS中绝对定位依据谁进行定位?
  10. C# 提前异步加载数据
  11. robot 中文 乱码 问题 的处理
  12. android 图形图像
  13. 基于Kubernetes集群部署skyDNS服务
  14. tomcat部署成https协议
  15. PAT 乙级 1060 爱丁顿数(25) C++版
  16. apache虚拟主机配置及常用安全配置
  17. SQL Server报“GUID应包含带4个短划线的32位数”
  18. CentOS6的python2.6升级到python2.7以上版本(可能更详细)
  19. 10 个很有用的高级 Git 命令(转)
  20. dotnet服务器端框架从精通到弃坑

热门文章

  1. PHP 表单 - 3(PHP 表单 - 必需字段)
  2. reset.css 和 flexible.js
  3. jprofiler_windows-x64_9_1注册码
  4. windows命令行设置IP与DNS
  5. 网路总结01-HTTP协议和NSURLConnection
  6. 谷歌浏览器禁止window.close的问题
  7. POJ 1159 Palindrome(区间DP/最长公共子序列+滚动数组)
  8. zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
  9. RCF库ClientStub.setAutoReconnect
  10. 转: javascript动态添加、修改、删除对象的属性和方法