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 稀疏矩阵-sparse 存储和转换
May 27 Python
Python线程创建和终止实例代码
Jan 20 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
Python3中exp()函数用法分析
Feb 19 Python
Python判断有效的数独算法示例
Feb 23 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 Python
python通用读取vcf文件的类(复制粘贴即可用)
Feb 29 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
整理Python中常用的conda命令操作
Jun 15 Python
python unittest单元测试的步骤分析
Aug 02 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
配置php网页显示各种语法错误
2013/09/23 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
详解Javascript中prototype属性(推荐)
2016/09/03 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
Python随机生成彩票号码的方法
2015/03/05 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Python中的元组介绍
2019/01/28 Python
python字典的常用方法总结
2019/07/31 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
植物选择:Botanic Choice
2017/02/15 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
五型班组建设方案
2014/02/10 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
薪资证明范本
2015/06/19 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
利用js实现简单开关灯代码
2021/11/23 Javascript