Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sofiakhutsieva/ml_recommendation_system

Рекомендательная система для онлайн-гипермаркета Instacart (Проект в skillbox)
https://github.com/sofiakhutsieva/ml_recommendation_system

als implicit lightfm recommendation-system

Last synced: 6 days ago
JSON representation

Рекомендательная система для онлайн-гипермаркета Instacart (Проект в skillbox)

Awesome Lists containing this project

README

        

# ML_recommendation_system

## Задача
Предсказать, какие продукты пользователи закажут в следующую покупку (метрика MAP@10).

Независимо от того, покупаете ли вы спонтанно или тщательно планируете покупки, ваше уникальные потребительское поведение определяет, кто вы. Instacart — приложение для заказа и доставки продуктов. Оно помогает упростить наполнение холодильника вашими любимыми продуктами, когда они нужны. После выбора товаров через приложение Instacart наши сотрудники просматривают заказ, делают покупки и доставляют их из магазина до дома.

Наша команда Data Science играет огромную роль в организации этого пользовательского опыта. Сейчас мы используем транзакционные данные для разработки моделей, которые предсказывают, какие продукты пользователь снова купит, попробует в первый раз или добавит в свою корзину в течение сеанса.

Список товаров и продуктов огромен, искать в нём что-то бывает сложно. Поэтому мы хотим помочь пользователю и показывать ему те товары, которые он, скорее всего, захочет купить. Используйте анонимные данные о заказах клиентов, чтобы предсказать, какие продукты они закажут в следующий раз. Ваши предсказания мы будем показывать клиентам на главной странице, чтобы сделать сервис удобнее.

## Результат
**основная логика кода вынесена в функции:**
`download_dataset` - Загрузка и объединение датасетов
`define_top_10_per_user` - Определение для каждого пользователя топ 10 продуктов
`prepare_dataset` - Подготовка датасета
`prepare_coo_matrix_for_collaborative_filtering` - Подготовка разряженной матрицы для коллаборативной фильтрации
`train_collaborative_filtering` - Обучение для коллаборативной фильтрации
`inference_collaborative_filtering` - Инференс для коллаборативной фильтрации
`prepare_features_for_lightFM` - Подготовка признаков для lightFM
`prepare_coo_matrix_for_lightFM` - Подготовка разряженной матрицы для lightFM
`train_lightFM` - Обучение lightFM
`inference_lightFM` - Инференс lightFM

**сравнение моделей:**

![image](https://github.com/SofiaKhutsieva/ML_recommendation_system/assets/73535658/a0f443d4-6391-47f7-bc7a-2e0a1c9cc7f5)

**инференс:**
- По идентификатору пользователя выдается набор из K наиболее релевантных для него товаров.
- По массиву идентификаторов пользователей выдается массив наборов из K наиболее релевантных для них товаров.

![image](https://github.com/SofiaKhutsieva/ML_recommendation_system/assets/73535658/d54126ff-e97c-4675-9669-e320c9d60f7a)