Import sklearn minmaxscaler已移植到其他笔记本

Import sklearn minmaxscaler已移植到其他笔记本,import,scikit-learn,scaling,preprocessor,Import,Scikit Learn,Scaling,Preprocessor,我如何下载min_max_scaler属性,以便对不同笔记本中的数据应用相同的转换 为了充分披露,我在一个笔记本中训练了一个NN,并在不同的位置运行它。对我来说,在第二个位置加载神经网络的训练权重很简单,但我需要在将数据输入模型之前缩放数据。为了准确起见,我相信它必须使用原始的比例属性 根据,您可以使用 X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0)) X_scaled = X_std * (max - min) + mi

我如何下载min_max_scaler属性,以便对不同笔记本中的数据应用相同的转换

为了充分披露,我在一个笔记本中训练了一个NN,并在不同的位置运行它。对我来说,在第二个位置加载神经网络的训练权重很简单,但我需要在将数据输入模型之前缩放数据。为了准确起见,我相信它必须使用原始的比例属性

根据,您可以使用

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

如果您想使用已经训练过的Max标尺代替原来的数据集进行同样的计算,请考虑下面的示例(再次假设特征范围位于默认值(0,1))


再多看一点文档,我会用min_max_scaler.min_减去新数据,然后再除以min_max_scaler.scale吗?你不能用
pickle
保存对象吗?如果没有代码,这个问题太广泛了。
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