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实现全局变量的两个解决方法
Jul 03 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
对numpy的array和python中自带的list之间相互转化详解
Apr 13 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
May 25 Python
Python IDLE清空窗口的实例
Jun 25 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python圣诞树编写实例详解
Feb 13 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
PHP开发文件系统实例讲解
2006/10/09 PHP
php 无限极分类
2008/03/27 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
javascript轮播图算法
2016/10/21 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
详解vue axios二次封装
2018/07/22 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python可变参数用法实例分析
2017/04/02 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
python3 深浅copy对比详解
2019/08/12 Python
如何基于Python创建目录文件夹
2019/12/31 Python
Pytorch 使用CNN图像分类的实现
2020/06/16 Python
python中return不返回值的问题解析
2020/07/22 Python
python如何停止递归
2020/09/09 Python
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
大学生就业自荐书
2014/06/16 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
担保书范本
2015/01/20 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android