iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Matplotlib绘制混淆矩阵的实现
  • 294
分享到

Matplotlib绘制混淆矩阵的实现

2024-04-02 19:04:59 294人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

对于机器学习多分类模型来说,其评价指标除了精度之外,常用的还有混淆矩阵和分类报告,下面来展示一下如何绘制混淆矩阵,这在论文中经常会用到。 代码如下: import iterto

对于机器学习多分类模型来说,其评价指标除了精度之外,常用的还有混淆矩阵和分类报告,下面来展示一下如何绘制混淆矩阵,这在论文中经常会用到。

代码如下:


import itertools
import matplotlib.pyplot as plt
import numpy as np
# 绘制混淆矩阵
def plot_confusion_matrix(cm, classes, nORMalize=False, title='Confusion matrix', cmap=plt.cm.Blues):
    """
    - cm : 计算出的混淆矩阵的值
    - classes : 混淆矩阵中每一行每一列对应的列
    - normalize : True:显示百分比, False:显示个数
    """
    if normalize:
        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
        print("显示百分比:")
        np.set_printoptions(formatter={'float': '{: 0.2f}'.format})
        print(cm)
    else:
        print('显示具体数字:')
        print(cm)
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.colorbar()
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, rotation=45)
    plt.yticks(tick_marks, classes)
    # matplotlib版本问题,如果不加下面这行代码,则绘制的混淆矩阵上下只能显示一半,有的版本的matplotlib不需要下面的代码,分别试一下即可
    plt.ylim(len(classes) - 0.5, -0.5)
    fmt = '.2f' if normalize else 'd'
    thresh = cm.max() / 2.
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, format(cm[i, j], fmt),
                 horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")
    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    plt.show()

测试数据:


cnf_matrix = np.array([[8707, 64, 731, 164, 45],
                      [1821, 5530, 79, 0, 28],
                      [266, 167, 1982, 4, 2],
                      [691, 0, 107, 1930, 26],
                      [30, 0, 111, 17, 42]])
attack_types = ['Normal', 'DoS', 'Probe', 'R2L', 'U2R']

第一种情况:显示百分比


plot_confusion_matrix(cnf_matrix, classes=attack_types, normalize=True, title='Normalized confusion matrix')

效果:

在这里插入图片描述

在这里插入图片描述

第二种情况:显示数字


plot_confusion_matrix(cnf_matrix, classes=attack_types, normalize=False, title='Normalized confusion matrix')

效果:

在这里插入图片描述

在这里插入图片描述

到此这篇关于Matplotlib绘制混淆矩阵的实现的文章就介绍到这了,更多相关Matplotlib 混淆矩阵内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Matplotlib绘制混淆矩阵的实现

