zoukankan      html  css  js  c++  java
  • Spark 2.2.0 文档中文版 Collaborative Filtering 协同过滤 JAVA推荐系统

      协同过滤常用于推荐系统,这项技术旨在填补 丢失的user-item关联矩阵 的条目,spark.ml目前支持基于模型的协同过滤(用一些丢失条目的潜在因素在描述用户和产品)。spark.ml使用ALS(交替最小二乘法)去学习这些潜在因素。在spark.ml中的实现有以下参数:

    numBlocks:块的数量,user和item将被分成多少块,以并行计算。(默认10)

    ranK:模型隐含因素的个数。(默认10)

    maxIter:模型的最大迭代次数。(默认10)

    regParam :ALS的正则化参数。(默认1.0)

    implicitPrefs :使用显式反馈还是隐式反馈。(默认false,即显式反馈)

    alpha:信心权重所应达到的基准线。(默认1.0)

    nonnegative :是否使用非负数的约束。(默认false)

      注意:基于dataFrame - API的ALS目前只支持整数型的userID和itemID,其他数字类型也支持,但是取值范围必须在整数之内。

    显式反馈VS隐式反馈

      标准的基于矩阵分解的协同过滤方法对待user-item矩阵的条目项 是显式地给出user对item的偏好,例如,用户给电影评级。

      而现实生活中常见案例是只能有隐式反馈(例如:视图,点击鼠标,购买,喜欢,分享……)。在spark.ml中使用的方法是:对隐式反馈数据集的协同过滤。实际上,这种方法不是直接对数据矩阵进行建模,而是将数据视为代表用户行为意愿强度的数字(例如点击的次数或某人累积观看电影的时间)。然后,这些数字与观察到的用户偏好的置信水平相关,而不是给予项目的明确评级。 然后,该模型尝试找到可用于预测用户对项目的预期偏好的潜在因素。

     
  • 相关阅读:
    python基础--(hashlib,configparser,logging)模块功能
    java发送邮件
    Struts2和SpringMVC的action是单例还是原型的?
    HashSet存储过程中如何排除不同的自定义对象?
    使用win32Diskimager后恢复U盘(合并U盘容量)
    linux进程与端口
    centos 7.6 忘记root密码
    Authentication token is no longer valid; new one required You (oracle) are not allowed to access to (crontab) because of pam configuration.
    存储过程
    oracle extract()函数
  • 原文地址:https://www.cnblogs.com/taoshiqian/p/7206380.html
Copyright © 2011-2022 走看看