k-means算法代码
时间: 2023-02-09 16:39:18 浏览: 42
k-means算法代码的实现可以在不同的编程语言中不同。以下是使用Python代码的简化版本:
```
import numpy as np
def kmeans(X, k, max_iterations=100):
# 选择k个初始中心点
initial_centers = X[np.random.choice(X.shape[0], k, replace=False), :]
for i in range(max_iterations):
# 计算每个数据点到中心点的距离
distances = np.array([np.linalg.norm(X - center, axis=1) for center in initial_centers])
# 为每个数据点分配离它最近的中心点
labels = np.argmin(distances, axis=0)
# 计算新的中心点
new_centers = np.array([X[labels == j].mean(axis=0) for j in range(k)])
# 如果中心点不再改变,则算法结束
if np.allclose(initial_centers, new_centers):
break
initial_centers = new_centers
return initial_centers, labels
```
注意:此代码仅供参考,可能需要进行更多的错误检查和优化。
阅读全文