Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

evfro/fifty-shades

Repository files navigation

Fifty Shades of Ratings: How to Benefit from a Negative Feedback in Top-N Recommendations Tasks

This is a "fixed state" version of the code from Polara framework, that can be used to fully reproduce the work described in our paper. See Example_ML1M.ipynb for an exact experiment workflow. You're also welcome to explore other jupyter notebooks for more experimental results or check out our online demo at http://coremodel.azurewebsites.net.

[NEW] Run code online with binder

A quick way to reproduce results without any installation hassle:

Binder

Get your own copy to run offline

No installation is required. Simply get a copy of this code and unpack it somewhere on your PC.

Prerequisites

The recommended way to setup a working python environment is to use Anaconda distribution https://www.continuum.io/downloads. However, you may create your own environment with the following packages:

  • Python 2.7
  • Pandas
  • Numpy
  • Scipy
  • Matplotlib
  • Numba
  • Seaborn
  • Requests
  • Jupyter Notebook
  • MKL [Optional]

MyMediaLite support

We provide python wrapper for MyMediaLite (MML) library with additional functionality for quick online recommendations. Note, that fixed version of MML (v. 3.11) is already included into repository (this ensures reproducibility of the results). If you encounter any problems running MML binaries, ensure that Mono is supported by your system. You may find additional help by visiting MML Google Group or Github Issues page.

OS support

The code was tested on both Windows and Linux. Can possibly run on OSX however this was not tested yet.

Isolated environment

It may be a good idea to create an isolated conda environment for experimentation.

conda create -n shades python=2.7 pandas matplotlib numpy scipy numba mkl jupyter seaborn requests

Activate newly created shades with eithr source activate shades (Linux) or activate shades (Windows), navigate to the unpacked folder in your shell and run jupyter notebook:

jupyter notebook

About

Source code to support ACM RecSys'16 paper "Fifty Shades of Ratings: How to Benefit from a Negative Feedback in Top-N Recommendations Tasks"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published