Keras:如果我用规范化数据训练模型,那么model.product()是否需要规范化数据



在使用Keras完成模型训练后,我正尝试使用Keras的model.predict(),以便在新的输入上测试模型。

当我训练模型时,我用Scikit Learn的MinMaxScaler()规范化了我的训练数据。

使用model.predict()时,是否也需要规范化数据?如果是,我该怎么做?

是。你需要。因为你的模型是从特定规模的数据中学习的,所以最好将你的数据转换为与模型工作时相同的规模,然后让它进行预测。

例如,您可以使用Scikitslearn库来规范化和标准化数据:

x_scaler = StandardScaler()
x_train = x_scaler.fit_transform(x_train)
x_test = x_scaler.transform(x_test)
y_scaler = StandardScaler()
y_train = y_scaler.fit_transform(y_train)
y_test = y_scaler.transform(y_test)

然后,对于预测,您应该对训练数据集使用相同的归一化参数,然后反向缩放以返回到具有如下预测值的上一个缩放:

preds = y_scaler.inverse_transform(
model.predict(x_scaler.transform(pred_input))
)

最新更新