I built a music recommendation system that comprises 2 features:
- Popular Music Recommendation: recommend to the user the most popular songs according to the selected year
- Similar Artists Recommendation: recommend to the user artists based on his listening history.
This approach is called collaborative filtering and it takes advantage of an optimization algorithm named ALS (alternating least square) where the number of times an artist was played by an user is considered as an implicit feedback. (details about this approach can be found in this paper)
All the conducted steps (data loading, data processing, data exploration, model training, and model evaluation) are illustrated in the following Databricks notebook
The data set was split into training and testing sets then the resulting model was evaluated on the test set via mean average precision @10. The score that was reported is 0.96
Similar Artists Recommendation feature: Last.fm dataset
Popular Music Recommendation feature: dataset previously available on Kaggle
Both dataset can be downloaded from this folder