import org.apache.spark.mllib.recommendation.{ALS, Rating} import org.apache.spark.{SparkConf, SparkContext} object demo01 { def main(args: Array[String]): Unit = { val conf=new SparkConf().setMaster("local").setAppName("demo1") val sc=new SparkContext(conf) val data=sc.textFile("D:\\bigdata\\data\\ml\\u.data") val ratings=data.map{x=> val info=x.split("\\t") val userId=info(0).toInt val movieId=info(1).toInt val score=info(2).toDouble Rating(userId,movieId,score) } //建立推荐系统模型,底层通过ALS算法来求解 //①参:数据集 //②参 隐藏因子k的数量不宜过大,避免产生过大的计算代价,介于u和i之间 //③参:最大迭代次数,生产环境建议多一些,使其充分收敛 //④参 λ正则化参数,引入正则化参数,防止模型过拟合 val model=ALS.train(ratings,50,15,0.01) val moviedata=sc.textFile("D://bigdata/data/ml/u.item") def getmovie(userId:Int,num:Int)={ val
推荐系统模型-基于用户推荐
于 2022-05-14 23:11:24 首次发布
该博客演示了如何在Scala中利用Apache Spark的MLlib库实现一个基于ALS的推荐系统模型。首先,从文件读取用户-电影评分数据,然后将数据转换为Rating对象。接着,配置SparkConf并创建SparkContext。通过ALS.train方法训练推荐系统模型,设置隐藏因子数量、最大迭代次数和正则化参数。最后,对模型进行保存,并展示了如何根据用户ID推荐电影。
摘要由CSDN通过智能技术生成