In this week, we were studying three types of recommender systems for our fictitious WBSFLIX online DVD rental shop which managed to survive the online streaming disruption thanks to the convincing recommendations given by the shop owner - and now our recommender systems.
- popularity-based recommendations based on number and score of ratings given by users without additional context
- item-based recommendations based on similarity of ratings based on comparing different movies w.r.t. how different users liked the movies which allows to group and recommend similar movies
- user-based recommendations based on similarity of the rating behaviour of users w.r.t. different movies which allows to estimate preference for new movies based on past ratings for a given user
For this, we got familiar with the Pearson correlation coefficient and cosine simmilarity and then worked on the various recommenders in a Jupyter notebook for WBSFLIX. For user-based recommendations, we were using the surprise library.
To wrap up, we saved the resulting recommendation data-sets as Python pickles (compressed with LZ4 due to their size) which allowed us to use that data in our streamlit app
which was also used for our group presentation. It also shows movie posters and links to pages from tmdb. Go, check it out and see if it can produce some nice recommendations for you!
Shout out to my team-mates Matthias Nickola, Roberto Cavotti and Sebastian Foth for our joint efforts!