【问题标题】:is there a clustering algorithm in Spark where the resulting clusters are approximately the same size?Spark 中是否有聚类算法,其中生成的聚类大小大致相同?
【发布时间】:2021-03-22 10:36:24
【问题描述】:

我正在运行 Spark GraphX pregel 算法,其中顶点是纬度/经度的交点坐标,边是路段 - 道路网络。为了论证的缘故,让我们假设在运行算法时跨顶点的统一消息负载。

我想通过提供更好的分区来提高性能。我的第一个努力是创建一个PartitionStrategy,它根据对源坐标的聚类来划分边缘。我使用了 Spark k-means 算法。然后,我意识到,虽然这可以很好地对欧几里德点进行聚类,但它往往不能很好地平衡顶点的负载 - 集群大小差异很大。

在野外有一些凝聚聚类技术可以找到一个近似的解决方案。但是,由于我已经在 Spark 中,是否有一种实现可以为一些(大约)相同大小的 k 生成集群?或者,有没有我没有发现使用内置 mllib 工具的方法?

【问题讨论】:

    标签: apache-spark cluster-analysis spark-graphx


    【解决方案1】:

    Here 你可以找到 Spark 当前支持的所有聚类算法。

    【讨论】:

    • 我对这个列表很熟悉;这就是我第一次使用内置 Spark k-means 算法(如上所述)选择的方式。如果这些算法中的任何一个具有可以设置目标集群大小的参数,那么请详细说明。否则,我想知道是否有任何其他实现支持此目标(内置,或在其他地方找到但利用 Spark 框架)。
    猜你喜欢
    • 2018-10-28
    • 2016-10-03
    • 2014-12-06
    • 2021-06-22
    • 2012-07-19
    • 2018-09-08
    • 1970-01-01
    • 2011-09-20
    • 2018-01-16
    相关资源
    最近更新 更多