【深度学习】Precision 和 Recall 评价指标理解
1. 四种情况
Precision精确率, Recall召回率,是二分类问题常用的评价指标。混淆矩阵如下:
预测结果为阳性 Positive | 预测结果为假阳性 Negative | |
---|---|---|
预测结果是真实的 True | TP | TN |
预测结果是虚假的 False | FP | FN |
通常关注的类为正类,其他类为负类。(以猫狗二分类为例,现在关注狗的precision和recall)
TP | 正类预测为正类(预测出狗的图片实际标注也是狗) |
---|---|
FN | 正类预测为负类(预测出猫的图片实际标注是狗) |
FP | 负类预测为正类(预测出狗的图片实际标注是猫) |
TN | 负类预测为负类(预测出猫的图片实际标注是猫) |
T, F 代表的是图片对应的标签
P, N 代表的是图片预测出来的结果
2. Precision
精确率计算公式:
\[
P=\frac{TP}{TP+FP}
\]
理解:
TP+FP: 也就是全体Positive, 也就是预测的图片中是正类的图片的数目
TP: 也就是正类也被预测为正类的图片的个数
总之:预测正确的图片个数占总的正类预测个数的比例(从预测结果角度看,有多少预测是准确的)
3. Recall
召回率计算公式:
\[
R=\frac{TP}{TP+FN}
\]
理解:
TP+FN: 也就是全体完全满足图片标注的图片的个数
TP:正类被预测为正类的图片个数
总之:确定了正类被预测为正类图片占所有标注图片的个数(从标注角度看,有多少被召回)
4. 二分类举例
还是以猫狗二分类为例,测试集一共有20张狗, 20张猫的图片的标注图片(狗为正例),模型预测出其中有16张图片是狗,其中14张图片标注确实为狗,剩下两张图片标注为猫。
Positive | Negative | All | |
---|---|---|---|
True | TP: 14 | TN: 6 | 20 |
False | FP: 2 | FN: | |
All | 16 |
所以可以进行计算了
\[
precision = \frac{TP}{TP+FP} = \frac{14}{14+2}
\]
\[
recall = \frac{TP}{TP+FN} = \frac{14}{40}
\]
5. 多分类举例
该例引用自:https://www.itcodemonkey.com/article/9521.html
Class1 | Actual_Class1 | Actual_Class2 | Actual_Class3 |
---|---|---|---|
Predicted_Class1 | 30 | 20 | 10 |
Predicted_Class2 | 50 | 60 | 10 |
Predicted_Class3 | 20 | 20 | 80 |
比如我们对class2进行计算:
class2-TP:标签为class2, 预测为class2 = 60
class2-TN: 标签为class2, 预测不是class2 = 20+20 = 40
class2-FP: 标签不为class2, 预测为class2 = 50 + 10 = 60
class2-FN: 标签不为class2, 预测也不是class2 = 30+10+20+80 = 140
6. 其他指标
F1 值是precision和recall调和平均值:
\[
\frac{2}{F_1} = \frac{1}{P} + \frac{1}{R}
\]
\[
F_1 = \frac{2TP}{2TP+FP+FN}
\]
【深度学习】Precision 和 Recall 评价指标理解的更多相关文章
- 点云上的深度学习及其在三维场景理解中的应用(PPT内容整理PointNet)
这篇博客主要是整理了PointNet提出者祁芮中台介绍PointNet.PointNet++.Frustum PointNets的PPT内容,内容包括如何将点云进行深度学习,如何设计新型的网络架构 ...
- 深度学习中dropout策略的理解
现在有空整理一下关于深度学习中怎么加入dropout方法来防止测试过程的过拟合现象. 首先了解一下dropout的实现原理: 这些理论的解释在百度上有很多.... 这里重点记录一下怎么实现这一技术 参 ...
- 2.深度学习中的batch_size的理解
Batch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开. 首先,为什么需要有 Batch_Size 这个参数? Batch 的选择,首先决定的是下降的方向.如果数据集比较小 ...
- C#中的深度学习(三):理解神经网络结构
在这篇文章中,我们将回顾监督机器学习的基础知识,以及训练和验证阶段包括哪些内容. 在这里,我们将为不了解AI的读者介绍机器学习(ML)的基础知识,并且我们将描述在监督机器学习模型中的训练和验证步骤. ...
- 从极大似然估计的角度理解深度学习中loss函数
从极大似然估计的角度理解深度学习中loss函数 为了理解这一概念,首先回顾下最大似然估计的概念: 最大似然估计常用于利用已知的样本结果,反推最有可能导致这一结果产生的参数值,往往模型结果已经确定,用于 ...
- 深度学习之Batch Normalization
在机器学习领域中,有一个重要的假设:独立同分布假设,也就是假设训练数据和测试数据是满足相同分布的,否则在训练集上学习到的模型在测试集上的表现会比较差.而在深层神经网络的训练中,当中间神经层的前一层参数 ...
- 【深度学习与TensorFlow 2.0】入门篇
注:因为毕业论文需要用到相关知识,借着 TF 2.0 发布的时机,重新捡起深度学习.在此,也推荐一下优达学城与 TensorFlow 合作发布的TF 2.0入门课程,下面的例子就来自该课程. 原文发布 ...
- 深度学习VS机器学习——到底什么区别
转自:https://baijiahao.baidu.com/s?id=1595509949786067084&wfr=spider&for=pc 最近在听深度学习的课,老师提了一个基 ...
- 用深度学习LSTM炒股:对冲基金案例分析
英伟达昨天一边发布“全球最大的GPU”,一边经历股价跳水20多美元,到今天发稿时间也没恢复过来.无数同学在后台问文摘菌,要不要抄一波底嘞? 今天用深度学习的序列模型预测股价已经取得了不错的效果,尤其是 ...
随机推荐
- redis和memcache对比
1.性能方面:没有必要过多的关心性能,因为二者的性能都已经足够高了.由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached ...
- numpy包中,与线性代数相关的模块——linalg(利那隔)
https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheethttps://docs.scipy.org/doc/numpy-1 ...
- [ kvm ] 学习笔记 1:Linux 操作系统及虚拟化
1. 前言 一台计算机是由一堆硬件设备组合而成,在硬件之上是操作系统,操作系统与计算机硬件密不可分,操作系统用来管理所有的硬件资源提供服务,各个硬件设备是通过 总线 进行连接起来的: 在操作系统之上, ...
- python2:输出百分比
pass_num=80execute_num=90pass_rate = "%.2f%%" % (float(pass_num)/float(executed_num)*100)p ...
- docker 使用阿里云镜像加速
1.登录阿里云 2.进入控制台 3.搜索 “容器镜像服务” 下拉点击 “镜像加速器” 复制自己的私有地址 进入自己的docker宿主机器(替换下面的地址为自己的私有地址) 修改daemon配置文件/e ...
- centos7 install docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo y ...
- ztree通过id获取节点对象
var treeObj = $.fn.zTree.getZTreeObj("treeId"); var node = treeObj.getNodeByParam("id ...
- Linux(Ubuntu)下的OpenGl的环境安装, 在qt程序中使用opengl库
OpenGl的环境安装 以下参考自:https://blog.csdn.net/wasaiheihei/article/details/52085397 1. 建立基本编译环境 首先不可或缺的,就是编 ...
- 使用jetpack 4.2.2对jetson tx2进行刷机
一.前言 加班加点几天今天终于成功刷机,记录一下成功的一些过程,以方便同样卡住的朋友参考. 延续官网教程[1]中对设备的叫法,pc机称为host,tx2称为target. 二.过程 1. host相关 ...
- CentOS7服务器查看相关配置命令
CPU个数:(base) [jiangshan@localhost ~]$ grep 'physical id' /proc/cpuinfo | sort -u | wc -l2CPU核数:(base ...