matplotlib画混淆矩阵与正确率曲线的实例代码

 更新时间:2021年06月01日 09:02:09   作者:小鱼爱吃肉  
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,下面这篇文章主要给大家介绍了关于matplotlib画混淆矩阵与正确率曲线的相关资料,需要的朋友可以参考下

混淆矩阵    

混淆矩阵(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中asyncio模块

    详解python中asyncio模块

    本篇文章给大家详细分析了python中重要的asyncio模块相关知识点,有兴趣的朋友可以学习参考下。
    2018-03-03
  • python代数式括号有效性检验示例代码

    python代数式括号有效性检验示例代码

    这篇文章主要给大家介绍了关于python代数式括号有效性检验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python基于socket进行端口转发实现后门隐藏的示例

    python基于socket进行端口转发实现后门隐藏的示例

    今天小编就为大家分享一篇python基于socket进行端口转发实现后门隐藏的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python中super函数的用法

    Python中super函数的用法

    这篇文章主要介绍了Python中super函数的用法,详细的介绍了Python super函数的具体用法和实例,具有一定的参考价值,有兴趣的可以了解一下
    2017-11-11
  • 利用setuptools打包python程序的方法步骤

    利用setuptools打包python程序的方法步骤

    这篇文章主要介绍了利用setuptools打包python程序的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Python无参装饰器的实现方案及优化

    Python无参装饰器的实现方案及优化

    装饰器(Decorators)是 Python 的一个重要部分,所谓装饰器就是闭包函数的一种应用场景,这篇文章主要给大家介绍了关于Python无参装饰器的相关资料,需要的朋友可以参考下
    2021-08-08
  • Python文件读取read() readline() readlines()函数使用场景技巧示例

    Python文件读取read() readline() readlines()函数使用场景技巧示例

    这篇文章主要介绍了Python文件读取read() readline()及readlines()函数使用场景技巧示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Python脚本/代码的几种常见运行方式

    Python脚本/代码的几种常见运行方式

    我们知道,python脚本或者说python程序其实是一个包含了python代码的文件,通过运行python代码,我们可以验证脚本/程序是否按照我们的期望执行,在python中,有多种方式来运行脚本或程序,取决于小伙伴们的需求,接下来小编将介绍几种常见的 python 代码运行方式
    2023-10-10
  • pycharm如何添加解释器

    pycharm如何添加解释器

    这篇文章主要介绍了pycharm如何添加解释器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • python实现的文件同步服务器实例

    python实现的文件同步服务器实例

    这篇文章主要介绍了python实现的文件同步服务器,实例分析了文件同步服务器的原理及客户端、服务端的实现技巧,需要的朋友可以参考下
    2015-06-06

最新评论