随机生成k个类中心点(补全代码) #基本思路:随机产生k个点,坐标值介于所有样本数据集坐标的取值区间。 """ Parameters: dataSet - 数据集 k - 聚类数 Returns: centroids - 随机类中心 """ def randCent(dataSet, k):
时间: 2024-03-12 08:43:06 浏览: 130
```python
import numpy as np
n = np.shape(dataSet)[1] # 数据集中每个样本的特征数
centroids = np.mat(np.zeros((k, n))) # 初始化k个类中心点
# 遍历每个特征,找到它们的最大最小值
for j in range(n):
minJ = min(dataSet[:,j])
rangeJ = float(max(dataSet[:,j]) - minJ)
# 在最大最小值范围内随机生成k个点
centroids[:,j] = np.mat(minJ + rangeJ * np.random.rand(k,1))
return centroids
```
阅读全文