2017-09-18 25 views
-1

我將如何去下載min_max_scaler屬性,以便我可以將相同的轉換應用於不同筆記本中的數據?sklearn minmaxscaler移植到不同的筆記本

爲了充分披露我已經在一個筆記本中培訓了NN,並且在不同的位置運行它。我很容易在第二個位置加載NN的訓練權重,但是我需要在將數據輸入模型之前對其進行縮放。爲了準確,我相信它必須使用原始的比例屬性。

+0

閱讀該文檔多一點,(再次假設功能範圍是在默認的(0,1)左),我只是想通過減去的min_max_scaler.min_新數據然後將它除以min_max_scaler.scale_? – a1letterword

+0

難道你不能只用'pickle'來保存對象嗎?沒有代碼,這個問題太廣泛了。 –

回答

0

documentation,你可以重新使用沒有什麼最小最大縮放

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

其中X是原始數據集。 (雖然只要你的特徵範圍是默認的(0,1),上面的第二行是不需要的 - 你會拿出X_scaled = X_std

如果你想使用已經訓練過的MaxMinScaler而不是你的原始數據集,請看下面的例子

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