[[ 208.47 26. ]
[ 202.84 17. ]
[ 143.37 10. ]
...,
[ 45.99 3. ]
[ 159.31 10. ]
[ 34.12 4. ]]
[[ 58.64 1. ]
[ 44.31 19. ]
[ 37.89 14. ]
...,
[ 46.86 4. ]
[ 60.73 5. ]
[ 41.91 6. ]]
[[ 36.6 4. ]
[ 219.29 17. ]
[ 64.77 5. ]
...,
[ 51.85 37. ]
[ 161.26 10. ]
[ 53.63 20. ]]
[[ 52.97 32. ]
[ 51.32 3. ]
[ 196.23 4. ]
...,
[ 41.39 8. ]
[ 47.49 5. ]
[ 34.34 3. ]]
我有这个numpy
数组进入我的函数:
def initialize_centroids(points, k):
"""returns k centroids from the initial points"""
centroids = points.copy()
np.random.shuffle(centroids)
print centroids
return centroids[:k]
现在函数正在做的是,对值进行洗牌并发送它们中的前k个。我想基本上随机化第一列的值在0到300之间,第二列在0到100之间。我该怎么做?
这是我使用Python构建K-Means算法的工作的一部分。
答案 0 :(得分:0)
正如@kazemakase评论的那样,答案就是使用:
np.random.rand(k, 2) * [300, 100]