Carleton University - School of Computer Science Honours Project
Winter 2018
Music Playlist Recommendations using K-Means Clustering and Markov Chains
Hrishi Mukherjee
SCS Honours Project Image
ABSTRACT
The problem this project addresses is of recommending music playlists to a user based on their preferences. To solve this problem, the following approach is used - the user's listening history is analyzed, this analysis outputs a profile of the user modelled as a Markov Chain, this profile is then used in conjunction with a clustered database of songs to generate recommendations. Experimentation was performed on a small group of users which generated interesting results. A combination of different features for the songs were used out of which one feature stood out as the dominant feature for generating recommendations. This feature was the average pitch - a vector representing the average pitch over all time segments of the song, where each dimension represents the average pitch of a specific time segment. Although the results were good, it stands that the algorithm can be improved by implementing dynamic clustering of songs and testing on a larger and more varied group of users.