recommenders

2025-12-10 0 491

什么是新的(2025年4月)

我们达到了20,000星!

我们很高兴地宣布,我们已经在Github上达到了20,000颗星!感谢您对recommenders项目的支持和贡献。我们很高兴能在您的帮助下继续构建和改进该项目。

查看发布recommenders 1.2.1!

由于依赖关系,提高了安全性,审查了笔记本电脑和库,我们修复了许多错误。

介绍

recommenders目标是协助研究人员,开发人员和爱好者进行原型制作,进行实验,并为一系列经典和最先进的推荐系统提供生产。

recommenders是AI和数据基础下的一个项目。

该存储库包含用于构建推荐系统的示例和最佳实践,作为Jupyter笔记本电脑。示例详细介绍了我们对五个关键任务的学习:

  • 准备数据:为每种建议算法准备和加载数据。
  • 模型:使用各种经典和深度学习建议算法(例如交替的最小二乘(ALS)或极端深度分解机器(XDEEPFM))建立模型。
  • 评估:评估具有离线指标的算法。
  • 模型选择和优化:调整和优化推荐模型的超参数。
  • 操作:在生产环境中在Azure上操作模型。

recommenders人中提供了几种公用事业,以支持常见任务,例如以不同算法预期的格式加载数据集,评估模型输出以及拆分培训/测试数据。包括几种最先进算法的实现用于您自己的应用程序中的自学和自定义。请参阅recommenders文档。

有关存储库的更详细概述,请参阅Wiki页面上的文档。

有关应用推荐系统的某些实际场景,请参见方案。

入门

我们推荐Conda进行环境管理和VS开发代码。要安装recommenders包并在Linux/WSL上运行示例笔记本:

recommenders package. It can run all the CPU notebooks.
pip install recommenders

# 4. create a Jupyter kernel
python -m ipykernel install –user –name <environment_name> –display-name <kernel_name>

# 5. Clone this repo within VSCode or using command line:
git clone https://gi*thu*b.*com/recommenders-team/ recommenders .git

# 6. Within VSCode:
# a. Open a notebook, e.g., examples/00_quick_start/sar_movielens.ipynb;
# b. Select Jupyter kernel <kernel_name>;
# c. Run the notebook.\”>

 # 1. Install gcc if it is not installed already. On Ubuntu, this could done by using the command
# sudo apt install gcc

# 2. Create and activate a new conda environment
conda create -n < environment_name > python=3.9
conda activate < environment_name >

# 3. Install the core recommenders package. It can run all the CPU notebooks.
pip install recommenders

# 4. create a Jupyter kernel
python -m ipykernel install --user --name < environment_name > --display-name < kernel_name >

# 5. Clone this repo within VSCode or using command line:
git clone https://gi*thu*b.*com/recommenders-team/ recommenders .git

# 6. Within VSCode:
#   a. Open a notebook, e.g., examples/00_quick_start/sar_movielens.ipynb;  
#   b. Select Jupyter kernel <kernel_name>;
#   c. Run the notebook.

有关其他平台上设置的更多信息(例如,Windows和MacOS)以及不同的配置(例如GPU,SPARK和实验功能),请参见“设置指南”。

除核心包外,还提供了几个附加功能,包括:

  • [GPU]:运行GPU模型所需。
  • [SPARK]:运行火花模型所需。
  • [DEV]:回购需要开发。
  • [all]:[GPU] | [SPARK] | [DEV]
  • [实验]:未经彻底测试和/或可能需要其他安装步骤的模型。

算法

下表列出了存储库中当前可用的建议算法。笔记本在示例列下链接为快速启动,展示了易于运行的算法示例或深入潜水,并详细解释了该算法的数学和实现。

