K-means实现鸢尾花聚类
时间: 2023-11-01 21:08:00 浏览: 96
K_means_iris_dataset.zip_iris_k-means_kmeans clustering
好的,下面是K-means实现鸢尾花聚类的代码示例:
```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
# 载入数据集
iris = load_iris()
X = iris.data
# 创建KMeans对象
kmeans = KMeans(n_clusters=3)
# 训练模型并预测
y_pred = kmeans.fit_predict(X)
# 可视化聚类结果
plt.scatter(X[y_pred == 0, 0], X[y_pred == 0, 1], s = 100, c = 'red', label = 'Cluster 1')
plt.scatter(X[y_pred == 1, 0], X[y_pred == 1, 1], s = 100, c = 'blue', label = 'Cluster 2')
plt.scatter(X[y_pred == 2, 0], X[y_pred == 2, 1], s = 100, c = 'green', label = 'Cluster 3')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s = 300, c = 'yellow', label = 'Centroids')
plt.title('K-means Clustering')
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.legend()
plt.show()
```
在这个例子中,我们首先载入鸢尾花数据集,然后创建一个KMeans对象,将聚类数目设为3。接着训练模型并预测,最后将聚类结果可视化。在可视化过程中,我们将每个簇的数据点用不同颜色表示,并将聚类中心用黄色点标出。
运行代码后,我们将得到一个聚类结果的可视化图像。根据这个图像,我们可以看到K-means算法成功地将鸢尾花数据集划分为3个簇,并将每个簇的数据点划分到了正确的簇中。
阅读全文