我收到了以下格式的数据和详细信息:
person1, day1, feature1, feature2, ..., featureN, label
person1, day2, feature1, feature2, ..., featureN, label
...
person1, dayN, feature1, feature2, ..., featureN, label
person2, day1, feature1, feature2, ..., featureN, label
person2, day2, feature1, feature2, ..., featureN, label
...
person2, dayN, feature1, feature2, ..., featureN, label
...
- 每个特征始终存在,但是每个特征可能是表示为0的无效值
- 每个人可用的天数不同,例如person1有20天的数据,person2有50天的数据
目标是预测下一天的人员标签,因此是dayN + 1的标签,可以根据每个人或整体进行预测(我认为按人员进行预测更有意义)。我可以自由地重新格式化数据(它不是很大)。基于上述内容并经过一些阅读,我认为使用动态RNN(LSTM)可能效果最佳:
- 递归神经网络:因为下一天依赖于前一天
- LSTM:因为模型会随着每一天而建立起来
- 动态:因为不是每天都有所有特征
如果对于我拥有的数据来说这种方法不合适,请在此处停止。问题是:
如何为tensorflow / tflearn提供/格式化这些数据?
我查看了此示例使用tflearn,但我不了解其输入格式,以便我可以将其“镜像”到我的格式。同样,我在此帖子中发现了一个非常相似的问题,但似乎发布者的样本与我的样本不相关。我对tensorflow的经验仅限于其入门页面。
shape=(None, None, N)
,以便能够传递任意长度的批次。如果你指的是序列长度,那么我的回答已经涵盖了这一点。 - Dzjkbsequence_length
参数传递给dynamic_rnn
,则填充什么内容并不重要,因为 TensorFlow 知道它只是用于填充(因此不会影响结果)。使用 0 向量进行填充应该是可以的。更详细的解释请参见这里。 - Dzjkb