/CSCE670_NCF

Neural Collaborative Filtering for CSCE670

Primary LanguageJupyter Notebook

NOTDOT

Collaborative Filtering using Neural Networks

Based on the paper: Neural Collaborative Filtering

Team members:

  • Roger Solis
  • Qiancheng Liu
  • Haiping Xue
  • Henry Qiu

Data bases:

Code structure

The latest changes are mantained on the master branch

  • "data" Contains the datasets
  • "movie_lens_explict" Contains the improved version of the NCF paper. Here we use explicit ratings
  • "movie_lens_implict" Contains the implementation of the NCF paper. Here we only consider user interaction with movies
  • "yelp_explict" Contains the model that works with user ratings and user reviews using doc2vec

General instructions

Setting up environment

You will need to install the following packages on you python environment

Running the models

Once you have dedided the approach of you preference (implicit, explicit, yelp datase), you should switch to the proper folder and then follow the next steps to see the results we got.

  1. Make sure the data files are present on the data directory. If they are not, download them and put them into its respective folder right before running the model.
  2. We have included the pretraining for the MLP and GMF models in a single file along with the complete model. Therefore, in order to run our code you should run the script full_model.py.

full_model.py will train the GMF and MLP models, save its weights, feed them into the full model, train the full model, store the model for future references and finally, will load the testing data and feed it into the trained model. Right after, evaluation is performed over the predicted data, and will be saved in the outputs folder.