【Python使用】嘿马推荐系统全知识和项目开发教程第1篇:1.1 推荐系统简介,1.2 推荐系统设计【附代码文档】

69 阅读1分钟

教程总体简介:1.1 推荐系统简介 学习目标 1 推荐系统概念及产生背景 2 推荐系统的工作原理及作用 3 推荐系统和Web项目的区别 1.3 推荐算法 1 推荐模型构建流程 2 最经典的推荐算法:协同过滤推荐算法(Collaborative Filtering) 3 相似度计算(Similarity Calculation) 4 协同过滤推荐算法代码实现: 二 根据用户行为数据创建ALS模型并召回商品 2.0 用户行为数据拆分 2.1 预处理behavior_log数据集 2.2 根据用户对类目偏好打分训练ALS模型 三 CTR预估数据准备 3.1 分析并预处理raw_sample数据集 1.3 Hadoop优势 4.4 大数据产品与互联网产品结合 4.5 大数据应用--数据分析 4.6 数据分析案例 5.3 HBase 的安装与Shell操作 1 HBase的安装 2.3 HDFS设计思路 4.3 Hive 函数 1 内置运算符 2 内置函数 3 Hive 自定义函数和 Transform MapReduce实战 3.3.1 利用MRJob编写和运行MapReduce代码 3.3.2 运行MRJOB的不同方式 3.3.3 mrjob 实现 topN统计(实验) spark-core RDD常用算子练习 3.1 RDD 常用操作 3.2 RDD Transformation算子 3.4 Spark RDD两类算子执行示意 3、JSON数据的处理 3.1 介绍 3.2 实践 3.1 静态json数据的读取和操作 5.4 HappyBase操作Hbase 4.4 hive综合案例 四 LR实现CTR预估 4.1 Spark逻辑回归(LR)训练点击率预测模型 4、数据清洗 5.6 HBase组件 1、sparkStreaming概述 spark-core实战 5.1通过spark实现ip地址查询 五 离线推荐数据缓存 5.1离线数据缓存之离线召回集 1.4 案例--基于协同过滤的电影推荐 1 User-Based CF 预测电影评分 3 spark 安装部署及standalone模式介绍 1 spark 安装部署 3 spark 集群相关概念 六 实时产生推荐结果 6.1 推荐任务处理 推荐系统基础 Hadoop Hive HBase Spark SQL 1.6 推荐系统的冷启动问题 2 处理推荐系统冷启动问题的常用方法 一 个性化电商广告推荐系统介绍 1.2 项目效果展示 1.3 项目实现分析 1.4 点击率预测(CTR--Click-Through-Rate)概念 资源调度框架 YARN 3.1.1 什么是YARN 3.1.2 YARN产生背景 3.1.3 YARN的架构和执行流程 基于回归模型的协同过滤推荐 基于矩阵分解的CF算法 基于矩阵分解的CF算法实现(二):BiasSvd 基于内容的推荐算法(Content-Based) 基于内容的电影推荐:物品画像 基于TF-IDF的特征提取技术 基于内容的电影推荐:为用户产生TOP-N推荐结果 2、DataFrame 分布式处理框架 MapReduce 3.2.1 什么是MapReduce

完整笔记资料代码:gitee.com/yinuo112/Ba…

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

1.1 推荐系统简介

学习目标

  • 了解推荐系统概念及产生背景

  • 记忆推荐系统工作原理及作用

  • 了解推荐系统与web项目区别

1 推荐系统概念及产生背景

个性化推荐(推荐系统)经历了多年的发展,已经成为互联网产品的标配,也是AI成功落地的分支之一,在电商(淘宝/京东)、资讯(今日头条/微博)、音乐(网易云音乐/音乐)、短视频(抖音/快手)等热门应用中,推荐系统都是核心组件之一。

  • 什么是推荐系统

没有明确需求的用户访问了我们的服务, 且服务的物品对用户构成了信息过载, 系统通过一定的规则对物品进行排序,并将排在前面的物品展示给用户,这样的系统就是推荐系统

  • 信息过载 & 用户需求不明确

    • 分类⽬录(1990s):覆盖少量热门⽹站。典型应用:Hao123 Yahoo
    • 搜索引擎(2000s):通过搜索词明确需求。典型应用:Google Baidu
    • 推荐系统(2010s):不需要⽤户提供明确的需求,通过分析⽤ 户的历史⾏为给⽤户的兴趣进⾏建模,从⽽主动给⽤户推荐能 够满⾜他们兴趣和需求的信息。
  • 推荐系统 V.S. 搜索引擎

