Music Recommender System


Rapid development of mobile devices and internet has made possible for us to access different music resources freely. The number of songs available exceeds the listening capacity of single individual. People sometimes feel difficult to choose from millions of songs. Moreover, music service providers need an efficient way to manage songs and help their costumers to discover music by giving quality recommendation. Thus, there is a strong need of a good recommendation system.

In this project, we have designed, implemented and analyzed a song recommendation system. We used Million Song Dataset provided by Kaggle to find correlations between users and songs and to learn from the previous listening history of users to provide recommendations for songs which users would prefer to listen most in future. Due to memory and processing power limitations, we could only experiment with a fraction of whole available dataset. We have implemented various algorithms such as popularity based model, memory based collaborative filtering, SVD (Singular Value decomposition) based on latent factors and content based model using k-NN. Memory based collaborative filtering algorithm gave maximum mean average precision. We believe that content-based model would have worked better if we would have enough memory and computational power to use the whole available metadata and dataset. For further specific details, click on the links below:

Project Proposal

Presentation Slides

Poster

Project Report

Code