将Keras LSTM的时间步长值更改为变量

这个问题非常简单,我已经在网上广泛搜索了解决方案。我该如何重塑数据框架以使用自定义时间步长来喂养LSTM?

look_back=90train_X = np.reshape(    train_dataset, (train_dataset.shape[0], look_back, train_dataset.shape[1]))test_X = np.reshape(    test_dataset, (test_dataset.shape[0], look_back, `test_dataset.shape[1]))

以上代码会抛出以下错误 ValueError: cannot reshape array of size 446208 into shape (3984,90,112)那么,我如何将回顾期更改为变量而不使其为1,从而使LSTM的记忆功能失效呢?

编辑使用下面提供的解决方案,我将我的代码更改为

## 训练测试分割train_split = 0.8train_size = int(n_sample*train_split)X_train = X[:train_size] # (train_size, n_features)X_test = X[train_size:] # (n_sample-train_size, n_features)print(X_train.shape, X_test.shape) y_train = y[:train_size] # (train_size,)y_test = y[train_size:] # (n_sample-train_size,)print(y_train.shape, y_test.shape) look_back = 90y_train = y_train[look_back:] # (train_size-look_back,)y_test = y_test[look_back:] # ((n_sample-train_size),)print(y_train.shape, y_test.shape)X_train = view_as_windows(X_train, (look_back,n_features))[:-1,0] # (train_size-look_back, look_back, n_features)X_test = view_as_windows(X_test, (look_back,n_features))[:-1,0] # ((n_sample-train_size)-look_back, look_back, n_features)print(X_train.shape, X_test.shape)

现在它运作得非常好!


回答:

这是一个我建议你用来创建滑动窗口的技巧…

import numpy as npfrom skimage.util.shape import view_as_windows## 创建虚拟数据n_sample = 2000n_features = 5X = np.tile(np.arange(n_sample), (n_features,1)).TX_train = X[:int(n_sample*0.8)]X_test = X[int(n_sample*0.8):]## 创建窗口look_back = 90X_train = view_as_windows(X_train, (look_back,n_features), step=1)[:-1,0]X_test = view_as_windows(X_test, (look_back,n_features), step=1)[:-1,0]print(X_train.shape, X_test.shape) # (1510, 90, 5) (310, 90, 5)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注