/daisyRec

fair comparison for recommender system benchmarks

Primary LanguagePythonApache License 2.0Apache-2.0

DaisyRec

PyPI - Python Version Version GitHub repo size GitHub

Overview

DaisyRec is a Python toolkit dealing with rating prediction and item ranking issue.

The name DAISY (roughly :) ) stands for Multi-Dimension fAIrly compArIson for recommender SYstem.

To get all dependencies, run:

pip install -r requirement.txt

Before running, you need first run:

python setup.py build_ext --inplace

to generate .so file for macOS or .pyd file for WindowsOS used for further import.

Make sure you have a CUDA enviroment to accelarate since these deep-learning models could be based on it.

DaisyRec handled ranking issue mainly and split recommendation problem into point-wise ones and pair-wise ones so that different loss function are constructed such as BPR, Top-1, Hinge and Cross Entropy. All algorithms already implemented are exhibited below:

use main.py to achieve KPI results calculated by certain algorithm above. For example, you can implement this program to implement BPR-MF:

python main.py --problem_type=pair --algo_name=mf --loss_type=BPR --num_ng=2

TODO list

  • DeepFM algorithm module
  • AFM algorithm module
  • NGCF algorithm module
  • weight initialization interface