MATLAB实现多分类预测结果混淆矩阵(Confusion matrix)可视化

2023-11-13

对于多分类问题,如何对预测结果进行可视化分析是性能对比的关键,在实际多分类问题,除了简单展示模型预测精度外,如何理解不同类别之间的预测结果对于分析样本相关性和属性区别具有重要意义,在MATLAB中一般通过混淆矩阵confusion matrix进行可视化分析,

基本实现函数为:

1. plotconfusion(targets,outputs)

2. plotconfusion(targets,outputs, name)

其中 targets为样本对应实际标签,outputs为所建模型预测样本标签,name为混淆矩阵名称,并非对应属性名称(譬如产地等),除上述两种方式为,还有一种表达方式是通过单独属性表示预测结果的,没什么应用价值,此处不再介绍。

需要说明的是:targets和outputs两个矩阵不是实际预测模型的1xN矩阵,而是MxN矩阵,其中N表示样本数目,M表示样本属性个数,即类别数或标签数等。常规模型所得1xN预测属性无法直接进行混淆矩阵绘制,需要对单样本属性进行多属性扩展,具体为建立MxN矩阵,该矩阵行表示属性特性,列表示样本,对于单个样本,仅在对应属性对应行向量进行标注(1),该列向量其余位置均为0,这样,原先的矩阵1xN矩阵转换为MxN矩阵。

官方给出的二分类问题为:

其中横轴表示真实样本标签、纵轴表示样本预测标签,下、右四块浅灰色表示TP、TN、FP、FN等有关不平衡分布样本评价指标参数。

官方给出的多分类问题为: 

 可以看到,每一个橙色方块内部表示预测错误样本数,主对角线表示预测正确样本数,下、右浅灰色矩形框表示对应样本属性预测准确率。

最后再贴一张自己对太平猴魁茶产地鉴别结果的可视化:

 

 我对图中的字体和框图颜色进行了调整。

完结,加油,我的博士梦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB实现多分类预测结果混淆矩阵(Confusion matrix)可视化 的相关文章

  • 如何在 MATLAB 中可视化球体的交集?

    似乎这个问题在一些地方被问过 包括SO https stackoverflow com questions 35130336 draws the intersecting volume of two spheres in matlab 我最
  • matlab mex 文件和 C++ dll (Windows)

    我有一个带有 Test 类的 DLL 标题 class MY EXPORT Test public int doit const string str 和来源 int Test doit const string str return in
  • 扩展 MATLAB 函数名称的最大长度

    我编写了一个 MATLAB 程序 可以动态创建自定义 MATLAB 函数 并使用以下命令在其他 MATLAB 实例中启动它们unix命令 我使用这个程序来自动化 fMRI 神经影像分析 使用 SPM8 for MATLAB 一切正常 但是
  • Matlab中转换数据类型的有效方法(double vs. im2double)

    我想将真彩色图像转换为双精度 据我所知有两种方法可以做到这一点 double rgb img im2double rgb img 哪一种效率更高 谢谢 他们都是不同的 im2double将图像的范围转换为0 1如果数据类型是uint8 or
  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 不等间隔时间序列的移动平均线

    我有一个证券交易所股票价格的数据集 时间 价格 但数据点之间的间隔并不相等 从 1 到 2 分钟不等 在这种情况下计算移动平均值的最佳实践是什么 如何在Matlab中实现呢 我倾向于认为 点的权重应该取决于自上一个点以来的最后时间间隔 Ma
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • Simulink 仿真引擎如何工作?

    我想了解 Simulink 仿真引擎的工作原理 它是否使用离散事件模拟机制 那么如何处理连续时间 它是否依赖于基于静态循环的代码生成 或者 在第一个周期之前 它会计算出块的执行顺序 从不需要任何其他块输入的块开始 每个周期 它都会根据输入和
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • 使用 MATLAB 进行线路跟踪

    我有一个图像 我想将其转换为逻辑图像 包括线条为黑色 背景为白色 当然 可以使用阈值方法来实现这一点 但我不想使用这种方式来做到这一点 我想通过使用线路跟踪方法或类似的方法来检测它 这是关于视网膜血管检测的 我找到了一个article ht
  • MATLAB 特征函数

    我很好奇哪里可以找到完整的描述FEATURE功能 它接受哪些论点 没有找到文档 我只听说过memstats and getpid 还要别的吗 gt gt which feature built in undocumented 注意 更完整的
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • matlab中求和函数句柄

    Hi我试图对两个函数句柄求和 但它不起作用 例如 y1 x x x y2 x x x 3 x y3 y1 y2 我收到的错误是 对于 function handle 类型的输入参数 未定义函数或方法 plus 这只是一个小例子 实际上我实际

