Hybrid Movie Recommender System Using Matrix Factorisation
Streaming and e-commerce sites recommend items from a huge, very sparse matrix of user ratings. This project builds a hybrid movie recommender on the real MovieLens 100K and 1M data of GroupLens: the classical baselines (global mean, damped user and movie biases, popularity, user-kNN and item-kNN), matrix factorisation (biased SVD, SVD++, alternating least squares and Apache Spark MLlib ALS) and a hybrid ALS that pulls every movie's factor vector towards a content prior (genres, release year) and every user's towards a demographic prior (age, gender, occupation). For top-10 lists it adds implicit-feedback ALS with the same genre prior, blended with demographic popularity for members with few ratings. Everything is evaluated honestly with a time-ordered split, a per-user leave-last-5 split and a random split, on rating accuracy and on ranking quality, plus cold-start curves for new users and new movies. A web application recommends top-10 lists with explanations, onboards new members, takes ratings and feedback, adds new movies and monitors the served lists on five databases. GNU Octave re-checks the MATLAB code; a complete MATLAB version is included.
Category: Information Science and Technology
Information Science & Technology Project IST01 from ProTechSC Academy, with graphical abstract, video demonstration and project guidance.