【发布时间】:2017-09-23 02:13:44
【问题描述】:
我正在尝试使用 python/keras 构建 RNN。我了解它是如何使用一个功能完成的(以 t+1 为输出),但是如何处理多个功能呢?
如果我有一个回归问题和一个具有几个不同特征的数据集,一个预期输出,并且我希望将时间步长/窗口设置为 30(如果每个步骤代表一天,那么一个月) - 会怎样数据的形状是什么?在这个例子中,我希望能够预测未来 n 个时间段的输出。
有关此数据的示例,请参见下文:
我很难直观地理解 RNN 数据所需的最佳形状/格式。
此外,RNN 处理具有 500 个特征和几千条记录的数据集的能力如何?
希望有人可以帮助回答或指出正确的方向来获得一个 - 到目前为止,我已经在 Reddit 和 Cross Validated 上发帖,但没有运气:(
如果首选代码数据示例:
# random df
df = pd.DataFrame({'date': np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
'feature_1': np.random.randint(10, size=10),
'feature_2': np.random.randint(10, size=10),
'feature_3': np.random.randint(10, size=10),
'feature_4': np.random.randint(10, size=10),
'output': np.random.randint(10, size=10)}
)
# set date as index
df.index = df.date
df = df.drop('date', 1)
【问题讨论】:
-
你想用哪种语言编写你的 RNN ?在 keras 中,你的数据的形状应该是
sample_size,timestep,nb_features。您可以查看网站以了解在 keras 中使用 LSTM 进行回归:machinelearningmastery.com/… -
@Benoubenou45 感谢回复!这帮助我理解了它(这是我正在研究的教程),但这只是一个功能..即使他使用多个功能,它仍然只是一项功能 - 我是否必须像他那样错开所有功能?我想这就是我想要理解的
-
好的,我明天会尝试在更详细的答案中解释一下
标签: python machine-learning neural-network keras recurrent-neural-network