В данной задаче требуется прогнозировать вероятность повторного прослушивания песни пользователями в течение месяца после их первого прослушивания в музыкальном сервисе KKBOX. Для этого используются данные о первом прослушивании каждой уникальной пары пользователь-песня, а цель состоит в определении, будет ли происходить повторное прослушивание или нет. Это может помочь в понимании поведения пользователей и улучшении качества персонализированных рекомендаций. Проект основан на данных из соревнования KKBox Music Recommendation Challenge на Kaggle: https://www.kaggle.com/competitions/kkbox-music-recommendation-challenge
- Анализ данных: Изучение данных, чтобы найти скрытые закономерности и связи.
- Создание новых признаков: Преобразование данных, чтобы получить новые, более информативные характеристики.
- Обучение моделей: Обучение моделей(выбраны бустинги), способных прогнозировать повторное прослушивание пользователя на основе закономерностей в данных.
- Сравнение характеристик: Оценка эффективности разных моделей и выбор наиболее точной.
- Прогнозирование: Использование выбранной модели, чтобы предсказать повторное прослушивание трека пользователем, и на основе этого выстраивание рекомендаций*.
- Рекомендации ранжируются по степени уверенности(вероятность получить положительный класс для каждого пользователя) в том, что пользователь повторно прослушает песню.
NDCG@20 (Normalized Discounted Cumulative Gain) - это метрика, используемая для оценки качества ранжирования. Она учитывает не только порядок элементов в списке, но и их релевантность. NDCG@20 принимает значения от 0 до 1. Чем выше значение NDCG@20, тем лучше качество ранжирования.
Data processing:
- NumPy
- Pandas
Data Visualization:
- Matplotlib
- Seaborn
Machine Learning:
- Scikit-learn
- Catboost
- LGBM (LightGBM)
- XGBoost
Финальная оценка качества NDCG@20 модели равна 0.72. Это говорит о том, что система учитывает индивидуальные предпочтения пользователей, предлагая им релевантные материалы.