绘制混淆矩阵(MatLab/Python)

news2024/11/29 0:56:39

本文主要简单介绍如何绘制混淆矩阵      

首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。

        其实混淆矩阵就是用来判断我们的算法的分类准确度的一个可视化矩阵

1.使用matlab绘制混淆矩阵

        可以使用函数 plotconfusion 来绘制混淆矩阵

plotconfusion(y_true, y_predict)

其中y_true是我们一开始的分类的标签值,而y_predict使我们使用某个算法或者模型进行训练后对样本进行预测得到标签

注意:在使用函数前,要分别对二者使用categorical函数进行分类   如下:

predict_label = predict(SVMModel, data);
y_true = categorical(label);
y_predict = categorical(predict_label);
plotconfusion(y_true, y_predict)

 2.使用Python绘制混淆矩阵

使用sklearn库中的matrix中的confusion_matrix完成绘制

sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt

y_pred = [] # ['2','2','3','1','4'] # 类似的格式
y_true = [] # ['0','1','2','3','4'] # 类似的格式
# 对上面进行赋值
C = confusion_matrix(y_true, y_pred)

plt.matshow(C, cmap=plt.cm.Blues) # 根据最下面的图按自己需求更改颜色
for i in range(len(C)):
    for j in range(len(C)):
        plt.annotate(C[j, i], xy=(i, j), horizontalalignment='center', verticalalignment='center')

plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()

可见没有matlab绘制的图那么美观 ,当然你也可以深入研究如何使用python绘制更加精美的混淆矩阵图。

以上就是我分享的内容...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

得物AI平台-KubeAI推理训练引擎设计和实践

1.KubeAI介绍 KubeAI是得物AI平台,是我们在容器化过程中,逐步收集和挖掘公司各业务域在AI模型研究和生产迭代过程中的需求,逐步建设而成的一个云原生AI平台。KubeAI以模型为主线提供了从模型开发,到模型训练,再到推理…

本科毕业生10大高薪专业出炉,IT行业赢麻了

据环球网报道,现在大学毕业生转行率高达80%! 非常后悔!有不少粉丝向播妞倾诉,曾经以为读了大学就能找到体面的工作,实际上是掉入了天坑专业,成了现实版孔乙己。 大学生找不到对口好工作,似乎已成…

golang web学习随便记6-模板引擎

以下代码是几乎最简单的一个模板&#xff0c;{{ . }} 表示执行模板时将嵌入的数据 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>Go Web 编程</title> <…

openwrt修改web网页默认端口

使用SSH登录openwrt后台&#xff1b; openwrt 中默认使用的web服务器是uhttpd&#xff0c; 进入配置文件路径&#xff1a; cd /etc/config/ 使用vim编辑器修改uhttpd文件 vi uhttpd 修改以上标红部分后面的端口 vim编辑器打开uhttpd 文件 修改完成后点键盘ESC退出编辑状态&a…

《计算机网络—自顶向下方法》 Wireshark实验(四):TCP 协议分析

在因特网协议族&#xff08;Internet Protocol Suite&#xff09;中&#xff0c;TCP 层是位于 IP 层之上&#xff0c;应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接&#xff0c;但是 IP 层不提供这样的流机制&#xff0c;而是提供不可靠的包交换。…

docker could not find driver

先介绍环境 使用的是dockerdocker-compose部署了nginxphpmysqlredis框架用的是laravel 再详细介绍每个服务/框架的版本&#xff1a; nginx1.24php8.1-fpmmysql8.0.25redis7.0.8laravel9.33.0 本篇可不用理会 redis 主要是讲解 php 为什么会出现 "could not find drive…

Datacom-HCIE 01(10月26日更新)--含解析