算法 类型 描述 例子
交替的最小二乘(ALS) 协作过滤 矩阵分解算法用于大型数据集中的显式或隐式反馈,优化了可扩展性和分布式计算能力。它在Pyspark环境中起作用。 快速入门 /深度潜水
专注于异步奇异值分解(A2SVD) * 协作过滤 基于顺序的算法,旨在使用注意机制捕获长期和短期用户偏好。它在CPU/GPU环境中起作用。 快速开始
玉米/贝叶斯个性化排名(BPR) 协作过滤 用于预测用隐式反馈的项目排名的矩阵分解算法。它在CPU环境中起作用。 深入潜水
玉米/双边自动编码器(Bivae) 协作过滤 二元数据的生成模型(例如,用户项目交互)。它在CPU/GPU环境中起作用。 深入潜水
卷积序列嵌入建议(Caser) 协作过滤 基于卷积的算法,旨在捕获用户的一般偏好和顺序模式。它在CPU/GPU环境中起作用。 快速开始
深度知识感知网络(DKN) * 基于内容的过滤 深度学习算法结合了知识图和文章嵌入,以提供新闻或文章建议。它在CPU/GPU环境中起作用。 快速入门 /深度潜水
极端深度分解机(XDEEPFM) * 协作过滤 基于深度学习的算法,用于具有用户/项目功能的隐式和明确反馈。它在CPU/GPU环境中起作用。 快速开始
嵌入点偏差 协作过滤 通用算法具有嵌入式和偏见的用户和项目。它在CPU/GPU环境中起作用。 快速开始
LightFM/分解机 协作过滤 分解机器算法,用于隐式和显式反馈。它在CPU环境中起作用。 快速开始
LightGBM/梯度提升树* 基于内容的过滤 在基于内容的问题中,用于快速训练和低内存使用的梯度增强树算法。它在CPU/GPU/PYSPARK环境中起作用。 快速启动CPU / Deep Dive in Pyspark
Lightgcn 协作过滤 深度学习算法简化了GCN的设计,以预测隐式反馈。它在CPU/GPU环境中起作用。 深入潜水
geoimc * 协作过滤 矩阵完成算法,使用Riemannian共轭梯度优化考虑用户和项目功能,并遵循几何方法。它在CPU环境中起作用。 快速开始
gru 协作过滤 基于顺序的算法旨在使用复发性神经网络捕获长期和短期用户偏好。它在CPU/GPU环境中起作用。 快速开始
多项式VAE 协作过滤 用于预测用户/项目交互的生成模型。它在CPU/GPU环境中起作用。 深入潜水
具有长期和短期用户表示(LSTUR) *的神经建议* 基于内容的过滤 神经建议算法,用于推荐具有长期和短期用户兴趣建模的新闻文章。它在CPU/GPU环境中起作用。 快速开始
细心的多视图学习(NAML)的神经建议* 基于内容的过滤 神经建议算法,用于推荐细心的多视图学习新闻文章。它在CPU/GPU环境中起作用。 快速开始
神经协作过滤(NCF) 协作过滤 深度学习算法具有增强性能的用户/项目隐式反馈。它在CPU/GPU环境中起作用。 快速入门 /深度潜水
具有个性化注意的神经建议(NPA) * 基于内容的过滤 神经建议算法,用于推荐具有个性化注意网络的新闻文章。它在CPU/GPU环境中起作用。 快速开始
多头自我注意(NRMS)的神经建议* 基于内容的过滤 神经推荐算法,用于推荐具有多头自我注意的新闻文章。它在CPU/GPU环境中起作用。 快速开始
下一个项目推荐(NextItnet) 协作过滤 基于扩张的卷积和剩余网络的算法,旨在捕获顺序模式。它考虑了用户/项目交互和功能。它在CPU/GPU环境中起作用。 快速开始
受限的玻尔兹曼机器(RBM) 协作过滤 基于神经网络的算法,用于学习明确或隐式用户/项目反馈的潜在概率分布。它在CPU/GPU环境中起作用。 快速入门 /深度潜水
Riemannian低级矩阵完成(RLRMC) * 协作过滤 使用Riemannian共轭梯度优化的矩阵分解算法,并使用少量的存储器消耗来预测用户/项目交互。它在CPU环境中起作用。 快速开始
简单算法供推荐(SAR) * 协作过滤 基于相似性的算法,用于隐式用户/项目反馈。它在CPU环境中起作用。 快速入门 /深度潜水
自我牵键的顺序推荐(SASREC) 协作过滤 基于变压器的算法,用于顺序建议。它在CPU/GPU环境中起作用。 快速开始
短期和长期偏好综合推荐人(SLI-REC) * 协作过滤 基于顺序的算法,旨在使用注意机制,时间吸引的控制器和内容感知的控制器捕获长期和短期用户偏好。它在CPU/GPU环境中起作用。 快速开始
多感知的顺序用户建模(sum) * 协作过滤 增强的基于内存网络的顺序用户模型,旨在捕获用户的多重兴趣。它在CPU/GPU环境中起作用。 快速开始
通过个性化变压器(SSEPT)进行顺序推荐 协作过滤 基于变压器的算法,用于用户嵌入的顺序推荐。它在CPU/GPU环境中起作用。 快速开始
标准vae 协作过滤 用于预测用户/项目交互的生成模型。它在CPU/GPU环境中起作用。 深入潜水
惊喜/单数值分解(SVD) 协作过滤 用于预测小数据集中显式评级反馈的矩阵分解算法。它在CPU/GPU环境中起作用。 深入潜水
术语频率 – 逆文档频率(TF -IDF) 基于内容的过滤 简单的基于相似性的算法,用于使用文本数据集的基于内容的建议。它在CPU环境中起作用。 快速开始
Vowpal Wabbit(VW) * 基于内容的过滤 快速的在线学习算法,非常适合用户功能 /上下文不断变化的方案。它使用CPU进行在线学习。 深入潜水
宽而深 协作过滤 深度学习算法可以记住特征交互并概括用户功能。它在CPU/GPU环境中起作用。 快速开始
XLEARN/分解机(FM)和现场感知FM(FFM) 协作过滤 快速和内存有效的算法可预测具有用户/项目功能的标签。它在CPU/GPU环境中起作用。 深入潜水

