使用静态训练数据初始化StreamingKmeans模型

时间:2016-07-24 23:31:02

标签: apache-spark spark-streaming k-means apache-spark-mllib

我可以使用训练数据集构建Spark Kmeans模型。我想让我的模型适应新数据,所以Spark StreamingKmeans对我来说似乎很棒。

然而,似乎Spark的StreamingKmeans只能在数据流上进行训练。无法使用默认的kmeans模型对其进行初始化,对某些静态训练数据进行训练,然后在新的流式数据中训练模型。

是否存在使用静态训练数据在Spark中初始化KMeans模型的方法,并使用StreamingKmeans对新数据进行训练?

2 个答案:

答案 0 :(得分:1)

根据文档,StreamingKMeanssetInitialCenters(centers: Array[Vector], weights: Array[Double])方法。受过静态训练的KMeansModelclusterCenters(): Array[Vector]方法。因此,您可以使用预先训练的KMeansModel的clusterCenters()初始化StreamingKMeans。

答案 1 :(得分:0)

如果您仍然可以访问该静态训练数据,则可以将其发送到DStream中的StreamingKMeans;否则,我认为没有其他方法可以初始化StreamingKMeans对象。