spotify, music recommendation, kmeans, machine learning, python, github


Computer Sciences | Physical Sciences and Mathematics


Erin Carrier


Music is one of the rare forms of communication that can be understood on a profound level by anyone; it has the power to cause significant emotional effects, to spark inspiration, to ignite change, to spread knowledge, and more, even regardless of song language. A popular subject of research in music pertains to recommendations; determining a song a listener would enjoy is not an easy task. Moreover, certain factors may influence a user's satisfaction with recommended songs and their likelihood to continue using a service. Focusing on the major streaming service Spotify, we build a K-Means clustering algorithm to recommend a playlist to a user. The algorithm, which is necessarily different from those of Spotify, uses various distance metrics, variable types, and user control (given through random assignment) in an attempt to analyze differences in user satisfaction with the recommended playlist. This project has served as a proof of concept. Although not possible in the scope of the original project, the recommendation process created could serve as the fundamental basis for future user studies investigating user input in music recommendation systems.

The rest of the files for my project are code files and are housed at a GitHub repository.