GithubHelp home page GithubHelp logo

chenxingqiang / daisyrec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amazingdd/daisyrec

0.0 0.0 0.0 11.75 MB

A developing recommender system in pytorch. Algorithm: KNN, LFM, SLIM, NeuMF, FM, DeepFM, VAE and so on, which aims to fair comparison for recommender system benchmarks

License: Apache License 2.0

Python 88.87% Perl 0.29% Shell 0.26% Jupyter Notebook 10.58%

daisyrec's Introduction

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 or .pyd file used for further import.

Make sure you have a CUDA enviroment to accelarate since these deep-learning models could be based on it. We will consistently update this repo.

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

All experiments code executed in our paper are exhibited in master branch. Please check out to master branch. Code in dev branch is still under developing.

Datasets

You can download experiment data, and put them into the data folder. All data are available in links below:

TODO list

  • user-level time-aware fold-out method
  • user-level/item-level/user-item-level N-core
  • distinguish N-filter and N-core preprocess method
  • weight initialization interface
  • a more friendly tuner

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)

@inproceedings{sun2020are,
  title={Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Comparison},
  author={Sun, Zhu and Yu, Di and Fang, Hui and Yang, Jie and Qu, Xinghua and Zhang, Jie and Geng, Cong},
  booktitle={Proceedings of the 14th ACM Conference on Recommender Systems},
  year={2020}
}

Acknowledgements

We refer to the following repositories to improve our code:

daisyrec's People

Contributors

gcong9 avatar amazingdd avatar sunzhuntu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.