2017-09-18 57 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