This repository contains the source code for the 2021 Polimi Recommender System Challenge on kaggle.
The goal of the competition was to create the recommender system for TV programs by providing 10 recommended products to each user.
Given the User Rating Matrix and four Item Content Matrices we had to recommend 10 relevant tv shows to the users.
The URM contained 5M interactions, 13650 users and 18059 item and a sparsity of 97.86 %.
The ICMs contained information about the channels, episodes, genre and subgenre of the shows.
All data was anonymized, so it was not possible to perform text analysis, genre grouping, correlation between text and popularity and so on.
Our final recommender was a hybrid, obtained combining of the following models:
- SLIM ElasticNet
- RP3Beta
- EASE R
- Implicit Alternating Least Squares
The final hybrid was obtained as a linear combination of the ratings of EASE R + IALS + hybrid(SLIM + RP3Beta).
The hybrid combining SLIM and RP3Beta merges their similarity matrices with a weighted sum.
The evaluation metric was MAP@10.
- Public leaderboard score: 0.48575 (8th)
- Private leaderboard score: 0.48656 (7th)
This repository contains code from the course framework repo, that provides recommender implementations and utility code. The k_fold_optimization code was taken from this repo.