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

我有两组不同长度的训练数据。我将这些数据系列称为 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')

任何澄清表示赞赏。谢谢!


慕哥6287543
浏览 163回答 1
1回答

慕雪6442864

只是几点为了快速读取文件,请考虑使用不同的格式,如 parquet 或 feather。注意折旧,因此对于长期存储,csv 就可以了。pd.concat是你的朋友。像这样使用from pathlib import Pathimport pandas as pddir_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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python