【问题标题】:What is the correct input shape of multivariate time series for LSTM in keras?keras 中 LSTM 的多元时间序列的正确输入形状是什么?
【发布时间】:2021-05-01 10:05:59
【问题描述】:

我不明白将多元时间序列输入到 LSTM 的正确方法是什么。

假设我有一个数据集,其中包含 3 个随时间变化的特征,如下所示:

feat1 feat2 feat3
1 2 3
4 5 6
7 8 9

我是否应该将它呈现给我的 LSTM,因为它正在使用 numpy.vstack()?像这样:

[[1,2,3],  
[4,5,6],  
[7,8,9]]

或者我应该按列堆叠它,以便每一行都是使用numpy.column_stack() 的特征序列?像这样:

[[1,4,7],  
[2,5,8],  
[3,6,9]]

【问题讨论】:

    标签: python machine-learning keras lstm


    【解决方案1】:

    来自 keras LSTM API

    输入:形状为 [batch, timesteps, feature] 的 3D 张量。

    因此,特征(多个变量)应该由最后一个维度表示,这意味着您的第一个建议是正确的。

    Obs:如果您没有对整个数据集使用 fit 函数,则应该只关注 batch 维度。否则,如果您要呈现单个示例(例如,在推理中),您还应该在第 0 轴上应用 numpy.expand_dims 函数。

    【讨论】:

    • 感谢您的澄清!
    猜你喜欢
    • 2020-11-27
    • 2019-04-22
    • 1970-01-01
    • 2019-01-29
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多