使用凝聚聚类对鸢尾花数据集进行聚类
时间: 2024-02-21 11:54:13 浏览: 68
以下是使用凝聚聚类对鸢尾花数据集进行聚类的Python代码:
```python
from sklearn.datasets import load_iris
from sklearn.cluster import AgglomerativeClustering
import matplotlib.pyplot as plt
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
# 使用凝聚聚类进行聚类
clustering = AgglomerativeClustering(linkage='ward', n_clusters=3)
clustering.fit(X)
# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=clustering.labels_)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.show()
```
上述代码中,首先使用`load_iris()`函数加载鸢尾花数据集,然后将数据集中的样本特征保存在`X`中。接着,使用`AgglomerativeClustering`类创建一个凝聚聚类对象,其中`linkage='ward'`表示使用Ward方差最小化算法进行聚类,`n_clusters=3`表示将数据集聚为3类。然后,使用`fit()`方法对数据进行聚类,并将聚类结果保存在`labels_`属性中。最后,使用Matplotlib库绘制聚类结果,其中`c=clustering.labels_`表示使用聚类结果对样本进行着色。
阅读全文