Skip to content

Алгоритм предсказания повторного прослушивания песен KKBox.

Notifications You must be signed in to change notification settings

rriiaaddaaa/test-case-recsys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

ReListen Predictor: Прогнозирование музыкальных предпочтений

В данной задаче требуется прогнозировать вероятность повторного прослушивания песни пользователями в течение месяца после их первого прослушивания в музыкальном сервисе KKBOX. Для этого используются данные о первом прослушивании каждой уникальной пары пользователь-песня, а цель состоит в определении, будет ли происходить повторное прослушивание или нет. Это может помочь в понимании поведения пользователей и улучшении качества персонализированных рекомендаций. Проект основан на данных из соревнования KKBox Music Recommendation Challenge на Kaggle: https://www.kaggle.com/competitions/kkbox-music-recommendation-challenge

Структура проекта:

  1. Анализ данных: Изучение данных, чтобы найти скрытые закономерности и связи.
  2. Создание новых признаков: Преобразование данных, чтобы получить новые, более информативные характеристики.
  3. Обучение моделей: Обучение моделей(выбраны бустинги), способных прогнозировать повторное прослушивание пользователя на основе закономерностей в данных.
  4. Сравнение характеристик: Оценка эффективности разных моделей и выбор наиболее точной.
  5. Прогнозирование: Использование выбранной модели, чтобы предсказать повторное прослушивание трека пользователем, и на основе этого выстраивание рекомендаций*.
  • Рекомендации ранжируются по степени уверенности(вероятность получить положительный класс для каждого пользователя) в том, что пользователь повторно прослушает песню.

Метрика качества NDCG@20

NDCG@20 (Normalized Discounted Cumulative Gain) - это метрика, используемая для оценки качества ранжирования. Она учитывает не только порядок элементов в списке, но и их релевантность. NDCG@20 принимает значения от 0 до 1. Чем выше значение NDCG@20, тем лучше качество ранжирования.

Используемые библиотеки python:

Data processing:

  • NumPy
  • Pandas

Data Visualization:

  • Matplotlib
  • Seaborn

Machine Learning:

  • Scikit-learn
  • Catboost
  • LGBM (LightGBM)
  • XGBoost

Результат:

Финальная оценка качества NDCG@20 модели равна 0.72. Это говорит о том, что система учитывает индивидуальные предпочтения пользователей, предлагая им релевантные материалы.

About

Алгоритм предсказания повторного прослушивания песен KKBox.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published