kmeans代码实现聚类python,并输出对应的聚类中心
时间: 2023-02-21 07:26:50 浏览: 85
下面是一个用 Python 实现 K-Means 聚类的代码示例:
```python
import numpy as np
def kmeans(X, k, max_iterations=100):
# 随机选择 k 个初始聚类中心
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 centers])
# 找到每个样本最近的聚类中心
nearest_centers = np.argmin(distances, axis=0)
# 更新每个聚类中心为该聚类内样本的平均位置
for center_idx in range(k):
centers[center_idx] = np.mean(X[nearest_centers == center_idx, :], axis=0)
# 输出聚类中心
return centers
```
在调用该代码时,需要传入样本数据 `X`,聚类数量 `k` 和最大迭代次数 `max_iterations`。最终,代码会返回 `k` 个聚类中心。
阅读全文