R 中 K 均值聚类的并行版本?

  • 本文关键字:并行 版本 聚类 r k-means
  • 更新时间 :
  • 英文 :


我有一个包含200,000个观测值和三维的数据集。 我正在尝试通过 Elbow 方法发现最佳数量的集群,如下所示:

library(cluster)    # clustering algorithms
library(factoextra) # clustering algorithms & visualization
set.seed(123)
fviz_nbclust(df, kmeans, method = "wss")

但是,考虑到我的数据集的大小,这种方法似乎在一个多小时后不会产生。 我一直在寻找并行版本的 KMeans,它将识别集群的"最佳"数量,但无济于事。 在大数据上运行K-means的最佳方法是什么?

据我所知,k-means相对来说很快。(聚类方法性能)即使在很长一段时间之后,我也经历了保持初始化阶段。我了解到在k均值的情况下,如果初始点设置不正确,则已知会学习不稳定的聚类结果。(你必须谷歌k-means初始化问题)如果初始点选择相似的点,则学习结果和表现都不好。我想告诉你,找到起点(广泛传播)很重要。

试试 h2o R 包。

https://cran.r-project.org/web/packages/h2o/index.html

http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/k-means.html

H2O-3 是开源机器学习平台。H2O的核心代码是用Java编写的。在 H2O 中,分布式键/值存储用于跨所有节点和机器访问和引用数据、模型、对象等。这些算法是在H2O的分布式Map/Reduce框架之上实现的,并利用Java Fork/Join框架进行多线程处理。数据并行读取,分布在群集中,并以压缩方式以列格式存储在内存中。H2O的REST API允许通过HTTP上的JSON从外部程序或脚本访问H2O的所有功能。H2O的Web界面(Flow UI),R绑定(H2O-R)和Python绑定(H2O-Python)使用Rest API。

最新更新