在Keras中使用LSTM进行多对一预测,重塑数据

时间:2018-12-14 19:33:52

标签: python pandas tensorflow keras lstm

我有多个 pandas数据帧,其中包含多个用户,每个用户具有多个功能的顺序时间戳序列。看起来类似于以下内容:

      user    day    feature_1    ...    feature_n
0     1       0      6            ...    5        
1     1       1      7            ...    4       
2     1       2      6            ...    7       
3     1       3      7            ...    8     
4     1       4      6            ...    4    
5     1       5      4            ...    3    
6     1       6      3            ...    5   
7     1       7      4            ...    6    
8     1       8      3            ...    7    
9     1       9      4            ...    7
10    2       0      3            ...    5
11    2       1      5            ...    4

我想预测Feature_1的值,即每个用户给定七个信息时间戳,提前一个时间戳:如果我是对的话,可以进行多对一预测。

我以前已经对用户进行了群集,并希望每个数据帧创建一个一个LSTM模型。 我已经过滤掉了时间戳少于8个的用户,而且我知道如何使用 pandas groupby shift 函数为每行创建一个目标>。

Keras LSTM实现需要3D张量格式的数据,并在文档中提供以下帮助: [nSamples,nTimesteps,nFeatures]

鉴于我的数据集和目标,我不明白如何实现这一目标。我尝试搜索解决方案或教程,但到目前为止找不到任何内容。任何帮助将不胜感激!

如果有关系,我正在使用Python 3.6.6,Keras 2.2.4,Tensorflow 1.11.0和numpy 1.15.2

编辑:由于@ely的建议,我设法弄清楚了。正如他在评论中所解释的,我应该为每7个时间戳创建一个样本。但是,实现这一目标的最Python方式仍未弄清楚。

0 个答案:

没有答案