如何在预测后取消缩放数据



我有一个数据集,有两个功能(价格和数量(&1预测变量(价格(,并使用LTSM模型基于前一组价格预测下一个价格。

首先,我缩放数据集:

#Scale the data
scaler = MinMaxScaler(feature_range=(0,1))
scaled_data = scaler.fit_transform(dataset)

最后我想取消缩放:

#Get the models predicted price values
predictions = model.predict(x_test)
predictions = scaler.inverse_transform(predictions)

但这不起作用,我得到了这个错误:

ValueError: non-broadcastable output operand with shape (400,1) doesn't match the broadcast shape (400,2)

这个错误的意思是:你已经缩放了两个功能,即形状(400,2(的价格和体积,然而,在取消缩放时,你只给出形状(400,1(中的预测价格

一个简单的解决方案是使用两个单独的缩放器——一个将取消缩放响应变量,即价格(以及相关的输入特征,再次是价格(,另一个用于其余特征。

我决定在预测数据集中添加零列,取消缩放,然后删除未使用的colunm。愚蠢但对我有用(

你试过这个吗:

predictions = scaler.inverse_transform(predictions.reshape(-1,1)).reshape(-1)

最新更新