Kmeans实现鸢尾花数据集聚类并可视化
时间: 2023-08-10 17:05:43 浏览: 112
好的,我可以为您介绍一下如何使用Kmeans算法来实现鸢尾花数据集的聚类,并进行可视化展示。
首先,我们需要导入必要的库,包括numpy,pandas,matplotlib和sklearn等。您可以使用以下代码来导入这些库:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
```
然后,我们可以使用load_iris函数来加载鸢尾花数据集。这个函数将返回一个Bunch对象,其中包含数据集的特征和标签等信息。我们可以使用以下代码来加载数据集:
```python
data = load_iris()
X = data.data
y = data.target
```
接下来,我们可以使用KMeans算法来对数据集进行聚类。KMeans是一种无监督的学习算法,它可以将数据集中的样本分成指定数量的簇。我们可以使用以下代码来创建一个KMeans对象,并使用fit方法来训练模型:
```python
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)
```
在训练完成后,我们可以使用predict方法来预测每个样本所属的簇。然后,我们可以使用scatter函数来将预测结果可视化展示。我们可以使用以下代码来实现:
```python
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('KMeans clustering')
plt.show()
```
这将会展示一个散点图,其中每个点的颜色表示它所属的簇。您可以通过修改n_clusters参数的值来改变簇的数量,从而观察不同数量的簇对聚类效果的影响。
完整代码如下:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
data = load_iris()
X = data.data
y = data.target
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('KMeans clustering')
plt.show()
```
希望这能对您有所帮助!
阅读全文