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

  • 相关阅读:
    2020软件工程作业02
    自我介绍
    Requests的使用
    爬虫基本原理
    2019春总结作业
    十二周作业
    十一周作业
    第十周作业
    intellij idea 的全局搜索快捷键方法
    Oracle多表关联
  • 原文地址:https://www.cnblogs.com/xl717/p/11612338.html
Copyright © 2011-2022 走看看