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中让MySQL查询结果返回字典类型的方法
Aug 22 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
在Python中处理列表之reverse()方法的使用教程
May 21 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
python书籍信息爬虫实例
Mar 19 Python
Python threading.local代码实例及原理解析
Mar 16 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
Keras设置以及获取权重的实现
Jun 19 Python
python实现三种随机请求头方式
Jan 05 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
福利彩票幸运号码自动生成器
2006/10/09 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
非常不错的一个javascript 类
2006/11/07 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
jquery实现右键菜单插件
2015/03/29 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
师范毕业生求职信
2014/07/11 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
白银帝国观后感
2015/06/17 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python