0
我想知道與羣集中心關聯的ID是什麼。 model.transform(dataset)
將爲我的數據點分配預測的羣集ID,並且model.clusterCenters.foreach(println)
將打印這些羣集中心,但我無法弄清楚如何將羣集中心與其ID相關聯。Spark 2.0 - 如何獲取與羣集中心關聯的羣集ID
import org.apache.spark.ml.clustering.KMeans
// Loads data.
val dataset = spark.read.format("libsvm").load("data/mllib/sample_kmeans_data.txt")
// Trains a k-means model.
val kmeans = new KMeans().setK(2).setSeed(1L)
val model = kmeans.fit(dataset)
val prediction = model.transform(dataset)
// Shows the result.
println("Cluster Centers: ")
model.clusterCenters.foreach(println)
理想情況下,我想的輸出,諸如:
|I.D |cluster center |
==========================
|0 |[0.0,...,0.3] |
|2 |[1.0,...,1.3] |
|1 |[2.0,...,1.3] |
|3 |[3.0,...,1.3] |
這在我看來,不說println的順序是由編號的順序排列。我試着將它轉換model.clusterCenters
成DF到transform()
,但我無法弄清楚如何轉換Array[org.apache.spark.ml.linalg.Vector]
到org.apache.spark.sql.Dataset[_]
非常簡單!非常感謝! –
@BéatriceMoissinac,我們遇到了這個問題,查看了源代碼並發現了它。 – Achyuth