层次聚类算法python代码
时间: 2023-11-26 09:45:04 浏览: 102
层次聚类算法的Python代码可以使用scipy库中的hierarchy模块实现。以下是一个简单的示例代码:
```python
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(4711)
a = np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[100,])
b = np.random.multivariate_normal([0, 20], [[3, 1], [1, 4]], size=[50,])
X = np.concatenate((a, b),)
# 生成层次聚类树
Z = linkage(X, 'ward')
# 绘制层次聚类树
plt.figure(figsize=(25, 10))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('sample index')
plt.ylabel('distance')
dendrogram(Z, leaf_rotation=90., leaf_font_size=8.)
plt.show()
```
这段代码生成了一个包含150个数据点的随机数据集,并使用Ward方法进行层次聚类。最后,它绘制了一个层次聚类树,其中每个叶子节点代表一个数据点,每个内部节点代表一个聚类。
阅读全文