Использование нескольких родительских идентификаторов для сокращения времени в глубоком синтезе признаков - PullRequest
1 голос
/ 05 января 2020

Мои данные выглядят так: Люди <- События <- Действия. Родителем является People, единственной переменной которого является person_id. События и действия имеют индекс времени, а также event_id и activity_id, оба из которых имеют несколько функций. </p>

Члены сущности «Люди» посещают места в разное время. Я пытаюсь создать глубокие черты для людей. Если люди что-то вроде [1,2,3], как я могу пропустить отрезанные времена, которые создают глубокие особенности для чего-то вроде (Person, cutofftime): [1, January2], [1, January3]

Если у меня всего 3 человека, кажется, что я не могу передать фрейм данных cutoff_time с 10 строками (например, человек 1 с 10 возможными временами отключения). Попытка этого дает мне ошибку «Дублированные строки в кадре данных времени отсечения», несмотря на удаление дубликатов из моего кадра данных cutoff_times.

Должен ли я включать индекс времени в People Entity? Это оставило бы мою родительскую сущность с несколькими людьми в индексе, хотя у них был бы другой временной индекс. Мой инстинкт состоит в том, что сущность people не должна содержать столбец datetime. Я хотел бы указать время отключения для функции DFS.

Мой cutoff_times df.head выглядит следующим образом и имеет несколько экземпляров некоторых people_id:

+-------------------------------------------+
|         person_id       time        label |
+-------------------------------------------+
| 0      f_GZSVLYU 2019-12-06           0.0 |
| 1      f_ATBJEQS 2019-12-06           1.0 |
| 2      f_GLFYVAY 2019-12-06           0.5 |
| 3      f_DIHPTPA 2019-12-06           0.5 |
| 4      f_GZSVLYU 2019-12-02           1.0 |
+-------------------------------------------+

Родительский объект People is как это:

+-------------------+
|       person_id   |
+-------------------+
| 0      f_GZSVLYU  |
| 1      f_ATBJEQS  |
| 2      f_GLFYVAY  |
| 3      f_DIHPTPA  |
| 4      f_DVOYHRQ  |
+-------------------+

Как я могу заставить Featuretools понимать, что я пытаюсь сделать?

'Дублированные строки в кадре данных времени завершения.' Я исследовал мой cutoff_times df, и там нет повторяющихся строк. Person_id, times и label имеют несколько вхождений в каждом, но никакие 2 строки не совпадают. Могут ли эти дубликаты указывать на ошибку, указанную где-то еще в EntitySet?

1 Ответ

1 голос
/ 05 января 2020

Ответ - одна строка в cutoff_df имела одинаковый идентификатор и время, но с разными метками. Это проблема.

...