class accuracy、 instance accuracy、overall accuracy和average accuracy的区别
看论文时看到评估指标里有很多种accuracy,在中文网站上搜索好像没有关于这两种准确度的对比,所以在这边记录分享一下。
1.instance accuracy和class accuracy
最简单,最容易理解的准确率公式如下:
acc=hitspreds\begin{aligned} acc=\frac{hits}{\text{preds}} \end{aligned} acc=predshits
将预测正确的数量hits 除以 参与预测的样本总量preds,得到准确率acc。
instance accuracy
实例准确率将正确预测的总数除以所做预测的总数,而不考虑类别,公式如下:
accmicro =total hits total preds \begin{aligned} a c c_{\text {micro }}=\frac{\text { total hits }}{\text { total preds }} \end{aligned} accmicro = total preds total hits
如果你看的论文没有特别指明是什么准确率,那大概率就是 instance accuracy。
举例:猫狗猪三分类任务,100个猫狗猪的图片参与预测,正确预测(即猪的图片预测为猪,即狗的图片预测为狗,即猫的图片预测为猫)的数量为80张图片,那么 instance accuracy = 80/100 = 80% 。
class accuracy
类准确率分别计算每个类别的准确率(更准确的说法应该是召回率recall),并对所有类的结果进行平均,公式如下:
accmacro =1M∑i=1Macci\begin{aligned} a c c_{\text {macro }}=\frac{1}{M} \sum_{i=1}^{M} a c c_{i} \end{aligned} accmacro =M1i=1∑Macci
acciacc_iacci是类别i的预测准确率,类别总数为 M,结果就是所有类的分别的准确率总和 除以类别数。
举例:还是猫狗猪分类任务,猫样本有50张图,狗样本40张图,猪样本10张图,若原本是猫的图片被正确预测为猫的有45张,原本是狗的图片被正确预测为狗的有32张,原本是猪的图片被正确预测为猪的有5张:
acc猫=45/50=0.9acc_猫 =45/50= 0.9acc猫=45/50=0.9
acc狗=32/40=0.8acc_狗 =32/40= 0.8acc狗=32/40=0.8
acc猪=5/10=0.5acc_猪 =5/10 = 0.5acc猪=5/10=0.5
则 class accuracy = (0.9+0.8+0.5) /3 ~= 0.73
为什么要用后者?
精度是一个对类别不平衡非常敏感的指标,而 instance accuracy是一种在计算时使每个类别的重要性相同的方法。
而class accuracy更能体现出类别不平衡带来的影响。
所以也经常可以看到class accuracy是低于 instance accuracy的。
举个极端点的例子,三分类的测试集分别有 猫图片90张,狗图片5张,猪图片5张,共计100个测试数据。模型1中,猫预测正确85张,狗和猪全部预测错误,此时网络可以说是完全没有分辨狗和猪的能力,但是 instance accuracy仍然达到了85%;而另一种情况,模型2中,猫预测正确75张,狗和猪全部预测正确,instance accuracy依然是85%;这种情况下我们明显知道后一个模型是好于前一个模型的,所以这种情况下使用class accuracy衡量两者更为公平。
2. overall accuracy和average accuracy
看完第一节这边就很简单了,其实就是上面两种准确率换了个名字而已。
论文里的 OA就是 overall accuracy;mAcc 就是average accuracy或者mean accuracy。
overall accuracy == instance accuracy;
average accuracy == class accuracy;
所以也经常可以看到 mAcc 是低于 OA 的。
class accuracy、 instance accuracy、overall accuracy和average accuracy的区别相关推荐
- 总体准确率(overall accuracy)、平均准确率(average accuracy)的含义
参考文章: what is the difference between overall accuracy and average accuracy? 平均准确度 每个类别的每个准确度的平均值,即:预 ...
- 分类评价标准之average accuracy(AA)
1.混淆矩阵 混淆矩阵其实就是一张表格,比如下面程序通过python sklearn 计算混淆矩阵 from sklearn.metrics import confusion_matrix y_tru ...
- class instance java_[Java] Java instanceof 和 Class.isInstance()区别与应用
一.instanceof 关键字 instanceof 关键字用于判断某个实例是否是某个类的实例化对象,形如: String.class instanceofClass"test" ...
- [UiAutomator] UiSelector中使用instance与index方法定位控件的区别
在使用UiAutomator写测试用例时,最常用到的就是控件查找操作. 在UiSelector中,有两个定位控件的方法,一个是instance,一个是index.那么这两个方法有什么区别呢? 首先,我 ...
- K-Fold Cross Validation
2019独角兽企业重金招聘Python工程师标准>>> 1: K Fold Cross Validation In the previous mission, we learned ...
- 论文笔记【A Comprehensive Study of Deep Video Action Recognition】
论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...
- 人脸识别——脸部属性辅助(得分层)
<A Face Recognition Signature Combining Patch-based Features with Soft Facial Attributes> 2018 ...
- 半监督分类算法_基于同质区和迁移学习的高光谱图像半监督分类
作 者 信 息 赵婵娟,周绍光,丁 倩,刘丽丽 (河海大学 地球科学与工程学院,江苏 南京 211100) " [摘要]针对高光谱遥感图像分类中标记样本难获取的问题,提出了一种基于同质区和迁 ...
- python kfold交叉验证_Scikit Learn-使用KFold交叉验证的决策树
我对scikit学习/机器学习比较陌生 . 我必须使用Titanic数据集创建决策树,并且需要使用5倍的KFold交叉验证 . 这是我到目前为止所拥有的: cv = KFold(n_splits=5) ...
- Eye tracker accuracy and precision
一个研究者的眼动跟踪方案:Yuta Itoh (伊藤 勇太) (http://campar.in.tum.de/Main/YutaItoh Fellow at the Chair for Comput ...
最新文章
- 一句代码实现 HTML5 语音搜索
- 推荐一个小巧轻便的RSS阅读器
- 【渝粤教育】国家开放大学2018年春季 7392-22FMatlab语言及其应用 参考试题
- at moment的用法 the_值得收藏!初中英语10大词类详解+用法+考点, 这一篇全齐了!...
- C# 3.0 新特性
- git merge用法_Git 基本命令 merge 和 rebase,你真的了解吗?
- C++程序设计方法3:移动构造函数
- linux系统上项目部署
- eclipse不识别java,在Eclipse中运行的Maven项目存在问题,无法识别为Java项目
- WEB实现百度离线地图展示
- 辰信领创携手天津麒麟全力保障国产操作系统安全
- B - Gary's Calculator
- 衡水二中2021清华北大高考成绩查询,衡水二中:把5分钟利用成2小时,清北再录取101人!...
- 安卓开发——升级compileSdkVersion、targetSdkVersion、buildToolsVersion、support包到最新(28)问题解决
- 图片风格迁移:基于实例缓解细节丢失、人脸风格化失败问题
- STM32F0 USB VCP数据发送丢包错位问题
- 【电子科学系保研】-- 湖南大学保研之旅
- java mavlink_java – 使用消息更改速度到Mavlink
- 实现AlphaBlend效果时的图标预处理
- 已从事软件测试10年,入行迷茫的你是否具备这个行业的硬+软实力!
热门文章
- 贪心 汽车加油 java_贪心算法-汽车加油
- webrtc rtt 计算
- pip install 报语法错误
- 如何申请Xilinx的评估IP
- oracle 2703,Oracle11gR2光钎链路切换crs服务发生crash
- c语言字符幂函数怎么编写,我如何自己编写幂函数?
- LVS_DR+keepalived(内涵理论与实验)
- 基于FL2440 的V4L2采集 + H264编码 + LIVE555发布的实时视频监控系统
- pyhton爬虫爬取100首诗
- 知识共享平台开发-BUG[2014-11-27]