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

  • 相关阅读:
    Tomcat笔记
    HAProxy简介
    Ansible简介与实验
    DHCP&PXE&Cobbler简单实现
    Keepalived实现LVS-DR集群高可用
    Web of Science爬虫(WOS、SCI):风车WOS下载器
    梦境时分,记录梦境
    基层码农谈领导力
    企业部署 Kubernetes 的终极目标是什么
    Scrum 敏捷实践中的三大角色
  • 原文地址:https://www.cnblogs.com/xl717/p/11612338.html
Copyright © 2011-2022 走看看