用python写一个kmeans聚类的代码
时间: 2024-03-25 16:40:22 浏览: 61
python实现kmeans聚类算法
5星 · 资源好评率100%
好的,以下是一个简单的Python实现k-means聚类算法的代码:
```python
import numpy as np
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
```
其中,X是输入数据的矩阵,K是聚类的个数,max_iters是最大迭代次数。函数的返回值是一个长度为len(X)的向量C,表示每个样本点所属的聚类簇的索引,以及一个KxM的矩阵centroids,表示每个聚类簇的质心。
阅读全文