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中映射类型的内建函数和工厂函数
Aug 19 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
对python:print打印时加u的含义详解
Dec 15 Python
django 消息框架 message使用详解
Jul 22 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 Python
Python用5行代码实现批量抠图的示例代码
Apr 14 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
python两种获取剪贴板内容的方法
Nov 06 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 Python
详细介绍python类及类的用法
教你怎么用PyCharm为同一服务器配置多个python解释器
用python批量解压带密码的压缩包
May 31 #Python
变长双向rnn的正确使用姿势教学
如何在Python项目中引入日志
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
Python数据类型最全知识总结
May 31 #Python
You might like
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
根据json字符串生成Html的一种方式
2013/01/09 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
AngularJS语法详解
2015/01/23 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
jquery在启动页面时,自动加载数据的实例
2018/01/22 jQuery
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
解析Python中while true的使用
2015/10/13 Python
python 调用HBase的简单实例
2016/12/18 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python简易版图书管理系统
2019/08/12 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
英国假发网站:Hothair
2018/02/23 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
天游软件面试
2013/11/23 面试题
公司新人试用期自我评价
2014/09/17 职场文书
导游词欢迎词
2015/02/02 职场文书
国家助学金受助感言
2015/08/01 职场文书
Python实现byte转integer
2021/06/03 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python
总结Python连接CS2000的详细步骤
2021/06/23 Python