例子
从样本数据中生成层次聚类树
这个例子显示了如果利用样本数据生成层次聚类数,并用3维散点图展示该聚类。
产生样本数据矩阵,其中的随机数由标准均匀分布(U(0,1))生成。
rng(‘default‘); % For reproducibilty
X = [gallery(‘uniformdata‘,[10 3],12);...
gallery(‘uniformdata‘,[10 3],13)+1.2;...
gallery(‘uniformdata‘,[10 3],14)+2.5];
计算元素之间的距离并从样本数据生成层次聚类数。列出第二个聚类中的所有元素。
T = clusterdata(X,‘maxclust‘,3);
find(T == 2)
ans =
11 12 13 14 15 16 17 18 19 20
将数据绘成图形,其中每一个类别对应一种不同的颜色。
scatter3(X(:,1),X(:,2),X(:,3),100,T,‘filled‘)
利用Ward‘s Linkage生成层次聚类树
这个例子显示了如果利用Ward‘s Linkage生成层次聚类数,并用3维散点图展示该聚类。
产生20,000行3列的样本数据矩阵,其中的随机数由标准均匀分布(U(0,1))生成。
rng(‘default‘); % For reproducibilty
X = rand(20000,3);
利用Ward‘s Linkage生成层次聚类树。将‘savememory‘设置为‘on‘来构造聚类但不计算距离矩阵。
c = clusterdata(X,‘linkage‘,‘ward‘,‘savememory‘,‘on‘,‘maxclust‘,4);
将数据绘成图形,其中每一个类别对应一种不同的颜色。
scatter3(X(:,1),X(:,2),X(:,3),10,c)