在matplotlib中画简单的混淆矩阵的方法及代码是什么
Admin 2022-06-30 群英技术资讯 1064 次浏览
这篇文章主要讲解了“在matplotlib中画简单的混淆矩阵的方法及代码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在matplotlib中画简单的混淆矩阵的方法及代码是什么”吧!混淆矩阵(Confusion Matrix)是机器学习中用来总结分类模型预测结果的一个分析表,是模式识别领域中的一种常用的表达形式。它以矩阵的形式描绘样本数据的真实属性和分类预测结果类型之间的关系,是用来评价分类器性能的一种常用方法。
我们可以通过一个简单的例子来直观理解混淆矩阵
#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['FangSong'] #可显示中文字符
plt.rcParams['axes.unicode_minus']=False
classes = ['a','b','c','d','e','f','g']
confusion_matrix = np.array([(99,1,2,2,0,0,6),(1,98,7,6,2,1,1),(0,0,86,0,0,2,0),(0,0,0,86,1,0,0),(0,0,0,1,94,1,0),(0,1,5,1,0,96,8),(0,0,0,4,3,0,85)],dtype=np.float64)
plt.imshow(confusion_matrix, interpolation='nearest', cmap=plt.cm.Oranges) #按照像素显示出矩阵
plt.title('混淆矩阵')
plt.colorbar()
tick_marks = np.arange(len(classes))
plt.xticks(tick_marks, classes, rotation=-45)
plt.yticks(tick_marks, classes)
thresh = confusion_matrix.max() / 2.
#iters = [[i,j] for i in range(len(classes)) for j in range((classes))]
#ij配对,遍历矩阵迭代器
iters = np.reshape([[[i,j] for j in range(7)] for i in range(7)],(confusion_matrix.size,2))
for i, j in iters:
plt.text(j, i, format(confusion_matrix[i, j]),fontsize=7) #显示对应的数字
plt.ylabel('真实类别')
plt.xlabel('预测类别')
plt.tight_layout()
plt.show()
fig ,ax= plt.subplots()
plt.plot(np.arange(iterations), fig_acc,'b')
plt.plot(np.arange(iterations), fig_realacc, 'r')
ax.set_xlabel('迭代次数')
ax.set_ylabel('正确率(%)')
labels = ["训练正确率", "测试正确率"]
# labels = [l.get_label() for l in lns]
plt.legend( labels, loc=7)
plt.show()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天给大家带来一期围棋的源码分享。下面我们先看看效果。游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法,感兴趣的可以了解一下
今天给大家分享的是python装饰器的内容,一些新手朋友可能对python装饰器不是很理解,因此这篇文章就给大家来详细的介绍一下什么是python装饰器,为什么要用python装饰器,以及python装饰器用法等等,感兴趣的朋友就继续往下看吧。
这篇文章主要为大家详细介绍了如何利用Python语言绘制好看的数据动态图,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手尝试一下
这篇文章主要介绍了Python asyncio的一个坑,文章从Python编程错误开始介绍,改变与好多变不成中常犯的错误,我们今天就来分析分析吧,需要的下伙伴也可以参考一下
python是没有三元描述符的,但是可以通过模拟的实现。其中一种是:(X and V1) or V2正常情况下是不会有错误的,但是文章中也提到了,当
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008