【问题标题】:How to get cluster IDs/Numbers (not just cluster centers) from Bisecting K-Means in Spark 2.0.2 (Scala)如何从 Spark 2.0.2 (Scala) 中的 Bisecting K-Means 中获取集群 ID/数字(不仅仅是集群中心)
【发布时间】:2017-05-07 13:28:05
【问题描述】:

我正在研究 Spark MLlib (Scala) 的二分 K-Means 算法。我使用的 Spark 版本是 2.0.2。

查看 Spark 示例代码 (examples/src/main/scala/org/apache/spark/examples/ml/BisectingKMeansExample.scala) 和平分 K-Means 的方法,我很难理解应该如何从 BisectingKMeansModel 类中检索分配的集群 ID/编号(不是集群中心)。

在 Spark/Scala 的 K-Means 实现中,可以使用 KMeansModel.summary.predictions 检索集群。

我想知道是否有一种有效的方法可以从二分 K-Means 模型中检索集群(不是示例中描述的集群中心)

【问题讨论】:

    标签: scala apache-spark apache-spark-mllib


    【解决方案1】:

    我已经找到了这个问题的答案。应该是KMeansModel.transform(dataset)。这会将集群索引添加为数据集的一部分

    【讨论】:

      【解决方案2】:
      model.predict(vectordata)
      

      这对我有用。如果您不想丢失密钥或其他数据,可以这样称呼它。

      val NewData = data.map(t =>
      (t._1,
      model.predict(t._2)
      )
      

      【讨论】:

        猜你喜欢
        • 2018-04-24
        • 2016-05-27
        • 2018-11-05
        • 2019-02-03
        • 2016-03-13
        • 1970-01-01
        • 2017-10-13
        • 2017-07-28
        • 2022-01-01
        相关资源
        最近更新 更多