为了账号安全,请及时绑定邮箱和手机立即绑定

当我有多个不同长度的时间序列数据时,如何使用 Keras 为 LSTM 网络格式化我的训练数据?

当我有多个不同长度的时间序列数据时,如何使用 Keras 为 LSTM 网络格式化我的训练数据?

慕哥6287543 2023-05-16 09:55:02
我有两组不同长度的训练数据。我将这些数据系列称为 x_train 数据。它们的形状分别是 (70480, 7) 和 (69058, 7)。每列代表一个不同的传感器读数。我正在尝试在此数据上使用 LSTM 网络。我应该将数据合并到一个对象中吗?我该怎么做?我还有两组数据,它们是 x_train 数据的结果输出。它们的大小都是 (315,1)。我会用它作为我的 y_train 数据吗?pandas.read_csv()到目前为止,我已经使用如下方式读取了数据:c4_x_train = pd.read_csv('path')c4_y_train = pd.read_csv('path')c6_x_train = pd.read_csv('path')c6_y_train = pd.read_csv('path')任何澄清表示赞赏。谢谢!
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

只是几点

  • 为了快速读取文件,请考虑使用不同的格式,如 parquet 或 feather。注意折旧,因此对于长期存储,csv 就可以了。

  • pd.concat是你的朋友。像这样使用

from pathlib import Path

import pandas as pd

dir_path = r"yourFolderPath"

files_list = [str(p) for p in dir_path.glob("**/*.csv")]

if files_list:

    source_dfs = [pd.read_csv(file_) for file_ in files_list]

    df = pd.concat(source_dfs, ignore_index=True)

这个 df 然后你可以用来做你的训练。


现在,关于培训。好吧,这真的取决于一如既往。如果您在这些 csvs 中有日期时间并且它们是连续的,请继续。如果测量之间有中断,则可能会遇到问题。根据趋势、季节性和噪音,您可以插入缺失数据。有多种方法,例如朴素方法、用平均值填充它、根据之前的值进行预测等等。没有对错之分,这真的取决于你的数据是什么样子的。


编辑:评论不喜欢代码块。像这样工作: 示例:


#df1:

time    value

    1     1.4

    2     2.5


#df2:

time    value

    3     1.1

    4     1.0


#will be glued together to become df = pd.concat([df1, df2], ignore_index=True)

time    value

   1      1.4

   2      2.5

   3      1.1

   4      1.0


查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信