spark的ALS协同过滤查询
时间: 2024-01-11 09:22:06 浏览: 83
根据提供的引用内容,以下是一个使用Spark的ALS协同过滤算法进行查询的示例程序:
```python
from pyspark.ml.recommendation import ALS
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("ALS Recommendation").getOrCreate()
# 加载训练数据
data = spark.read.csv("train_data.csv", header=True, inferSchema=True)
# 创建ALS模型
als = ALS(userCol="userId", itemCol="itemId", ratingCol="rating", coldStartStrategy="drop")
model = als.fit(data)
# 查询用户的推荐商品
user_id = 1
recommendations = model.recommendForUserSubset(spark.createDataFrame([(user_id,)], ["userId"])).collect()[0][1]
# 打印推荐结果
for row in recommendations:
print("User:", row.userId)
print("Recommended Items:", row.recommendations)
# 关闭SparkSession
spark.stop()
```
这个示例程序使用Spark的ALS算法模型对训练数据进行训练,并根据用户ID查询推荐的商品。你可以将训练数据替换为你自己的数据集,并将用户ID更改为你想要查询的用户ID。
阅读全文