This is an implementation of Neural Collaborative Filtering for a movie recommendation system based on the MovieLens 1M Dataset.
Neural Collaborative Filtering
I wanted to build a movie recommendation system and use deep learning for it. So I came across NCF and it seemed like a good starting point so I implemented it.
To tackle the cold-start problem, we can ask the users to mention a few movies he liked and then proceed.
To evaluate the performance of item recommendation, we use the leave-one-out evaluation.
Since it is too time consuming to rate every non-interacted movie, we take random 100 movies and display the top 10 movies for that user.
- dataset.py - Split the dataset into train and test and turned data into implicit feedback.
- neuMF.ipynb - Train the model and predict 10 movies for a given user.
- model.h5 - Saved model so that I can fine-tune on new users.