注意*指示由Microsoft发明/贡献的算法。

独立或孵化算法和实用程序是贡献文件夹的候选者。这将容纳可能不容易适合核心存储库或需要时间来重构或成熟代码并添加必要的测试的贡献。

算法 类型 描述 例子
sarplus * 协作过滤 优化SAR的SAR SPARK 快速开始

算法比较

我们提供了一个基准笔记本,以说明如何评估和比较不同的算法。在此笔记本中,使用分层分配的Movielens数据集将其分为75/25的训练/测试集。使用下面的每种协作过滤算法对推荐模型进行了训练。我们利用此处文献中报道的经验参数值。对于排名指标,我们使用k = 10(推荐的十个项目)。我们在具有4个CPU,30GB RAM和1 GPU GEFORCE GTX 1660 Ti的机器上进行比较,具有6GB的内存。 Spark ALS以本地独立模式运行。在此表中,我们显示了Movielens 100K的结果,运行了15个时期的算法。

算法 地图 ndcg@k precision@k 回想@k RMSE r 2 解释的差异
ALS 0.004732 0.044239 0.048462 0.017796 0.965038 0.753001 0.255647 0.251648
Bivae 0.146126 0.475077 0.411771 0.219145 N/A。 N/A。 N/A。 N/A。
bpr 0.132478 0.441997 0.388229 0.212522 N/A。 N/A。 N/A。 N/A。
胚胎 0.018954 0.117810 0.104242 0.042450 0.992760 0.776040 0.223344 0.223393
Lightgcn 0.088526 0.419846 0.379626 0.144336 N/A。 N/A。 N/A。 N/A。
NCF 0.107720 0.396118 0.347296 0.180775 N/A。 N/A。 N/A。 N/A。
sar 0.110591 0.382461 0.330753 0.176385 1.253805 1.048484 -0.569363 0.030474
SVD 0.012873 0.095930 0.091198 0.032783 0.938681 0.742690 0.291967 0.291971

贡献

该项目欢迎贡献和建议。在贡献之前,请参阅我们的贡献指南。

该项目遵守此行为守则,以促进一个欢迎和鼓舞人心的社区。

建立状态

这些测试是夜间构建,它计算异步测试。主要是我们的主要分支,分期是我们的开发分支。我们使用PYTEST在recommenders测试Python实用程序,并为笔记本电脑recommenders笔记本执行程序进行测试。

有关测试管道的更多信息,请参阅测试文档。

Azureml夜间建造状态

夜间建造测试每天在Azureml上进行。

构建类型 分支 地位 分支 地位
Linux CPU 主要的 舞台
Linux GPU 主要的 舞台
Linux火花 主要的 舞台

参考

  • 免费课程:M。González-Fierro,“推荐系统:实用介绍”,LinkedIn Learning,2024。可在此链接上可用。
  • D. Li,J。Lian,L。Zhang,K。Ren,D。Lu,T。Wu,X。Xie,“推荐系统:边境和实践”,Springer,北京,2024年。此链接可用。
  • A. Argyriou, M。González -Fierro recommenders L.
  • S. Graham,JK Min,T。Wu,“ Microsoft recommenders :加速发展推荐系统的工具”, Recsys \’19:2019年第13届ACM会议会议,2019年。
  • L. Zhang,T。Wu,X。Xie,A。Argyriou,M。González-Fierro和J. Lian,“规模规模建筑生产的建议系统”, ACM SIGKDD知识发现与数据挖掘会议2019年(KDD 2019) ,2019年,2019年,2019年。

下载源码

通过命令行克隆项目:

git clone https://github.com/recommenders-team/recommenders.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 recommenders https://www.zuozi.net/33857.html

fswatch
上一篇: fswatch
tinyraytracer
下一篇: tinyraytracer
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务