我有这个数据序列,其中每个数字代表给定时间步长的位置。
`sequence = [[ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][ 2][13][13][ 3][ 3]]`
我想将其分为LSTM神经网络的小部分。我想要的片段是15个时间步长输入,并预测5个时间步长输出,但是正如https://machinelearningmastery.com/develop-encoder-decoder-model-sequence-sequence-prediction-keras/中所提到的,我需要一个像这样的结构,其中Output
比Input2
要向前一个时间步: / p>
Input1: ['1', '2', '3']
Input2: ['_', '4', '5']
Output: ['4', '5', '6']
为此,我正在这样做:
i=0
n_steps_in = 15
n_steps_out = 5
end_ix = i+n_steps_in
seq_x = sequence[i:end_ix]
seq_y = sequence[end_ix:end_ix+n_steps_out]
seq_y_1 = sequence [end_ix-1:end_ix+n_steps_out-1]
seq_y[0] = 0
但是当我打印结果时,我也在0
和原始seq_y_q
中获得了sequence
(为了避免过多的文字,我不会写它):
seq_y = [[0][2][2][2][2]]
seq_y_1 = [[2][0][2][2][2]]
我想拥有seq_y_1=[[2][2][2][2][2]]
如何更改一个列表seq_y
中的一个值而又不影响另一个列表seq_y_1
和原始列表sequence
?这似乎是一个愚蠢的问题,但我没有发现我在做错什么。也许是混叠的问题...
预先感谢