2017-09-05 25 views
0

私は&のMLモデル(GBTClassificationModelまたはRandomForestClassificationModel)をテストしました。それでは、将来の使用のために訓練されたモデルを保存したいと思います。私は次のようにしました:訓練されたRandomForestClassificationModelモデルをロードするには?

model.save("..."); 

たとえば、保存後にGBTClassificationModelを取ってください。保存されたファイルは "data、metadata and treesMetadata"を含むディレクトリです。私の質問は、この保存されたモデルを将来の使用のために使用する方法です。たとえば、次のようなことをしたいと思います。

model = spark.load("..."); 
Dataset<Row> predict_data= model_model.transform(dataset_test1) 

何か提案がありますか?ありがとうございました。

UPDATE:

、それは非常に簡単であることが判明:

GBTClassificationModel model1 = GBTClassificationModel.load("..."); 
Dataset<Row> predict_data= model1.transform(dataset_test) 

答えて

2

あなたはRandomForestClassificationModel.loadメソッドを使用する必要があります。

負荷(パス:文字列):RandomForestClassificationModel入力経路、read.load(path)のショートカットからMLインスタンスを読み込み。 Scalaで

次のように、あなたのケースでは、それはなるだろう:

import org.apache.spark.ml.classification.RandomForestClassificationModel 
val model = RandomForestClassificationModel.load("/analytics_shared/qoe/km_model") 

私は非常にスパークMLlibのML Pipeline機能使用をお勧めします:

MLパイプラインを均一に提供ユーザーが実用的な機械学習パイプラインを作成して調整するのに役立つDataFramesの上に構築された高レベルのAPIセットです。

MLパイプラインを使用すると、RandomForestClassificationModelPipelineModelに置き換えたほうがはるかに簡単です。

import org.apache.spark.ml.PipelineModel 
val model = PipelineModel.load("...") 
関連する問題