Github项目推荐 | 推荐系统实例与最佳实践 by 微软

2019 年 1 月 2 日 AI研习社

Recommenders - Recommender Systems' by Microsoft GitHub

项目地址https://github.com/Microsoft/Recommenders

(注:本文的链接需要点击文末【阅读原文】方可访问)

本仓库提供了构建推荐系统项目的实例和最佳实践,用Jupyter Notebook的形式提供。这些例子将会详细地向我们介绍四个关键任务的学习。

  • 准备数据:为每一个推荐算法准备和加载数据

  • 模型:用多种推荐算法构建模型,例如交替最小二乘法(ALS

  • 评估:使用离线指标评估算法

  • 实施:在Azure上的生产环境中操作模型

reco_utils中提供了几个实用程序来支持常见任务,例如以不同算法预期的格式加载数据集,评估模型输出以及拆分列车/测试数据,为你自己的应用程序中的自学习和自定义提供了几种最先进算法的实现。


  入门

有关在本地、Spark或Azure Databricks设置你的机器的信息,请参阅设置指南了解更多详情。

在本地计算机上进行安装的步骤如下:

1.在Python 3.6或更高版本环境下安装Anaconda,用Miniconda可以快速安装

2.克隆本仓库

git clone https://github.com/Microsoft/Recommenders

3.运行generate conda文件脚本并创建一个conda环境:

cd Recommenders
./scripts/generate_conda_file.sh
conda env create -n reco -f conda_bare.yaml

4.激活conda环境并注册到Jupyter中

conda activate reco
python -m ipykernel install --user --name reco --display-name "Python (reco)"

5.运行Jupyter notebook服务

cd notebooks
jupyter notebook

6.在00_quick_start文件夹下运行SAR Python CPU Movielens这篇笔记。 确保将内核更改为“Python(reco)”。

  笔记

我们提供了几个笔记,以展示如何设计、评估和操作推荐算法。

  • 快速入门笔记(Quick-Start Notebooks)详细介绍了如何使用最先进的算法(如智能自适应推荐(SAR)算法和ALS算法)快速启动和运行。

  • 数据准备笔记(Data Preparation Notebook)展示如何为推荐系统正确准备和拆分数据。

  • 建模笔记(Modeling Notebooks)深入探讨了不同推荐算法的实现。

  • 评估笔记(Evaluation Notebooks)展示如何评估不同排名和评级指标的推荐算法。

  • 部署笔记(Operationalizion Notebook)演示了如何在生产系统中部署模型。

此外,我们还提供了一篇比较笔记(comparison notebook),以说明如何评估和比较不同的算法。在这篇笔记中,数据(搜索引擎数据 1M)以75/25的比例随机分成训练/测试集。使用下面的每一种协同过滤算法训练推荐模型。我们会利用文献报道的经验参数值。对于排名指标,我们使用k = 10(前10个结果)。 我们在标准NC6s_v2 Azure DSVM(6个vCPU,112 GB内存和1个K80 GPU)上进行比较。 Spark ALS以本地独立模式运行。


  初步比较结果


  贡献

欢迎给本项目提供意见和建议。当然,在提供之前,请参阅我们的贡献指南


  建立状态

注:测试每晚都会执行,我们使用 pytest 测试 reco_utils 和 notebooks中的python实用程序。

项目地址:https://github.com/Microsoft/Recommenders


【AI求职百题斩 - 每日一题】

2019年的每日挑战开始更新啦!

去年圣诞节之前的挑战题目,

需要到 AI求职百题斩 才能再见到它们了哦!

想知道正确答案?

回公众号聊天界面并发送“0102挑战”即可获取!

点击 阅读原文 查看本文更多内容

登录查看更多
20

相关内容

Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
专知会员服务
171+阅读 · 2020年6月4日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
Github 项目推荐 | PyTorch 实现的 GAN 文本生成框架
AI研习社
35+阅读 · 2019年6月10日
Github项目推荐 | RecQ - Python推荐系统框架
AI研习社
8+阅读 · 2019年1月23日
Arxiv
5+阅读 · 2019年10月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
4+阅读 · 2018年4月9日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
7+阅读 · 2018年1月31日
VIP会员
相关VIP内容
相关论文
Arxiv
5+阅读 · 2019年10月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
4+阅读 · 2018年4月9日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
7+阅读 · 2018年1月31日
Top
微信扫码咨询专知VIP会员