使用 Keras RNN 模型预处理数据集
与使用 lower = level TensorFlow 类和方法构建相比,在 Keras 中构建 RNN 网络要简单得多。对于 Keras,我们预先处理数据,如前面部分所述,以获得受监督的机器学习时间序列数据集:X_train, Y_train, X_test, Y_test
。
从这里开始,预处理有所不同。对于 Keras,输入必须是(samples, time steps, features)
形状。当我们将数据转换为监督机器学习格式时,在重塑数据时,我们可以将时间步长设置为 1,从而将所有输入时间步长作为特征,或者我们可以设置时间步长为实际的时间步数,从而为每个时间步长提供特征集。换句话说,我们之前获得的X_train
和X_test
数据集可以重新整形为以下方法之一:
方法 1:n
时间步长与1
特征:
X_train.reshape(X_train.shape[0], X_train.shape[1],1)
方法 2:1
时间步长n
特征:
X_train.reshape(X_train.shape[0], 1, X_train.shape[1])
在本章中,我们将对特征大小为 1 的数据集进行整形,因为我们只使用一个变量作为输入:
# reshape input to be [samples, time steps, features]
X_train = X_train.reshape(X_train.shape[0], X_train.shape[1],1)
X_test = X_test.reshape(X_test.shape[0], X_train.shape[1], 1)