我尝试使用MinMaxScaller
(来自sklearn.preprocessing
)来归一化训练数据。然后创建一个经过训练的文件并另存为“ XXX.h5”。
我试图创建一个预测程序,该程序可以读取“ XXX.h5”并使用经过训练的模型。我需要缩放输入数据,然后反缩放输出数据。
有没有一种方法不再次使用训练数据来缩放输入数据?
df=pd.read_excel('data.xls')
x=np.array(df['x'])
y=np.array(df['y'])
x_scaler=MinMaxScaler()
y_scaler=MinMaxScaler()
x=x_scaler.fit_transform(x)
y=y_scaler.fit_transform(y)
preds= model.predict(x_scaler.transform(input_x))
preds=y_scaler.inverse_transform( preds)
基于上述,即使我不需要训练模型,我也将始终需要训练数据。是真的吗?
答案 0 :(得分:0)
一种可行的方法是保存定标器的参数。
Sklearns MinMaxScaler具有.getparams和.setparams两种方法,使用它们可以获取参数,保存参数,重新加载参数并使用它们来设置缩放器。
这将需要保存和加载其他文件,但是在样本量较大的情况下更可取。