Matlab:创建分类数组

news2024/11/25 8:23:28

Matlab:创建分类数组

  • 基于字符串数组创建分类数组
  • 添加新元素和缺失的元素
  • 基于字符串数组创建有序分类数组
  • 基于分 bin 数值数据创建有序分类数组

此示例说明如何创建分类数组。categorical 是一个数据类型,用来存储值来自一组有限离散类别的数据。这些分类可以采用自然排序,但并不要求一定如此。分类数组可用来有效地存储并方便地处理数据,同时还为数值赋予有意义的名称。您可以在表中使用分类数组来定义行组。

默认情况下,分类数组包含的是无数学排序的类别。例如,离散的宠物类别集合 [“dog”,“cat”,“bird”] 无有意义的数学排序,因此 MATLAB® 使用字母排序 [“bird”,“cat”,“dog”]。有序分类数组包含的类别具有有意义的数学排序。例如,离散的大小类别集合 [“small”,“medium”,“large”] 采用数学排序 small < medium < large。

当您基于字符串数组(或字符向量元胞数组)创建分类数组时,前导空格和尾随空格将被删除。例如,如果您将文本 [" cat",“dog”] 指定为类别,则在将它们转换为类别时,它们将变成 [“cat”,“dog”]。

基于字符串数组创建分类数组

您可以使用 categorical 函数基于数值数组、逻辑数组、字符串数组、字符向量元胞数组或现有的分类数组来创建分类数组。

创建一个包含新英格兰各州名称的 1×11 字符串数组。

state = ["MA","ME","CT","VT","ME","NH","VT","MA","NH","CT","RI"]

state = 1x11 string
Columns 1 through 9

"MA"    "ME"    "CT"    "VT"    "ME"    "NH"    "VT"    "MA"    "NH"

Columns 10 through 11

"CT"    "RI"

将字符串数组 state 转换为无数学排序的分类数组。

state = categorical(state)

state = 1x11 categorical
Columns 1 through 9

 MA      ME      CT      VT      ME      NH      VT      MA      NH 

Columns 10 through 11

 CT      RI 

列出变量 state 中的离散类别。state 中只列出六个唯一状态,也就是说有六个类别。这些类别按字母顺序列出。

categories(state)

ans = 6x1 cell
{‘CT’}
{‘MA’}
{‘ME’}
{‘NH’}
{‘RI’}
{‘VT’}

添加新元素和缺失的元素

向原始字符串数组添加元素。其中一个元素是缺失字符串,显示为 。正如 NaN 可以表示数值数组中的缺失值一样, 表示字符串数组中的缺失值。

state = ["MA","ME","CT","VT","ME","NH","VT","MA","NH","CT","RI"];
state = [string(missing) state];
state(13) = "ME"

state = 1x13 string
Columns 1 through 9

<missing>    "MA"    "ME"    "CT"    "VT"    "ME"    "NH"    "VT"    "MA"

Columns 10 through 13

"NH"    "CT"    "RI"    "ME"

将字符串数组转换为 categorical 数组。缺失的字符串成为一个未定义的类别,显示为 。它指示分类数组中不属于任何分类的一个元素。

state = categorical(state)

state = 1x13 categorical
Columns 1 through 8

 <undefined>      MA      ME      CT      VT      ME      NH      VT 

Columns 9 through 13

 MA      NH      CT      RI      ME 

基于字符串数组创建有序分类数组

创建一个包含八个对象的大小的 1×8 字符串数组。

AllSizes = ["medium","large","small","small","medium",...
            "large","medium","small"];

字符串数组 AllSizes 包含三个不同值:“large”、“medium” 和 “small”。当使用字符串数组时,没有方便的方式来指示 small < medium < large。

将字符串数组 AllSizes 转换为有序分类数组。使用 valueset 指定用于定义类别的值 small、medium 和 large。对于有序分类数组,所指定的第一个类别是最小的,最后一个类别是最大的。

valueset = ["small","medium","large"];
sizeOrd = categorical(AllSizes,valueset,'Ordinal',true)

sizeOrd = 1x8 categorical
Columns 1 through 6

 medium      large      small      small      medium      large 

Columns 7 through 8

 medium      small 

分类数组 sizeOrd 中值的顺序保持不变。

列出分类变量 sizeOrd 中的离散类别。

categories(sizeOrd)

ans = 3x1 cell
{‘small’ }
{‘medium’}
{‘large’ }

