微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何训练具有不同长度的多变量输入的LSTM?

如何解决如何训练具有不同长度的多变量输入的LSTM?

我正试图根据检测到跌倒的传感器数据来训练Keras LSTM模型。

一个数据帧中都有多个试验,每个试验框架包含不同长度的时间序列,并带有感官数据(X轴,Y轴和Z轴),因此每个试验的输出如下:

[[1,4,7],[1,5,3],[5,2,[7,5],[9,2].......]

但是我找不到一种处理输入长度变化的方法输出必须为一维。只是跌倒还是跌倒。该怎么做?

解决方法

doc所述,Keras LSTM接受输入[批,时间步,特征]。据我了解,您有3个要素(列)和行作为数据流(时间序列,顺序)。因此,输入尺寸取决于您的配置。 例如:

features = 3
timesteps = 20
batch = 1

此配置意味着LSTM输入具有20个时间步的3个特征,它每20行包含3个特征。因此,如果您具有2D数据框,则必须将其重塑为3D。

假设您有一个熊猫数据框,其中包含100个时间步长和3个特征(100,3): 您可以将其重塑为3D形状,例如:

data = np.array(data).reshape(-1,20,3)

因此,新数据形状为(5,3)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。