python使用spark实现推荐系统_利用Spark MLlib实现协同过滤(ALS)算法实例(Python)

本文介绍了如何使用Spark MLlib的Python API实现协同过滤(Alternating Least Squares, ALS)算法,特别是针对推荐系统的应用。通过示例代码展示了如何训练模型、评估模型性能以及生成用户和项目的推荐。" 57521084,3901209,使用Python在OpenWRT路由器上通过JPush推送消息到手机,"['openwrt', '推送服务', 'Python开发', '移动通信', 'API集成']
摘要由CSDN通过智能技术生成

利用Spark MLlib实现协同过滤(ALS)算法实例(Python)

发布时间:2018-04-07 16:24,

浏览次数:1137

, 标签:

Spark

MLlib

ALS

Python

协作过滤

协同过滤通常用于推荐系统。这些技术旨在填补用户项目关联矩阵的缺失条目。

spark.ml目前支持基于模型的协作过滤,其中用户和产品由一组可用于预测缺失条目的潜在因素来描述。 spark.ml使用交替最小二乘(ALS)

算法来学习这些潜在因素。实现中spark.ml有以下参数:

numBlocks是为了并行化计算而将用户和项目划分到的块的数量(默认为10)。

rank是模型中潜在因素的数量(默认为10)。

maxIter是要运行的最大迭代次数(默认为10)。

regParam指定ALS中的正则化参数(默认为1.0)。

implicitPrefs指定是使用显式反馈 ALS变体还是使用 隐式反馈数据(默认为false使用显式反馈的手段)。

alpha是一个适用于ALS的隐式反馈变量的参数,该变量管理偏好观察值的 基线置信度(默认值为1.0)。

nonnegative指定是否对最小二乘使用非负约束(默认为false)。

注意: ALS的基于DataFrame的API目前仅支持用户和项目ID的整数。用户和项目ID列支持其他数字类型,但ID必须在整数值范围内。

显式与隐式反馈

基于矩阵分解的协同过滤的标准方法将用户项矩阵中的条目视为由用户给予该项的明确偏好,例如,给予电影评级的用户。

在许多真实世界的用例中,通常只能访问隐式反馈(例如查看,点击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值