2016-07-23 31 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) 
相关问题