2017-09-18 12 views
-1

別のノートブック内のデータに同じ変換を適用できるようにmin_max_scaler属性をダウンロードするにはどうすればよいですか?sklearn minmaxscalerを別のノートブックに移植

私は1つのノートブック内でNNを訓練し、別の場所でそれを実行しています。 NNの訓練された重みを2番目の場所にロードするのは簡単ですが、データをモデルに入力する前にデータの縮尺を調整する必要があります。私はそれが元のスケール属性を使用しなければならないと確信しています。 documentationパー

+0

もう少しドキュメントを読んで、私はちょうどmin_max_scaler.min_することにより、新しいデータを引くだろうそれをmin_max_scaler.scale_で割ります。 – a1letterword

+0

'pickle'を使ってオブジェクトを保存できませんか?コードがなければ、この質問は広すぎます。 –

答えて

0

、あなたはXがあなたの元のデータセットです

X_std = (X - X.min(axis=0))/(X.max(axis=0) - X.min(axis=0)) 
X_scaled = X_std * (max - min) + min 

を使用しない最大何分スケーラー再作成することができます。 (機能範囲がデフォルト(0,1)であれば、上記の2行目は必要ありません。X_scaled = X_stdとなります)

すでに訓練を受けたMaxMinScaler代わりにあなたの元のデータセットを、次の例を考える(再び機能の範囲をと仮定すると、デフォルト(0,1)に残っている)

from sklearn.preprocessing import MinMaxScaler 
import pandas as pd 
import numpy as np 

# Test data set 
X = pd.DataFrame(np.random.randint(0, 100, size=(20,4))) 

# Test scaler 
scaler = MinMaxScaler() 
sklearn_result = scaler.fit_transform(X) 

# Compute, and verify results match up to machine precision 
manual_result = (X - scaler.data_min_)/(scaler.data_max_ - scaler.data_min_) 
(sklearn_result - test).max().max() . # Is around 10e-16 
関連する問題