我有时间序列10数据文件。其中,我正在训练一个具有5个数据文件的LSTM模型,使用3个文件进行验证并使用2个文件进行测试。我使用了Keras的fit_generator,并为训练和验证数据帧编写了一个生成器函数。但是不幸的是,在预测期间,它的初始预测比原始目标要高得多。
另一方面,如果我对每个数据框使用model.fit,那么相对而言,我会得到更好的结果。我的问题是:“对于每个数据文件都独立的时间序列数据(例如,每个数据文件都包含从0 hr到24 hrs的评分)在每个迭代中使用适合度的方法是否正确?”
for scaled_dataset in training_list:
reframed_new = series_to_supervised(scaled_dataset, n_in, n_out)
values = reframed_new.values
train = values
# split into input and outputs
train_X, train_y = train[:, :-1], train[:, -1]
# reshape input to be 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], 1, train_X.shape[1]))
model.fit(train_X, train_y, epochs=50, batch_size=475, validation_data=None, verbose=1, shuffle=False)
在我的代码培训列表中,包含所有单独的5个数据框。因此,在每次迭代中,我都适合一个模型。谁能告诉我是否正确的方法 预先感谢
答案 0 :(得分:0)
这是我从您的问题中了解的信息:
您有10个不同的时间序列文件,它们都包含单独的数据,范围从0小时到24小时。我的第一个问题是这些文件的顺序是什么,即文件号没有。 1和文件号。 2等属于同一序列?
batch_size
设置为等于文件
长度。在您不知道数据集结尾或时间序列长度不同的情况下,生成器功能将非常有用。如果否,则必须针对不同的时间序列训练不同的模型。