如何设置Keras TimeseriesGenerator来预测下一个值?
目前,我使用Keras的如何设置Keras TimeseriesGenerator来预测下一个值?,keras,Keras,目前,我使用Keras的TimeseriesGenerator编写了以下代码: TimeseriesGenerator(train, prediction, length=TIME_STEPS, batch_size=1) 目前,这会将预测值向后移动一个值,因此t的列车数据的输出将为t+1。这是有道理的,但我想预测t+2,因此t的训练数据将有t+2的输出 有没有办法使用TimeseriesGenerator来实现这一点?最快的解决方案是将预测值偏移1,即: TimeseriesGenera
TimeseriesGenerator
编写了以下代码:
TimeseriesGenerator(train, prediction, length=TIME_STEPS, batch_size=1)
目前,这会将预测值向后移动一个值,因此t
的列车数据的输出将为t+1
。这是有道理的,但我想预测t+2,因此t
的训练数据将有t+2
的输出
有没有办法使用TimeseriesGenerator来实现这一点?最快的解决方案是将预测值偏移1,即:
TimeseriesGenerator(train[:-1], prediction[1:], length=TIME_STEPS, batch_size=1)
请注意,您必须修剪列车集,以便两个数据集具有相同的长度
您还可以使用timeseries\u dataset\u from\u array
功能,在该功能中,您可以根据需要对齐数据和目标,如您在以下内容中所读:
数据:包含连续数据点的Numpy数组或渴望张量
(时间步长)。轴0应为时间维度
目标:
与数据中的时间步长相对应的目标。它应该有相同的长度
作为数据。目标[i]应该是对应于窗口的目标
从索引i开始(参见下面的示例2)。如果不通过,则不通过
具有目标数据(在这种情况下,数据集将只生成输入
数据)
因此,在您的情况下,应该是这样的:
tf.keras.preprocessing.timeseries_dataset_from_array(
train[:-TIME_STEPS-2],
prediction[TIME_STEPS+2:],
length=TIME_STEPS,
batch_size=1
)
最快的解决方案是将预测值偏移1,即:
TimeseriesGenerator(train[:-1], prediction[1:], length=TIME_STEPS, batch_size=1)
请注意,您必须修剪列车集,以便两个数据集具有相同的长度
您还可以使用timeseries\u dataset\u from\u array
功能,在该功能中,您可以根据需要对齐数据和目标,如您在以下内容中所读:
数据:包含连续数据点的Numpy数组或渴望张量
(时间步长)。轴0应为时间维度
目标:
与数据中的时间步长相对应的目标。它应该有相同的长度
作为数据。目标[i]应该是对应于窗口的目标
从索引i开始(参见下面的示例2)。如果不通过,则不通过
具有目标数据(在这种情况下,数据集将只生成输入
数据)
因此,在您的情况下,应该是这样的:
tf.keras.preprocessing.timeseries_dataset_from_array(
train[:-TIME_STEPS-2],
prediction[TIME_STEPS+2:],
length=TIME_STEPS,
batch_size=1
)