0

Я пытаюсь создать основанную на пользователя совместную фильтрацию в MLlib, чтобы найти похожих пользователей из набора данных last-fm (на основе исполнителей, которых вы слушаете).Как сделать пользовательские рекомендации в Spark MLlib?

Apache Mahout может делать то, что я хочу достичь через GenericBooleanPrefUserBasedRecommender, но не достаточно быстрый, поэтому я хотел попробовать Spark & MLlib, но не смог его реализовать. У кого-нибудь есть работающий java/scala/python реализация этого или идея, как его реализовать? Я знаю, что MLlib имеет рекомендации по элементам через ALS, но это другое.

+0

Если вы знакомы с реализацией ILLib от ALS, вы можете использовать userFeatures для создания матрицы подобия между пользователями и сортировки результата в зависимости от степени подобия. – jtitusj

ответ

1

Apache Mahout имеет искрометную версию «деталя-подобия», которая была интегрирована в ActionML Universal Recommender. Маху был расширен, чтобы основываться на новом алгоритме кросс-корреляции, который позволяет использовать почти любое действие пользователя для поиска похожих пользователей или рекомендаций.

Искра-версия Исправляемых рядов Махута - here. В ответном вводе вы имеете (идентификатор пользователя, «имя-действия», элемент-идентификатор). Накопление всех входных данных дает вам таблицу, в которой строки = пользователи и столбцы = элементы. Таким образом, ряды могут создавать выходные данные, которые перечисляют пользователя как ключевого и наиболее похожих пользователей, как значения. Это не идеально, потому что он использует только одно «действие», чтобы увидеть сходство. Для полной мощности Correlated Cross-Occurrence, которая является полной версией алгоритма Mahout, вы можете захотеть взглянуть на Universal Recommendender.

Смежные вопросы