很简单,如果您阅读
KmeansModel文档,您将会注意到它有两个构造函数,其中之一是:
new KMeansModel(clusterCenters: Array[Vector])
因此,您可以实例化一个具有KMeans
质心的对象。我在下面展示了一个例子。
import org.apache.spark.mllib.clustering.KMeansModel
import org.apache.spark.mllib.linalg.Vectors
val rdd = sc.parallelize(List(
Vectors.dense(Array(-0.1, 0.0, 0.0)),
Vectors.dense(Array(9.0, 9.0, 9.0)),
Vectors.dense(Array(3.0, 2.0, 1.0))))
val centroids = Array(
Vectors.dense(Array(0.0, 0.0, 0.0)),
Vectors.dense(Array(0.1, 0.1, 0.1)),
Vectors.dense(Array(0.2, 0.2, 0.2)),
Vectors.dense(Array(9.0, 9.0, 9.0)),
Vectors.dense(Array(9.1, 9.1, 9.1)),
Vectors.dense(Array(9.2, 9.2, 9.2)))
val model = new KMeansModel(clusterCenters=centroids)
model.predict(rdd).take(10)