sklearn MinMaxScaler inverse_transform "Found array with dim 3. Estimator expected <= 2" 关于删除 Keras LSTM 块
sklearn MinMaxScaler inverse_transform "Found array with dim 3. Estimator expected <= 2" on Removing Keras LSTM block
很抱歉标题含糊不清,我们很乐意接受任何改进建议。
我正在尝试理解我的讲师写的 LSTM 网络。他给我们提出了几个问题来帮助我们理解,其中一个问题是移除其中一个 LSTM 块,看看它对训练结果有什么影响。
问题是,当我注释掉第二个块时,在编译模型后,输出数据的 inverse_transform 比例的行不再有效,它给出了错误 "Found array with dim 3. Estimator expected <= 2".
谁能帮我理解为什么?
代码在此link:
https://colab.research.google.com/drive/1FWku0TIk_9CRukUj7-v29qUYO29jxVEh?usp=sharing
很抱歉,评论等不是英文的,但模型构建是在描述模型的文本 ("Architettura del modello di RNN:") 之后的块中完成的,中断的行是最后一行执行模型后块中的行。
我希望这是清楚的,如需更多信息,请随时询问!
这是因为您将 3d 序列传递给 minmaxscaler。它接受二维序列。您要做的是将您的预测转换为 2d,然后 return 转换为 3d。这可以在一行中完成...
predicted_values = scaler.inverse_transform(predicted_values.reshape(-1,1)).reshape(predicted_values.shape)
很抱歉标题含糊不清,我们很乐意接受任何改进建议。
我正在尝试理解我的讲师写的 LSTM 网络。他给我们提出了几个问题来帮助我们理解,其中一个问题是移除其中一个 LSTM 块,看看它对训练结果有什么影响。
问题是,当我注释掉第二个块时,在编译模型后,输出数据的 inverse_transform 比例的行不再有效,它给出了错误 "Found array with dim 3. Estimator expected <= 2".
谁能帮我理解为什么? 代码在此link: https://colab.research.google.com/drive/1FWku0TIk_9CRukUj7-v29qUYO29jxVEh?usp=sharing
很抱歉,评论等不是英文的,但模型构建是在描述模型的文本 ("Architettura del modello di RNN:") 之后的块中完成的,中断的行是最后一行执行模型后块中的行。
我希望这是清楚的,如需更多信息,请随时询问!
这是因为您将 3d 序列传递给 minmaxscaler。它接受二维序列。您要做的是将您的预测转换为 2d,然后 return 转换为 3d。这可以在一行中完成...
predicted_values = scaler.inverse_transform(predicted_values.reshape(-1,1)).reshape(predicted_values.shape)