Python Spark创建推荐引擎(2)学习笔记十二

12.6如何训练数据

ALS训练数据格式是RatingRDD数据类型
在这里插入图片描述

12.6.1配置文件读取路径

在这里插入图片描述
以上程序判断
·如果sc.master[0:5]是“local”,代表当前本地运行,读取文本文件。
·sc.master[0:5]不是是“local”,就有可能是YARN client或者Spark Stand Alone,必须读取HDFS文件。

12.6.2导入-100k数据

我们使用sc.textFile读取ml-100k数据集的u.data,并查看数据项数
在这里插入图片描述

12.6.3查看u.data第一项数据

在这里插入图片描述
以上4个字段分别是:用户id、项目id、评价、日期时间。

12.6.4导入Rating模块

在这里插入图片描述

12.6.5读取rawUserRDD前3个字段

在这里插入图片描述

12.6.6准备ALS训练数据

ALS训练数据格式是RatingRDD数据类型,Rating定义如下。
Rating(user,product,rating)
各字段说明:

字段 说明
User 用户
Product 产品</
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Spark 提供了一些强大的库和功能来实现推荐算法。下面是几种常见的推荐算法以及如何在 Python Spark 中实现它们的示例: 1. 基于用户的协同过滤(User-based Collaborative Filtering): ```python from pyspark.ml.recommendation import ALS # 加载数据集,包含用户ID、物品ID和评分 data = spark.read.csv("data.csv", header=True, inferSchema=True) # 创建ALS模型 als = ALS(userCol="userId", itemCol="itemId", ratingCol="rating", coldStartStrategy="drop") model = als.fit(data) # 预测用户对物品的评分 predictions = model.transform(data) # 打印预测结果 predictions.show() ``` 2. 基于物品的协同过滤(Item-based Collaborative Filtering): ```python from pyspark.ml.recommendation import ALS # 加载数据集,包含用户ID、物品ID和评分 data = spark.read.csv("data.csv", header=True, inferSchema=True) # 创建ALS模型 als = ALS(userCol="userId", itemCol="itemId", ratingCol="rating", coldStartStrategy="drop", similarityCol="similarity", useImplicitPrefs=False) model = als.fit(data) # 预测用户对物品的评分 predictions = model.transform(data) # 打印预测结果 predictions.show() ``` 3. 基于矩阵分解的推荐算法(Matrix Factorization): ```python from pyspark.ml.recommendation import ALS # 加载数据集,包含用户ID、物品ID和评分 data = spark.read.csv("data.csv", header=True, inferSchema=True) # 创建ALS模型 als = ALS(userCol="userId", itemCol="itemId", ratingCol="rating", coldStartStrategy="drop", rank=10, maxIter=10) model = als.fit(data) # 预测用户对物品的评分 predictions = model.transform(data) # 打印预测结果 predictions.show() ``` 这些示例展示了如何在 Python Spark使用 ALS(Alternating Least Squares)算法实现推荐系统。你可以根据自己的需求调整参数和数据集,以获得最佳的推荐结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值