自己给定5个对象间的距离,python用最短距离法聚类并画出树形图
时间: 2023-06-19 08:10:42 浏览: 147
可以使用 `scipy` 库中的 `hierarchical clustering` 方法进行聚类,并使用 `dendrogram` 方法画出树形图。以下是一个示例代码:
```python
import numpy as np
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt
# 给定距离矩阵,这里使用 5 个对象间的距离
dist_matrix = np.array([[0, 2, 3, 4, 5],
[2, 0, 2, 3, 4],
[3, 2, 0, 2, 3],
[4, 3, 2, 0, 2],
[5, 4, 3, 2, 0]])
# 使用最短距离法进行聚类
Z = linkage(dist_matrix, 'single')
# 画出树形图
plt.figure(figsize=(10, 5))
dendrogram(Z)
plt.show()
```
运行这段代码可以得到以下树形图:
![tree_plot](https://i.imgur.com/1wHqV3E.png)
阅读全文