【spark系列7】协同过滤之ALS
来源:互联网 发布:手机屏幕条纹修复软件 编辑:程序博客网 时间:2024/04/25 20:09
其它步骤请参考【系列4】
注意
单机跑的时候迭代次数如果过大,会出现栈溢出问题。
这里迭代次数设置为5。
scala程序
import org.apache.spark.mllib.recommendation.ALSimport org.apache.spark.mllib.recommendation.Ratingobject ObALS{ def run(){ // Load and parse the data val data = sc.textFile("D:/schoolar_tool/spark-0.9.1/mllib/data/als/test.data") val ratings = data.map(_.split(',') match { case Array(user, item, rate) => Rating(user.toInt, item.toInt, rate.toDouble) }) // Build the recommendation model using ALS val numIterations = 5 val model = ALS.train(ratings, 1, numIterations, 0.01) // Evaluate the model on rating data val usersProducts = ratings.map{ case Rating(user, product, rate) => (user, product)} val predictions = model.predict(usersProducts).map{ case Rating(user, product, rate) => ((user, product), rate) } val ratesAndPreds = ratings.map{ case Rating(user, product, rate) => ((user, product), rate) }.join(predictions) val MSE = ratesAndPreds.map{ case ((user, product), (r1, r2)) => math.pow((r1- r2), 2) }.reduce(_ + _)/ratesAndPreds.count println("Mean Squared Error = " + MSE) }}
运行
scala> ObALS.run
效果
0 0
- 【spark系列7】协同过滤之ALS
- 使用Spark ALS实现协同过滤
- 如何使用Spark ALS实现协同过滤
- 如何使用Spark ALS实现协同过滤
- 如何使用Spark ALS实现协同过滤
- 如何使用Spark ALS实现协同过滤
- 协同过滤之ALS-WR算法
- 协同过滤之ALS-WR算法
- 协同过滤之ALS-WR算法
- 离线轻量级大数据平台Spark之MLib机器学习协同过滤ALS实例
- Spark MLlib之协同过滤
- Spark MLlib之协同过滤
- spark之CF协同过滤
- 协同过滤(ALS)算法原理及Spark MLlib调用实例(Scala/Java/Python)
- 【转载】[协同过滤] : 交替最小二乘法 ALS
- Spark机器学习之协同过滤
- Spark机器学习之协同过滤算法
- 深入理解Spark 2.1 MLlib(一):基于ALS矩阵分解的协同过滤算法与源码分析
- Hadoop2.4.0环境搭建常见问题解答(虚拟机,ubuntu系统)
- 宏定义是替换
- 始于足下 c++ exceptions
- 黑马程序员_学习笔记第19天——File类、递归、Properties、打印流
- Jetty学习【五】 Connector
- 【spark系列7】协同过滤之ALS
- C语言面试题
- 设计模式之外观模式(Facade)
- oracle表空间操作
- 我没有博客,我要有博客
- windows phone 8中使用蓝牙
- 惹端费行巫阶宋誓胀鹤锰
- 黑马程序员_学习笔记第20天——Object流、管道流、数据流
- Android 内核下载