使用k-means聚类实现 sklearn提供的鸢尾花数据集聚类,并可视化。(代码需要包含注释)
时间: 2024-06-14 11:07:19 浏览: 31
以下是使用sklearn提供的鸢尾花数据集进行k-means聚类并可视化的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
# 创建KMeans模型并进行聚类
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)
# 获取聚类结果和聚类中心
labels = kmeans.labels_
centers = kmeans.cluster_centers_
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centers[:, 0], centers[:, 1], marker='x', color='red')
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('K-means Clustering of Iris Dataset')
plt.show()
```
这段代码首先导入了所需的库,包括numpy、matplotlib、sklearn.cluster中的KMeans类以及sklearn.datasets中的load_iris函数。然后,使用load_iris函数加载鸢尾花数据集,并将数据存储在变量X中。接下来,创建一个KMeans对象kmeans,并设置聚类数为3,随机种子为0。然后,使用fit方法对数据进行聚类。聚类结果存储在labels变量中,聚类中心存储在centers变量中。最后,使用matplotlib库绘制散点图,其中每个样本的颜色表示其所属的聚类,聚类中心用红色的"x"标记表示。图表的横轴和纵轴分别表示鸢尾花的花萼长度和花萼宽度。运行代码后,将显示出鸢尾花数据集的聚类结果可视化图。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)