Inspiration

I wanted to do a project that would be feasible while allowing me to develop a lot of knowledge about ML

What it does

It is a movie recommendation system, so it recommends movies based on the past ratings of the user and all other users.

How we built it

The model is a Collaborative Filtering recommendation system that was implemented using a matrix factorization algorithm. The matrix factorization was done using singular value decomposition (svd), which can be implemented with the scipy library. To train the model, k-fold cross-validation was used by masking different parts of the rating matrix. It was done with 200 different latent features (hyperparameter to decompose the rating matrix). To evaluate the accuracy of the model, the Frobenius norm was used.

Challenges we ran into

Training the model. It was a bit challenging how to figure out how to train it as every user has to be in the training set in order to make recommendations for them.

Accomplishments that we're proud of

Finishing the project with a webapp that is working and that actually recommends movies! Doing a project like this was really exciting.

What we learned

A lot:

  • matrix factorization -> Singular value decomposition (how it works)
  • mask a matrix for doing a k-fold cross validation
  • and so on

What's next for Movie Recommender System ML

Adding a content-based aspect to the model as it is currently only collaborative filtering.

Share this project:

Updates

Submission history