我有两个ndarrays,输入和结果,二者由多个阵列看起来像这样:整形Keras输入为LSTM
inputs = [
[[1,2],[2,2],[3,2]],
[[2,1],[1,2],[2,3]],
[[2,2],[1,1],[3,3]],
...
]
results = [
[3,4,5],
[3,3,5],
[4,2,6],
...
]
我设法起来分成训练集和测试阵列,其中列车含有66%的阵列和测试其他33%。现在我想重塑它们以便在我的LSTM中进一步使用,但是在将它们输入到np.reshape()函数中时脚本失败。
split = int(round(0.66 * results.shape[0]))
train_results = results[:split, :]
train_inputs = inputs[:split, :]
test_results = results[split:, :]
test_inputs = inputs[split:, :]
X_train = np.reshape(train_inputs, (train_inputs.shape[0], train_inputs.shape[1], 1))
X_test = np.reshape(test_inputs, (test_inputs.shape[0], test_inputs.shape[1], 1))
请告诉我如何在这种情况下正确使用np.reshape()。
基本上我松散下面这个教程:https://github.com/Vict0rSch/deep_learning/tree/master/keras/recurrent
这取决于你的输入数据,你能形容此行的投入? '[[1,2],[2,2],[3,2]]' –
感谢您的回答。这些数组是时间步骤,每个都有两个特征。但是,这些时间步只是许多序列中的一部分。 因此,例如在第1小时1你有1个苹果和2个桔子。第1天2小时,你有2个苹果和2个橙子...第2天1小时你有2个苹果和2个橙子等等.. – sbz
看起来你不需要重塑 –