python 怎么调用 矩阵 第几行_第58集 python机器学习:混淆矩阵精度指标

混淆矩阵的精度计算公式为:精度=(TP+TN)/(TP+TN+FP+FN),也就是说,精度就是指正确的预测数目除以所有样本的数量。

准确率、召回率与f-分数:总结混淆矩阵还有几种方法,其中最常见的就是准确率和召回率。准确率度量的是被预测为正例的样本有多少是整整的样例。即:准确率=TP/(TP+FP)。如果目标是限制假正例的数量,那么可以使用准确率作为性能目标。

召回率:召回率(recalll)度量的是正类样本中有多少被预测为正类,即:召回率=TP/(TP+FN),如果我们需要找出所有的正类样本,即避免反例是很重要的情况下,那么可以使用召回率作为性能指标。

在优化召回率与优化准确率之间需要折中,如果你预测所有样本都属于正类,那么可以轻松得到完美的召回率(没有假反例、也没有真反例)。但是,将所有样本都预测为正类,将会得得很多假正例,因此准确率会很低。与之相反,如果你的模型只讲一个最确定的数据点预测为正类,其他点都预测为反类,那么准确率将会很完美(假设这个数据点上实际上就属于正类),但是召回率会很差。(当然,准确率和召回率只是度量混淆矩阵情况中两个量,其他的可以根据实际情况取对应的参数)。

f-分数:虽然准确率和召回率是非常重要的度量,三式仅查看二者之一无法提供完美的途径,所以还有一种将两种方法汇总的方法——f-分数。它是准确率与召回率的调和平均,即:F=2*(准确率*召回率)/(准确率+召回率)。

由于f-分数同时考虑了准确率和召回率,所以它对于不平衡的二分类数据集来说是一种比精度更好的度量方式。我们对前面提到过的“9与其余”的数据集的预测结果计算f1-分数(我们这里假设“9”是正类,标记为True,其他样本为False):

from sklearn.metrics import f1_score

print("F1 score most frequent: {:.2f}".format(f1_score(y_test, pred_most_frequent)))

print("F1 score dummy: {:.2f}".format(f1_score(y_test, pred_dummy)))

print("F1 score logreg: {:.2f}".format(f1_score(y_test, pred_logreg)))

print("F1 score of Tree: {:.2f}".format(f1_score(y_test, pred_tree)))

运行后其结果如下:

F1 score most frequent: 0.00

F1 score dummy: 0.13

F1 score logreg: 0.89

F1 score of Tree: 0.55

由运行结果可以看出:most_frequency的预测中得到的是一条错误信息;另外需要注意的是,虚拟预测和决策树预测之间还是有差别的,尽管精度差别不大,但是f-分数却相差很大。在这里,f-分数更加符合我们对模型的直觉。f-分数的缺点则是比精度更加难以解释。

如果我们要对准确率、召回率和f1-分数做一个更加全面的总结,则可以使用classification_report这个函数,它可以同时计算这三个值,并以美观的形式打印出来。

from sklearn.metrics import classification_report

print("Most frequency class precious:")

print(classification_report(y_test, pred_most_frequent, target_names=["not Nine", "Nine"]))

print("Dummy model precious:")

print(classification_report(y_test, pred_dummy, target_names=["not Nine", "Nine"]))

print("Decision tree precious:")

print(classification_report(y_test, pred_tree, target_names=["not Nine", "Nine"]))

print("logistic regression precious")

print(classification_report(y_test, pred_logreg, target_names=["not Nine", "Nine"]))

运行结果如下图

67a7ab17db7c1f01b721b1f4cf040d5a.png

classification_report 属性打印

classification_report函数为每个类别(这里是True和False)生成一行,并给出以该类并为正类的准确率、召回率及f-分数。这里的最后一列support(支持)表示的是在这个类别中真实样本的数量;最后一行显示的是对应指标的加权平均(按每个类别中的样本个数加权)。

同时,我们从运行结果中还可以看出,虚拟模型与logreg之间的区别并不是很明显,选择哪个类作为正类对指标有很大影响。在这里选择Nine作为正类时logisticregression比其他方法更具备优势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android seekbar闪退,android seekbar 踩坑之路

最近项目中有用到seekbar,之前对这东西不太了解,趁机来踩坑。seekbar样式按我觉得Material 中的还不算难看了。但是美工给了自己的样式,还是得改。主要有这2个属性:android:thumb"drawable/thumb"android:progressDrawable"dr…

tensorflow分类的loss函数_tensorflow 分类损失函数使用小记

多分类损失函数label.shape:[batch_size]; pred.shape: [batch_size, num_classes]使用 tf.keras.losses.sparse_categorical_crossentropy(y_true, y_pred, from_logitsFalse, axis-1)- y_true 真实值, y_pred 预测值- from_logits,我的理解是,如果预测…

华为鸿蒙系统还没发布吗,华为没有孤军奋战,合作伙伴“雪中送炭”,鸿蒙系统正式发布!...

6月2日晚上,期待许久的鸿蒙0S 2终于正式登场了,这意味着鸿蒙手机已经变成了面向市场的正式产品,这是华为迈出的一小步,却是国产系统与安卓、iOS竞争的开始。在鸿蒙OS正式推出后,不少华为手机用户已经收到了系统更新的推…

freemark循环map_java与freemarker遍历map