这些类别按指定的顺序列出以匹配数学排序 small < medium < large。

基于分 bin 数值数据创建有序分类数组

创建由 0 到 50 之间的 100 个随机数构成的向量。

x = rand(100,1)*50;

使用 discretize 函数,通过对 x 的值进行分 bin,创建一个分类数组。将 0 到 15 之间的所有值归入第一个 bin,15 到 35 之间的所有值归入第二个 bin,35 到 50 之间的所有值归入第三个 bin。每个 bin 包括左端点,但不包括右端点。

catnames = ["small","medium","large"];
binnedData = discretize(x,[0 15 35 50],'categorical',catnames);

binnedData 是一个包含三个类别的 100×1 有序分类数组,其中 small < medium < large。

使用 summary 函数输出每个类别中的元素数量。

summary(binnedData)
 small       30 
 medium      35 
 large       35 

您可以生成分 bin 数据的各种图。例如,生成 binnedData 的饼图。

pie(binnedData)

在这里插入图片描述
该博文为原创文章,未经博主同意不得转。
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/127909439

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

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

相关文章

FTX 深度数据复盘

Nov 2022, Sabrina Data Source: Footprint Analytics Dashboards 11月2日&#xff0c;Coindesk 公布了 Alameda 的私人财务文件&#xff0c;这是一家由 FTX 创始人 Sam Bankman-Fried 拥有的风险投资和交易公司&#xff0c;与该交易所密切相关&#xff0c;从而引发了加密货币…

Spring Framework 6.0 框架

Spring Framework 6.0.0 现已正式发布。 “这是 2023 年及以后新一代框架的开始&#xff0c;拥抱了 OpenJDK 和 Java 生态系统中当前和即将到来的创新。同时&#xff0c;我们将其精心设计为针对现代运行时环境的 Spring Framework 5.3.x 的直接升级。” 作为核心框架的重大修订…

脑肽载体Angiopep-2、906480-05-5、TFFYGGSRGKRNNFKTEEY

Angiopep-2 hydrochloride 是脑肽载体。抗肿瘤药物与 Angiopep-2 肽载体的结合可提高其在脑癌中的活性. Angiopep-2 hydrochloride is a brain peptide vector. The conjugation of anticancer agents with the Angiopep-2 peptide vector could increase their efficacy in th…

【正点原子FPGA连载】 第三章 硬件资源详解 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第三章 硬件资源…

提升Mac运行速度的十大小技巧,你用过几个?

经常听到小伙伴在抱怨PC电脑很慢&#xff0c;但是其实Mac电脑随着用的时间增长&#xff0c;运行速度也会越来越慢&#xff0c;那么造成Mac运行慢的原因有很多&#xff0c;可能是操作系统过时未更新&#xff0c;也可能是内存&#xff08;RAM&#xff09;不足&#xff0c;以下小编…

终于把下载安装更新的功能整出来了,记录关键点

我的第一个安卓应用终于也有了APP内安装更新的功能&#xff08;赶上末班车了吗&#xff09;&#xff0c;记录一些关键点&#xff0c;方方面面的。 托管检测更新和下载服务 由于没有服务器&#xff0c;这两个核心功能可以托管到一些比较好的平台。检测我用的是蒲公英分发&…

MySQL8.0分析查询语句EXPLAIN

文章目录学习资料分析查询语句EXPLAINidselect_typepartitions&#xff08;可略&#xff09;type【重点】possible_keys和keykey_len【重点】refrows【重点】filteredExtra【重点】EXPLAIN四种输出格式传统格式JSON格式SHOW WARNINGS的使用学习资料 【MySQL数据库教程天花板&a…

《深度学习进阶 自然语言处理》第五章:RNN通俗介绍

文章目录5.1 概率和语言模型5.1.1 概率视角下的word2vec5.1.2 语言模型5.1.3 将CBOW模型用作语言模型的效果怎么样&#xff1f;5.2 RNN5.2.1 循环神经网络5.2.2 展开循环5.2.3 Backpropagation Through Time5.2.4 Truncated BPTT5.2.5 Truncated BPTT的mini-batch学习5.3 RNN的…

会话跟踪技术。

目录 一、会话跟踪技术 二、Cookie 介绍 1、Cookie 基础 2、Cookie 使用细节 三、Session 介绍 1、Session 基本介绍 2、Session的原理分析 3、Session的使用细节 一、会话跟踪技术 ▶ 会话 会话:用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&a…

