文件帮助中心文件
从数据构建凝聚簇
T = clusterdata (X,截止)
T = clusterdata (X,名称,值)
例子
T.= clusterdata (X那隔断)返回输入数据矩阵的每个观察(行)的簇索引X,给定一个阈值隔断切割凝聚的分层树连锁函数生成X.
T.= clusterdata (X那隔断)
T.
X
隔断
连锁
clusterdata.万博1manbetx支持聚合集群,并将Pdist.那连锁,集群功能,您可以单独使用以进行更详细的分析。看算法描述更多细节。
clusterdata.
Pdist.
集群
T.= clusterdata (X那名称,价值)使用一个或多个名称-值对参数指定集群选项。您必须指定隔断或maxclust..例如,指定'maxclust',5找到最多五个群集。
T.= clusterdata (X那名称,价值)
名称,价值
maxclust.
'maxclust',5
全部收缩
使用两种不同的方法查找并在随机生成的数据集中可视化三个集群:
的值隔断输入参数。
的值'maxclust'名称值对参数。
'maxclust'
创建由三个标准均匀分布的随机生成的数据组成的示例数据集。
RNG('默认');重复性的%x = [gallery('sublicatdata',[10 3],12);...画廊('sublicatdata',[10 3],13)+1.2;...画廊('sublicatdata'3 [10] 14) + 2.5);y = [(10,1); 2 * ((10, 1)); 3 * ((10, 1))];%实际课程
创建数据散点图。
散射3(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.识别数据中的三个不同群集。
创建分层群集树并在一步中查找群集。使用3-D散点图可视化簇。
从标准均匀分布中创建20,000×3矩阵,产生的样本数据。
RNG('默认');重复性的%x =兰特(20000,3);
在使用的分层群集树中找到最多四个群集病房联动方法。指定'savememory'作为'上'在不计算距离矩阵的情况下构造簇。否则,如果您的机器没有足够的内存以保持距离矩阵,则可以收到内存up-Memory错误。
病房
'savememory'
'上'
T = clusterdata (X,“链接”那“沃德”那'savememory'那'上'那'maxclust'4);
绘制数据以不同颜色显示的每个群集。
scatter3 (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,...,namen,valuen.
的名字
价值
name1,value1,...,namen,valuen
clusterdata (X,“联系”,“病房”,“MaxClust”,3)
“标准”
'不一致'
“距离”
定义分层集群树中群集的标准,指定为逗号分隔的对组成“标准”和任何一种'不一致'或“距离”.当你指定“标准”,您还必须指定一个值maxclust.或隔断.
例子:clusterdata (X,“标准”,“距离”,“截止”。5)
clusterdata (X,“标准”,“距离”,“截止”。5)
数据类型:char|字符串
char
字符串
“截止”
截止不一致或距离标准,指定为包括的逗号分隔对“截止”一个正标量。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')
“cityblock”
城市街区距离
'minkowski'
Minkowski距离。默认指数为2.使用不同的指数P., 指定P.后'minkowski', 在哪里P.是一个正标量值:'minkowski',p.
P.
'minkowski',p
'chebbychev'
Chebychev距离(最大坐标差异)
'余弦'
一个减去点之间夹角的余弦(作为向量处理)
'相关性'
一个减去点之间的样本相关性(视为值序列)
'汉明'
汉明距离,是不同坐标的百分比
“jaccard”
1减去Jaccard系数,它是不同的非零坐标的百分比
“枪兵”
1减去观察值之间的样本Spearman等级相关性(作为值序列处理)
@distfun
distfun
自定义距离功能句柄。距离功能具有表单
函数d2 = distfun(zi,zj)%计算距离...
Zi.是一个1-经过-N载体含有单个观察。
Zi.
1
N
ZJ.是一个平方米-经过-N矩阵包含多个观察。distfun必须接受矩阵ZJ.具有任意数量的观察。
ZJ.
平方米
D2是一个平方米-经过-1距离矢量,和D2(k)是观察之间的距离Zi.和ZJ (k,:).
D2
D2(k)
ZJ (k,:)
如果您的数据不是稀疏的,使用内置距离通常比使用功能手柄更快。
距离
有关更多信息,请参阅距离指标.
例子:ClusterData(x,'距离','minkowski','maxclust',4)
ClusterData(x,'距离','minkowski','maxclust',4)
数据类型:char|字符串|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.
集群|树枝图|不一致的|威彻斯|连锁|Pdist.
树枝图
威彻斯
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站来获得可用的翻译内容,并看到当地的活动和提供。根据您所在的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室