能帮忙解释一下《Python深度学习》中的温度预测实例吗?

可能因为这个实例用的GRU RNN,所以设计了一个生成器。
里面有lookback和delay这两个参数我有点迷
def generator(data,lookback,delay,min_index,max_index,shuffle=False,batch_size=128,step=6):
    if max_index is None:
        max_index=len(data)-delay-1
    i=min_index+lookback
    while 1:
        if shuffle:
            rows=np.random.randint(min_index+lookback,max_index,size=batch_size)
        else:
            if i+batch_size>=max_index:#表明取到最后一批(数量<batch_size)
                i=min_index+lookback
            rows=np.arange(i,min(i+batch_size,max_index))
            i+=len(rows)
        samples=np.zeros((len(rows),lookback//step,data.shape[-1]))#按小时批量抽取数据点,每个点包含14个特征
        # print(samples)
        targets=np.zeros((len(rows),))
        for j,row in enumerate(rows):
            indices=range(rows[j]-lookback,rows[j],step)#6步(每小时)一个点索引
            samples[j]=data.ix[indices,:]
            t=data.ix[rows[j]+delay,:]
            targets[j]=t[1]#144步(24小时后的温度数组)
        yield samples,targets
 
#准备训练生成器、验***和测试生成器
lookback=1440
step=6
delay=144
batch_size=128
书中说的是回溯5天的数据(lookback),10分钟一个采样点,1440个正好5天,
然后delay说是24小时后的数据。这个意思是说让  5天的输入数据  来得到  24小时之后那个点的输出?这样训练?
我感觉很迷啊。最后这个网络是只可以预测24小时后某一点的输出,还是一段时间的输出呢?
这个网络测试怎么做呢?是实际上只用了一部分数据预测未来的数据,还是每时每刻都需要输入呢?


#深度学习#
全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务