随机推荐

  • 什么是CRUD( What is CRUD)?

    在很多技术性的文章 特别是有关数据库类的文章中 经常会看到一个缩写 CRUD 那什么是CRUD呢 CRUD其实是数据库基本操作中的Create 创建 ReadRetrieve 读取 Update 更新 Delete 删除 而这里的Creat
  • pycharm中pygame模块的安装与用法

    一 pygame的安装 本文章主要展示pycharm中的pygame模块的安装 打开pycharm 在左上角点file 找到settings 如图 进入后 找到Project untitled下的Project interperter 右边
  • 谷歌VAD静音检测py-webrtcvad使用详解

    一 前言 不知道有没有人和我一样看的官方示例一脸蒙 什么采样率除以时间 看到就头大 还是英文头更大了 好了废话结束 上翻译改编版 二 人话翻译版代码 如果你问我有些行为什么没有注释 import collections import con
  • 小记stm32实现串口接收的四种方法(hal库)

    开发环境 STM32CUBMX 正点原子STM32F407ZGT6探索者开发板 MDK ARM 5 31 第一种方式 直接接收 配置外部时钟源 2 配置时钟树 3 配置串口一 生产代码后进入工程 重定向printf到串口1 建议在usart
  • 攻防世界(pwn)Recho(XCTF 3rd-RCTF-2017) writeup

    64位程序 保护如上 可以分析出程序大意 先读取字符串长度存入nptr与v7中 如果字符串长度小于15时将v7设为16 大于15则不变 然后读取v7个字符放入buf中 最后在末尾添上0并打印出来 漏洞很显然 如果v7很大 则read会造成溢
  • ChatGPT实战:创业咨询,少走弯路,少踩坑

    用九死一生形容创业再适合不过 不过一旦成功回报也很诱人 这也是为什么那么多人下场创业 纸上得来终觉浅 绝知此事要躬行 创过业的人都知道其中的心酸 而他们也建议你去创业 因为那真不是一般人能干的事 又想创业 又想少踩坑 创业者肯定是想多向走过
  • Matlab中的FCM算法代码及中文详解

    Matlab中的FCM算法代码及中文详解 转自 http xiaozu renren com xiaozu 106512 336681453 function center U obj fcn FCMClust data cluster n
  • 实习僧-竞品分析报告

    找工作是应届毕业生们绕不开的话题 本文从PEST分析 行业概况 用户体验等角度 做了一份实习僧vs前程无忧的竞品分析报告 一 报告概述 1 体验环境 产品体验 软件版本 实习僧 4 14 0 前程无忧学生版1 2 0 手机系统 Harmon
  • cadence OrCAD原理图输出-pdf文件和bom表

    软件版本 16 6 一 输出pdf文件 生成pdf文件前 需要首先安装好pdf虚拟打印机 在打印时选择pdf打印机即可 在项目管理中 选择dsn文件 主菜单file gt print 选项 出现打印机对话框 默认 scale to pape
  • R语言-ggplot2图形语法

    简介 在R里 主要有两大底层图层系统 一是base图形系统 二是gird图形系统 lattice包与ggplot2包正是基于gird图形系统构建的 他们都有自己独特的图形语法 ggplot2有着自己独特的图形语法 这套语法归纳起来包括 数据
  • 魅族满载诚意强势回归,重启全胜时代?

    3月30日魅族在上海梅赛德斯 奔驰文化中心举办了史上最大规模的新品发布会 吸引了众多媒体 行业人士和魅友的关注 在发布会上 魅族正式推出了魅族20系列旗舰手机 以及Flyme 10系统 Flyme Auto车机系统等全场景融合体验产品 全方
  • JS 随机生成十个带颜色的li

    html和css部分
  • 量化投资学习-37:底部涨停板操作

    涨停板选股 1 异动 主力的拉升前的筹码集中度和压力试盘 金针探底 拉升回落 2 时间 10 00之前涨停最佳 10 30之前凑合 下午不可 3 空间 底部第一个涨停 后续还有较大的涨幅空间 4 缺口 通过缺口 快速脱离主力的成本区和价格底
  • java注解开发

    用xml配置文件方式是Servlet2 5版本规范的 经过逐步演变注解来时流行 因为更方便了 Servlet3 0以后也支持注解开发了 自动注解实现步骤 创建JavaWeb工程 并移除web xml 编写Servlet 继承HttpServ
  • react学习笔记-从井字棋开始(3)

    函数函组件 如果你想写的组件只包含一个 render 方法 并且不包含 state 那么使用函数组件就会更简单 我们不需要定义一个继承于 React Component 的类 我们可以定义一个函数 这个函数接收 props 作为参数 然后返
  • 120种小狗图像傻傻分不清?用fastai训练一个分类器

    作者 一杯奶茶的功夫 链接 https www jianshu com p ab35ed21df87 程序员转行学什么语言 https edu csdn net topic ai30 utm source csdn bw 这篇文章会讲解如何
  • windows xp 驱动开发(四) USB开发技术概述

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见 一起讨论 参考文章 http blog csdn net xxxluozhen article details 4882121 1 概
  • 远程桌面协议(RDP)介绍

    远程桌面协议 RDP 允许您远程访问计算机 多年来 它免除了许多系统管理操作 无疑是一项非常有用的技术 RDP 长期以来一直提供远程访问支持 而且越来越好 该协议于 1998 年在 Windows NT 4 0 Terminal Serve
  • Linux系统简介

    文章目录 1 UNIX与Linux发展史 1 1 UNIX发展史 1 2 Linux发展史 1 2 1 Linux内核版本 1 2 2 Linux主要发行版本 2 开源软件简介 2 1 典型的开源软件 2 2 开源软件的特点 2 3 支撑互
  • MATLAB实现多分类预测结果混淆矩阵(Confusion matrix)可视化

    对于多分类问题 如何对预测结果进行可视化分析是性能对比的关键 在实际多分类问题 除了简单展示模型预测精度外 如何理解不同类别之间的预测结果对于分析样本相关性和属性区别具有重要意义 在MATLAB中一般通过混淆矩阵confusion matr