All Projects → AmazingDD → Daisyrec

AmazingDD / Daisyrec

Licence: apache-2.0
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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Daisyrec

Elliot
Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation
Stars: ✭ 49 (-82.5%)
Mutual labels:  recommender-system, vae, collaborative-filtering, matrix-factorization, slim
Rsparse
Fast and accurate machine learning on sparse matrices - matrix factorizations, regression, classification, top-N recommendations.
Stars: ✭ 145 (-48.21%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization, factorization-machines
Recommendation.jl
Building recommender systems in Julia
Stars: ✭ 42 (-85%)
Mutual labels:  collaborative-filtering, matrix-factorization, recommender-system, factorization-machines
Awesome-Machine-Learning-Papers
📖Notes and remarks on Machine Learning related papers
Stars: ✭ 35 (-87.5%)
Mutual labels:  collaborative-filtering, matrix-factorization, recommender-system
Cornac
A Comparative Framework for Multimodal Recommender Systems
Stars: ✭ 308 (+10%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Fastfm
fastFM: A Library for Factorization Machines
Stars: ✭ 908 (+224.29%)
Mutual labels:  recommender-system, matrix-factorization, factorization-machines
recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (-62.14%)
Mutual labels:  collaborative-filtering, matrix-factorization, recommender-system
Recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
Stars: ✭ 46 (-83.57%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Recsys2019 deeplearning evaluation
This is the repository of our article published in RecSys 2019 "Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches" and of several follow-up studies.
Stars: ✭ 780 (+178.57%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Flurs
🌊 FluRS: A Python library for streaming recommendation algorithms
Stars: ✭ 97 (-65.36%)
Mutual labels:  recommender-system, matrix-factorization, factorization-machines
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (-56.79%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Rankfm
Factorization Machines for Recommendation and Ranking Problems with Implicit Feedback Data
Stars: ✭ 71 (-74.64%)
Mutual labels:  recommender-system, collaborative-filtering, factorization-machines
Implicit
Fast Python Collaborative Filtering for Implicit Feedback Datasets
Stars: ✭ 2,569 (+817.5%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Polara
Recommender system and evaluation framework for top-n recommendations tasks that respects polarity of feedbacks. Fast, flexible and easy to use. Written in python, boosted by scientific python stack.
Stars: ✭ 205 (-26.79%)
Mutual labels:  recommender-system, collaborative-filtering, matrix-factorization
Tf-Rec
Tf-Rec is a python💻 package for building⚒ Recommender Systems. It is built on top of Keras and Tensorflow 2 to utilize GPU Acceleration during training.
Stars: ✭ 18 (-93.57%)
Mutual labels:  matrix-factorization, recommender-system
Recommendation-System-Baseline
Some common recommendation system baseline, with description and link.
Stars: ✭ 34 (-87.86%)
Mutual labels:  collaborative-filtering, matrix-factorization
Course-Recommendation-System
A system that will help in a personalized recommendation of courses for an upcoming semester based on the performance of previous semesters.
Stars: ✭ 14 (-95%)
Mutual labels:  matrix-factorization, recommender-system
RecSys PyTorch
PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.
Stars: ✭ 125 (-55.36%)
Mutual labels:  collaborative-filtering, recommender-system
STACP
Joint Geographical and Temporal Modeling based on Matrix Factorization for Point-of-Interest Recommendation - ECIR 2020
Stars: ✭ 19 (-93.21%)
Mutual labels:  matrix-factorization, recommender-system
TIFUKNN
kNN-based next-basket recommendation
Stars: ✭ 38 (-86.43%)
Mutual labels:  collaborative-filtering, recommender-system

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 requirements.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

  • [x] user-level time-aware fold-out method
  • [x] user-level/item-level/user-item-level N-core
  • [x] 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:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].