多分类f1分数_分类模型的F1-score、Precision和Recall 计算过程
分类模型的F1分值、Precision和Recall 计算过程
引入
通常,我们在评价classifier的性能时使用的是accuracy
考虑在多类分类的背景下
accuracy = (分类正确的样本个数) / (分类的所有样本个数)
这样做其实看上去也挺不错的,不过可能会出现一个很严重的问题:例如某一个不透明的袋子里面装了1000台手机,其中有600台iphone6, 300台galaxy s6, 50台华为mate7,50台mx4(当然,这些信息分类器是不知道的。。。)。如果分类器只是简单的把所有的手机都预测为iphone6, 那么通过上面的公式计算的准确率accuracy为0.6,看起来还不错;可是三星,华为和小米的全部预测错了。如果再给一个袋子,里面装着600台galaxy s6, 300台mx4, 50台华为mate7,50台iphone,那这个分类器立马就爆炸了,连回家带孩子的要求都达不到
所以,仅仅用accuracy来衡量一个分类器的性能是很不科学的。因此要引入其他的衡量标准。
二分类
是不是经常看见如下类似的图?这是二分类的图,假设只有正类和负类,True和False分别表示对和错;Positive和Negative分别表示预测为正类和负类。
那么
TP:预测为Positive并且对了(样本为正类且预测为正类)
TN:预测为Negative并且对了(样本为负类且预测为负类)
FP:预测为Positive但错了(样本为负类但预测为正类)
FN:预测为Negative但错了(样本为正类但预测为负类)
TP+FP:预测为Positive并且对了+预测为Positive但错了=预测为Positive的样本总数
TP+FN:预测为Positive并且对了+预测为Negative但错了=实际为Positive的样本总数
所以precision就表示:被正确预测的Positive样本 / 被预测为Positive的样本总数
同理,recall就表示:被正确预测的Positive样本 / 实际为Positive的样本总数
F1是调和平均值,精准率和召回率只要有一个比较小的话,F1的值也会被拉下来:
多分类情况
其实和二分类情况很类似,例子如下 这个是Micro , 和二分类类似 (将例子中的precision和recall代入到F1公式中,得到的就是Micro下的F1值)
而Macro情况下计算F1需要先计算出每个类别的F1值,然后求平均值。如下
Macro情况下上述例子的计算
sklearn计算程序(macro)
下面是使用sklearn直接计算多类别F1/P/R的程序,将接口中的average参数配置为’macro’即可。
from sklearn.metrics import f1_score, precision_score, recall_score
y_true=[1,2,3]
y_pred=[1,1,3]
f1 = f1_score( y_true, y_pred, average='macro' )
p = precision_score(y_true, y_pred, average='macro')
r = recall_score(y_true, y_pred, average='macro')
print(f1, p, r)
# output: 0.555555555556 0.5 0.666666666667
参考链接:
机器学习:评价分类结果(F1 Score)
一.基础 疑问1:具体使用算法时,怎么通过精准率和召回率判断算法优劣? 根据具体使用场景而定: 例1:股票预测,未来该股票是升还是降?业务要求更精准的找到能够上升的股票:此情况下,模型精准率越高越优. ...
【tf.keras】实现 F1 score、precision、recall 等 metric
tf.keras.metric 里面竟然没有实现 F1 score.recall.precision 等指标,一开始觉得真不可思议.但这是有原因的,这些指标在 batch-wise 上计算都没有意义, ...
机器学习中的 precision、recall、accuracy、F1 Score
1. 四个概念定义:TP.FP.TN.FN 先看四个概念定义: - TP,True Positive - FP,False Positive - TN,True Negative - FN,False ...
利用sklearn对MNIST手写数据集开始一个简单的二分类判别器项目(在这个过程中学习关于模型性能的评价指标,如accuracy,precision,recall,混淆矩阵)
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
分类问题的几个评价指标(Precision、Recall、F1-Score、Micro-F1、Macro-F1
轉自 https://blog.csdn.net/sinat_28576553/article/details/80258619 四个基本概念TP.True Positive 真阳性:预测为正,实 ...
ROC,AUC,Precision,Recall,F1的介绍与计算(转)
1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...
ROC,AUC,Precision,Recall,F1的介绍与计算
1. 基本概念 1.1 ROC与AUC ROC曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,ROC曲线称为受试者工作特征曲线 (receiver operatin ...
机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?
一篇文章就搞懂啦,这个必须收藏! 我们以图片分类来举例,当然换成文本.语音等也是一样的. Positive 正样本.比如你要识别一组图片是不是猫,那么你预测某张图片是猫,这张图片就被预测成了正样本. ...
分类问题(三)混淆矩阵,Precision与Recall
混淆矩阵 衡量一个分类器性能的更好的办法是混淆矩阵.它基于的思想是:计算类别A被分类为类别B的次数.例如在查看分类器将图片5分类成图片3时,我们会看混淆矩阵的第5行以及第3列. 为了计算一个混淆矩阵, ...
随机推荐
小小收获for python
包导入问题: 包之外导入:还是按照sys.path的搜索路径进行模块的导入 包内的导入:python3.0+ 完全区分绝对导入和相对导入 from . import string #在 ...
高通Android平台硬件调试之Camera篇
之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...
drupal 2016-11-3
我随意定义了一个hook menu发现里面的内容很快就加入到了navigation menu里面.
【图像算法】图像特征:GLCM灰度共生矩阵,纹理特征
[图像算法]图像特征:GLCM SkySeraph Aug 27th 2011 HQU Email:zgzhaobo@gmail.com QQ:452728574 Latest Modifie ...
linux下MySQL 5.6源码安装
linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...
最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
自从SEOTcs系统11月份24日更新了一下SEO得分算法以来,一直困扰我的一个问题出现了,java的数据job任务,在执行过程中会经常报以下的错误: “2011-12-03 18:00:32 Def ...
如何使用MOQ进行单元测试
使用MOQ来伪装和隔离被依赖对象,从而提高被测对象的测试效果. 安装 通过http://code.google.com/p/moq可以下载MOQ的最新版本.在SSL项目中,我们使用的是MOQ 3.1. ...
Aps.net中基于bootstrapt图片上传插件的应用
Aps.net中基于bootstrapt图片上传插件的应用 在最近的项目中需要使用一个图片上传的功能,而且是多张图片同时上传到服务器的文件夹中,将图片路径存放在数据库中.为了外观好看使用了bootst ...
SpringMvc返回报文形式的控制-验证方法: JSON or HTML or XML
首先,请求通过accept请求头声明了支持的返回格式 然后,框架根据该请求头和代码实现(注解)选择了对应的MessageConverter处理返回! 一.验证过程 1.返回html 1.1.请求组装 ...
【原创】分布式之elk日志架构的演进
引言 好久没写分布式系列的文章了,最近刚好有个朋友给我留言,想看这方面的知识.其实这方面的知识,网上各种技术峰会的资料一抓一大把.博主也是凑合着写写.感觉自己也写不出什么新意,大家也凑合看看. 日志系 ...
多分类f1分数_分类模型的F1-score、Precision和Recall 计算过程相关推荐
- 多分类f1分数_机器学习之分类模型评估总结
一.概述 在机器学习模型搭建好之后,需要对模型进行评估,针对不同的算法模型有不同的评估方法,比如:分类算法.回归算法.聚类算法等,本文主要是针对分类算法的模型评估方法进行总结整理,便于自己对评估方法的 ...
- 多分类f1分数_如何计算多标签分类中的F1测度?
我正在研究句子类别检测问题.其中每个句子可以属于多个类别,例如:"It has great sushi and even better service." True Label: ...
- 逻辑回归是分类还是回归_分类和回归:它们是否相同?
逻辑回归是分类还是回归 You might have come across the terms Regression and Classification, and might as well th ...
- 详解多分类模型的Macro-F1/Precision/Recall计算过程
引入 关于准确率(accuracy).精度(precision).查全率(recall).F1的计算过程,之前写过一篇文章[1]. 根据文章[1]中的公式,我们可以知道,精度(precision).查 ...
- 多分类f1分数_多分类的评价指标PRF(Macro-F1/MicroF1/weighted)详解
也许是由于上学的时候一直搞序列标注任务,多分类任务又可以简化为简单的二分类任务,所以一直认为PRF值很简单,没啥好看的.然鹅,细看下来竟有点晦涩难懂,马篇博留个念咯~ 前言 PRF值分别表示准确率(P ...
- 多分类f1分数_所以多分类情况下sklearn的f1值到底是怎么计算的
已经很久没有更新新的文章啦,最近在弄GCN,很多东西的理解都还没有很透彻,所以也不太好发,不过就在今天"南归"的时候刷知乎,刷到了这么一个朋友( @苏小胖与喵 )的疑问: 这... ...
- 决策树分类python代码_分类算法-决策树 Decision Tree
决策树(Decision Tree)是一个非参数的监督式学习方法,决策树又称为判定树,是运用于分类的一种树结构,其中的每个内部节点代表对某一属性的一次测试,每条边代表一个测试结果,叶节点代表某个类或类 ...
- sql 分类汇总 列_分类汇总哪家强?R、Python、SAS、SQL?
Excel数据透视表(Pivot Table)可以快速汇总大量数据,能够分类汇总和聚合数值数据,按类别和子类别汇总数据,功能十分强大,并且提供了展开.折叠.行列交换等交互式方法,对使用者来说十分的友好 ...
- 机器学习分类模型评价指标之Accuracy、Precision、Recall、F-Score、P-R Curve、AUC、AP 和 mAP
前文:https://www.cnblogs.com/odesey/p/16902836.html 介绍了混淆矩阵.本文旨在说明其他机器学习模型的评价指标. 1. 准确率(Accuracy-Acc) ...
最新文章
- 本来想用“{{”秀一波,结果却导致了内存溢出!
- 打开IT运维外包的“黑盒”
- Swift 十进制二进制转换 (How to convert a decimal number to binary in Swift)
- Explain:解决MUI 软键盘弹起挤压页面问题
- 111. 二叉树的最小深度 golang
- 对于公司,也是我对软件行业,软件项目的五想法
- 7-8 最长连续递增子序列 (15 分)
- AspxTreeList获取选中项的值
- 用python实现分段函数_在Python中绘制分段函数
- Docker:设置容器自动启动
- Linux静态库与动态库详解
- imnoise3.m
- Win7激活工具的原理是什么?
- html5适合安卓的字体,在安卓中切换h5页面中的字体
- 判断四张扑克牌能否凑成24点游戏算法
- win10安装visio2010出错_四种解决安装Office 2010时出现错误1907的提示方法介绍
- Windows10实用技巧-固定快捷方式到磁贴菜单方式
- 纯css写滚动的弹幕特效
- 【HTML总复习】一文带你查漏补缺,暖你一整天
- 中国建造了世界上最大的超级计算机,中国超级计算机创造出世界最大虚拟宇宙...