10、使用Spark构建推荐引擎

使用Spark构建推荐引擎

1. 基于隐式反馈数据训练模型

标准的矩阵分解方法在MLlib中处理显式评分。若要处理隐式数据,可以使用 trainImplicit 方法,它的调用方式与标准的 train 方法类似,不过多了一个可设置的参数 alpha 。同时,正则化参数 lambda 应通过测试和交叉验证方法来选择。

alpha 参数控制应用的置信权重基线水平。较高的 alpha 值会使模型更确信缺失数据意味着相关用户 - 项目对没有偏好。

可以尝试将现有的MovieLens数据集转换为隐式数据集,有以下两种方法:
- 转换为二进制反馈 :通过在某个评分水平上设置阈值,将评分转换为二进制反馈(0和1)。
- 转换为置信权重 :将评分值转换为置信权重,例如低评分可能意味着零权重甚至负权重,MLlib的实现支持负权重。

在转换后的数据集上训练模型,并将结果与隐式模型生成的结果进行比较。

2. 使用推荐模型

训练好模型后,可用于进行预测,通常有两种形式:为给定用户生成推荐项目和为给定项目找到相关或相似项目。

2.1 用户推荐

为给定用户生成推荐项目,通常以top - K列表的形式呈现,即模型预测用户最可能喜欢的K个项目。这通过计算每个项目的预测得分并根据得分对列表进行排序来实现。

计算方法取

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值