我知道Keras的LSTM需要一个带有形状(nb_samples, timesteps, input_dim)作为输入的3D张量.但是,我不完全确定在我的情况下输入应该是什么样子,因为我只有一个T观察样本用于每个输入,而不是多个样本,即(nb_samples=1, timesteps=T, input_dim=N).将每个输入分成长度样本是否更好T/M?T对我来说是几百万的观察,那么在这种情况下每个样本应该多长时间,即我将如何选择M?
另外,我是正确的,因为这个张量应该看起来像:
[[[a_11, a_12, ..., a_1M], [a_21, a_22, ..., a_2M], ..., [a_N1, a_N2, ..., a_NM]],
[[b_11, b_12, ..., b_1M], [b_21, b_22, ..., b_2M], ..., [b_N1, b_N2, ..., b_NM]],
...,
[[x_11, x_12, ..., a_1M], [x_21, x_22, ..., x_2M], ..., [x_N1, x_N2, ..., x_NM]]]
Run Code Online (Sandbox Code Playgroud)
其中M和N如前所述定义,x对应于我将从上面讨论的分裂中获得的最后一个样本?
最后,给定一个pandas数据帧,T每列中都有观察值,N列,每个输入一个,如何创建这样的输入以馈送给Keras?