daisyRec
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
- [X] DeepFM algorithm module
- [ ] NGCF algorithm module
- [ ] weight initialization interface
Cite
Here is a Bibtex entry if you ever need to cite DaisyRec in a research paper (please keep us posted, we would love to know if Daisy was helpful to you)
@misc{yudi2020daisyrec,
title={DaisyRec},
author={Yu Di},
year={2020},
publisher={GitHub},
howpublished={\url{https://github.com/AmazingDD/daisyRec}},
}