码迷,mamicode.com
首页 > 其他好文 > 详细

spark.mllib

时间:2019-09-30 14:26:49      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:矩阵分解   --   类型   预测   包含   用户   apach   user   lambda   

import org.apache.spark.mllib.recommendation.{ALS,MatrixFactorizationModel,Rating}

----------------------------------------
ALS:最小二乘法
求解矩阵分解问题的最优化方法。
其实,就是补充二维矩阵中缺失的打分。

输入:显性数据-train,隐形数据-trainImplicit()
输出:MatrixFactorizationModel矩阵分解模型,

train参数:
•numBlocks 是用于并行化计算的分块个数 (设置为-1,为自动配置)。
•ratings:RDD[Rating]
•rank 是模型中隐语义因子的个数。
•iterations 是迭代的次数。
•lambda 是ALS的正则化参数。
•implicitPrefs 决定了是用显性反馈ALS的版本还是用适用隐性反馈数据集的版本。
•alpha 是一个针对于隐性反馈 ALS 版本的参数,这个参数决定了偏好行为强度的基准。

训练模型
ALS.train(ratings,rank,numIterations,lambda,(alpha))

------------------------------------------
MatrixFactorizationModel矩阵分解模型
该模型将用户因子和物品因子分别保存在一个(id,factor)对类型的RDD中。
分别称作userFeatures和productFeatures.各因子factor的类型是Array[Double].
可以保存在分布式文件系统上。

方法:
predict(userid,productid),返回值是预测评分
recommendProducts(userid,numProducts),给一个给定的用户推荐前numProducts个产品

计算给定用户对某个物品的预计评级: 从用户因子矩阵取相应的行和物品因子矩阵取列,然后计算点积即可。
------------------------------------------
Rating:评分类
每个对象都包含一个用户id,一个产品id和一个评分。
要求:每个id都是一个32位的整型值。

 

spark.mllib

标签:矩阵分解   --   类型   预测   包含   用户   apach   user   lambda   

原文地址:https://www.cnblogs.com/xl717/p/11612338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!