https://github.com/microsoft/recommenders/
推荐者
此存储库提供了构建推荐系统的示例和最佳实践,作为Jupyter笔记本提供。这些例子详细介绍了对五项关键任务的学习:
reco_utils中提供了几个实用程序来支持常见任务,例如以不同算法预期的格式加载数据集,评估模型输出以及拆分训练/测试数据。提供了几种最先进算法的实现,以便在您自己的应用程序中进行自学习和自定义。
入门
有关在本地,Spark或Azure Databricks上设置计算机的更多详细信息,请参阅设置指南。
要在本地计算机上进行设置:
1.使用Python> = 3.6安装Anaconda。Miniconda是一个快速入门的方式。
2.克隆存储库
git clone https://github.com/Microsoft/Recommenders
3.运行产生畅达文件脚本来创建一个畅达的环境:(这是一个基本的Python环境中,见SETUP.md为PySpark和GPU环境设置)
cd Recommenders
python scripts/generate_conda_file.py
conda env create -f reco_base.yaml
4.激活conda环境并将其注册到Jupyter:
conda activate reco_base
python -m ipykernel install --user --name reco_base --display-name "Python (reco)"
5.启动Jupyter笔记本服务器
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个时期的算法。