https://github.com/microsoft/recommenders/
推荐者
此存储库提供了构建推荐系统的示例和最佳实践,作为Jupyter笔记本提供。这些例子详细介绍了对五项关键任务的学习:
- 准备数据:为每个推荐算法准备和加载数据
- 模型:使用各种经典和深度学习推荐算法构建模型,例如交替最小二乘法(ALS)或极限深度分解机器(xDeepFM)。
- 评估:使用离线指标评估算法
- 模型选择和优化:为推荐器模型调整和优化超参数
- 操作化:在Azure上的生产环境中操作模型
reco_utils中提供了几个实用程序来支持常见任务,例如以不同算法预期的格式加载数据集,评估模型输出以及拆分训练/测试数据。提供了几种最先进算法的实现,以便在您自己的应用程序中进行自学习和自定义。
入门
有关在本地,Spark或Azure Databricks上设置计算机的更多详细信息,请参阅设置指南。
要在本地计算机上进行设置:
1.使用Python> = 3.6安装Anaconda。Miniconda是一个快速入门的方式。
2.克隆存储库
代码语言:javascript复制git clone https://github.com/Microsoft/Recommenders
3.运行产生畅达文件脚本来创建一个畅达的环境:(这是一个基本的Python环境中,见SETUP.md为PySpark和GPU环境设置)
代码语言:javascript复制cd Recommenders
python scripts/generate_conda_file.py
conda env create -f reco_base.yaml
4.激活conda环境并将其注册到Jupyter:
代码语言:javascript复制conda activate reco_base
python -m ipykernel install --user --name reco_base --display-name "Python (reco)"
5.启动Jupyter笔记本服务器
代码语言:javascript复制cd notebooks
jupyter notebook
6.在00_quick_start文件夹下运行SAR Python CPU MovieLens笔记本。确保将内核更改为“Python(重新)”。
注 - 交替最小二乘(ALS)笔记本需要运行PySpark环境。请按照设置指南中的步骤在PySpark环境中运行这些笔记本。
算法
下表列出了存储库中当前可用的推荐算法。当不同的实现可用时,笔记本链接在Environment列下。
注意:*表示Microsoft发明/贡献的算法。
初步比较
提供了一个基准笔记本,以说明如何评估和比较不同的算法。在这个笔记本中,MovieLens数据集使用分层分割以75/25的比例分成训练/测试集。使用下面的每个协作过滤算法训练推荐模型。利用文献报道的经验参数值这里。对于我们使用的排名指标k=10(前10个推荐项目)。在标准NC6s_v2 Azure DSVM(6个vCPU,112 GB内存和1个P100 GPU)上进行比较。Spark ALS以本地独立模式运行。在此表中,我们在Movielens 100k上显示结果,运行15个时期的算法。