如何为 LSTM 时间序列预测准备数据

数据挖掘 Python 学习
2022-02-16 03:45:12

我有一个时间序列数据的二进制分类任务。我的 CSV 中的每 14 行与一个时间段相关。我应该如何准备这些数据以在 LSTM 中使用?换句话说,如何为模型提供这些数据?

3个回答

我希望数据集也包含元数据,这意味着您还需要对这些元组进行一对一的映射,例如。狗>好,猫>坏,小猫>坏,小狗>好,等等。

将数据分成 X:training_data, Y:label。然后使用矢量化器并使用 X、Y 进行训练。如果您能够执行上述步骤,则使用 test_train set 、 cross_folds 等方法。

友情建议:在 LSTM 之前尝试 seq2seq 层(它们需要更多资源)。

尽管我不确定“我的 CSV 中的每 14 行与一个时间段相关”这一说法。,因为我没有清除它。

但是,如果我同意您的评论“我应该如何将这些数据加载到 LSTM?所以列数是 12”,我相信您在问如何为时间序列模型加载多个特征(在您的情况下为 12)。

如果我的理解是正确的,那就是“多个并行时间序列”类型的问题。我在 Tensorflow 中创建了一个类似的模型并推送到 github。多个并行时间序列的 Github 源代码

注意:这里我使用了 3 个功能,而不是 12 个功能。

这是此的伪代码:

Import pandas as pd
Import numpy as np

Data = pd.read_csv(filename)
Lag = 14
#assuming target column is last one
X=[ ]
Y = [ ]
for x in range(lag, len(data)):
     X.append(data.iloc[x-lag:x,:])
     Y.append(data.iloc[x,-1])
X= np.array(X)
Y = np.aaray(Y)