2017-02-07 2 views
1

Я новичок в рекомендации Apache Mahout. Вариант использования включает предоставление пользователям предложений в зависимости от их истории покупок. Я планирую использовать следующую информацию:Apache mahout recommender - следует ли воссоздать модель данных для каждого пользователя?

  • категории Покупка
  • сумма покупки
  • Время покупки (пример - рекомендовать пару джинсов 6 месяцев после того, как первая пара был куплен)
  • Расположение пользователя

Чтобы определить пользователей с похожими шаблонами покупок/время покупки и дать им больше предпочтений, нужно ли создавать пользовательскую модель данных для каждого пользователя? Я планировал периодически импортировать из базы данных, чтобы воссоздать модель данных. Есть ли способ динамически отдавать предпочтение, как указано ниже:

  1. Местонахождение + категория покупки + время матча
  2. Покупка категория + время матча
  3. Место + время матча (например, зимней одежды)

В настоящее время я использую пример кода. (Много модификаций необходимы)

UserSimilarity similarity = new PearsonCorrelationSimilarity(model); 
     UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); 
     UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); 
     List<RecommendedItem> recommendations = recommender.recommend(74, 10); 

ответ

1

В общем, чтобы добиться того, что вы sugguesting вам нужно сделать шаг на данных, где вы добавить функцию как t_since_last_purchase которая в целое число 0 -> инф. Например. дней с момента последней покупки.

Эта функция, время, будет другой функцией пользователя, которая коррелирована.

Я думаю, что вы смотрите на некоторые из старых реккоменов, основанных на Map-Reduce, которые на самом деле являются первоклассными, но, учитывая ваш прецедент, вы можете проверить coorelated cooccurence based reccomenders, которые имеют значительное преимущество в том, при нескольких действиях пользователя (в вашем случае, месте, предыдущих покупках, времени).

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