帮助文档-翻译-Statistics Toolbox-Exploratory Data Analysis-Cluster Analysis-Hierarchical Clustering(linkage)(6)
例子
Compare Cluster Assignments to Clusters
导入样本数据。
load fisheriris
从安德森鸢尾花卉数据集用Ward linkage计算四个簇,并忽略种类信息。
Z = linkage(meas,'ward','euclidean');
c = cluster(Z,'maxclust',4);
观察聚类结果和三个种类是怎样的对应关系。
crosstab(c,species)
ans =
0 25 1
0 24 14
0 1 35
50 0 0
打印Z的前5行。
firstfive = Z(1:5,:)
firstfive =
102.0000 143.0000 0
8.0000 40.0000 0.1000
1.0000 18.0000 0.1000
10.0000 35.0000 0.1000
129.0000 133.0000 0.1000
生成Z的系统树图。
dendrogram(Z)
对数据聚类并绘出结果
随机生成20000个观测点的样本数据。
rng('default') % For reproducibility
X = rand(20000,3);
用Ward's linkage生成层次树。
Z = linkage(X,'ward','euclidean','savememory','on');
如果你将savememory设置为'off',如果你的计算机没有足够的内存来存放距离矩阵,你将会收到一个内存溢出的错误。
将数据聚类成4组并打印结果。
c = cluster(Z,'maxclust',4);
scatter3(X(:,1),X(:,2),X(:,3),10,c)