主要内容

离散化

组数据到垃圾箱或类别

描述

例子

Y=离散化(X,边缘)返回索引的箱子包含的元素X。的jth本包含元素X(我)如果边(j) < = X (i) <边缘(j + 1)1 j < < = N,在那里N箱子的数量和吗长度(边缘)= N + 1。最后一本包含边缘,这样边(N) < = X (i) < =边缘(N + 1)

例子

(Y,E)=离散化(X,N)把数据XN箱子的宽度均匀,并返回本边缘E

例子

(Y,E)=离散化(X,大调的),在那里X是一个datetime数组或持续时间,分裂X成统一的箱子大调的的时间长度。大调的可以是一个标量持续时间calendarDuration,或者一个时间单位。例如,[Y, E] =离散化(X,“小时”)X进垃圾箱的统一时间1小时。

例子

(___)=离散化(___,)返回相应的元素而不是本号码,使用任何以前的输入或输出参数组合。例如,如果X (1)在本5呢Y (1)值(5)而不是5必须一个向量长度等于垃圾箱的数量。

例子

(___)=离散化(___“分类”)创建一个分类数组,其中每个本是一个类别。在大多数情况下,默认的类别名称的形式”[A, B)”(或“[A, B]“最后一本),一个B是连续本边缘。如果您指定大调的作为一个特征向量,那么默认的类别名称可能有特殊的格式。看到Y清单的格式显示。

例子

(___)=离散化(___“分类”,displayFormat)datetime或持续时间数组输入,使用指定的datetime或持续时间显示格式输出的类别名称。

例子

(___)=离散化(___“分类”,categoryNames)同样的类别名称Y使用特征向量的单元阵列,categoryNames。的长度categoryNames必须等于垃圾箱的数量。

例子

(___)=离散化(___“IncludedEdge”,一边),在那里一边“左”“对”指定是否每个本包括其左、右边缘。例如,如果一边“对”,然后每一本包括正确的垃圾箱边,除了第一个本包括边缘。在这种情况下,j本包含一个元素X(我)如果边(j) < X (i) < =边缘(j + 1),在那里1 < j < = NN是箱子的数量。第一本包括左边缘,使其包含边(1)< = X (i) < =边(2)。的默认值一边“左”

例子

全部折叠

使用离散化将数值分组为离散的垃圾箱。边缘定义了五本边缘,所以有四个箱子。

data = [1 1 2 3 6 5 8 10 4 4]
data =1×101 1 2 3 6 5 8 10 4 4
边缘= 2:2:10
边缘=1×52 4 6 8 10
Y =离散化(数据、边缘)
Y =1×10南南1 1 3 4 2 4 2 2

Y表明本数据所属的每个元素。由于价值1范围以外的垃圾箱,Y包含这些元素的值。

组随机数据分成三个箱子。指定第二个输出返回本边缘计算离散化

X = randn (10, 1);[Y, E] =离散化(X, 3)
Y =10×12 2 1 2 2 1 1 2 3 2
E =1×43 0 3 6

创建一个10-by-1 datetime向量和随机日期在2016年。然后,集团datetime值按月分类数组并返回结果。

X = datetime(2016 1,兰迪(365、10、1))
X =10 x1 datetime24 - 2016年10月- 2016年11月26日—- 16 - 2016年- 2016年2月29日- 11月18 - 8月- 2016年05 - 11 - 2016 - 4月- 2016年2月18日- 2016年7月- 2016年12月15 - 18 - 12月- 2016
Y =离散化(X,“月”,“分类”)
Y =10 x1分类10月- 2016年11月- 2016年2月- 2016年11月- 2016年8月- 2016年2月- 2016年4月- 2016年7月- 2016年12月- 2016年12月- 2016年

集团持续时间值小时,在各种显示格式返回结果。

集团一些随机时间值小时,返回结果作为分类数组。

X =小时(abs (randn (10)))”
X =10 x1持续时间0.31877 0.86217 2.2588 0.53767 1.8339人力资源人力资源人力资源人力资源人力资源2.7694 3.5784 0.34262 0.43359 1.3077人力资源人力资源人力资源人力资源人力资源
Y =离散化(X,“小时”,“分类”)
Y =10 x1分类人力资源部[0,1小时)(1小时、2小时)(2小时,3小时)[0小时,1小时)[0小时,1小时)[1小时、2小时)[0小时,1小时)[0小时,1小时)[3人力资源,4人力资源][2小时,3小时)

