from scipy.cluster.hierarchy import dendrogram, linkage from matplotlib import pyplot as plt X = [[i] for i in [2, 8, 0, 4, 1, 9, 9, 0]] Z = linkage(X, 'average') fig = plt.figure(figsize=(6,3)) # 控制图的大小 dn = dendrogram(Z) plt.rcParams["font.sans-serif"]=["SimHei"] plt.title('实验一') plt.xlabel('聚类谱系图') plt.ylabel('聚类水平') plt.show()
时间: 2024-04-02 18:37:04 浏览: 72
Python错题本:from scipy.misc import imread 报错cannot import name imread 的解决方案
这段代码使用了Python的SciPy库来进行层次聚类,并使用matplotlib库进行可视化。具体来说,代码的功能如下:
1. 定义一个长度为8的一维数组X,数组中的元素分别为2, 8, 0, 4, 1, 9, 9, 0。
2. 调用linkage()函数进行层次聚类,其中'average'表示使用平均链接合并策略。聚类得到的结果保存在变量Z中。
3. 创建一个大小为(6,3)的图形对象fig。
4. 对聚类树进行可视化,使用dendrogram()函数绘制聚类树,并将聚类树绘制在变量dn中。
5. 设置字体为中文显示,设置图像标题为'实验一',x轴标签为'聚类谱系图',y轴标签为'聚类水平'。
6. 显示图像。
总的来说,这段代码实现了对一维数据进行层次聚类,并将聚类结果以树状图的形式可视化。可以根据需要修改代码中的数据、聚类合并策略和图像参数等。
阅读全文