【问题标题】:Initializing a StreamingKmeans model with static training data使用静态训练数据初始化 StreamingKmeans 模型
【发布时间】:2016-11-28 05:06:56
【问题描述】:

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

但是,Spark 的 StreamingKmeans 似乎只能针对流式数据进行训练。无法使用默认的 kmeans 模型对其进行初始化,在一些静态训练数据上进行训练,然后随着时间的推移在新的流入数据上训练模型。

是否有一种方法可以使用静态训练数据在 Spark 中初始化 KMeans 模型,并使用 StreamingKmeans 在新数据上训练它?

【问题讨论】:

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


    【解决方案1】:

    根据文档,StreamingKMeans 有一个setInitialCenters(centers: Array[Vector], weights: Array[Double]) 方法。而经过静态训练的KMeansModel 有一个clusterCenters(): Array[Vector] 方法。因此,您可以使用预训练 KMeansModel 的 clusterCenters() 初始化 StreamingKMeans。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-15
        • 2021-10-24
        • 1970-01-01
        • 2016-06-29
        • 2021-06-08
        • 2018-10-23
        • 2018-08-14
        • 2020-10-27
        相关资源
        最近更新 更多