/recommenderSystem-ML

Project 2 ML

Primary LanguageJupyter Notebook

Recommender System Project

This is our project for the Machine Learning Course at EPFL - 2019. In this folder you can find:

  • Our report
  • Notebooks: Folder containing Data analysis notebook and implementation of exercise 10 for ALS algorithm
  • BlendModels: Notebook representing our best model - Its python version is run.py
  • als.py: Functions necessary to implement ALS algorithm for the best model
  • helpers.py: Functions needed for ALS algorithm. This folder comes from exercise 10 solutions
  • implementations.py: Functions required for best model. Very useful for refactoring the code inside notebooks
  • run.py: Python file of our best model
  • validation_gridsearch: This notebook computes the optimal weights of each model (expanded with feature expansion) It does a grid search for each algorithm individually, train them on a train set, and take predictions on a validation set. It then run a ridge regression using Scikit to obtain optimal weights that we copy inside Blendmodels

How to reproduce our best score

If you don't have surprise, you can run run.py using the following command: ipython run.py. First line of the code will install surprise for you. Please make sure to update the path for data set and sample submission csv files.