当前位置: 首页 > 知识库问答 >
问题:

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

裴星洲
2023-03-14

我有两组不同长度的训练数据。我将这些数据系列称为x_列车数据。它们的形状分别是(70480,7)和(69058,7)。每列表示不同的传感器读数。

我正试图在这些数据上使用LSTM网络。我应该将数据合并到一个对象中吗?我该怎么做?

我还有两组数据,它们是x_列车数据的结果输出。这两个都是尺寸(315,1)。我会用它作为我的y_列车数据吗?

到目前为止,我已经使用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个答案

苗阳文
2023-03-14

就几点

    对于快速文件阅读,考虑使用不同的格式,如拼花或羽毛。小心折旧,因此对于长时间存储,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中有日期时间,并且它们是连续的,请继续。如果您在测量之间有中断,您可能会遇到问题。根据趋势、Saisonality和噪声,您可以插入丢失的数据。有多种方法,比如简单的方法,用平均值填充它,从以前的值进行预测,等等。没有对错,只是真的取决于你的数据是什么样子。

编辑:注释不喜欢代码块。工作原理如下:示例:

#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
 类似资料:
  • 我正在运行一个LSTM来为每个病人分类医疗记录。也就是说,对于每个病人(观察),我有一个CSV文件。整个数据集是多个CSV文件,每个文件都是时间序列的数据帧。这并不明显,因为用图像和时间序列给LSTM喂食有一个小小的区别,那就是序列的大小。CNN假设输入具有相同的大小,但这里我们有不同长度的输入 问题: 在这种情况下如何喂养LSTM? 我相信,如果你熟悉图像分类,你可以帮我回答我的问题,但这不只是

  • 问题内容: 因此,我一直遵循Google的官方tensorflow指南,并尝试使用Keras构建一个简单的神经网络。但是,在训练模型时,它不使用整个数据集(具有60000个条目),而是仅使用1875个条目进行训练。有可能解决吗? 输出: 这是我一直在为此工作的原始Google colab笔记本:https ://colab.research.google.com/drive/1NdtzXHEpiN

  • 例如,使用我训练的模型来预测未来的数据。也可能是随机/自定义范围。假设我想预测2017年的逐日降雨数据。或者得到25-02-2017的预测数据。也可能是数据集结束后的X天的数据。

  • 问题内容: 我想跑 分句。没有训练模型,因此我将单独训练模型,但是我不确定我使用的训练数据格式是否正确。 我的训练数据是每行一句话。我找不到与此有关的任何文档,只有此线程(https://groups.google.com/forum/#!topic/nltk- users/bxIEnmgeCSM )揭示了一些有关训练数据格式的信息。 句子标记器的正确训练数据格式是什么? 问题答案: 嗯,是的,P

  • 我不确定这是否可能,但我在安装Laravel时遇到了这种情况。 我正在运行3个实时数据库(随着时间的推移会更多),我有一个laravel安装,我想做的是使用不同的连接合并所有数据,并运行1个查询,以获得所有关系等所有数据使用雄辩。所有的数据库在表设计、索引、键等方面都是一样的,但我不确定是否可能! 我希望能够编写一个查询,例如:

  • 问题内容: 我想到一个与使用pybrain进行时间序列回归相关的问题。我计划在pybrain中使用LSTM层来训练和预测时间序列。 我在下面的链接中找到了示例代码 例如请求:递归神经网络,用于预测序列中的下一个值 在上面的示例中,网络能够在训练后预测序列。但是问题是,网络通过将数据一次性输入到输入层来获取所有顺序数据。例如,如果训练数据每个都有10个特征,那么这10个特征将同时被同时馈送到10个输