本文链接: https://www.lsjlt.com/news/126987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Matplotlib绘制混淆矩阵的实现
    对于机器学习多分类模型来说,其评价指标除了精度之外,常用的还有混淆矩阵和分类报告,下面来展示一下如何绘制混淆矩阵,这在论文中经常会用到。 代码如下: import iterto...
    99+
    2024-04-02
  • Matplotlib如何绘制混淆矩阵
    小编给大家分享一下Matplotlib如何绘制混淆矩阵,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下:import itertoolsimport matplotlib.pyplot ...
    99+
    2023-06-15
  • 绘制混淆矩阵(MatLab/Python)
    本文主要简单介绍如何绘制混淆矩阵       首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。         其实混淆矩阵就是用来判断我们的算法的...
    99+
    2023-09-05
    python matlab 机器学习 混淆矩阵
  • Python利用Seaborn绘制多标签的混淆矩阵
    Seaborn - 绘制多标签的混淆矩阵、召回、精准、F1 导入seaborn\matplotlib\scipy\sklearn等包: import seaborn as sns f...
    99+
    2024-04-02
  • Python实现两种多分类混淆矩阵
    目录1、什么是混淆矩阵2、分类模型评价指标3、两种多分类混淆矩阵3.1直接打印出每一个类别的分类准确率。3.2打印具体的分类结果的数值4、总结1、什么是混淆矩阵 深度学习中,混淆矩阵...
    99+
    2024-04-02
  • matplotlib画混淆矩阵与正确率曲线的实例代码
    混淆矩阵     混淆矩阵(Confusion Matrix)是机器学习中用来总结分类模型预测结果的一个分析表,是模式识别领域中的一种常用的...
    99+
    2024-04-02
  • pytorch分类模型绘制混淆矩阵及可视化的方法
    本文小编为大家详细介绍“pytorch分类模型绘制混淆矩阵及可视化的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“pytorch分类模型绘制混淆矩阵及可视化的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • pytorch分类模型绘制混淆矩阵以及可视化详解
    目录Step 1. 获取混淆矩阵Step 2. 混淆矩阵可视化其它分类指标的获取总结Step 1. 获取混淆矩阵 #首先定义一个 分类数*分类数 的空混淆矩阵 conf_matri...
    99+
    2024-04-02
  • 使用Python和scikit-learn创建混淆矩阵的示例详解
    目录一、混淆矩阵概述1、示例12、示例2二、使用Scikit-learn 创建混淆矩阵1、相应软件包2、生成示例数据集3、训练一个SVM4、生成混淆矩阵5、可视化边界一、混淆矩阵概述...
    99+
    2024-04-02
  • matlab怎么绘制矩阵的散点图
    在MATLAB中,你可以使用`scatter`函数来绘制矩阵的散点图。这里有一个简单的示例来说明如何使用`scatter`函数绘制矩...
    99+
    2023-09-13
    matlab
  • Python+matplotlib实现饼图的绘制
    目录一、整理数据二、创建饼图三、爆炸效果四、阴影效果五、为饼图加上百分比六、让饼图旋转不同的角度七、为饼图添加边缘线八、为饼图数据分组一、整理数据 关于cnboo1.xlsx,我放在...
    99+
    2024-04-02
  • Python+matplotlib实现量场图的绘制
    目录前言1. 量场图概述什么是量场图?量场图使用场景绘制量场图方法2. 量场图属性设置颜色设置透明度设置向量箭头尺寸设置坐标中向量箭头位置设置向量箭头宽度3. 绘制量场图步骤4. 小...
    99+
    2024-04-02
  • opencv绘制矩形和圆的实现
    目录 绘制图形绘制矩形绘制圆 绘制图形 利用opencv提供的绘制图形api可以轻松在图像上绘制各种图形,比如直线,矩形,圆,椭圆等图形。 line(img,pt...
    99+
    2023-02-16
    opencv绘制矩形和圆 opencv绘制矩形 opencv绘制圆
  • Matlab如何实现矩阵复制扩充
    考虑这个问题: 定义一个简单的行向量a 如何复制10行呢?即: 同理,对于一个列向量,如何复制 10 列呢? 关键函数1: repmat( A , m , n ):将向量/矩阵在...
    99+
    2024-04-02
  • Python+matplotlib实现堆叠图的绘制
    目录一、水平堆叠图二、波浪形堆叠图三、加上数据标签注:本文的所有数据请移步—— 参考数据 一、水平堆叠图 堆叠图其实就是柱状图的一种特殊形式 fro...
    99+
    2024-04-02
  • Python matplotlib实现折线图的绘制
    目录一、版本二、图表主题设置三、一次函数四、多个一次函数五、填充折线图官网: https://matplotlib.org 一、版本 # 01 matplotlib安装情况 imp...
    99+
    2024-04-02
  • numpy拼接矩阵的实现
    目录1、文档2、举例1、文档 使用numpy的 concatenate 拼接矩阵,文档里面这样解释: numpy.concatenate((a1, a2, ...), axis=0,...
    99+
    2024-04-02
  • Python+matplotlib实现简单曲线的绘制
    目录一、安装matplotlib二、测试 matplotlib三、 绘制简单的折线四、使用 scatter() 绘制散点图并设置其样式1、要绘制单个点2、要绘制系列点3、自...
    99+
    2024-04-02
  • NumPy矩阵乘法的实现
    目录NumPy矩阵乘法逐元素矩阵乘法矩阵乘积运算矩阵点积NumPy矩阵乘法 矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵,...
    99+
    2023-02-10
    NumPy矩阵乘法
  • numpy稀疏矩阵的实现
    目录1. coo存储方式2. dok_matrix3. csr和csc存储方式4. lil_matrix5. dia_matrix6. 稀疏矩阵经验1. coo存储方式 采用三元组(...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作