最近要写作业,涉及到一些聚类算法。
关于聚类算法的一些理论和定义,请参照博客http://blog.sina.com.cn/s/blog_62f3c4ef01014uhe.html 和大传送术http://blog.csdn.net/a1b2c3d4123456/article/details/45966429 这两篇文章。
Matlab具体实现如下:
filename = 'C:\Users\zyfls\Desktop\ML\第七章聚类\chap_7_数据集.xlsx';
A = xlsread(filename);
for i=1:500
data(i,1)=A(i,1);
data(i,2)=A(i,2);
end
Y=pdist(data,'euclidean');%计算欧式距离
Y=squareform(Y);%转换成方阵
Z=linkage(Y,'average');%参数为平均距离
figure(1);
dendrogram(Z,0);%可视化聚类树
T=cluster(Z,3);%剪枝为三类
fig