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使用getpass库读取密码的示例
Oct 10 Python
python的sorted用法详解
Jun 25 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
Python 数据可视化之Seaborn详解
Nov 02 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
yii中widget的用法
2014/12/03 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
python中json格式数据输出的简单实现方法
2016/10/31 Python
python如何实现一个刷网页小程序
2018/11/27 Python
如何基于python实现脚本加密
2019/12/28 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
大堂副理的岗位职责范文
2014/02/17 职场文书
大学军训感言1000字
2014/02/25 职场文书
求职自我推荐信
2014/06/25 职场文书
英语系毕业生求职信
2014/07/13 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
技术员个人工作总结
2015/03/03 职场文书
员工手册编写范本
2015/05/14 职场文书
资金申请报告范文
2015/05/14 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL