层次聚类pythonscipy_【python】利用scipy进行层次聚类
时间: 2023-06-20 17:07:07 浏览: 128
python中层次聚类法.docx
层次聚类是一种无监督学习算法,它将数据集分成一些由相似性构成的层次结构。在Python中,我们可以使用scipy库中的函数来执行层次聚类。
以下是一个示例代码,展示如何使用scipy进行层次聚类:
```python
import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
x = np.random.random((10, 2))
# 层次聚类
Z = linkage(x, 'ward')
# 绘制树状图
fig = plt.figure(figsize=(5, 3))
dn = dendrogram(Z)
plt.show()
```
在上面的代码中,我们首先使用numpy生成了一个随机数据集。然后使用scipy库中的linkage函数进行层次聚类,使用'ward'方法计算距离。最后,我们使用dendrogram函数绘制了树状图。
通过调整linkage函数中的参数和使用不同的距离度量方法,可以实现不同的层次聚类算法。
阅读全文