Skip to content

Reccomended system for products with implicit ratings based on ALS, SVDs algorythms, content-based and user-based collaborative filtering

Notifications You must be signed in to change notification settings

ASevastkms/Recommend

Repository files navigation

Рекомендательная система для товаров с неявными рейтингами на основе алгоритмов ALS и коллаборативной фильтрации (user-based и item-based)

Данные

  1. data_learn_thread - товары, открытые для покупки в момент тестирования, проведена фильтрация недоступных товаров.

thread_uid - идентификатор товара

post_date - дата появления товара (временная метка unix)

last_post_date - дата последней активности в карточке товара

bill_date - дата начала продаж

thread_date - служебный столбец

  1. data_learn_user - пользователи, проявившие активность в ≥ 10 товарах в момент обучения, т.е. отфильтрованы случайные пользователи.

user_uid - идентификатор пользователя

  1. data_learn_match - интересы пользователей (data_learn_user) к товарам (data_learn_thread) в момент обучения

user_uid - идентификатор пользователя

thread_uid - идентификатор товара

join_date - дата интереса к товару, если пользователь купил, нулевое значение, если просто отслеживает

match_date = MAX (join_date, thread_date) - производная, от дат выше, которую использовали для пессимизации по времени, момент, на который скорей всего данный товар актуален данному пользователю

  1. data_target_thread - товары, созданные 7-14 дней назад от момента обучения, открытые для покупки в момент тестирования (подмножество data_learn_thread).

thread_uid - идентификатор товара

  1. data_target_user - пользователи, для которых строятся рекоммендации (подмножество data_learn_user), отфильтрованы неактивные

user_uid - идентификатор пользователя

  1. data_test_match - новые интересы пользователей data_target_user к товару data_target_thread в момент тестирования, которых еще не было в момент обучения

user_uid - идентификатор пользователя

thread_uid - идентификатор товара

Файлы:

CF (IB_cos_sim) - CF item-based, основанная на косинусном сходстве

CF (IB_dice) - аналогично, но с метрикой dice

CF (IB_jaccard) - аналогично, но с jaccard

CF (UB) - CF user-based

ALS - Alternating Least Squares алгоритм

Во всех алгоритмах, кроме ALS использовалась также пессимизация по времени, основанная на формуле 180days/(180days + now_date - match_date), чтобы хоть как-то учесть изменение интересов пользователей со временем (вещь спорная). В коллаборативной фильтрации использовались различные фильтрации результатов после расчета матрицы сходства (отсечение по значению, отсечение по квантилю, отсечение по числу схожих).

Любые замечания, предложения, улучшения по коду и подходам - приветствуются!

About

Reccomended system for products with implicit ratings based on ALS, SVDs algorythms, content-based and user-based collaborative filtering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published