从多个 csv 文件训练 LSTM

Posted

技术标签:

【中文标题】从多个 csv 文件训练 LSTM【英文标题】:training an LSTM from multiple csv files 【发布时间】:2022-01-22 00:38:10 【问题描述】:

我有一个由许多 csv 文件组成的数据集。每个文件包含一系列日期和一个数字,每个文件都是一个独立的系列,而不是它之前的文件的其余部分,目标是预测未来每个单独 csv 的下一个日期和与之关联的数字.我想使用 LSTM 来解决这个问题,但我不知道如何将数据提供给它。

这里是数据样本:

year month day amount
2020 09 06 12.50
2020 09 10 12.50
2020 09 19 124.00
2020 10 2 13.06
2020 10 06 12.50

目前我编写了一些代码来将数据分为训练和测试(按文件名和 75% 到 25% 的比例)。代码如下:

INPUT_DATA_DIR = "dir/"
TRAIN_DATA_COEFFICIENT = 0.75

files = []

for (dirpath, dirnames, filenames) in os.walk(INPUT_DATA_DIR):
    files.extend(filenames)
    break

train_files_finish = int(len(files) * TRAIN_DATA_COEFFICIENT)
train_files = files[0:train_files_finish]
validation_files = files[train_files_finish:len(files)]

【问题讨论】:

【参考方案1】:

如果您不知道从哪里开始,请查看https://www.tensorflow.org/tutorials/structured_data/time_series,它涵盖了最基本的内容。

csv 文件的数量无关紧要,您可以随时连接数据以准备建模。

【讨论】:

每个 csv 文件都独立于其他文件。我想我需要进一步澄清我的答案。谢谢你的链接!【参考方案2】:

您不应连接独立时间序列的数据集。最佳解决方案实际上取决于许多因素,包括每个数据集的大小、每个数据集的重要性和/或相关性、基于为每个数据集获取数据的过程等。

如果您至少有一个足够大且具有洞察力的数据集,那么使用它来训练您的模型可能是您的第一步。

【讨论】:

以上是关于从多个 csv 文件训练 LSTM的主要内容,如果未能解决你的问题,请参考以下文章

从多个 csv 文件创建 libsvm 用于 xgboost 外部内存训练

时间序列数据中 LSTM 训练测试拆分中的问题

如何将多个 CSV 数据集以适合 Keras 中的模型?

[语音识别] 文本加标点--准备训练数据 (适用于LSTM与BERT)

Keras LSTM 训练数据格式

LSTM RNN 同时预测多个时间步长和多个特征