matlab的层次聚类算法代码
时间: 2023-09-07 08:14:10 浏览: 169
ahp.rar_层次聚类_层次聚类 MATLAB_层次聚类算法_算法
您好!以下是一个使用 MATLAB 实现层次聚类算法的示例代码:
```matlab
% 生成样本数据
data = [1 1; 2 1.5; 3 1; 5 4; 6 5; 5.5 6];
% 计算样本间的欧氏距离
distMatrix = pdist(data);
% 使用单连接(single-linkage)方法进行层次聚类
linkageMatrix = linkage(distMatrix, 'single');
% 绘制树状图
dendrogram(linkageMatrix);
% 根据树状图确定聚类结果
clusters = cluster(linkageMatrix, 'maxclust', 2);
% 打印每个样本的聚类结果
for i = 1:length(data)
fprintf('样本 %d 属于聚类 %d\n', i, clusters(i));
end
```
这段代码首先生成了一个样本数据集,然后计算样本间的欧氏距离。接下来使用单连接方法进行层次聚类,并绘制树状图。最后根据树状图确定聚类结果,并打印每个样本的聚类结果。
请注意,这只是一个简单的示例代码,您可以根据自己的需求进行修改和扩展。希望对您有帮助!如有其他问题,请随时提问。
阅读全文