数据集归一化

时间:2019-06-07 08:35:13

标签: python scikit-learn normalization

我尝试使用MinMaxScaller(来自sklearn.preprocessing)来归一化训练数据。然后创建一个经过训练的文件并另存为“ XXX.h5”。

我试图创建一个预测程序,该程序可以读取“ XXX.h5”并使用经过训练的模型。我需要缩放输入数据,然后反缩放输出数据。

有没有一种方法不再次使用训练数据来缩放输入数据?

  1. 我需要再次阅读训练文件以获取量表:
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)
  1. 然后缩放输入“ x”以进行预测:
preds= model.predict(x_scaler.transform(input_x))          
  1. 反转比例尺以获取输出:
preds=y_scaler.inverse_transform( preds)   

基于上述,即使我不需要训练模型,我也将始终需要训练数据。是真的吗?

1 个答案:

答案 0 :(得分:0)

一种可行的方法是保存定标器的参数。

Sklearns MinMaxScaler具有.getparams和.setparams两种方法,使用它们可以获取参数,保存参数,重新加载参数并使用它们来设置缩放器。

这将需要保存和加载其他文件,但是在样本量较大的情况下更可取。