1.pdist函数——计算构成样品对的样品之间的距离
% 5个样品,每个只测量一个指标,指标值存储在x中
x = [1, 2, 6, 8, 11]’;
y = pdist(x) % 计算样本间欧氏距离
D = squareform(y) % 将pdist得到的距离向量转化为矩阵距离,转回去用squareform(D,’tovector’)
%**************************根据原始数据创建系统聚类树************************
Z = linkage(x, ‘single’, ‘cityblock’)
2.linkage函数——创建系统聚类树
%***************************分步聚类,绘制聚类树形图*************************
x = [1 2 6 8 11]’;
y = pdist(x,’cityblock’); %绝对值距离
z = linkage(y,’single’) %‘single’指最短距离法
1 2 1
3 4 2
5 7 3
6 8 4
初始5个样本,所以是5类,类编号1-5,第一次聚类把1、2聚类归为编号6;第二次把3、4聚类归为编号7;
第三次把5、7聚类归为编号8;第四次把6、8聚类归为编号9,此时全部样品合并成一类,聚类结束。
3.dendrogram函数——作聚类树形图
obslabel = {‘G1 = {1}’;’G2 = {2}’;’G3 = {6}’;’G4 = {8}’;’G5 = {11}’};
[H,T] = dendrogram(z,’orientation’,’Right’,’labels’,obslabel);
set(H,’LineWidth’,2,’Color’,’k’)
xlabel(‘并类距离’)
text(1.1,1.65,’G6′)
text(2.1,3.65,’G7′)
text(3.1,4.4,’G8′)
text(4.1,3,’G9′)
x = [1 2 6 8 11]’;
opts = statset(‘Display’,’final’);
idx = kmeans(x,3,’Distance’,’cityblock’,’Replicates’,5,’Options’,opts)
%后3对参数:绝对值距离;重复聚类5次,每次聚类采用新的初始值凝聚点;用于设置迭代算法
%****************************绘制聚类轮廓图*********************************
今天的文章聚类 轮廓 matlab,Matlab聚类分析分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33201.html