文件帮助中心文件
从数据构建凝聚簇
t = clusterdata(x,截止)
t = clusterdata(x,名称,值)
例子
T.= ClusterData(X那隔断)返回输入数据矩阵的每个观察(行)的群集索引X给定阈值隔断切割凝聚的分层树连锁函数生成X.
T.= ClusterData(X那隔断)
T.
X
隔断
连锁
clusterdata金宝app支持群集聚类并包含该群集Pdist.那连锁, 和簇函数,您可以单独使用它们进行更详细的分析。看到算法描述更多细节。
clusterdata
Pdist.
簇
T.= ClusterData(X那名称,价值)使用一个或多个名称值对参数指定群集选项。您必须指定隔断或者MaxClust.例如,指定“MaxClust”,5最多找到5个集群。
T.= ClusterData(X那名称,价值)
名称,价值
MaxClust
“MaxClust”,5
全部收缩
使用两种不同的方法在一个随机生成的数据集中查找和可视化最多三个簇:
指定值的值隔断输入参数。
指定值的值“MaxClust”名称值对参数。
“MaxClust”
创建一个样本数据集,包括从三个标准均匀分布中随机生成的数据。
rng (“默认”);%的再现性x = [gallery('sublicatdata'3 [10] 12);......画廊('sublicatdata',[10 3],13)+1.2;......画廊('sublicatdata',[10 3],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解释隔断为集群的最大数目。
绘制带有结果簇分配的数据。
散射3(x(:,1),x(:,2),x(:,3),100,t1,'填充')标题(聚类的结果);
通过指定值3来找到最多三个集群“MaxClust”名称值对参数。
t2 = clusterdata(x,'maxclust',3);
散射3(x(:,1),x(:,2),x(:,3),100,t2,'填充')标题(聚类的结果);
使用这两种方法,clusterdata标识数据中的三个不同集群。
创建分层集群树并在一个步骤中找到集群。使用三维散点图可视化集群。
从标准均匀分布中创建20,000×3矩阵,产生的样本数据。
rng (“默认”);%的再现性X =兰德(20000 3);
在使用的分层群集树中找到最多四个群集ward联系方法。指定'savememory'作为'上'在不计算距离矩阵的情况下构造簇。否则,如果您的机器没有足够的内存来保存距离矩阵,您可能会收到内存不足的错误。
ward
'savememory'
'上'
t = clusterdata(x,'连锁'那“沃德”那'savememory'那'上'那'maxclust'4);
用不同颜色的簇绘制数据。
散射3(x(:,1),x(:,2),x(:,3),10,t)
clusterdata识别数据中的四个群集。
输入数据,指定为具有两个或多个行的数字矩阵。行表示观察,列表示类别或尺寸。
数据类型:单身的|双
单身的
双
0.
2
≥2
切割由的分层树定义的阈值连锁,指定为之间的正标量0.和2或者一个正整数≥2.clusterdata根据指定的值表现不同隔断.
如果0 <隔断<2, 然后clusterdata形成集群时不一致值大于隔断.
0 <隔断<2
不一致
如果隔断是一个整数≥2, 然后clusterdata形成最多隔断集群。
当您指定时隔断,您无法指定任何名称值对参数。
例子:clusterdata (X, 3)
clusterdata (X, 3)
指定可选的逗号分离对名称,价值参数。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
clusterdata(x,'linkage','ward','maxclust',3)
'标准'
“不一致”
'距离'
定义分层集群树中群集的标准,指定为逗号分隔的对组成'标准',要么“不一致”或者'距离'.当您指定时'标准',您还必须指定一个值MaxClust或者隔断.
例子:ClusterData(x,'标准','距离','截止',。5)
ClusterData(x,'标准','距离','截止',。5)
数据类型:字符|细绳
字符
细绳
'隔断'
截断为不一致或距离标准,指定为逗号分隔对,由'隔断'和正标量。clusterdata使用隔断作为节点的高度或不一致系数的阈值,具体取决于值的值标准.如果指定值'隔断'如果不指定定义集群的标准,那么clusterdata用来“不一致”默认情况下的标准。
标准
如果'标准'是'距离', 然后clusterdata将节点处或节点以下的所有叶子分组为一个簇,只要该节点的高度小于隔断.
如果'标准'是“不一致”,那么不一致节点的值和其所有子节点必须小于隔断为了clusterdata将它们分组到群集中。
您必须指定隔断或者MaxClust.
例子:clusterdata (X,“截止”,0.2)
clusterdata (X,“截止”,0.2)
'深度'
计算不一致的值的深度,指定为逗号分隔对组成'深度'和一个数字标量。clusterdata通过查看分层群集树中的每个节点下方的指定深度来评估不一致的值。当您指定时'深度',您还必须指定一个值MaxClust或者隔断.
例子:ClusterData(x,'深度',3,'截止',0.5)
ClusterData(x,'深度',3,'截止',0.5)
'euclidean'
'squareduclidean'
'seuclidean'
“mahalanobis”
距离度量,指定为逗号分隔对组成'距离'和任何由此接受的距离度量Pdist.函数,如下表所示。当您指定时'距离',您还必须指定一个值MaxClust或者隔断.
欧几里德距离(默认)
平方欧几里德距离。(此选项仅提供效率。它不满足三角不等式。)
标准化的欧几里德距离。观察之间的每个坐标差异通过除以标准偏差的相应元素来缩放,s = std(x,'omitnan').
s = std(x,'omitnan')
使用样本协方差的Mahalanobis距离X那C = COV(x,'omitrows')
C = COV(x,'omitrows')
'城市街区'
城市街区的距离
'minkowski'
闵可夫斯基距离。默认指数是2。用不同的指数P., 指定P.后'minkowski',在那里P.为正标量值:'minkowski',p.
P.
'minkowski',p
'chebbychev'
切比切夫距离(最大坐标差)
'余弦'
一个减去点之间夹角的余弦(作为向量处理)
“相关”
一个减去点之间的样本相关性(视为值序列)
'汉明'
汉明的距离,这是坐标的百分比
'jaccard'
一个减去Jaccard系数,这是不同的非零坐标的百分比
“矛曼”
一个减去样本Spearman的观察之间的等级相关性(视为价值序列)
@DISTFUN
DISTFUN
自定义距离功能句柄。距离功能具有表单
功能d2 = distfun(zi,zj)%计算距离......
子是A.1——- - - - - -N载体含有单个观察。
子
1
N
ZJ是一个M2——- - - - - -N包含多重观测的矩阵。DISTFUN必须接受矩阵ZJ具有任意数量的观察。
ZJ
M2
D2是一个M2——- - - - - -1距离矢量,和D2 (k)是观察之间的距离子和zj(k,:).
D2
D2 (k)
zj(k,:)
如果您的数据不稀疏,则使用内置距离通常比使用功能手柄更快。
距离
有关更多信息,请参见距离度量.
例子:clusterdata (X,‘距离’,‘闵可夫斯基’,‘MaxClust’,4)
clusterdata (X,‘距离’,‘闵可夫斯基’,‘MaxClust’,4)
数据类型:字符|细绳|function_handle.
function_handle.
'连锁'
'平均数'
“重心”
'完全的'
'中位'
“单一”
“沃德”
“加权”
用于计算群集之间的计算距离的算法,指定为包括的逗号分隔对'连锁'任何被接受的算法连锁函数,如下表所述。当您指定时'连锁',您还必须指定一个值MaxClust或者隔断.
未加权的平均距离(UPGMA)
质心距离(UPGMC),仅适用于欧氏距离
最远的距离
加权质心距离(WPGMC),仅适用于欧氏距离
最短的距离
内平方距离(最小方差算法),仅适用于欧氏距离
加权平均距离(WPGMA)
有关更多信息,请参见联系.
例子:clusterdata (X,‘联系’,‘中等’,‘MaxClust’,4)
clusterdata (X,‘联系’,‘中等’,‘MaxClust’,4)
形成的最大簇数,指定为逗号分隔对“MaxClust”一个正整数。
例子:ClusterData(x,'maxclust',4)
ClusterData(x,'maxclust',4)
“关闭”
保存内存的选项,指定为逗号分隔的对组成'savememory',要么'上'或者“关闭”.当您指定时'savememory',您还必须指定一个值MaxClust或者隔断.
这'上'设置原因clusterdata在不计算距离矩阵的情况下构造簇。这'上'当满足这两个条件时,设置适用:
链接是“重心”那'中位', 或者“沃德”.
链接
距离是'euclidean'(默认)。
当这两个条件适用时,默认值为'savememory'是'上'如果X有20列或更少,或者计算机没有足够的内存来存储距离矩阵。否则,默认值'savememory'是“关闭”.
什么时候'savememory'是'上', 这连锁运行时间与维度数量成比例(列数X)。什么时候'savememory'是“关闭”, 这连锁内存要求与N2,在那里N是观察人数。选择最佳(最小时期)设置'savememory'取决于问题维度,观察数和可用内存。默认值'savememory'设置是最佳设置的粗略近似。
N2
例子:'savememory','开'
'savememory','开'
集群索引,作为数字列向量返回。T.有许多行X,每一行T.表示相应观察的群集分配X.
如果'连锁'是“重心”或者'中位', 然后连锁可以生成不是单调的群集树。这一结果发生在两个集群联盟的距离时,R.和S.,第三个群集小于之间的距离R.和S..在这种情况下,在使用默认方向绘制的树形图中,从叶子到根节点的路径采用一些向下步骤。要避免此结果,请指定另一个值'连锁'.下图显示了一个非单调的簇树。
在这种情况下,集群1和群集3连接到新群集中,而该新群集和群集2之间的距离小于集群1和群集3之间的距离。
如果您指定一个值C为隔断输入参数,然后T.=clusterdata(X,C)执行以下步骤:
C
T.=clusterdata(X,C)
创建一个向量的欧几里得距离之间的观察X通过使用Pdist..
y =Pdist.(X,'euclidean')
创建一个凝聚的分层群集树y通过使用连锁与之“单一”计算簇之间最短距离的方法。
y
z =连锁(y,'单')
如果0 <C<2, 用簇定义群集Z.当不一致的值小于C.
0 <
<2
Z.
T.=簇(z,'截止',c)
如果C是一个整数值≥2, 用簇找到最大的C群集Z..
T.=群集(z,'maxclust',c)
如果您有一个分层的集群树Z.(输出连锁用于输入数据矩阵的函数X),你可以使用簇执行凝聚体聚类Z.并返回每个观察(行)的群集分配X.
簇|系统树图|不一致|kmeans|连锁|Pdist.
系统树图
kmeans
您有这个示例的一个修改版本。要用编辑打开这个例子吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系