Recommendation Systems via Matrix Factorization
December 2020
This project was the third project for my machine learning class. The project aims to train a machine learning algorithm using MovieLens 100k dataset for movie recommendation by optimizing the model's predictive power. We were given a clean preprocessed version of the MovieLens 100k dataset with 943 users' ratings of 1682 movies. The input to our prediction system is a (user id, movie id) pair. Our predictor's output will be a scalar rating y in range (1,5) — a rating of 1 is the worst possible, a rating of 5 is the best. Our main task is to predict the ratings of all user-movie pairs. The recommendation system is performed using four different models.
- Simple Baseline Model with SGD and Autograd
- One-Scalar-Per-Item Baseline with SGD and Autograd
- One-Vector-Per-Item Collaborative Filtering with SGD and Autograd
- KNNWithMeans classifier from the surprise package