GitHub微软_推荐者:推荐系统的最佳实践

2019-06-24 09:45:44 浏览数 (1)

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个时期的算法。

0 人点赞