写一个层次聚类谱系图的代码 python实现
时间: 2023-12-01 19:05:09 浏览: 144
层次聚类代码
以下是一个简单的 Python 代码实现层次聚类谱系图:
```python
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
# 数据准备,这里数据包含10个点,每个点有两个维度
X = [[0, 0], [0.1, 0], [1,1], [2,2],[2.1,2.1], [3,3], [10,10], [10,11], [11,10], [11,11]]
# 对 X 数据进行层次聚类,使用最简单的欧几里得距离度量和比较任务
Z = linkage(X, 'ward')
# 用 dendrogram 函数画图,可以看到分层聚类的谱系图
plt.figure(figsize=(10, 5))
dendrogram(Z)
plt.show()
```
这段代码使用了 scipy 包中的 `linkage()` 函数对数据进行层次聚类,该函数返回对X数据的一系列合并操作,其中 ward 参数选择了最小化各类内方差平方和的平方和来进行优化的方法,可以根据不同的应用场景选择不同的方法。最后,使用 matplotlib 的 `dendrogram()` 函数画出用于层次聚类的谱系图。
阅读全文