变化的显示结果数分钟。

Y =离散化(X,“小时”,“分类”,“米”)
Y =10 x1分类(0分钟,60分钟)(60分钟、120分钟)(120分钟,180分钟)(0分钟,60分钟)(0分钟,60分钟)(60分钟、120分钟)(0分钟,60分钟)(0分钟,60分钟)(180分钟,240分钟)(120分钟,180分钟)

再次改变格式显示的小时数,分和秒。

Y =离散化(X,“小时”,“分类”,“hh: mm: ss”)
Y =10 x1分类(就是01:00:00)[01:00:00 02:00:00)[02:00:00 03:00:00)[就是01:00:00)[就是01:00:00)[01:00:00 02:00:00)[就是01:00:00)[就是01:00:00)[03:00:00 04:00:00][02:00:00 03:00:00)

使用每一本的右边缘输入。元素的值在每个垃圾桶总是小于本价值。

X =兰迪(100 1 10);边缘= 0:25:100;值=边缘(2:结束);边缘,Y =离散化(X值)
Y =1×10100 100 100 75 50 75 100 100

使用“IncludedEdge”输入指定每一本包括其本边缘。第一本包括边缘。比较结果的默认包含离开本边缘。

X = 1:2:11;边缘= [1 3 4 7 10 11];Y =离散化(X,边缘,“IncludedEdge”,“对”)
Y =1×61 1 3 3 4 5
Z =离散化(X,边缘)
Z =1×61 2 3 4 5 4

组数字数据为分类数组。使用结果来证实属于1的数据量平均值的标准偏差。

组数据正态分布到垃圾箱根据距离的意思是,用标准差来衡量。

X = randn (1000 1);边缘=性病(X) *(三3);Y =离散化(X,边缘,“分类”,{“3σ”,“2σ”,“σ”,“σ”,“2σ”,“3σ”});

Y包含未定义分类元素的值X比3个标准差的意思。

预览中的值Y

Y (1:15)
ans =15 x1分类σ2σ3σ标准差σ2σσσ<定义> 3σ2σ<定义>σ标准差σ

证实,大约68%的数据属于一个标准差的意思。

nnz (Y = =“σ”| Y = =“σ”)/元素个数(Y)
ans = 0.6910

输入参数

全部折叠

输入数组,指定为一个向量,矩阵,或多维数组。X包含你想要的数据分发到垃圾箱。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

本边缘,指定为一个数值向量和增加价值。本连续边缘可以包含重复的元素。连续的元素边缘形成离散的垃圾箱,离散化使用分区中的数据X。默认情况下,每个本包括左本边缘,除了最后本,包括本边缘。

边缘必须至少有两个元素,因为边(1)是第一本的左边缘边(结束)的右边缘是最后一本。

例子:Y =离散化([1 3 5],[0 2 4 6])分配的值1,3,5分成三个垃圾箱,边缘(0,2),(2、4),(4、6)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

箱子数量,指定为一个标量整数。

离散化将数据划分为N箱子的宽度均匀,选择本边缘是“好”的数字数据的范围重叠。最大的和最小的元素X不通常落在本边缘。如果数据分布是不均匀的,那么中间的一些垃圾箱可以是空的。然而,第一个和最后一个本总是包括至少一块的数据。

例子:[Y, E] =离散化(X, 5)分配的数据X与一个统一的宽度5箱。

统一本持续时间,指定为一个标量持续时间calendarDuration,或一个表中的值。

如果您指定大调的,然后离散化最多可以使用65536箱(或216)。如果指定的本需要更多的垃圾箱,持续时间离散化使用一个大本宽度对应于容器的最大数量。

价值 适用于…… 描述
“第二”

Datetime或持续时间值

每本1秒。

“一分钟”

Datetime或持续时间值

每本1分钟。

“小时”

Datetime或持续时间值

每箱是1小时。

