scipy.cluster.hierarchy.dendrogram函数实现鸢尾花数据集分裂聚类并可视化
时间: 2023-12-16 14:03:12 浏览: 151
好的,下面是一个使用`scipy.cluster.hierarchy.dendrogram`函数实现鸢尾花数据集分裂聚类并可视化的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
from sklearn.datasets import load_iris
# 载入鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 计算样本间的距离矩阵
Z = linkage(X, method='ward')
# 绘制聚类树
plt.figure(figsize=(10, 7))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('Sample Index')
plt.ylabel('Distance')
dendrogram(
Z,
leaf_rotation=90., # 旋转x轴标签
leaf_font_size=8., # x轴标签字体大小
)
plt.show()
```
上述代码首先使用`load_iris`函数载入鸢尾花数据集,并计算样本间的距离矩阵。然后,使用`dendrogram`函数绘制聚类树,并设置x轴标签旋转角度和字体大小。最后,使用`plt.show()`函数显示可视化结果。
注:上述代码使用了`method='ward'`来进行层次聚类,也可以使用其它距离度量和聚类方法进行分裂聚类。
阅读全文