zoukankan      html  css  js  c++  java
  • spark.mllib

    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位的整型值。

  • 相关阅读:
    Oracle求连续的年份
    关于Extjs MVC模式上传文件的简单方式
    后进先出 stack、 先进先出Queue
    python的文件操作
    C#的接口
    C#的访问级别
    C#的继承
    SQL查询语句 常用示例
    SQL Server数据库常用函数
    数据库建立和连接
  • 原文地址:https://www.cnblogs.com/xl717/p/11612338.html
Copyright © 2011-2022 走看看