中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

SimRank

模型接口类别

函数接口

computeSimilarity API

def computeSimilarity(dataset: Dataset[_]): SimRankSimilarity

computeSimilarity API

  • 功能描述

    计算用户与用户、商品和商品之间的相似度。

  • 输入输出
    1. 包名package org.apache.spark.ml.recommendation
    2. 类名:SimRank
    3. 方法名:computeSimilarity
    4. 输入:dataset: Dataset[_],存储用户对商品的使用或查询等信息,至少包含用户和商品两列字段,参数描述如下表

      参数名

      取值类型

      描述

      dataset

      Dataset[_]

      存储用户对商品的使用或查询等信息

    5. 基于原生算法优化的参数

      参数名

      取值类型

      描述

      damp

      Double

      衰减因子

      numIter

      Int

      迭代次数

      userCol

      String

      用户列列名

      itemCol

      String

      商品列列名

      建议选取迭代因子damp为0.6,迭代次数numIter为5。衰减因子选择太小可能导致精度不高,太大可能导致收敛较慢;迭代次数太小可能导致精度下降,太大可能导致计算时间较长。

      代码接口示例:

      val simrank = new SimRank().setDamp(0.6).setNumIter(5).setUserCol(“user”).setItemCol(“item”)
      val simrankSimilarity = simrank.computeSimilarity(df)
      val userSim = simrankSimilarity.userSimilarity
      val itemSim = simrankSimilarity.itemSimilarity
    6. 输出:simrankSimilarity: SimRankSimilarity,包含用户与用户、商品和商品之间的相似度,是一个case class,包含两个变量

      参数名

      取值类型

      描述

      userSimilarity

      DataFrame

      用户与用户之间相似度

      itemSimilarity

      DataFrame

      商品和商品之间相似度

  • 使用样例
    val simrank = new SimRank().setDamp(0.6).setNumIter(5).setUserCol(“user”).setItemCol(“item”)
    val simrankSimilarity = simrank.computeSimilarity(df)
    val userSim = simrankSimilarity.userSimilarity
    val itemSim = simrankSimilarity.itemSimilarity