一、java遍历MAP/*** 1.把key放到一个集合里,遍历key值同时根据key得到值 (推荐)*/Set set map.keySet();Iterator itset.iterator();while(it.hasNext()){String s (String) it.next();System.out.println(map.get(s));}/*** 2.把一个map对象放到放到entry里&#…

.net 开发 html框架,Asp.net的开发框架

Asp.net的开发首先要选择开发框架,选择怎样框架要看看开发什么养的网站用的,选择一个适合的开发框架能节约很多的时间。20个优秀的前端框架:1. Twitter BootStrap (Apache v2.0;响应式)时髦、直观并且强大的前端框架,让…

baseresponse响应类_内部类、响应类Response、序列化基类、反序列化、全局局部钩子...

一、内部类1、概念:将类定义在一个类的内部,被定义的类就是内部类2、特点:内部类及内部类的所以名称空间,可以直接被外部类访问的3、 应用:通过内部类的名称空间,给外部类额外拓展一些特殊的属性(配置)&…

python模块名限定_python 正则表达式 匹配 ?的使用 限定符 sys.re模块

特殊字符:注意\b是匹配单词而非字符串的开始和结束; \w不能匹配汉字限定符放在匹配符的后边2 括号分组:(\d\d\d){2} #有括号匹配6位数字\d\d\d{2} #没有括号匹配4位数字3 ?的使用4 sys.re模块的常用函数表:查找、分隔、…

计算机不能进入桌面,电脑开机无法进入桌面,请高手解决。

该故障是Windows XP操作系统关机故障中最容易出现的故障。造成该故障的原因可能有以下几方面原因:系统设置在添乱Windows XP默认情况下,当系统出现错误时会自动重新启动,这样当用户关机时,如果关机过程中系统出现错误就会重新启动…

太阳能板清洗机器人科沃斯_太阳能电池板清洁机器人

太阳能电池板清洁机器人锐宝RAYBOT,可以实现自动升降式地免水清扫,使常年暴露在太阳下的电池板能彻底摆脱灰尘和污垢。当放置在太阳能电池板上时,锐宝能够自主行走、跨越最大3cm间隙并自动规划路线。底部吸盘设计能使RAYBOT安全地吸附在最大安…

html jq 控制显示密码,js、jquery分别实现点击密码输入框密码显示和隐藏

很多密览始不次这得是觉砖怎可我滚脑选的方近器上码框都有个眼睛标记,点击能显示密码。原理就是点击切换password为te要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标近用功的xt等显示主要知识点:onmousedown&…

maven依赖循环引用_maven循环引用的问题

多模块的maven工程,有时候由于设计的不合理或者需求的变更。会导致模块之间产生循环依赖,编译的时候会报如下的错误:[INFO] Scanning for projects... [ERROR] The projects in the reactor contain a cyclic reference: Edge between .....重…

翻翻看 类型html5,3款容易上手的HTML5编辑工具推荐~

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我们的生活已经时刻可见H5页面的身影,从美食到用车、从购物到求职,可以说HTML5技术对我们生活的影响是颠覆性的。今天小编就给大家推荐5款容易上手的H5页面,大家可以通过自己制作H5页面来感受一下…

ilm 和dlm差异_《存储e周刊》第28期 信息生命周期管理之争

说二月份的最后一周是ILM之周,完全是因为EMC在华推出了其历史上最广泛的分级存储平台组合,跨高端、中端、网络附加存储(NAS)与内容寻址存储(CAS)的全部系列,希望以此帮助客户实现信息在整个生命周期中的最大价值。而信息生命周期管理的存储理…

幼儿园体育游戏电子计算机教案,【幼儿园体育跳圈圈教案】小班体育教案跳圈圈_小班跳圈圈游戏教案_亲亲宝贝网...

教案二:小兔跳圈活动目标:1、在原地纵跳和短距离双脚连续向前跳的基础上,尝试较长距离双脚连续向前跳圈。2、提高身体的协调能力和弹跳能力。活动准备:1、材料准备:呼啦圈若干、小兔头饰、蘑菇、篮子。2、游戏场地设置…

crtsiii型无砟轨道板_自主知识产权CRTSⅢ型轨道板助力,赣深铁路无砟轨道轨道板灌注第一工作面完成...

(本报河源讯 通讯员 陈前名 杨琰妤)11月29日,伴随着碧源中桥轨道板最后一方自密实混凝土浇筑完成,标志着由中国中铁四局机电公司赣深铁路项目部负责施工的第一工作面无砟轨道工程圆满完成,为实现年底全线轨道板全部灌注的目标奠定了坚实基础。…

thymeleaf 复选框回显_Thymeleaf+layui+jquery复选框回显

一、Thymeleaflayuijquery复选框回显基于Thymeleaf模板下的layuijquery复选框回显,主要是jquery。大致意思是:把数组转成JSON传到前台,再在前台转回数组 AJAX一般都是用JSON格式或XML格式来传递数据的JSON就是一种具有特殊格式的字符串。1.实…

计算机网络画出发送窗口变化,全国2010年7月自考计算机网络原理试题及答案

全国2010年7月自考计算机网络原理试题及答案课程代码:04741一、单项选择题(本大题共24小题,每小题1分,共24分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.由一…

带孔的打印纸怎么设置_带孔电脑打印纸规格尺寸的相关知识及应用范围

1.带孔电脑打印纸规格尺寸的相关知识及应用范围。带孔电脑打印纸有分241mm和381mm通用两种规格。这里的241mm和381mm指的是的宽度,通常用的时候来分层数,可以分为1至6层甚至7、8层之多,打印纸的颜色有白、红、蓝、绿、黄五种,而白…

聋人工学院计算机老师,聋人工学院12位手语老师用双手传递声音

在全国第十届残运会暨第七届特奥会上有一个特殊的节目,它虽然是舞蹈,但表演者却听不见背景音乐,它虽然需要踩点,但表演者却只能靠记忆与眼睛去完成每一个节拍。70名理工大学聋人工学院的听障同学将克服身体残疾,共同演…