首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >协同过滤火花python

协同过滤火花python
EN

Stack Overflow用户
提问于 2020-06-08 21:00:17
回答 1查看 240关注 0票数 2

我只想将10行数据存储到json。但是他不是10行,而是保存了一切。

代码语言:javascript
复制
userRecs = model.recommendForAllUsers(10)

  • 这个节目10然后我保存:

代码语言:javascript
复制
userRecs.coalesce(1).write.mode('overwrite').json("gs://imdbcc1/ML/userrecs")

但它给了我20万张唱片。我只想省下10个

代码语言:javascript
复制
(training, test) = ratings.randomSplit([0.8, 0.2])
als = ALS(maxIter=10, regParam=1, userCol="user_id", itemCol="tconst", ratingCol="rating", coldStartStrategy="drop")
model = als.fit(training)
#Evaluate the model by computing the RMSE on the test data
predictions = model.transform(test)
evaluator = RegressionEvaluator(metricName="rmse", labelCol="rating", predictionCol="prediction")
rmse = evaluator.evaluate(predictions)
print("Root-mean-square error = " + str(rmse))
#Generate top 10 movie recommendations for each user
userRecs = model.recommendForAllUsers(10)
userRecs.coalesce(1).write.mode('overwrite').json("gs://imdbcc1/ML/userrecs")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 22:01:59

代码语言:javascript
复制
#Generate top 10 movie recommendations for each user
userRecs = model.recommendForAllUsers(10)

意味着对所有的用户来说,你是前十名电影推荐的。但是所有的唱片都会有前十名的推荐。

在使用limit(10)之前,必须对10个用户使用coalese (在前10位推荐的数据中)

像这样

代码语言:javascript
复制
userRecs.limit(10).coalesce(1).write.mode('overwrite').json("gs://imdbcc1/ML/userrecs")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62271101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档