我在Python中使用Tensorflow。我成功地进行了预测,现在我在预测的反转方面遇到了问题。也就是说,我使用了Sklearn中的MinMaxScaler,并使用以下代码行规范化数据:
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range = (0,1))
dataset = scaler.fit_transform(df)
模型拟合成功后,我想在数据中进行反演
# make predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
# Shape of data
trainPredict.shape
(390, 7, 1)
testPredict.shape
(56, 7, 1)
# invert predictions
trainPredict = scaler.inverse_transform(testPredict)
trainY= scaler.inverse_transform([trainY])
testPredict_ = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
执行最后一段代码后,我收到以下消息:
ValueError: Found array with dim 3. Estimator expected <= 2.
有谁能帮我解决这个问题,修复最后一段代码吗
MinMaxScaler
处理二维数据,其中行对应于样本,列是特征。它们根据每个特征的统计信息进行缩放:最小值、最大值。在预测3d阵列时,模型输出的形状[-1]=1,因此您可以使用np.squeeze
来解决该问题此外,我不认为有任何理由对模型的输出进行逆变换。如果需要将训练数据恢复到其原始未缩放形式,则对其进行逆变换可能很有用。那就是:
相关问题 更多 >
编程相关推荐