scipy.cluster.kmeans聚类,再计算每一类的重心
时间: 2024-01-12 13:03:55 浏览: 79
kmeans 分类算法 聚类
5星 · 资源好评率100%
scipy.cluster.kmeans函数可以用于进行聚类分析,它可以将一组数据分成k个类,每个类中的数据尽可能相似。
例如,可以使用以下代码将数据分成3个类:
```python
import numpy as np
from scipy.cluster.vq import kmeans
# 生成数据
data = np.random.rand(100, 2)
# 聚类,分成3个类
centroids, labels = kmeans(data, 3)
# 打印每个数据点所属的类别
print(labels)
```
在得到每个数据点所属的类别之后,可以使用以下代码计算每个类别的重心:
```python
# 计算每个类别的重心
for i in range(3):
cluster = data[labels == i]
centroid = np.mean(cluster, axis=0)
print(f"Cluster {i} centroid: {centroid}")
```
这段代码中,我们首先使用`labels == i`选出第i个类别的数据点,然后使用`np.mean`函数计算这些数据点的平均值,即为该类别的重心。
阅读全文