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.
A quick way to reproduce results without any installation hassle:
No installation is required. Simply get a copy of this code and unpack it somewhere on your PC.
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]
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.
The code was tested on both Windows and Linux. Can possibly run on OSX however this was not tested yet.
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