matplotlib画混淆矩阵与正确率曲线的实例代码


Posted in Python onJune 01, 2021

混淆矩阵    

混淆矩阵(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()

总结

到此这篇关于matplotlib画混淆矩阵与正确率曲线的文章就介绍到这了,更多相关matplotlib画混淆矩阵内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中利用原始套接字进行网络编程的示例
May 04 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
Python 记录日志的灵活性和可配置性介绍
Feb 27 Python
Python读取properties配置文件操作示例
Mar 29 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
python2.7 安装pip的方法步骤(管用)
May 05 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
python中for循环变量作用域及用法详解
Nov 05 Python
python对象销毁实例(垃圾回收)
Jan 16 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
PHP 可阅读随机字符串代码
2010/05/26 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
2017/06/17 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
解析window.open的使用方法总结
2013/06/19 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
vue实现图片上传功能
2020/05/28 Javascript
Python字符串替换实例分析
2015/05/11 Python
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
python重试装饰器的简单实现方法
2019/01/31 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
新教师个人工作总结
2015/02/06 职场文书
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript