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变量和数据类型详解
Feb 15 Python
python生成二维码的实例详解
Oct 29 Python
import的本质解析
Oct 30 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
详解python中@的用法
Mar 27 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
python装饰器代替set get方法实例
Dec 19 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
详解jQuery事件
2017/01/13 Javascript
用原生js做单页应用
2017/01/17 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
Python Socket传输文件示例
2017/01/16 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python实现猜单词游戏
2020/05/22 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
入党函调证明材料
2014/12/24 职场文书
绵山导游词
2015/02/05 职场文书
小学六一主持词开场白
2015/05/28 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
工作报告范文
2019/06/20 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript