Многозначный прогноз с использованием LSTM в Keras, изменение формы данных - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть несколько pandas dataframes , содержащих несколько пользователей, для каждого пользователя последовательность последовательных временных отметок нескольких функций.Это выглядит примерно так:

      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 временными метками и знаю, каксоздайте цель для строки, используя функции groupby и shift в pandas .

Для реализации Keras LSTM требуются данные в формате 3Dтензор и дает следующую помощь в документации: [nSamples, nTimesteps, nFeatures]

Я не понимаю, как мне этого добиться, учитывая мой набор данных и цель.Я пытался найти решения или учебные пособия, но пока не смог найти ни одного.Любая помощь будет принята с благодарностью!

Если это имеет значение, я использую Python 3.6.6, Keras 2.2.4, Tensorflow 1.11.0 и numpy 1.15.2

РЕДАКТИРОВАТЬ: Благодаря предложению @ely мне удалось это выяснить.Я должен создать образец для каждых 7 временных отметок, как он объясняет в своем комментарии.Однако наиболее питонного способа достижения этого я до сих пор не выяснил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...