top of page

Predicting Common Musical Interests with SpotiPy

This was my final project for my Machine Learning class.  I worked with one other group member, Alice Murphy.  As fellow music lovers, we wanted to build a classifier that could predict common musical interests between individuals in a group. We saw the value in finding common ground between two people through their musical interests and a need for such a service to exist. Music streaming systems like Spotify and Pandora have recommendation algorithms that create personalized playlists for individual users, none of these platforms offer multi-user recommendations.

Since user streaming habits are not accessible through Spotify’s Python API, we manually rated a set of over 700 songs into three categories - hate, love, or indifferent to. Each song has assigned feature attributes, such as  ”dance-ability”, ”energy”, ”loudness”, ”instrumentalness”, ”time signature” and ”key”.  These musical attributes were the defining features which were used to train our random forest algorithm. In both of our results, we were most successful in classifying songs that were loved or hated while songs that we were indifferent to had very low classification rates. 


Oct. 2018


  • Building the labeled dataset of 700 datapoints

  • Experimenting with various supervised learning algorithms including SVM, and random forests

  • Optimizing hyper-parameters for Random Forest Algorithm

  • Summarizing and presenting results

bottom of page