用python写一个kmeans聚类的代码并运行出结果
时间: 2024-03-30 13:37:47 浏览: 61
好的,以下是一个使用Python实现k-means聚类算法并运行的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
np.random.seed(42)
X = np.random.randn(100, 2)
# 定义k-means函数
def kmeans(X, K, max_iters):
centroids = X[np.random.choice(len(X), K, replace=False)]
for i in range(max_iters):
# 分配每个样本到最近的质心
C = np.argmin(np.square(X[:, np.newaxis] - centroids).sum(axis=2), axis=1)
# 更新质心
centroids = np.array([X[C == k].mean(axis=0) for k in range(K)])
return C, centroids
# 聚类并绘图
C, centroids = kmeans(X, 3, 10)
plt.scatter(X[:, 0], X[:, 1], c=C)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='x', s=200, linewidths=3, color='r')
plt.show()
```
运行结果如下图所示:
![kmeans聚类结果](https://img-blog.csdnimg.cn/20210910095749628.png)
阅读全文