1

私は最初の推奨モデル(Spark 2.0.2)を書こうとしていますが、それが可能かどうかを知りたければ、 最初の列車の後にモデルがすべてのrddを精巧にして、将来の列車のデルタ。Spark Streamingで新しいバッチのみでモデルを再トレーニングする方法(以前のトレーニングデータセットを使用せずに)

私は例を挙げて説明しましょう:

  1. 最初のバッチは、システムの起動時に、すべてのRDD(200000の 要素)で、最初のトレーニングセッションを行います。
  2. 列車の最後にモデルが保存されます。
  3. 2番目のバッチアプリケーション(スパークストリーミング)は、モデル をロードして保存し、キネシスキューで待機します。
  4. 新しい要素が到着したら、2番目のバッチはモデルと新しい要素の前にだけ、すべての200000要素 をロードせずに トレーニング(デルタモード?!)を実行する必要があります。
  5. 列車の最後に、更新されたモデルが保存されます。

問題は、何らかの方法でステップ4を実行できますか?

答えて

1

StreamingKMeansまたはStreamingLogisticRegressionWithSGDのようなストリーミングトレーニングをサポートするように設計された機械学習アルゴリズムでのみ可能であると私の理解である。彼らのドキュメンテーション(上記アクティブ参考文献を参照)引用

(StreamingLogisticRegressionWithSGD)は、電車やストリーミングデータのロジスティック回帰モデルを予測します。トレーニングでは、Stochastic Gradient Descentを使用して、DStreamからの着信データの各新しいバッチに基づいてモデルを更新します(モデル方程式についてはLogisticRegressionWithSGDを参照)。

StreamingKMeansはストリーミングk-means分析を構成し、モデルを使用してストリーミングデータの予測を行います。

アルゴリズムについて心配しているのは、org.apache.spark.mllib.clusteringパッケージに属しています(これはDataFrameベースではなくRDDベースなので)。 DataFrameでJIRAを改造する必要があるかどうかはわかりません。

+0

ありがとう、ありがとう、私のアプリケーションにこの動作をさせるスパークのような別のツールがありますか? – kipliko

+0

@kiplikoおそらくFlinkなど、MLをサポートするストリーミング中心です。この分野を全く探検していない。 –

+1

@JacekLaskowski http://www.slideshare.net/hkarau/apache-spark-structured-streaming-for-machine-learning-strataconf-2016 http://159.203.217.164/extend-structured-streaming-for-spark -ml/ おそらくもう1つですが、今は見つけられません。 –

関連する問題