【大数据技术与推荐系统(8)】Spark推荐算法实战

文章目录

    • Spark MLlib概述
    • MLlib推荐算法介绍
    • MLlib推荐算法实战

Spark MLlib概述

  • MLLib 是基于Spark 引擎实现的机器学习算法库
  • 良好的扩展性和容错性
    • 充分利用了Spark 扩展性和容错性
  • 属于Spark 生态系统重要组成部分
  • 实现了大部分常用的数据挖掘算法
    • 聚类算法
    • 分类算法
    • 推荐算法

MLlib分类算法
【大数据技术与推荐系统(8)】Spark推荐算法实战_第1张图片
MLlib聚类算法
【大数据技术与推荐系统(8)】Spark推荐算法实战_第2张图片

MLlib推荐算法介绍

Spark协同过滤的实现
【大数据技术与推荐系统(8)】Spark推荐算法实战_第3张图片
MLlib协同过滤算法:ALS

【大数据技术与推荐系统(8)】Spark推荐算法实战_第4张图片

MLlib协同过滤实现

  • 基于ALS(alternating least squares)的协同过滤算法,涉及参数如下:
    • numBlocks: 计算并行度(若为-1表示自动化配置)
    • Rank:模型中隐含影响因子,默认是10
    • Iterations:迭代次数,默认是10
    • Lambda:ALS中正则化参数
    • implicitPrefs:是否使用显式反馈变量或使用隐式反馈数据的变量
    • Alpha:ALS中的一个参数,作用于隐式反馈变量,控制基本的信心度

MLlib推荐算法实战

推荐系统构建流程
【大数据技术与推荐系统(8)】Spark推荐算法实战_第5张图片
MLlib ALS推荐流程

  1. 加载数据集
  2. 将数据集解析成ALS要求的格式
  3. 将数据集分割成两部分:训练集和测试集
  4. 运行ALS,产生并评估模型
  5. 将最终模型用于推荐

样本数据集

【大数据技术与推荐系统(8)】Spark推荐算法实战_第6张图片

实例:MLlib实现电影评分

  • 数据:MovieLens 1M数据集
  • 需求:
    • 统计ratings, movies和users的数量
    • 找到最活跃的用户,并找出此用户对哪些电影评分高于4
    • 使用ALS构建电影评分模型
    • 预测结果并评估模型
  • 步骤:
    • 加载数据来创建DataFrames
    • 探索和查询Spark DataFrames,完成统计分析
    • 构建模型

实例代码仓库地址:我的推荐系统学习求职之路

你可能感兴趣的:(推荐系统实践)