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中的输入和输出功能进行读取和写入的教程
Apr 14 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
Python反射的用法实例分析
Feb 11 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
对Python闭包与延迟绑定的方法详解
Jan 07 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
Django实现将一个字典传到前端显示出来
Apr 03 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
PHP mail()函数使用及配置方法
2014/01/14 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
Expandable "Detail" Table Rows
2007/08/29 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python list语法学习(带例子)
2013/11/01 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
python对象及面向对象技术详解
2016/07/19 Python
python采集微信公众号文章
2018/12/20 Python
Python实现字符型图片验证码识别完整过程详解
2019/05/10 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
python 实现多维数组转向量
2019/11/30 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Django models filter筛选条件详解
2020/03/16 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
美国社交购物市场:MassGenie
2019/02/18 全球购物
请假条的格式
2014/04/11 职场文书
应届大专生求职信
2014/06/26 职场文书
2014年国庆节寄语
2014/09/19 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
python基础之模块的导入
2021/10/24 Python
python 判断文件或文件夹是否存在
2022/03/18 Python