【问题标题】:Customize Distance Formular of K-means in Apache Spark Python在 Apache Spark Python 中自定义 K-means 的距离公式
【发布时间】:2016-04-04 07:06:12
【问题描述】:

现在我使用 K-means 进行聚类并关注 this tutorialAPI

但我想使用自定义公式来计算距离。那么如何使用 PySpark 在 k-means 中传递自定义距离函数?

【问题讨论】:

    标签: apache-spark k-means apache-spark-mllib apache-spark-ml


    【解决方案1】:

    通常使用不同的距离度量没有意义,因为 k-means(与 k-medoids 不同)算法仅针对欧几里德距离进行了明确定义。

    请参阅Why does k-means clustering algorithm use only Euclidean distance metric? 了解说明。

    此外,MLlib 算法是在 Scala 中实现的,PySpark 仅提供执行 Scala 代码所需的包装器。因此,如果不对 API 进行重大更改,在技术上将无法将自定义指标作为 Python 函数提供。

    请注意,自 Spark 2.4 以来,有两个内置措施可用于 pyspark.ml.clustering.KMeanspyspark.ml.clustering.BisectingKMeans。 (见DistanceMeasure Param)。

    • 欧几里得距离。
    • 余弦距离的余弦。

    使用风险自负。

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 2013-04-22
      • 2014-09-30
      • 2019-06-01
      • 2017-11-23
      • 2013-09-12
      • 2018-09-30
      • 2013-02-02
      • 2015-01-16
      相关资源
      最近更新 更多