概述
daisyRec是一个为top-N推荐任务基准测试而开发的Python工具包。DAISY代表推荐系统的多维公平比较。
下图展示了DaisyRec-v2.0的整体框架。
此仓库用于发布。如果您对我们的实验排名结果感兴趣,请查看此仓库文件。
我们非常感谢以下仓库帮助我们提高代码效率:
如何运行
确保您有CUDA环境以加速,因为深度学习模型可能基于此。
1. 通过pip安装
pip install daisyRec
2. 从GitHub克隆
git clone https://github.com/AmazingDD/daisyRec.git && cd daisyRec
-
示例代码列在
run_examples
中,尝试参考它们并了解如何使用daisy;您也可以将这些代码移至daisyRec/
中实现。 -
test.py
和tune.py
的GUI命令生成器现已在此可用,它可以帮助您快速编写参数并运行公平比较实验。生成的命令将如下所示:
python tune.py --param1=20 --param2=30 .... python test.py --param1=20 --param2=30 ....
我们强烈建议您首先使用我们的GUI来实现代码!
文档
DaisyRec的文档可在此处获取,其中提供了所有参数的详细解释。
已实现算法
DaisyRec中的模型仅考虑<用户, 物品, 评分>三元组,因此FM相关模型将根据此进行专门化处理。 以下是DaisyRec中已实现的算法。更多基准模型将在后续添加。
模型 | 发表文献 |
---|---|
MostPop | 推荐系统中流行度基准的重新审视 |
ItemKNN | 基于物品的Top-N推荐算法 |
EASE | 用于稀疏数据的极浅自编码器 |
PureSVD | 通过矩阵补全的Top-n推荐系统 |
SLIM | SLIM:用于Top-N推荐系统的稀疏线性方法 |
MF | 推荐系统中的矩阵分解技术 |
FM | 因子分解机 |
NeuMF | 神经协同过滤 |
NFM | 用于稀疏预测分析的神经因子分解机 |
NGCF | 神经图协同过滤 |
Multi-VAE | 用于协同过滤的变分自编码器 |
Item2Vec | Item2vec:用于协同过滤的神经物品嵌入 |
LightGCN | LightGCN:简化和增强推荐的图卷积网络 |
数据集
您可以下载实验数据,并将它们放入data
文件夹中。
所有数据可在以下链接中获取:
- MovieLens-100K / 1M / 10M / 20M
- Netflix Prize数据
- Last.fm
- Book Crossing
- Epinions
- CiteULike
- 亚马逊-图书/电子产品/服装/音乐(仅评分)
- Yelp挑战赛
引用
如果您在研究论文中以任何方式(如代码和排名结果)使用DaisyRec,请引用以下两篇论文:
@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}
}
@article{sun2022daisyrec,
标题={DaisyRec 2.0:用于严格评估的推荐系统基准测试},
作者={孙竹 和 方辉 和 杨杰 和 曲兴华 和 刘宏阳 和 余迪 和 王有荣 和 张杰},
期刊={arXiv预印本 arXiv:2206.10848},
年份={2022}
}