Spark推荐系统实践

2022-09-16 00:00:00 数据 用户 推荐 院校 度数

推荐系统是根据用户的行为、兴趣等特征,将用户感兴趣的信息、产品等推荐给用户的系统,它的出现主要是为了解决信息过载和用户无明确需求的问题,根据划分标准的不同,又分很多种类别:

  1. 根据目标用户的不同,可划分为基于大众行为的推荐引擎和个性化推荐引擎
  2. 根据数据之间的相关性,可划分为基于人口统计学的推荐和基于内容的推荐

......

通常,我们在讨论推荐系统时主要是针对个性化推荐系统,因为它才是更加智能的信息发现过程。在个性化推荐系统中,协同过滤算法是目前应用成功也是普遍的算法,主要包括两大类,基于用户的协同过滤算法和基于物品的协同过滤算法。

此外,在实际的推荐系统中,往往会针对不同的场景使用不同的策略以及多策略组合,从而达到好的推荐效果。

本篇文章主要通过应用Spark KMeans、ALS以及基于内容的推荐算法来进行推荐系统的构建,具体涉及到的数据、表和代码比较多,后续会在github上给出详细说明。

首先看一下推荐系统的概况图:


下面主要针对推荐算法的应用和推荐过程做详细阐述。

1. 基于Spark KMeans实现对院校聚类

1.1 数据准备

通过院校信息的结构化数据school.txt和school_loca.txt,将两个结构化文件加载到hive表中。

(1)school.txt数据样例

院校id 名称 地址 类型 住宿方式  学费  备用金 运营归属  授权平台 审核状态
1,诺丹姆吉本斯主教中学(Notre Dame-Bishop Gibbons School),纽约州-斯克内克塔迪,混校,寄宿家庭,283047,13289,UC代理,校代网/微信,审核通过
2,毕晓普马金高中(Bishop Maginn High School),纽约州-奥尔巴尼,混校,寄宿家庭,277488,13028,UC代理,校代网/微信,审核通过

相关文章