2016-07-23 30 views
0

當我使用Spark的KMeansModel類時,我可以使用KMeansModel.clusterCenters()函數輕鬆訪問我的模型集羣的質心。如何找到Spark的StreamingKMeans的集羣中心?

我想使用StreamingKMeans,但我注意到它似乎缺少clusterCenters()函數。有沒有一種方法可以在StreamingKMeans中獲得模型集羣的質心?

回答

1

在批處理KMeans中,估計器被訓練一次並生成單個變換器 - 該模型包含方法clusterCenters()。在StreamingKMeans中,模型不斷更新,因此您需要在StreamingKMeans對象上使用latestModel()

val model = new StreamingKMeans() 
     .setK(5) 
     .setDecayFactor(1.0) 
     .setRandomCenters(10, 0.0) 
val latestModel = model.latestModel() 
println(latestModel.clusterCenters) 
相關問題