SAP 直接外部数据库技术配置手册-Oracle

一、操作步骤: 1、SAP Basis配置TNS文件:tnsnames.ora 事务码AL11下的 DIR_SETUPS变量D:\usr\sap\<SID>\SYS\profile双击进入文件路径oracle可以查看到文件 tnsnames.ora (不是路径D:\oracle\<SID>\102\NETWORK\ADMIN下的tnsnames.ora文件),加入如下信息(…

cubeIDE开发, stm32的WIFI通信设计(基于AT指令)

一、stm32的WIFI配置 通常WIFI模块就是一个独立的单片机&#xff0c;只是内置了WFIF通信软件的单片机&#xff0c;并该通信软件提供了AT通信指令集给开发人员&#xff0c;基于这些指令集我们就可以针对项目需要进行二次集成开发出所需的业务应用软件。 本文本文采用的开发板是s…

一、什么是计算机网络

1.1 概述 信件的要素&#xff1a; 打电话时包括连接和接通过程&#xff0c;要关注包括拨打者的状态和接听者的状态&#xff0c;称为TCP连接。发短信时只要发送者将短信发送出去即可&#xff0c;是否被接收或者发送的过程中是否有丢失这些都不关注&#xff0c;称之为UDP连接。计…

CentOS7安装jdk

文章目录前言准备工作一、将jdk的压缩文件传递到虚拟机里面二、解压缩三、配置环境变量前言 在大数据的技术中&#xff0c;Linux的环境是基础&#xff0c;jdk则是这些大数据工具的基础&#xff0c;在这篇博文中&#xff0c;我们主要介绍如何在Linux环境里安装jdk&#xff0c;以…

MySQL8.0优化 - 索引的数据结构

文章目录学习资料索引的数据结构B树常见索引概念聚簇索引特点优点缺点限制二级索引&#xff08;辅助索引、非聚簇索引&#xff09;回表联合索引Innodb的B树索引注意事项1、根页面位置万年不动2、内节点中目录项记录的唯一性3、一个页面最少存储2条记录索引的代价学习资料 【My…

Python可视化必备,在Matplotlib/Seaborn中轻松玩转图形拼接!

数据展示时&#xff0c;在同一页面上混合排版多个图形是一种常见的用法。 本次分享一个Python轮子patchworklib&#xff1a; 通过|、/轻松实现图形排列&#xff1b;比matplotlib、seaborn等自带子图功能更加灵活&#xff1b;灵感源于R中的patchwork。目录 在Matplotlib中使用…

【Java学习笔记】第四章 面向对象编程三部曲(中)

【Java学习笔记】第四章 面向对象编程三部曲&#xff08;上&#xff09; 【Java学习笔记】第四章 面向对象编程三部曲&#xff08;中&#xff09; 【Java学习笔记】第四章 面向对象编程三部曲&#xff08;下&#xff09; 文章目录5. 面向对象编程&#xff08;中&#xff09;5…

gdb调试 入门

程序的调试过程主要有&#xff1a;单步执行&#xff0c;跳入函数&#xff0c;跳出函数&#xff0c;设置断点&#xff0c;设置观察点&#xff0c;查看变量。 You can run "gdb" with no arguments or options; but the most usualway to start GDB is with one argume…

ANDROID ROOT FIDDLER HTTPS 抓包

参考 adb 修改手机代理方式_userwyh的博客-CSDN博客_adb shell settings put global http_proxy 手机模拟器安装证书并抓包_虚无-缥缈的博客-CSDN博客_模拟器安装证书 安卓手机使用adb添加系统证书方法 - 知乎 设置设备代理&#xff08;需要ROOT 设置代理&#xff1a; adb…

【重新安装Anaconda心得】

文章目录&#xff08;一&#xff09;环境变量设置&#xff08;二&#xff09;Anaconda添加镜像源【可以使用境外流量不用添加】&#xff08;三&#xff09;创建虚拟环境的细节&#xff08;四&#xff09;补充&#xff1a;conda的常用命令&#xff08;一&#xff09;环境变量设置…

算法篇------贪心1

文章目录贪心的概念题目1------经典的选择排序&#xff08;简单&#xff09;题目2----平衡字符串&#xff08;简单&#xff09;题目3---买卖股票的最佳时间(中等)题目4------跳跃游戏(中等)题目5-------钱币找零题目6------多机调度的问题贪心的概念 什么是贪心算法&#xff1…