k means聚类算法_K-Means 聚类算法实现鸢尾花数据的聚类
时间: 2024-02-06 22:03:07 浏览: 37
K-Means 聚类算法是一种常用的无监督学习算法,它可以将一组数据自动分为不同的簇。在这个算法中,我们需要指定簇的个数,然后算法将数据分为指定个数的簇,使得每个簇内的数据点相似度尽可能高,不同簇之间的相似度尽可能低。
下面我们使用 K-Means 聚类算法实现鸢尾花数据的聚类。首先,我们加载鸢尾花数据集:
```python
from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target
```
然后我们使用 Scikit-learn 中的 KMeans 类进行聚类,代码如下:
```python
from sklearn.cluster import KMeans
k = 3 # 簇的个数
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
```
这里我们指定了簇的个数为 3,然后使用 KMeans 类进行拟合。拟合完成后,我们可以用 predict 方法来预测每个数据点所属的簇:
```python
y_pred = kmeans.predict(X)
```
最后,我们可以将聚类结果可视化出来,代码如下:
```python
import matplotlib.pyplot as plt
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.show()
```
这里我们将数据集的前两个特征绘制在二维坐标系中,用不同的颜色表示不同的簇。运行上述代码,可以得到如下的聚类结果:
![k-means-iris](https://img-blog.csdnimg.cn/20210513190238234.png)
从图中可以看出,经过 K-Means 聚类算法处理后,数据被分为了三个簇,每个簇内的数据点比较相似。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)