Учитывая неявные данные о решениях пользователей слушать определенные песни, я хочу порекомендовать другие песни.
Данные имеют вид:
+---------+-----+--------+----------+--------------+---------+
| User ID | Age | Gender | Location | Time | Song ID |
+---------+-----+--------+----------+--------------+---------+
| 123 | 22 | Male | CA_US_MX | 09:34:55 UTC | 8502983 |
| 123 | 22 | Male | CA_US_MX | 09:45:23 UTC | 2883145 |
| 683 | 17 | Male | EU_WEST | 10:08:00 UTC | 3485911 |
| ... | ... | ... | ... | ... | ... |
Я мог бы преобразовать данные в эту форму, где столбец представляет идентификатор песни. Это приведет к удалению пользовательских функций:
+---------+---------+---------+---------+-----+
| User ID | 8502983 | 2883145 | 3485911 | ... |
+---------+---------+---------+---------+-----+
| 123 | X | X | | ... |
| 683 | | | X | ... |
| ... | ... | ... | ... | ... |
Я видел таблицы, аналогичные приведенным выше, во многих руководствах по совместной фильтрации. Тем не менее, я хочу использовать пользовательские функции (возраст, местоположение и т. Д. c.) При обучении моей модели, которого нет в этой форме.
Я понятия не имею, как с этим справиться. Как я могу изменить общие подходы совместной фильтрации, чтобы я мог использовать пользовательские функции? Любая помощь будет оценена.