基于Spark MLlib平台和基于模型的协同过滤算法的电影推荐系统(二)代码实现

本文是基于Spark MLlib的电影推荐系统实现的第二部分,主要介绍如何通过设置避免过多INFO输出,导入推荐系统所需库,加载并解析数据到RDD Rating对象,以及使用ALS算法进行训练,包括参数如维度(rank)、迭代次数和正则化参数的选择。后续将详细阐述预测过程及结果整合。
摘要由CSDN通过智能技术生成

上接基于Spark MLlib平台和基于模型的协同过滤算法的电影推荐系统(一)


1.  设置不打印一堆INFO信息(减少打印量 保证Shell页面清晰干净) 

      sc.setLogLevel("WARN")

2.   导入相关recommendation包中相关类,加载数据,并解析到RDD【Rating】对象

①导入相关recommendation包,其中recommendation._的含义是导入recommendation包中全部类
scala> import org.apache.spark.mllib.recommendation._
import org.apache.spark.mllib.recommendation._

②加载数据;匹配模式;user product rating的类型是Int Int Double,需要转换;
scala> val data = sc.textFile("/root/cccc.txt").map(_.split(",") match {case Array (user,product,rating) => Rating (user.toInt,product.toInt,rating.toDouble)})
data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating] = MapPartitionsRDD[29] at map at <console>:24
或者:val data = sc.textFile("/root/cccc.txt").map(_.split(",");Rating(f(0).toInt,f(1).toInt,f(2).toDouble) //这句运行有错。
/**如果不用模式匹配 还可以用if判断(本身case就是if的另一种形式)**/
【附加:.first可以查看数据的第一行;.count可以统计数据的行数
scala> data.first
res24: org.apache.spark.mllib.recommendation.Rating = Rating(1,1,5.0)

scala> data.count
res25: Long = 16  


二:设置参
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值