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 相关文章推荐
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 Python
Python pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
详解Python的Django框架中的通用视图
May 04 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
python编程实现归并排序
Apr 14 Python
Flask解决跨域的问题示例代码
Feb 12 Python
python 读取txt,json和hdf5文件的实例
Jun 05 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
PHP安全下载文件的方法
2016/04/07 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
Python 面向对象 成员的访问约束
2008/12/23 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
Flask-Mail用法实例分析
2018/07/21 Python
python微信好友数据分析详解
2018/11/19 Python
利用python实现周期财务统计可视化
2019/08/25 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
小学教师的个人自我鉴定
2013/10/26 职场文书
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
社团活动总结报告
2014/06/27 职场文书
观看信仰心得体会
2014/09/04 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
离职告别感言
2015/08/04 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
解析python中的jsonpath 提取器
2022/01/18 Python