Kmeans + + 的矢量化实现

By simon at 2019-05-16 • 0人收藏 • 15人看过

我已经实施了Kmeans + + 算法在执行 K平均算法时初始化集群。 循环必须运行K时间。 我想知道是否有办法对算法进行向量化以使其运行得更快?

点是 d 维数组中的点K是要返回的质心数。

它的工作原理是计算从已经发现的簇到所有点的最小距离,然后计算从这些点选择下一个簇的概率。

实际上,问题在于它在什么时候发生严重的变化K很大。

Def init plus (points,k) : centroids np.zero like (points [ : k ]) rnp.randint (0,points.shape [0]) centroids [0] points [ r ] for i in range (1,k) : min distance self.euclidian distance (centroids [ : i ] ,points). 最小(1)距离 / 最小距离。 Sum () csnp.cumsum (prob) idxnp.sum (csnp.random.rand ()) centroids [ i ] points [ int (idx)]返回 centroids

登录后方可回帖

Loading...