/Song-Recommender

Song Recommendation System built with Surprise

Primary LanguageJupyter Notebook

Song Recommendation System with Surprise

General info


This recommender uses user-based collaborative filtering.
The data (R2 - Yahoo! Music User Ratings of Songs with Artist, Album, and Genre Meta Information, v. 1.0) has been obtained from Yahoo! Webscope and consists of real data collected from Yahoo! Music services.
The New Data and New Challenges in Multimedia Research” by Bart Thomee, David A. Shamma, Gerald Friedland, Benjamin Elizalde, Karl Ni, Douglas Poland, Damian Borth, and Li-Jia Li, arXiv:1503.01817


In this project used are:
For model building:

train data
Sample

ind user_id song_id rating
0 0 166 5
1 0 2245 4
2 0 3637 4

test data
Sample

ind user_id song_id rating
0 0 7171 5
1 0 8637 4
2 0 21966 4


Metadata:

genres
Sample

genre_id parent_genre_id level genre_name
0 0 1 Unknown
1 1 1 Electronic/Dance
2 1 2 Ambient
3 2 3 Ambient Dub

songs
Sample

song_id album_id artist_id genre_id
0 12070 8490 0
1 19512 7975 134
2 18953 3492 0

Project includes


1. Data preprocessing
2. Model training (SVD and kNN Baseline) and parameter tuning
3. Model performance visualization
4. Song recommender
5. Exploration on similiar users (SVD) and neighbours (kNN)
6. Music genres graph