搜索推荐

2 推荐系统的工作原理及作用

  • 推荐系统的工作原理

    • 社会化推荐 向朋友咨询, 社会化推荐, 让好友给自己推荐物品
    • 基于内容的推荐 打开搜索引擎, 输入自己喜欢的演员的名字, 然后看看返回结果中还有什么电影是自己没看过的
    • 基于流行度的推荐 查看票房排行榜,
    • 基于协同过滤的推荐 找到和自己历史兴趣相似的用户, 看看他们最近在看什么电影
  • 推荐系统的作用

    • 高效连接用户和物品
    • 提高用户停留时间和用户活跃程度
    • 有效的帮助产品实现其商业价值
  • 推荐系统的应用场景

3 推荐系统和Web项目的区别

  • 通过信息过滤实现目标提升 V.S. 稳定的信息流通系统

    • web项目: 处理复杂业务逻辑,处理高并发,为用户构建一个稳定的信息流通服务
    • 推荐系统: 追求指标增长, 留存率/阅读时间/GMV (Gross Merchandise Volume电商网站成交金额)/视频网站VV (Video View)
  • 确定 V.S. 不确定思维

    • web项目: 对结果有确定预期
    • 推荐系统: 结果是概率问题

1.2 推荐系统设计

学习目标

  • 了解推荐系统要素

  • 记忆推荐系统架构

1 推荐系统要素

  • UI 和 UE(前端界面)

  • 数据 (Lambda架构)

  • 业务知识

  • 算法

2 推荐系统架构

  • 推荐系统整体架构

  • 大数据Lambda架构

    • Lambda架构是由实时大数据处理框架Storm的作者Nathan Marz提出的一个实时大数据处理框架。

    • Lambda架构的将离线计算和实时计算整合,设计出一个能满足实时大数据系统关键特性的架构,包括有:高容错、低延时和可扩展等。

    • 分层架构

      • 批处理层

        • 数据不可变, 可进行任何计算, 可水平扩展

        • 高延迟 几分钟~几小时(计算量和数据量不同)

        • 日志收集: Flume

        • 分布式存储: Hadoop

        • 分布式计算: Hadoop、Spark

        • 视图存储数据库

          • nosql(HBase/Cassandra)
          • Redis/memcache
          • MySQL
      • 实时处理层

        • 流式处理, 持续计算
        • 存储和分析某个窗口期内的数据(一段时间的热销排行,实时热搜等)
        • 实时数据收集 flume & kafka
        • 实时数据分析 spark streaming/storm/flink
      • 服务层

        • 支持随机读
        • 需要在非常短的时间内返回结果
        • 读取批处理层和实时处理层结果并对其归并
    • Lambda架构图

  • 推荐算法架构

    • 召回阶段 (海选)

      • 召回决定了最终推荐结果的天花板

      • 常用算法:

        • 协同过滤
        • 基于内容
    • 排序阶段 (精选)

      • 召回决定了最终推荐结果的天花板, 排序逼近这个极限, 决定了最终的推荐效果
      • CTR预估 (点击率预估 使用LR算法) 估计用户是否会点击某个商品 需要用户的点击数据
    • 策略调整

  • 推荐系统的整体架构

1.3 推荐算法

学习目标

  • 了解推荐模型构建流程

  • 理解协同过滤原理

  • 记忆相似度计算方法

  • 应用杰卡德相似度实现简单协同过滤推荐案例

1 推荐模型构建流程

Data(数据)->Features(特征)->ML Algorithm(选择算法训练模型)->Prediction Output(预测输出)

  • 数据清洗/数据处理

    • 数据来源

      • 显性数据

        • Rating 打分
        • Comments 评论/评价
      • 隐形数据

        • Order history 历史订单
        • Cart events 加购物车
        • Page views 页面浏览
        • Click-thru 点击
        • Search log 搜索记录
    • 数据量/数据能否满足要求

  • 特征工