我正在使用kerasTimeseriesGenerator
函数来创建一个样本和目标,但希望向输出添加一个时间延迟(即,将目标移动一些时间步)。我在文档中看到没有对添加延迟的本地支持。如何手动添加?以下是我目前的代码:
import numpy as np
from keras.preprocessing.sequence import TimeseriesGenerator
X = np.arange(100000).reshape(10000, 10)
y = np.arange(50000).reshape(10000, 5)
timesteps = 50
step = 1
delay = 20
batch_size = 20
gener = TimeseriesGenerator(X, y, timesteps, sampling_rate=1,
stride=step, start_index=0, end_index=None, shuffle=False, reverse=False, batch_size=batch_size)
y的第一批输出是[[250. 251. 252. 253. 254.], [...]
,但是我希望输出被移动20个时间步的延迟。所以第一批的y应该从
[[350. 351. 352. 353. 354. 355], [...]
您可以覆盖TimeseriesGenerator类来实现此功能,例如使用numpy.滚动你知道吗
delay参数指定跳过多少步。你知道吗
在b上使用标准TimeseriesGenerator将产生
使用新类例如
将产生以下结果:
相关问题 更多 >
编程相关推荐