Welcome to the Music Recommendation Ensemble Model by Nick Kramer, Hannah Deyst, Varun Vijay, and Tre O'Connell! Our basic approach was to create an assortment of distinct recommendation algorithms, and combine them into a single system. The system takes in one song provided by the user, and each model gives the best recommendation based on its individual evaluation metrics. This way, users are given a diverse set of songs to choose from, and hopefully can enjoy a range of distinct, but fitting, recommendations. We hope you enjoy your personalized mixtape!
We sourced our data from two different Kaggle datasets: the Spotify 1.2M+ Song , and the Million Song Dataset + Spotify + Last.Fm. Considering the size of each dataset, we were unable to upload them to github, so they were each downloaded locally. In addition, in order to use the Spotify API, we each had to make our own Spotify Developer apps which supplied us with API credentials. Once we acquired the credentials we needed, we put them into a JSON file: credentials.json. In order to run the recommendation system, the credentials file needs to be in the primary directory of the project, and both datasets need to be in the data folder. The last preliminary step before successfully running the model is to run Pre-processing.py, which will enable the collaborative filtering algorithm. Once all of these requirements have been fulfilled, the system can be run via main.py. The code for the system is all located in this GitHub repository.