如何从Spark 2.0.2中的Bisecting K-Means获取集群ID /数字(不仅仅是集群中心)(Scala)

时间:2016-12-22 01:08:33

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

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

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

在Spark-Scala的K-Means实现中,可以使用WebServiceHeaders.SOAP_ACTION检索集群。

我想知道是否有一种有效的方法可以从Bisecting K-Means模型中检索聚类(不是聚类中心,如示例所示)

2 个答案:

答案 0 :(得分:0)

我找到了这个问题的答案。它应该是KMeansModel.transform(dataset)。这将添加群集索引作为数据集

中的一部分

答案 1 :(得分:0)

model.predict(vectordata)

这对我有用。如果你不想丢失密钥或其他数据,你可以称之为。

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