k-均值聚类算法分类图python代码
时间: 2024-09-06 08:01:28 浏览: 45
k-均值聚类算法是一种常用的无监督学习算法,其目标是将数据集分成k个簇,每个簇包含最接近簇中心的数据点。以下是k-均值聚类算法的Python代码示例,其中使用scikit-learn库中的KMeans类实现:
```python
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
# 生成数据集
np.random.seed(0)
X = np.vstack((np.random.randn(100, 2) * 0.4 + [1, 1],
np.random.randn(100, 2) * 0.4 + [-1, -1],
np.random.randn(100, 2) * 0.4 + [1, -1]))
# 创建KMeans对象并拟合数据
kmeans = KMeans(n_clusters=3, random_state=0).fit(X)
# 绘制聚类结果
colors = ['r', 'g', 'b']
for i in range(len(X)):
plt.scatter(X[i], X[i], c=colors[kmeans.labels_[i]], alpha=0.5)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='x', s=100, linewidths=3, color='k')
plt.show()
```
此代码将生成一个包含三个簇的数据集,并将其聚类为三个簇。聚类结果将通过散点图展示出来。
阅读全文