2016-08-12 22 views
1

私はまだSpark 1.6を使用しており、今後のデータセットで保存して再利用したいStandardScalarを訓練しています。後でScalaで使用するためにSpark StandardScalerを保存します

the supplied examplesを使用するとデータを正常に変換できましたが、訓練された正規化器を保存する方法が見つかりませんでした。

訓練された正規化器を保存する方法はありますか?

+0

供給の例のように。これは標準化されたデータなので、実際にそのままデータを保存するだけです。 – eliasah

+1

おかげでeliasah。しかし、私が同意するかどうかわからない、正規化には、標準化変換を可能にする手段と標準偏差の配列が含まれているべきである。だから基本的に私はこれらの方法を探していて、新しいデータセットに適用します。 ml(およびmlibではない)パッケージには保存機能があります。 –

答えて

2

あなたがscalerModelを作成したと仮定すると:それはモデルではないだからだ

import org.apache.spark.ml.feature.StandardScalerModel 

scalerModel.write.save("path/folder/") 

val scalerModel = StandardScalerModel.load("path/folder/") 
0

標準スケーラモデルクラスは、保存メソッドを持っています。 API Docs

例えば:StandardScalerフィットメソッドを呼び出した後、返されたオブジェクトは、StandardScalerModelです

import org.apache.spark.ml.feature.StandardScaler 
import org.apache.spark.ml.PipelineModel 

val dataFrame = spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt") 

val scaler = new StandardScaler() 
    .setInputCol("features") 
    .setOutputCol("scaledFeatures") 
    .setWithStd(true) 
    .setWithMean(false) 

// Compute summary statistics by fitting the StandardScaler. 
val scalerModel = scaler.fit(dataFrame) 
scalerModel.write.overwrite().save("/path/to/the/file") 

val sameModel = PipelineModel.load("/path/to/the/file") 
関連する問題