主要内容

Cluster数据

从数据构建聚类

描述

例子

T= clusterdata (X截止为输入数据矩阵的每个观察(行)返回群集索引X,给定一个门槛截止用于切割凝聚层次树链接函数生成X

Cluster数据金宝app支持聚集集群,并集成pdist链接,集群功能,您可以更详细的分析分开使用。看算法描述为更多的细节。

例子

T= clusterdata (X名称,值使用一个或多个名称-值对参数指定集群选项。您必须指定截止MaxClust.例如,指定'MaxClust',5到最大的五个集群发现。

例子

全部折叠

查找和可视化的最大使用两种不同的方法随机产生的数据组的三个簇:

  1. 的值截止输入参数。

  2. 的值'MaxClust'名称-值对的论点。

创建从三个标准均匀分布由随机产生的数据的样本数据集。

RNG('默认');%用于重现X =[画廊(“uniformdata”,[10 3],12);...画廊(“uniformdata”3 [10] 13) + 1.2;...画廊(“uniformdata”3 [10] 14) + 2.5);y = [(10,1); 2 * ((10, 1)); 3 * ((10, 1))];%的实际类

创建数据的散点图。

scatter3(X(:,1),X(:,2),X(:,3),100,Y,“填充”) 标题(“随机生成的数据在三集群”);

图中包含一个轴对象。标题为“三簇随机生成数据”的轴对象包含一个类型为scatter的对象。

的值3可以在数据中找到最多三个集群截止输入参数。

T1 = Cluster数据(X,3);

因为截止大于2,Cluster数据解释截止作为簇的最大数量。

用所得簇分配绘制数据。

scatter3 (X (: 1) X (:, 2), X(:, 3), 100年,T1,“填充”) 标题(“结果聚类”);

图中包含一个轴对象。标题为Result of Clustering的axis对象包含一个类型为scatter的对象。

的值3,最多可以找到三个集群'MaxClust'名称-值对的论点。

T2 = clusterdata (X,“Maxclust”3);

用所得簇分配绘制数据。

scatter3 (X (: 1) X (:, 2), X(:, 3), 100年,T2,“填充”) 标题(“结果聚类”);

图中包含一个轴对象。标题为Result of Clustering的axis对象包含一个类型为scatter的对象。

使用这两种方法,Cluster数据标识在数据中的三个不同的簇。

创建一个聚类树,一步到位找到集群。可视化使用3 d散点图的集群。

创建一个由标准均匀分布生成的样本数据的20,000 × 3矩阵。

RNG('默认');%用于重现X =兰特(20000,3);

方法创建的分层集群树中最多可以找到四个集群病房联动方式。指定“SaveMemory”作为“上”不计算距离矩阵而构造聚类。否则,您可以收到内存外的一个错误,如果你的机器没有足够的内存来保存距离矩阵。

T = clusterdata (X,“链接”“病房”“SaveMemory”“上”“Maxclust”4);

与以不同的颜色示出的每个簇绘制数据。

scatter3 (X (: 1) X (:, 2), X (:, 3), 10 T)

图中包含一个轴对象。axis对象包含一个散点类型的对象。

Cluster数据在数据中标识四个集群。

输入参数

全部折叠

输入数据,指定为具有两行或多行的数字矩阵。行表示观察结果,列表示类别或维度。

数据类型:|双倍的

定义的层次树切割阈值链接,指定为之间的正标量02或正整数≥2Cluster数据行为的不同取决于指定的值截止

  • 如果0 <截止< 2,然后Cluster数据形成集群时不一致的值大于截止

  • 如果截止是一个整数≥2,然后Cluster数据形成最大值截止集群。

当你指定截止,则不能指定任何名称-值对参数。

例子:Cluster数据(X,3)

数据类型:|双倍的

名称-值参数

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例子:clusterdata (X,“联系”,“病房”,“MaxClust”,3)最多创建三个集群X使用沃德联系。

在层次集群树中定义集群的标准,指定为逗号分隔对,由“标准”,要么“不一致”“距离”.当你指定“标准”,还必须指定的值MaxClust截止

例子:clusterdata (X,“标准”,“距离”,“截止”。5)

数据类型:char|字符串

截止为不一致或距离标准,指定为逗号分隔的一对组成的“截止”一个正标量。Cluster数据使用截止作为节点高度或不一致系数的阈值,取决于标准.如果指定的值“截止”而不指定准则来定义簇,然后Cluster数据使用“不一致”默认标准。

  • 如果“标准”“距离”,然后Cluster数据组中的所有叶子在或节点到群集下面,只要该节点的高度小于截止

  • 如果“标准”“不一致”,那么不一致的节点及其所有子节点的值必须小于截止Cluster数据将它们分组成一组。

您必须指定截止MaxClust

例子:Cluster数据(X, '截止',0.2)

数据类型:|双倍的

用于计算不一致值的深度,指定为逗号分隔的对,由“深度”和一个数字标量。Cluster数据通过查看层次集群树中每个节点下方的指定深度,评估不一致的值。当你指定“深度”,还必须指定的值MaxClust截止

例子:clusterdata (X,“深度”、3、“截止”,0.5)

数据类型:|双倍的

距离度量,指定为逗号分隔对,由“距离”以及任何被接受的距离度量pdist功能,descried如下表所示。当你指定“距离”,还必须指定的值MaxClust截止

度规 描述
“欧几里得”

欧氏距离(默认)

“squaredeuclidean”

平方欧氏距离。(此选项仅用于提高效率。它不满足三角形不等式)

“seuclidean”

标准化的欧氏距离。观测值之间的每个坐标差除以相应的标准差,S =性病(X, omitnan)

“mahalanobis”

马氏距离的样本协方差XC = X (X, omitrows)

“cityblock”

城市街区距离

闵可夫斯基的

闵可夫斯基距离。默认的指数为2。要使用不同的指数P,指定P闵可夫斯基的, 在哪里P是正标量值:闵可夫斯基,P

“chebychev”

切比雪夫距离(最大坐标差)

的余弦

1减去点之间夹角的余弦值(作为向量)

'相关性'

1减去点之间的样本相关性(作为值的序列处理)

“汉明”

汉明距离,是坐标差的百分比

“jaccard”

1减去雅卡尔系数,雅卡尔系数是不同的非零坐标的百分比

“枪兵”

1减去观察值之间的样本斯皮尔曼等级相关性(作为值的序列处理)

distfun

自定义距离功能手柄。距离函数有这样的形式

函数ZJ D2 = distfun(子)距离计算%...
在哪里

  • Zi.是一个1-经过-n包含单个观测值的向量。

  • ZJ.是一个平方米-经过-n矩阵包含多个观测。distfun必须接受矩阵ZJ.有任意数量的观测结果。

  • D2是一个平方米-经过-1距离向量D2(k)观察距离是多少Zi.ZJ (k,:)

如果你的数据不是稀疏的,使用内置的距离通常比使用函数句柄更快。

有关更多信息,请参阅距离度量

例子:Cluster数据(X, '距离', '明可夫斯基', 'MaxClust',4)

数据类型:char|字符串|function_handle

计算集群间距离的算法,指定为由逗号分隔的对组成“链接”以及任何被接受的算法链接函数,如下表所示。当你指定“链接”,还必须指定的值MaxClust截止

算法 描述
“平均”

未加权平均距离(UPGMA)

“重心”

质心距离(UPGMC),适合于仅欧几里德距离

“完成”

最远的距离

“中值”

质量距离的加权中心(WPGMC),适合于仅欧几里德距离

'单身的'

最短的距离

“病房”

内平方距离(最小方差算法),宜于欧几里德距离只

“加权”

加权平均距离

有关更多信息,请参阅联系

例子:Cluster数据(X, '联动', '中间', 'MaxClust',4)

数据类型:char|字符串

要形成的集群的最大数量,指定为逗号分隔对组成'MaxClust'和一个正整数。

您必须指定截止MaxClust

例子:clusterdata (X, MaxClust, 4)

数据类型:|双倍的

保存内存的选项,指定为逗号分隔的对“SaveMemory”,要么“上”'离开'.当你指定“SaveMemory”,还必须指定的值MaxClust截止

“上”设置的原因Cluster数据不计算距离矩阵而构造聚类。的“上”当满足这两个条件时,设置生效:

  • 连锁“重心”“中值”,或“病房”

  • 距离“欧几里得”(默认)。

当这两个条件适用,默认值“SaveMemory”“上”如果X有20列或更少,或者如果计算机没有足够的内存来存储距离矩阵。否则,默认值为“SaveMemory”'离开'

“SaveMemory”“上”,链接的运行时间与维数(列数)成正比X).当“SaveMemory”'离开',链接内存需求是成比例的N2, 在哪里N为观察次数。选择最佳(最少时间)设置“SaveMemory”这取决于问题的维度、观察结果的数量和可用内存。默认的“SaveMemory”设置是最优设置的粗略近似。

例子:“SaveMemory”,“上”

数据类型:char|字符串

输出参数

全部折叠

群集索引,返回一个数字列向量。T有多少行X和每行T中对应观测值的聚类分配X

提示

  • 如果“链接”“重心”“中值”,然后链接可以产生一个不单调的簇树。当两个星团的距离,r年代,到第三个星系团的距离小于r年代.在本例中,在使用默认方向绘制的树形图中,从叶子到根节点的路径采取了一些向下的步骤。为避免此结果,请指定另一个值“链接”.下图显示了一个非单调簇树。

    在本例中,集群1和集群3加入到一个新的集群中,而这个新集群和集群2之间的距离小于集群1和集群3之间的距离。

算法

如果您指定的值c为了截止输入参数,然后TCluster数据Xc)执行以下步骤:

  1. 在观察对之间产生的欧几里得距离的矢量X通过使用pdist

    Y =pdistX、“欧几里得”)

  2. 创建一个凝聚层次簇树Y通过使用链接'单身的'计算集群之间最短距离的方法。

    Z =链接(Y,“单”)

  3. 如果0 <c< 2,使用集群定义集群的方法如下Z当不一致的值小于c

    T集群(Z,“截止”,c)

  4. 如果c为整数值。≥2,使用集群的最大值c集群的Z

    T=集群(Z, MaxClust, c)

选择功能

如果你有一个聚类树Z的输出链接功能,用于将输入数据矩阵X), 您可以使用集群对…进行聚集的群集Z并返回每个观察(行)的簇赋值X

之前介绍过的R2006a