{"id":13958287,"url":"https://github.com/AmazingDD/daisyRec","last_synced_at":"2025-07-20T23:30:55.914Z","repository":{"id":43025939,"uuid":"225288945","full_name":"AmazingDD/daisyRec","owner":"AmazingDD","description":"Official code for \"DaisyRec 2.0: Benchmarking Recommendation for Rigorous Evaluation\" (TPAMI2022) and \"Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Comparison\" (RecSys2020)","archived":false,"fork":false,"pushed_at":"2024-08-08T14:24:34.000Z","size":13411,"stargazers_count":546,"open_issues_count":0,"forks_count":85,"subscribers_count":13,"default_branch":"dev","last_synced_at":"2024-11-16T03:26:59.569Z","etag":null,"topics":["afm","biasmf","cdae","collaborative-filtering","deepfm","ease","factorization-machines","item2vec","k-nearest-neighbors","matrix-factorization","neumf","neural-collaborative-filtering","nfm","pytorch","recommender-system","slim","svdpp","vae"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AmazingDD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-02T04:58:34.000Z","updated_at":"2024-10-29T08:04:20.000Z","dependencies_parsed_at":"2024-11-16T03:25:12.052Z","dependency_job_id":"cd72728a-e259-48b4-84fb-e1d300c93601","html_url":"https://github.com/AmazingDD/daisyRec","commit_stats":{"total_commits":284,"total_committers":8,"mean_commits":35.5,"dds":0.5774647887323944,"last_synced_commit":"a6db683945efabfc87938b53a4d8a1f5605c58a4"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmazingDD%2FdaisyRec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmazingDD%2FdaisyRec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmazingDD%2FdaisyRec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmazingDD%2FdaisyRec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmazingDD","download_url":"https://codeload.github.com/AmazingDD/daisyRec/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226844941,"owners_count":17691134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afm","biasmf","cdae","collaborative-filtering","deepfm","ease","factorization-machines","item2vec","k-nearest-neighbors","matrix-factorization","neumf","neural-collaborative-filtering","nfm","pytorch","recommender-system","slim","svdpp","vae"],"created_at":"2024-08-08T13:01:28.675Z","updated_at":"2024-11-28T01:31:31.988Z","avatar_url":"https://github.com/AmazingDD.png","language":"Python","readme":"\u003cp align=\"left\"\u003e\n\u003cimg src=\"images/logo.png\" align=\"center\" width=\"40%\" style=\"margin: 0 auto\"\u003e\n\u003c/p\u003e\n\n![PyPI - Python Version](https://img.shields.io/badge/pyhton-3.5%2B-blue) \n[![Version](https://img.shields.io/badge/version-2.3.0-orange)](https://github.com/AmazingDD/daisyRec) \n![GitHub repo size](https://img.shields.io/github/repo-size/AmazingDD/daisyRec) \n![GitHub](https://img.shields.io/github/license/AmazingDD/daisyRec)\n[![arXiv](https://img.shields.io/badge/arXiv-daisyRec-%23B21B1B)](https://arxiv.org/abs/2206.10848)\n\n### Overview\n\ndaisyRec is a Python toolkit developed for benchmarking top-N recommendation task. The name DAISY stands for multi-**D**imension f**A**ir compar**I**son for recommender **SY**stem. \n\n\u003c!---\n***[DaisyRec v2.0](https://github.com/recsys-benchmark/DaisyRec-v2.0) is aviable now with more functions, and you are highly recommended to use DaisyRec v2.0***\n---\u003e\n\nThe figure below shows the overall framework of DaisyRec-v2.0. \n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"images/framework.png\" align=\"center\" width=\"90%\" style=\"margin: 0 auto\"\u003e\n\u003c/p\u003e\n\nThis repository is used for publishing. If you are interested in details of our _experiments ranking results_, try to reach this [**repo file**](https://github.com/recsys-benchmark/DaisyRec-v2.0/blob/dev/appendix.pdf). \n\nWe really appreciate these repositories to help us improve the code efficiency:\n  - [RecSys2019_DeepLearning_Evaluation](https://github.com/MaurizioFD/RecSys2019_DeepLearning_Evaluation)\n  - [RecBole](https://github.com/RUCAIBox/RecBole)\n\n### How to Run\n\nMake sure you have a **CUDA** enviroment to accelarate since the deep-learning models could be based on it. \n\n#### 1. Install from pip\n```\npip install daisyRec\n```\n\n#### 2. Clone from github\n```\ngit clone https://github.com/AmazingDD/daisyRec.git \u0026\u0026 cd daisyRec\n```\n\n- Example codes are listed in `run_examples`, try to refer them and find out how to use daisy; you can also implement these codes by moving them into `daisyRec/`.\n\n- The GUI Command Generator for `test.py` and `tune.py`, which can assist you to quikly write arguments and run the fair comparison experiments, is now available [**here**](https://daisyrec.netlify.app/).\n\n  The generated command will be like this:\n  ```\n  python tune.py --param1=20 --param2=30 ....\n  python test.py --param1=20 --param2=30 ....\n  ```\n  \n  We highly recommend you to implement the code with our GUI firstly!\n\n### Documentation \n\nThe documentation of DaisyRec is available [here](https://daisyrec.readthedocs.io/en/latest/), which provides detailed explanations for all arguments.\n\n### Implemented Algorithms\n\nModels in daisyRec only take triples _\u003cuser, item, rating\u003e_ into account, so FM-related models will be specialized accrodingly.\nBelow are the algorithms implemented in daisyRec. More baselines will be added later.\n\n| **Model** | **Publication** |\n|-----------|-----------------|\n| MostPop   | A re-visit of the popularity baseline in recommender systems |\n| ItemKNN   | Item-based top-N recommendation algorithms |\n| EASE      | Embarrassingly Shallow Autoencoders for Sparse Data |\n| PureSVD   | Top-n recommender system via matrix completion |\n| SLIM      | SLIM: Sparse Linear Methods for Top-N Recommender Systems |\n| MF        | Matrix factorization techniques for recommender systems |\n| FM        | Factorization Machines |\n| NeuMF     | Neural Collaborative Filtering |\n| NFM       | Neural Factorization Machines for Sparse Predictive Analytics |\n| NGCF      | Neural Graph Collaborative Filtering |\n| Multi-VAE | Variational Autoencoders for Collaborative Filtering |\n| Item2Vec  | Item2vec: neural item embedding for collaborative filtering |\n| LightGCN  | LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation |\n\n### Datasets\n\nYou can download experiment data, and put them into the `data` folder.\nAll data are available in links below: \n\n  - MovieLens-[100K](https://grouplens.org/datasets/movielens/100k/) / [1M](https://grouplens.org/datasets/movielens/1m/) / [10M](https://grouplens.org/datasets/movielens/10m/) / [20M](https://grouplens.org/datasets/movielens/20m/)\n  - [Netflix Prize Data](https://archive.org/download/nf_prize_dataset.tar)\n  - [Last.fm](https://grouplens.org/datasets/hetrec-2011/)\n  - [Book Crossing](https://grouplens.org/datasets/book-crossing/)\n  - [Epinions](http://www.cse.msu.edu/~tangjili/trust.html)\n  - [CiteULike](https://github.com/js05212/citeulike-a)\n  - [Amazon-Book/Electronic/Clothing/Music ](http://jmcauley.ucsd.edu/data/amazon/links.html)(ratings only)\n  - [Yelp Challenge](https://kaggle.com/yelp-dataset/yelp-dataset)\n\n\n### Cite\n\nPlease cite both of the following papers if you use **DaisyRec** in a research paper in any way (e.g., code and ranking results):\n\n```\n@inproceedings{sun2020are,\n  title={Are We Evaluating Rigorously? Benchmarking Recommendation for Reproducible Evaluation and Fair Comparison},\n  author={Sun, Zhu and Yu, Di and Fang, Hui and Yang, Jie and Qu, Xinghua and Zhang, Jie and Geng, Cong},\n  booktitle={Proceedings of the 14th ACM Conference on Recommender Systems},\n  year={2020}\n}\n\n```\n\n```\n@article{sun2022daisyrec,\n  title={DaisyRec 2.0: Benchmarking Recommendation for Rigorous Evaluation},\n  author={Sun, Zhu and Fang, Hui and Yang, Jie and Qu, Xinghua and Liu, Hongyang and Yu, Di and Ong, Yew-Soon and Zhang, Jie},\n  journal={arXiv preprint arXiv:2206.10848},\n  year={2022}\n}\n```\n","funding_links":[],"categories":["推荐系统算法库与列表"],"sub_categories":["网络服务_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAmazingDD%2FdaisyRec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAmazingDD%2FdaisyRec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAmazingDD%2FdaisyRec/lists"}