ALS协同过滤推荐算法在pySpark MLlib机器学习库源码解析

本文深入解析Spark MLlib的recommendation.py库,重点介绍了ALS协同过滤算法的实现,包括Rating类、ALS类及其训练显式和隐式反馈的函数,以及MatrixFactorizationModel类的特征矩阵和预测方法。通过对源码的分析,展示了如何进行用户和物品的评分预测及推荐。
摘要由CSDN通过智能技术生成


Spark MLlib中实现ALS协同过滤推荐算法的库为recommendation.py,这可库有以下三个类

__all__ = ['MatrixFactorizationModel', 'ALS', 'Rating']


    -a. Rating   算法的输入,包括用户对物品的评价,为三元组
        class Rating(namedtuple("Rating", ["user", "product", "rating"]))
        user、producet整型数据,通常使用ID表示
        rating数值型(double)数据
    -b. ALS
        这就是算法的实现类,有两个函数,分别对显式反馈和隐式反馈评价:
        - 显式反馈
             ALS.train(ratings, rank, iterations=5, lambda_=0.01, blocks=-1, nonnegative=False, seed=None)
      ratings:ratings: RDD[Rating],   通过Rating函数转换够的需要训练的数据集

      rank:特征数目,模型中隐藏因子数,参考设置在10 - 20

      iterations=5 : 迭代次数,默认5,一般设置在10-20次

      lambda: Double

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值