假设我有一个一维数据集,其中包含许多相同的数字,例如数据集S = c(rep(4, times(1000)), rep(5, times(808)), rep(9, times(990)))
。在R中有没有有效的方法来做k-means?实际上在我的数据中我只有大约20个不同的点,但每个点出现大约100000次,运行速度非常慢。所以我想知道是否有更有效的方式。
答案 0 :(得分:0)
K-means可以用权重来实现。这样做很简单。
但是IIRC包含的版本没有以这种方式实现。 flexcluster
上的版本可能是,但它是纯粹的R而且要慢得多。
无论哪种方式,您都希望在Fortran或C中实现此功能,就像常规的kmeans版本一样。也许你可以找到一些已经很好实现的软件包。