“天”

Datetime或持续时间值

  • datetime输入,每本1日历天。这个值占夏令时的转变。

  • 时间输入,每本1固定长度的一天(24小时)。

“周”

Datetime值

每一本日历是1周。
“月”

Datetime值

每本1日历月。
“季”

Datetime值

每箱是1季度。
“年”

Datetime或持续时间值

  • datetime输入,每本1日历年度。这个值占飞跃天。

  • 时间输入,每本1定长(365.2425天)。

“十年”

Datetime值

每本十年是1(10个日历年)。
“世纪”

Datetime值

每本1世纪(100日历年)。

例子:[Y, E] =离散化(X,“小时”)X进垃圾箱的统一时间1小时。

数据类型:字符|持续时间|calendarDuration

本值,指定为任何数据类型的一个向量。必须有相同的长度,箱子的数量,长度(边缘)1。中的元素取代正常本指数在输出。也就是说,如果X (1)属于本2,然后离散化返回Y (1)作为值(2)而不是2

如果是一个单元阵列,那么所有的输入数据都必须属于一个垃圾箱。

例子:Y =离散化(randi (5 10 1), 1.5 [1 3 5], diff (1.5 [1 3 5]))返回容器的宽度,而不是指数从1到3。

Datetime和持续时间显示格式,指定为一个特征向量。的displayFormat值不会改变的值Y,只有他们的显示。您可以指定displayFormat使用任何有效的显示格式为日期时间和持续时间数组。关于可用的选项的更多信息,请参阅设置日期和时间显示格式

例子:离散化(X,“天”、“分类”,“h”)指定一个时间显示格式数组。

例子:离散化(X,“天”、“分类”、“yyyy-MM-dd”)指定一个日期时间显示格式数组。

数据类型:字符

分类类别名称数组,指定为一个单元阵列的特征向量。categoryNames一定长度等于垃圾箱的数量。

例子:Y =离散化(randi(5 10 1), 1.5[1 3 5],“分类”,{' A ' ' B ' ' C '})将数据分为三个类别,一个,B,C

数据类型:细胞

边缘在每个垃圾桶,包括指定这些值之一:

  • “左”——所有箱子包括左本边缘,除了最后本,包括边缘。这是默认的。

  • “对”——所有箱子包括正确的垃圾箱边,除了第一本,包括边缘。

例子:Y =离散化(randi (11 10 1), 1:2:11,‘IncludedEdge’,‘正确的’)包括正确的本边缘在每个垃圾箱。

输出参数

全部折叠

垃圾箱,作为数字返回向量,矩阵,多维数组,或者顺序分类数组。Y一样的尺寸吗X,每个元素描述了本放置相应的元素X。如果的数据类型被指定,那么Y是一样的。超出范围的元素表达不同取决于输出的数据类型:

  • 数字输出,Y包含超出范围的值的元素X(X(我)<边缘(1)X(我)>边缘(结束)),或X包含一个

  • 如果Y分类数组,它包含超出范围或未定义的元素输入。

  • 如果整数数据类型是一个矢量,然后呢Y包含0超出范围或输入。

默认的类别名称格式Y的语法离散化(X,大调的“直言”)是:

的价值大调的 默认类别名称格式 格式示例
“第二”

全局缺省格式

28 - 1月- 2016 10:32:06

“一分钟”
“小时”
“天”

全局缺省日期格式

28日- 1月- 2016

“周”

[global_default_date_format, global_default_date_format)

[24 - 1月- 2016年1月30 - - 2016)

“月”

“MMM-uuuu”

2016年6月,

“季”

“回调哦哦”

2015年第四季度

“年”

“哦哦”

2016年

“十年”

”(哦哦哦哦)

(2010,2020)

“世纪”

本边缘,作为一个向量返回。指定输出看到垃圾桶边离散化计算的情况下,你没有明确通过本边缘。

E作为一个行向量返回时离散化计算本边缘。如果你通过本边缘E保留的方向边缘输入。

提示

  • 的行为离散化类似的吗histcounts函数。使用histcounts找到元素的数量在每一个垃圾箱。另一方面,使用离散化找本每个元素所属(不计数)。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2015a