sklearn MinMaxScaler inverse_transform "Found array with dim 3. Estimator expected <= 2" 在移除 Keras LSTM 块上。

问题描述 投票:1回答:1

对不起,标题有歧义,如有改进建议,我将欣然接受。

我想理解我的讲师写的一个LSTM网络。他为了帮助我们理解,给我们设置了几个问题,其中一个问题是把LSTM的一个块去掉,看看对训练结果有什么影响。

问题是当我把第二个块注释掉后,在编译模型后,其中有一行对输出数据做了一个inverse_transform尺度不再起作用,给出了 "Found array with dim 3. Estimator expected <=2"。

谁能帮我理解一下原因吗?"代码在这个链接里。https:/colab.research.google.comdrive1FWku0TIk_9CRukUj7-v29qUYO29jxVEh?usp=分享。

很抱歉注释等不是英文的,但模型的构建是在描述模型的文字("Architettura del modello di RNN:")之后的区块中完成的,断裂的一行是模型执行后区块中的最后一行。

我希望这些都是清楚的,如果有更多的信息,请不要犹豫,请问!

python keras scikit-learn lstm
1个回答
1
投票

这是因为你将3D序列传递给minmaxscaler.它接受2D序列.你要做的是在2D中转换你的预测,然后返回到3D.这可以在一行中完成。

predicted_values = scaler.inverse_transform(predicted_values.reshape(-1,1)).reshape(predicted_values.shape)
© www.soinside.com 2019 - 2024. All rights reserved.