我想用输入形状(样本数量,时间步长,特征)训练我的LSTM模型,例如[a,b,c]在t时间是一个输入。 然后在t + 1时刻下一个输入[b,c,d]。
我的数据是这样的。
[
[ [1, 2, 3], [2, 3, 4] ], # <- this is first data for training
[ [3, 4, 5], [3, 1, 2], [2, 4, 3] ],
[ [1, 1, 4], [1, 2, 6], [1, 5, 2], [1, 2, 5], [1, 3, 2] ]
[ [1, 2, 3] ]
]
每个数据的长度不同(每个数据的时间步长不同)
我在数据中添加了一些填充。
[
[ [1, 2, 3], [2, 3, 4], [0, 0, 0], [0, 0, 0], [0, 0, 0] ]
[ [3, 4, 5], [3, 1, 2], [2, 4, 3], [0, 0, 0], [0, 0, 0] ],
[ [1, 1, 4], [1, 2, 6], [1, 5, 2], [1, 2, 5], [1, 3, 2] ]
[ [1, 2, 3], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0] ]
]
它训练得很好,但是我想让模型知道没有[0,0,0]的序列长度,因为[0,0,0]不值得使用数据。
sequence.pad_sequences(all_data, padding='post', maxlen = max_sequence_length)
对于此代码,我为数据添加了一些填充。