Recommenders 库简介及使用指南 2024-06-18 作者 C3P00 Recommenders 是一个旨在帮助研究人员、开发者和爱好者快速构建和部署各种推荐系统的项目。该项目隶属于 Linux Foundation of AI and Data,提供了丰富的 Jupyter Notebook 示例和最佳实践,涵盖了推荐系统的五个关键任务:数据准备、模型构建、算法评估、模型选择与优化,以及模型的生产化部署。 最新动态(2024年5月) 我们发布了新版本 Recommenders 1.2.0。此次更新包含大量改进,如对 Python 3.8 至 3.11 的全面测试(大约 1800 个测试)、多种算法性能的提升、笔记本的审查和许多其他改进。 项目简介 Recommenders 项目提供了构建推荐系统的示例和最佳实践,主要通过 Jupyter Notebooks 详细展示了以下五个关键任务: 数据准备:为每个推荐算法准备和加载数据。 模型构建:使用多种经典和深度学习推荐算法构建模型,如交替最小二乘法(ALS)或极限深度因子分解机(xDeepFM)。 算法评估:使用离线指标评估算法。 模型选择与优化:调优和优化推荐模型的超参数。 模型生产化部署:在 Azure 上将模型部署到生产环境。 此外,Recommenders 库还提供了多种实用工具,支持常见任务如加载数据集、评估模型输出和分割训练/测试数据。库中还包含了一些最先进的算法实现,供学习和在实际应用中定制。 快速开始 我们推荐使用 conda 进行环境管理,并使用 VS Code 进行开发。以下是在 Linux/WSL 上安装 Recommenders 包并运行示例笔记本的步骤: # 1. 安装 gcc(如果尚未安装)。在 Ubuntu 上,可以使用以下命令: # sudo apt install gcc # 2. 创建并激活新的 conda 环境 conda create -n <environment_name> python=3.9 conda activate <environment_name> # 3. 安装 Recommenders 核心包。它可以运行所有 CPU 笔记本。 pip install recommenders # 4. 创建一个 Jupyter 内核 python -m ipykernel install --user --name <environment_name> --display-name <kernel_name> # 5. 在 VSCode 中或使用命令行克隆此仓库: git clone https://github.com/recommenders-team/recommenders.git # 6. 在 VSCode 中: # a. 打开一个笔记本,例如 examples/00_quick_start/sar_movielens.ipynb; # b. 选择 Jupyter 内核 <kernel_name>; # c. 运行笔记本。 关于在其他平台(如 Windows 和 macOS)上的安装和不同配置(如 GPU、Spark 和实验特性)的更多信息,请参阅 Setup Guide。 除了核心包,Recommenders 还提供了几个额外的包,包括: [gpu]:用于运行 GPU 模型。 [spark]:用于运行 Spark 模型。 [dev]:用于仓库开发。 [all]:包含 [gpu]、[spark] 和 [dev]。 [experimental]:包含未经过充分测试和/或可能需要额外安装步骤的模型。 支持的算法 Recommenders 库目前支持多种推荐算法,以下是部分算法的简介及其示例: 算法类型描述示例交替最小二乘法 (ALS)协同过滤针对显式或隐式反馈的大规模数据集的矩阵分解算法,适用于 PySpark 环境。快速开始 / 深入探讨——-——————注意力异步奇异值分解 (A2SVD)协同过滤基于序列的算法,使用注意力机制捕捉用户的长短期偏好,适用于 CPU/GPU 环境。快速开始Cornac/Bayesian Personalized Ranking (BPR)协同过滤用于预测隐式反馈的矩阵分解算法,适用于 CPU 环境。深入探讨Cornac/Bilateral Variational Autoencoder (BiVAE)协同过滤用于二元数据(如用户-物品交互)的生成模型,适用于 CPU/GPU 环境。深入探讨卷积序列嵌入推荐 (Caser)协同过滤基于卷积的算法,旨在捕捉用户的总体偏好和序列模式,适用于 CPU/GPU 环境。快速开始深度知识感知网络 (DKN)内容过滤结合知识图谱和文章嵌入的深度学习算法,用于新闻或文章推荐,适用于 CPU/GPU 环境。快速开始 / 深入探讨极限深度因子分解机 (xDeepFM)协同过滤用于隐式和显式反馈的深度学习算法,适用于 CPU/GPU 环境。快速开始FastAI 嵌入点偏差 (FAST)协同过滤通用算法,使用用户和物品的嵌入和偏差,适用于 CPU/GPU 环境。快速开始LightFM/因子分解机协同过滤适用于隐式和显式反馈的因子分解机算法,适用于 CPU 环境。快速开始LightGBM/梯度提升树内容过滤适用于内容过滤问题的梯度提升树算法,具有快速训练和低内存使用的特点,适用于 CPU/GPU/PySpark 环境。CPU 快速开始 / PySpark 深入探讨LightGCN协同过滤简化的图卷积网络设计,用于预测隐式反馈,适用于 CPU/GPU 环境。深入探讨GeoIMC协同过滤利用黎曼共轭梯度优化的几何方法进行矩阵补全算法,适用于 CPU 环境。快速开始GRU协同过滤基于序列的算法,使用递归神经网络捕捉用户的长短期偏好,适用于 CPU/GPU 环境。快速开始多项式 VAE协同过滤用于预测用户/物品交互的生成模型,适用于 CPU/GPU 环境。深入探讨 结束语 Recommenders 库为开发推荐系统提供了丰富的资源和工具,无论是初学者还是有经验的开发者都能从中受益。通过详细的文档和多种示例,你可以快速上手并在不同的应用场景中实现推荐系统。如果你对推荐系统感兴趣,建议你深入探索 Recommenders 库中的各个示例,并根据自己的需求进行定制和扩展。 进一步学习和支持 文档和资源 Recommenders 提供了详细的文档和资源,帮助你更好地理解和使用该库: 官方文档:详细介绍了库的安装、使用方法和各个算法的具体实现。 Wiki 页面:包含项目相关的文档和演示文稿。 实际应用场景:展示了推荐系统在各种实际场景中的应用实例。 社区和支持 Recommenders 项目由一个活跃的社区支持,你可以通过以下方式获取帮助或参与贡献: 加入 Slack 社区:与其他用户和开发者交流,获取实时帮助。 GitHub 讨论:在项目的讨论区提出问题、分享经验或讨论改进建议。 贡献代码:如果你有兴趣为项目做出贡献,可以查看贡献指南,了解如何提交代码、报告问题或改进文档。 安装和环境配置 为了方便开发和环境管理,Recommenders 推荐使用 conda。以下是关于环境配置的一些重要提示: 核心包:pip install recommenders 安装核心包,适用于大多数 CPU 环境。 额外包: [gpu]:pip install recommenders[gpu],适用于需要 GPU 支持的模型。 [spark]:pip install recommenders[spark],适用于需要 Spark 支持的模型。 [dev]:pip install recommenders[dev],适用于开发和测试。 [all]:pip install recommenders[all],包含以上所有额外功能。 [experimental]:pip install recommenders[experimental],包含实验性模型和功能。 示例运行 以下是一个快速示例,展示如何使用 Recommenders 运行一个 Jupyter Notebook: 安装依赖: # 安装 gcc(如果尚未安装) sudo apt install gcc # 创建并激活新的 conda 环境 conda create -n recommenders_env python=3.9 conda activate recommenders_env # 安装 Recommenders 核心包 pip install recommenders # 创建 Jupyter 内核 python -m ipykernel install --user --name recommenders_env --display-name "Recommenders Env" 克隆仓库: git clone https://github.com/recommenders-team/recommenders.git 运行 Jupyter Notebook: 打开 VS Code,加载克隆的仓库。 选择一个示例笔记本,如 examples/00_quick_start/sar_movielens.ipynb。 选择 Jupyter 内核 “Recommenders Env”。 运行笔记本,体验推荐系统的构建过程。 通过这些步骤,你可以轻松上手 Recommenders 库,开始构建和优化自己的推荐系统。希望这篇文章能帮助你更好地理解和使用 Recommenders 库,祝你在推荐系统的探索之旅中取得成功!
Recommenders 是一个旨在帮助研究人员、开发者和爱好者快速构建和部署各种推荐系统的项目。该项目隶属于 Linux Foundation of AI and Data,提供了丰富的 Jupyter Notebook 示例和最佳实践,涵盖了推荐系统的五个关键任务:数据准备、模型构建、算法评估、模型选择与优化,以及模型的生产化部署。
最新动态(2024年5月)
我们发布了新版本 Recommenders 1.2.0。此次更新包含大量改进,如对 Python 3.8 至 3.11 的全面测试(大约 1800 个测试)、多种算法性能的提升、笔记本的审查和许多其他改进。
项目简介
Recommenders 项目提供了构建推荐系统的示例和最佳实践,主要通过 Jupyter Notebooks 详细展示了以下五个关键任务:
此外,Recommenders 库还提供了多种实用工具,支持常见任务如加载数据集、评估模型输出和分割训练/测试数据。库中还包含了一些最先进的算法实现,供学习和在实际应用中定制。
快速开始
我们推荐使用 conda 进行环境管理,并使用 VS Code 进行开发。以下是在 Linux/WSL 上安装 Recommenders 包并运行示例笔记本的步骤:
关于在其他平台(如 Windows 和 macOS)上的安装和不同配置(如 GPU、Spark 和实验特性)的更多信息,请参阅 Setup Guide。
除了核心包,Recommenders 还提供了几个额外的包,包括:
[gpu]
:用于运行 GPU 模型。[spark]
:用于运行 Spark 模型。[dev]
:用于仓库开发。[all]
:包含[gpu]
、[spark]
和[dev]
。[experimental]
:包含未经过充分测试和/或可能需要额外安装步骤的模型。支持的算法
Recommenders 库目前支持多种推荐算法,以下是部分算法的简介及其示例:
结束语
Recommenders 库为开发推荐系统提供了丰富的资源和工具,无论是初学者还是有经验的开发者都能从中受益。通过详细的文档和多种示例,你可以快速上手并在不同的应用场景中实现推荐系统。如果你对推荐系统感兴趣,建议你深入探索 Recommenders 库中的各个示例,并根据自己的需求进行定制和扩展。
进一步学习和支持
文档和资源
Recommenders 提供了详细的文档和资源,帮助你更好地理解和使用该库:
社区和支持
Recommenders 项目由一个活跃的社区支持,你可以通过以下方式获取帮助或参与贡献:
安装和环境配置
为了方便开发和环境管理,Recommenders 推荐使用 conda。以下是关于环境配置的一些重要提示:
pip install recommenders
安装核心包,适用于大多数 CPU 环境。[gpu]
:pip install recommenders[gpu]
,适用于需要 GPU 支持的模型。[spark]
:pip install recommenders[spark]
,适用于需要 Spark 支持的模型。[dev]
:pip install recommenders[dev]
,适用于开发和测试。[all]
:pip install recommenders[all]
,包含以上所有额外功能。[experimental]
:pip install recommenders[experimental]
,包含实验性模型和功能。示例运行
以下是一个快速示例,展示如何使用 Recommenders 运行一个 Jupyter Notebook:
# 安装 gcc(如果尚未安装) sudo apt install gcc # 创建并激活新的 conda 环境 conda create -n recommenders_env python=3.9 conda activate recommenders_env # 安装 Recommenders 核心包 pip install recommenders # 创建 Jupyter 内核 python -m ipykernel install --user --name recommenders_env --display-name "Recommenders Env"
git clone https://github.com/recommenders-team/recommenders.git
examples/00_quick_start/sar_movielens.ipynb
。通过这些步骤,你可以轻松上手 Recommenders 库,开始构建和优化自己的推荐系统。希望这篇文章能帮助你更好地理解和使用 Recommenders 库,祝你在推荐系统的探索之旅中取得成功!