检测识别问题中的metrics
之前一直记不熟各种指标的具体计算,本文准备彻底搞定这个问题,涵盖目前遇到过的所有评价指标。
TP,TN,FP,FN
首先是true-false和positive-negative这两对词。以二分类为例:
positive和negative指的是预测的分类是正样本还是负样本,true和false指的是预测结果是对的还是错的。
因此:
| 实际类别\预测类别 | 正样本 | 负样本 |
|---|---|---|
| 正样本 | TP | FN |
| 负样本 | FP | TN |
基于这些数值可以计算各项指标:
Accuracy, precision, recall等
Accuracy
\[
A C C=\frac{T P+T N}{T P+T N+F P+F N}
\]
分子为所有正确预测了的样本数目(即正样本被预测为正,负样本被预测为负),分母为所有样本总数。
Accuracy代表了所有样本中,被正确预测的样本所占的比例。
其缺陷在于,当正负样本严重不均衡的时候无法反映出模型的真实水平。
Precision
\[
P=\frac{T P}{T P+F P}
\]
分子为正样本被预测为正的个数,分母为所有被预测为正的个数。
Precision代表了被预测为正的样本中,真的是正样本的比例。又叫查准率。
Recall
\[
\operatorname{Recall}=\frac{T P}{T P+F N}
\]
分子为正被预测为正,分母为正样本的总数。
Recall代表了所有正样本中,被正确预测为正样本的比例。
Recall一般被称为召回率,,又叫Sensitivity,又叫查全率 ,它和一些传统方法中所说的正检率是一个概念。
Specificity
上述的Sensitivity对应的有Specificity:
\[
\operatorname{Specificity}=\frac{T N}{FP+TN}
\]
代表实际负样本中被预测为负的比例。
f1-score
\[
\mathrm{F} 1=\frac{2 * P * R}{P+R}
\]
f1-score是对precision和recall的调和平均值。
正检率,虚警率,漏警率
正检率(P_d):正样本被正确检测到的概率,即recall。
漏警率(P_m):正样本没有被预测为正的概率,即1-P_d,即1-recall。
虚警率(P_f):负样本被预测为正的概率,即1-Specificity。
指标间的关系
为了更简单清楚的说明,用P和N表示预测结果是正和负,用P^和N^表示正样本和负样本。不用*号的原因是我不想在markdown里打一堆转义符。我们有P+N=P^+N^。
对于一个正常的识别模型,P中大多数应当是P^,小部分是N^;同样N中大多应当是N^,小部分是P^。
Precision和recall是互相矛盾的一对指标。直观地理解,precision为所有P中P^的比例,要想提高这个比例,需要更加严格的筛选,更严格的筛选意味着,模型只会将那些预测概率非常高的样本预测为P,显然这会更多地筛选掉实际为N^的P,剩下的P中P^。而对于recall,recall代表P^中P的比例,更加严格的筛选会导致,一些P^的样本没有被预测为P,从而导致recall下降。
同理,正检率与虚警率成正相关关系。
ROC曲线与PR曲线
ROC曲线
ROC曲线即纵轴为正检率,横轴为虚警率。
懒得放示意图了,简单描述一下,一般为从左下到右上的凹函数(注意凹函数的定义),区间为(0,0),(1,1)的正方形区域内。评估方法为计算曲线下积分面积,即AUC。
对于瞎猜模型,ROC曲线应当是一条从(0,0)到(1,1)的对角直线,故AUC为0.5。
对于一个正常的模型,AUC应当在0.5到1之间。越大越好。
PR曲线
类似地,PR曲线纵轴为precision,横轴为recall。
PR曲线一般为从左上到右下的凹函数,区间同样在(0,0),(1,1)的正方形区域。评估方法同样为计算曲线下积分值,称为AP值,对于多个分类,取平均,称为mAP值。
检测识别问题中的metrics的更多相关文章
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理 1.1. 图像边缘一般都是通过对图像进行梯度运算来实现的1 1.2. Remark: 1 1.3. 1.失焦检测. 衡量画面模糊的主要方 ...
- 陈新宇:CKafka在人脸识别PAAS中的应用
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 我叫陈新宇,在格灵深瞳负责数据流的研发,首先特别感谢如今老师,他们把Kafka一个优秀的消息中间件 ...
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结 1.1. 原理,主要使用像素模糊后的差别会变小1 1.2. 具体流程1 1.3. 提升性能 可以使用采样法即可..1 ...
- Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结 1.1. 五中滤镜的分别效果..1 1.2. 基于肤色的图片分类1 1.3. 性能提升2 1.4. --co ...
- Zybo智能小车识别图像中的文字
智能小车识别图像中的文字 [TOC] 运行平台 这次的内容是基于Xilinx公司的Zybo开发板以及其配套的Zrobot套件开发 Zybo上面的sd卡搭载了Ubuntu12.04LTS的linux版本 ...
- qtp不识别树结构中的点击事件
qtp不识别树结构中的点击事件,未生成该点击事件的脚本,解决办法: 1.未生成点击"auto分类c1"的脚本 2.点击1.对象库-2.添加对象库-3.选中对象-点击OK,即将该对象 ...
- ASP.NET 后台不识别ASPX中的控件
请问后台不识别ASPX中的控件,怎么解决 这个程序是在网上下载的 C# code <asp:DataGrid runat="server" ID="dgList1& ...
- javacpp-opencv图像处理系列:国内车辆牌照检测识别系统(万份测试车牌识别准确率99.7%以上,单次平均耗时39ms)
javaCV图像处理系列: 一.javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 二.javaCV图像处理之2:实时视频添 ...
- Python中识别DataFrame中的nan
# 识别python中DataFrame中的nanfor i in pfsj.index: if type(pfsj.loc[i]['WZML']) == float: print('float va ...
随机推荐
- netsh 查看自己的wifi密码。
查看自己曾经连接过得wifi netsh wlan show profiles 断开wifi netsh wlan disconnect 查看密码 netsh wlan show profile na ...
- JS中let、var、const的区别
先看let和var: 1. console.log(a); // undefined var a = 3; console.log(a); // Uncaught ReferenceError: Ca ...
- Element节点
Element节点对象对应网页的 HTML 元素.每一个 HTML 元素,在 DOM 树上都会转化成一个Element节点对象(以下简称元素节点).元素节点的nodeType属性都是1.Element ...
- 剑指offer-面试题36-二叉搜索树与双向链表-中序遍历
/* 题目: 将二叉搜索树转化为排序的双向链表,不能创建新的节点, 只能调整节点的指向,返回双向链表的头节点. */ /* 思路: 递归. 二叉搜索树的中序遍历得到的序列是递增序列. 左子树left& ...
- 吴裕雄--天生自然 JAVA开发学习:Java 开发环境配置
- linux 异常 - setsebool: SELinux is disabled.
问题描述 运行命令:setsebool httpd_can_network_connect 1 或者 setsebool httpd_can_network_connect_db 1 报错:setse ...
- ACM常用STL容器
// STL(标准模板库),由三大部分组成:容器,算法,迭代器 // STL六大组件:container(容器),algorthm(算法),iterator(迭代器) // function obje ...
- ES6 DEMO
案例: ①匿名封装 (function(window,document){ const HEAD = 1; let MSG = function(options){ this._init(option ...
- jQuery笔记(六)jQuery之Ajax
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对 ...
- 纪中集训2020.02.05【NOIP提高组】模拟B 组总结反思——【佛山市选2010】组合数计算,生成字符串 PPMM
目录 JZOJ2290. [佛山市选2010]组合数计算 比赛时 之后 JZOJ2291. [佛山市选2010]生成字符串 比赛时 之后 JZOJ2292. PPMM 比赛时 之后 JZOJ2290. ...