Welcome to the KKBox Music Recommendation Challenge! This project aims to develop a model that predicts whether a user will listen to a song again after their first listen. Dive into the world of music data and machine learning with us!
- 📖 Descripción
- 📋 Índice
- 👤 Instrucciones para el usuario
- ⚙️ Instalación
- 📊 Análisis de los datos
- 🔧 Ingeniería de variables
- 🤖 Entrenamiento del modelo
- 🏆 Resultados y conclusión
- 📎 Anexo
- 🚀 Uso
- 🤝 Contribuciones
- 📜 Licencia
La meta de este trabajo es estudiar un dataset para elaborar un modelo que prediga si un usuario dará más escuchas a una canción que ha sido escuchada una vez por parte del mismo.
Nuestro dataset consiste en varias tablas con información relativa a canciones, usuarios y escuchas realizadas por estos usuarios en la aplicación KKBox, plataforma musical líder en la mayoría de países asiáticos. El objetivo del trabajo será idear un sistema de recomendación de canciones.
KKBOX proporciona un conjunto de datos de entrenamiento que consiste en información del primer evento de escucha observable para cada par único de usuario y canción dentro de un tiempo específico. El objetivo será predecir las posibilidades de que un usuario escuche una canción repetidamente después de que se active el primer evento de escucha. Si hay eventos de escucha activados dentro de un mes después del primer evento de escucha observable del usuario, su objetivo se marca 1 y 0 de lo contrario en el conjunto de entrenamiento. La misma regla se aplica al conjunto de test.
La idea de este trabajo tiene su origen en un reto por parte de la conferencia International Conference on Web Search and Data Mining (WSDM), que proporciona este dataset donado por la propia aplicación KKBox, a los usuarios de Kaggle ML para elaborar un mejor modelo de recomendación musical que el suyo en 2018.
Pedro Chans Fanego.
Para poder descargar los datos desde Kaggle, necesitas una API key de Kaggle.
- Ve a tu cuenta de Kaggle (https://www.kaggle.com/account)
- En la sección API, haz clic en "Create New API Token". Esto descargará el archivo
kaggle.json
. - Coloca el archivo
kaggle.json
en la carpeta~/.kaggle/
(en sistemas UNIX como Linux/Mac) o enC:\Users\TU_USUARIO\.kaggle\
(en Windows). - Asegúrate de que la carpeta tenga los permisos adecuados (
chmod 600
en UNIX).
Alternativa manual: navega a la URL https://www.kaggle.com/competitions/kkbox-music-recommendation-challenge/data, descarga y descomprime los archivos en una carpeta /kaggle_data
en la misma ubicación que el notebook.
Para instalar las dependencias necesarias, ejecuta el siguiente comando:
pip install -r requirements/requirements.txt
Comenzaremos el trabajo con un breve análisis. Leeremos los datos, mostraremos el tabular, describiremos las columnas e imprimiremos una fila de cada tabla para tener una idea inicial.
En esta sección, realizaremos la ingeniería de variables necesaria para preparar los datos para el modelo de aprendizaje automático.
Entrenaremos varios modelos de aprendizaje automático y seleccionaremos el mejor basado en métricas de rendimiento.
Presentaremos los resultados obtenidos y las conclusiones derivadas del análisis y modelado de los datos.
Incluiremos estudios preliminares realizados durante el análisis de los datos.
Mencionaremos elementos que no fueron incluidos en el análisis final.
Proporcionaremos el código utilizado para el análisis y modelado de los datos.
Para ejecutar el proyecto, sigue las instrucciones detalladas en las secciones anteriores y utiliza los scripts proporcionados en el repositorio.
Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request para contribuir a este proyecto.
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.