python 层次聚类
时间: 2023-07-06 20:39:41 浏览: 52
Python中有许多用于执行层次聚类的库和工具包。其中最常用的是scikit-learn和SciPy库。
使用SciPy库的层次聚类方法非常简单,只需要使用scipy.cluster.hierarchy.linkage函数进行聚类即可。以下是一个简单的示例代码:
```python
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy as np
import matplotlib.pyplot as plt
# 创建一个随机数据集
X = np.random.rand(10, 2)
# 使用Ward方法进行层次聚类
Z = linkage(X, 'ward')
# 绘制层次聚类树形图
fig = plt.figure(figsize=(25, 10))
dn = dendrogram(Z)
plt.show()
```
此代码段创建了一个随机数据集,然后使用Ward方法执行了层次聚类,并使用dendrogram函数绘制了树形图。你可以根据自己的需要更改数据集和聚类方法。
另一个常用的层次聚类库是scikit-learn。以下是一个使用scikit-learn的示例代码:
```python
from sklearn.cluster import AgglomerativeClustering
import numpy as np
# 创建一个随机数据集
X = np.random.rand(10, 2)
# 使用AgglomerativeClustering方法进行层次聚类
clustering = AgglomerativeClustering().fit(X)
# 打印每个点的聚类标签
print(clustering.labels_)
```
此代码段创建了一个随机数据集,然后使用AgglomerativeClustering方法执行了层次聚类,并打印出每个点的聚类标签。你可以根据自己的需要更改数据集和聚类方法。