主要内容

clusterdata

从数据构建烧结的集群

描述

例子

T= clusterdata (X,截止)为每个观察返回集群指数(行)的输入数据矩阵X鉴于一个阈值,截止切割一个凝结的分层树的链接函数生成X

clusterdata金宝app支持烧结的集群和融合了pdist,链接,集群功能,您可以使用单独进行更详细的分析。看到算法描述为更多的细节。

例子

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

例子

全部折叠

找到并可视化最多三个集群在一个随机生成的数据集使用两种不同的方法:

  1. 指定一个值截止输入参数。

  2. 指定一个值“MaxClust”名称-值对的论点。

创建一个示例数据集组成的随机生成的数据从三个标准统一的分布。

rng (“默认”);%的再现性X =[画廊(“uniformdata”3 [10]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,“填充”)标题(“三个集群随机生成的数据”);

图包含一个坐标轴对象。坐标轴标题随机生成数据对象在三个集群包含一个散射类型的对象。

找到一个最大的三个集群的数据通过指定值3截止输入参数。

T1 = clusterdata (X, 3);

因为的价值截止大于2,clusterdata解释截止作为集群的最大数量。

绘制数据和由此产生的集群作业。

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

图包含一个坐标轴对象。坐标轴对象与标题集群包含一个对象类型的散射的结果。

找到一个最大的三个集群通过指定值3“MaxClust”名称-值对的论点。

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

绘制数据和由此产生的集群作业。

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

图包含一个坐标轴对象。坐标轴对象与标题集群包含一个对象类型的散射的结果。

使用这两种方法,clusterdata识别的三个不同的集群数据。

创建一个层次聚类树,找到集群在一个步骤。使用三维散点图可视化集群。

创建一个20000 -,- 3矩阵的示例数据生成标准的均匀分布。

rng (“默认”);%的再现性X =兰德(20000 3);

找到一个最大的四层次聚类树使用的创建病房联系方法。指定“SaveMemory”作为“上”构建集群没有计算距离矩阵。否则,你可以得到一个内存不足错误如果你的机器没有足够的内存来保存的距离矩阵。

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

图中所示的数据与每个集群不同的颜色。

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

图包含一个坐标轴对象。坐标轴对象包含一个散射类型的对象。

clusterdata识别四个集群数据。

输入参数

全部折叠

输入数据,指定为一个数字矩阵的两个或两个以上的行。行代表的观察,和列代表类别或维度。

数据类型:|

阈值定义的层次树链接,指定为一个积极的标量之间02或者一个正整数≥2clusterdata表现不同的根据指定的值截止

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

  • 如果截止是一个整数≥2,然后clusterdata形成了一个最大的截止集群。

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

例子:clusterdata (X, 3)

数据类型:|

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

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

标准定义集群层次聚类树,指定为逗号分隔组成的“标准”,要么“不一致”“距离”。当你指定“标准”,您还必须指定一个值MaxClust截止

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

数据类型:字符|字符串

截止距离不一致或标准,指定为逗号分隔组成的“截止”和积极的标量。clusterdata使用截止作为高度或不一致的阈值系数的节点,根据的价值标准。如果你指定一个值“截止”没有指定的标准定义集群clusterdata使用“不一致”默认标准。

  • 如果“标准”“距离”,然后clusterdata组织所有的树叶都达到或者低于一个节点到集群,提供节点的高度小于截止

  • 如果“标准”“不一致”,那么不一致的一个节点及其所有子节点的值必须小于截止clusterdata将它们组织到一个集群。

您必须指定截止MaxClust

例子:clusterdata (X,“截止”,0.2)

数据类型:|

计算深度不一致的值,指定为逗号分隔组成的“深度”和一个数字标量。clusterdata评估不一致的值通过以下指定深度分层集群中的每个节点树。当你指定“深度”,您还必须指定一个值MaxClust截止

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

数据类型:|

距离度量,指定为逗号分隔组成的“距离”并接受任何距离度量pdist如下表函数,望见。当你指定“距离”,您还必须指定一个值MaxClust截止

度规 描述
“欧几里得”

欧氏距离(默认)

“squaredeuclidean”

平方欧氏距离。(此选项仅供效率。它不满足三角不等式)。

“seuclidean”

标准化的欧氏距离。每个坐标差异观察是通过除以相应的扩展元素的标准差,S =性病(X, omitnan)

“mahalanobis”

而使用的样本协方差距离X,C = X (X, omitrows)

“cityblock”

城市街区的距离

闵可夫斯基的

闵可夫斯基距离。默认的指数是2。使用不同的指数P,指定P闵可夫斯基的,在那里P是一个积极的标量值:闵可夫斯基,P

“chebychev”

Chebychev距离(最大坐标差异)

的余弦

1 -之间的夹角的余弦值点(视为向量)

“相关”

1 -样本点之间的相关性(视为序列值)

“汉明”

汉明距离,协调不同的百分比

“jaccard”

1 - Jaccard系数,非零坐标不同的百分比

“枪兵”

1 -样本之间的斯皮尔曼等级相关的观察(视为序列值)

@distfun

自定义距离函数处理。距离函数的形式

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

  • 是一个1——- - - - - -n向量包含一个观察。

  • ZJ是一个平方米——- - - - - -n包含多个观测矩阵。distfun必须接受一个矩阵ZJ与任意数量的观察。

  • D2是一个平方米——- - - - - -1距离向量,D2 (k)是观察之间的距离ZJ (k,:)

如果您的数据并不是稀疏的,使用一个内置的距离通常比使用一个函数处理。

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

例子:clusterdata (X,‘距离’,‘闵可夫斯基’,‘MaxClust’, 4)

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

算法计算集群之间的距离,指定为逗号分隔组成的“链接”和任何算法所接受链接函数,如下表所述。当你指定“链接”,您还必须指定一个值MaxClust截止

算法 描述
“平均”

未加权的平均距离(UPGMA)

“重心”

质心的距离(UPGMC),只适合欧几里得距离

“完成”

最远的距离

“中值”

加权质心距离(WPGMC),只适合欧几里得距离

“单一”

最短的距离

“病房”

内在的平方距离(最小方差算法),只适合欧几里得距离

“加权”

加权平均距离(WPGMA)

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

例子:clusterdata (X,‘联系’,‘中等’,‘MaxClust’, 4)

数据类型:字符|字符串

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

您必须指定截止MaxClust

例子:clusterdata (X, MaxClust, 4)

数据类型:|

选择保存记忆,指定为逗号分隔组成的“SaveMemory”,要么“上”“关闭”。当你指定“SaveMemory”,您还必须指定一个值MaxClust截止

“上”设置的原因clusterdata构建集群没有计算距离矩阵。的“上”设置适用于满足这两个条件:

  • 链接“重心”,“中值”,或“病房”

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

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

“SaveMemory”“上”,链接运行时间维度的数量成正比(列数X)。当“SaveMemory”“关闭”,链接内存需求成正比N2,在那里N是观测的数量。选择最好的(最少)设置“SaveMemory”取决于问题的维度,观察,可用内存。默认的“SaveMemory”设置一个粗略的近似最优的设置。

例子:“SaveMemory”,“上”

数据类型:字符|字符串

输出参数

全部折叠

集群指数,作为一个数字列向量返回。T尽可能多的行吗X,每一行T显示集群分配相应的观察X

提示

  • 如果“链接”“重心”“中值”,然后链接可以产生一个集群树不单调。这个结果发生在距离两个集群的结合,r年代,集群之间的距离还不到三分之一r年代。在这种情况下,在系统树图的默认方向,从叶到根节点的路径需要向下的步骤。为了避免这种结果,指定另一个值“链接”。下面的图片显示了一个非集群树。

    在这种情况下,集群1和集群3加入到一个新的集群,而这个新的集群和集群2之间的距离小于集群集群1和3之间的距离。

算法

如果您指定一个值c截止输入参数,然后T=clusterdata(Xc)执行以下步骤:

  1. 创建一个向量之间的欧氏距离对观察X通过使用pdist

    Y =pdist(X、“欧几里得”)

  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