单选题 1.[试题编号&#xff1a;189684] &#xff08;单选题&#xff09;防火墙双机热备场景下&#xff0c;主备设备之间通过哪种协议实现会话表备份&#xff1f; 2.[试题编号&#xff1a;189682] &#xff08;单选题&#xff09;中间人攻击或IP/MAC Sp fing攻击都会导致信息…

Docker笔记6 | 关于仓库的一些基本知识梳理

6 | 关于仓库的一些基本知识梳理 1 Docker Hub1.1 简介和登陆1.2 拉取镜像1.3 推送镜像1.4 自动构建 2 私有仓库2.1 简介2.2 安装docker-registry2.3 上传镜像2.4 查看镜像2.5 下载镜像 1 Docker Hub 1.1 简介和登陆 Docker Hub是Docker官方维护的一个公共仓库&#xff1b;注…

使用intellij Idea 创建spring boot项目

1、问题&#xff1a;使用Spring Initializr创建的工程&#xff0c;没有src目录&#xff0c;原因是创建的时候&#xff0c;默认选择的地址是https://start.spring.io 由于默认的spring官网的地址在国内比较难访问&#xff0c;当访问不了的时候可以使用阿里云的地址&#xff1a;…

银行零售业务转型方法论:打造数字化的“有机体”

传统的业务增长进度叫做连续性创新&#xff0c;它是在一条曲线上渐进性的改良和发展&#xff0c;但这种发展终有极限&#xff0c;如果不能及时开辟第二增长曲线&#xff0c;就很容易被时代所抛弃。过去十年&#xff0c;以互联网为代表的数字化转型的先行者&#xff0c;不断冲击…

网页三剑客之 CSS

css 在这里不会介绍太多&#xff0c;我们主要重点介绍两个&#xff1a;选择器和盒子模型就够用了。这里看个乐就好了&#xff0c;没有那么多重点&#xff0c;只是简单的认识一下下CSS。 CSS 是什么 CSS 是层叠样式表 (Cascading Style Sheets)的缩写它存在的意义就是&#xf…

MTSC2023中国互联网测试开发大会将于7月15日在上海举办

一年一度的行业盛会&#xff0c;MTSC2023 中国互联网测试开发大会&#xff0c;将从上海开始。 在为期1天的时间里&#xff0c;主办方将邀请一线技术专家、资深行业大咖与大家齐聚一堂&#xff0c;针对当前热门行业话题以及最新的落地实践&#xff0c;进入深入探讨与分享&#…

《CSS揭秘》笔记

前言 《CSS揭秘》&#xff0c;由Lea Verou编著&#xff0c;由CSS魔法翻译&#xff0c;本篇主要记录阅读《CSS揭秘》过程中的一些要点及收获 第二章 背景与边框 box-shadow与outline box-shadow 利用box-shadow可以绘制多重边框&#xff0c;设置其前三个变量均为0&#xff…

在 Python 中如何使用位运算符来进行布尔运算?

Python 中常见的运算符有&#xff1a; &#xff08;1&#xff09;算术运算符&#xff1a;加号 、减号 - 、乘号 * 、除号 / 、取余数 % 、幂运算 ** 、整除 // 。 &#xff08;2&#xff09;比较运算符&#xff1a;等于 、不等于 ! 、大于 > 、小于 < 、大于等于 >…

【Processing】创意编程零基础学习笔记

博客简介 最近出于兴趣爱好&#xff0c;在学习Processing创意编程。此篇博客用来记录我学习Processing创意编程的基础知识&#xff0c;在我学习Processing的过程中&#xff0c;我会持续修改、更新这篇博客。运用Processing写的一些有趣的小项目&#xff0c;会更新在Procesing专…

Speech and Language Processing之RNN

循环神经网络(RNN)是在其网络连接中包含循环的任何网络。也就是说&#xff0c;任何一个单元的值直接或间接依赖于作为输入的早期输出的网络。虽然这种网络很强大&#xff0c;但很难进行推理和训练。然而&#xff0c;在一般的循环网络中&#xff0c;有一些被证明在应用于口语和书…

深入浅析Linux物理内存外碎片化

本文出现的内核代码来自Linux4.19&#xff0c;如果有兴趣&#xff0c;读者可以配合代码阅读本文。 一、Linux物理内存外碎片化概述 什么是Linux物理内存碎片化&#xff1f;Linux物理内存碎片化包括两种&#xff1a; 1.物理内存内碎片&#xff1a;指分配给用户的内存空间中未…

【Linux命令】fdisk 相关分区命令

fdisk 命令既可以对Ubuntu上已有磁盘进行分区&#xff0c;也可以对SD卡进行分区。假设我们要对最新检测到的 /dev/sdb 设备进行分区。 sudo fdisk /dev/sdb 目录 1、 查看分区情况 —— p 2、删除分区 —— d 3、新增分区 —— n 4、修改分区类型 —— t 5、保存之前所有…

DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

文章目录 1 setter注入1.1 环境准备1.2 注入引用数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 2 构造器注入2.1 环境准备2.2 构造器注入…

统计学02: 二项分布

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> n 次伯努力事件(发生和不发生概率和为1) 发生r次的概率 期望&#xff1a; &#xff0c;方差&#xff1a; using DistributionsdBinomial(4, 0.35);mean(d) 4*0.35var(d) 4*0.35(1-0.35) Example We asked various p…