sklearn minmaxscaler移植到不同的笔记本
问题描述:
我将如何去下载min_max_scaler属性,以便我可以将相同的转换应用于不同笔记本中的数据?sklearn minmaxscaler移植到不同的笔记本
为了充分披露我已经在一个笔记本中培训了NN,并且在不同的位置运行它。我很容易在第二个位置加载NN的训练权重,但是我需要在将数据输入模型之前对其进行缩放。为了准确,我相信它必须使用原始的比例属性。
答
每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
阅读该文档多一点,(再次假设功能范围是在默认的(0,1)左),我只是想通过减去的min_max_scaler.min_新数据然后将它除以min_max_scaler.scale_? – a1letterword
难道你不能只用'pickle'来保存对象吗?没有代码,这个问题太广泛了。 –