我有一个包含多个输入和输出的数据集,我想与Keras LSTM一起使用。我想弄清楚数据是如何重新塑造的。
原始数据如下:
Time, Temp(X1), Pressure(X2), Stress(Y1), Life(Y2)
1, T1, P1, S1, L1
2, T2, P2, S2, L2
3, T3, P3, S3, L3
4, T4, P4, S4, L4
5, T5, P5, S5, L5
6, T6, P6, S6, L6
我们可以使用2个先前的温度,压力,压力和寿命值来估计压力和寿命的当前值。因此,使用2的回顾/时间步,我们可以使用我可以重新安排我的数据到以下: X列车矩阵变形(4,10):
T1, P1, T2, P2, T3, P3, S1, L1, S2, L2
T2, P2, T3, P3, T4, P4, S2, L2, S3, L3
T3, P3, T4, P4, T5, P5, S3, L3, S4, L4
T4, P4, T5, P5, T6, P6, S4, L4, S5, L5
Y列车矩阵变形(4,2):
S3, L3
S4, L4
S5, L5
S6, L6
Keras要求将输入重新整形为[样本,时间步长,特征]
samples=4
timesteps/lookback=2
Original data X features=2
但是不可能将(4,10)的X训练矩阵重塑为(4,2,2)。那么,捕获的位置在哪里?
此外,Y列车矩阵应该被塑造成什么?
答案 0 :(得分:1)
您想要预测n-1和n-2的第n个值。因此,您可以在数据上创建“滑动窗口”以创建样本。
数据@ T1和T2预测T3
数据@ T2和T3预测T4
等等,直到
数据@ T4和T5预测T6
所以你最终会得到4个样本,由前两个步骤中的X1,X2,Y1和Y2定义
您的输入数据将是
X = [[[T1, P1, S1, L1]
[T2, P2, S2, L2]],
[[T2, P2, S2, L2],
T3, P3, S3, L3]],
[[T3, P3, S3, L3]
T4, P4, S4, L4]],
[[T4, P4, S4, L4],
T5, P5, S5, L5]]]
以及您要预测的值
y = [[S3, L3],
[S4, L4],
[S5, L5],
[S6, L6]]