SimRank
模型接口类别 |
函数接口 |
---|---|
computeSimilarity API |
def computeSimilarity(dataset: Dataset[_]): SimRankSimilarity |
- 输入输出
- 包名:package org.apache.spark.ml.recommendation
- 类名:SimRank
- 方法名:computeSimilarity
- 输入:dataset: Dataset[_],存储用户对商品的使用或查询等信息,至少包含用户和商品两列字段,参数描述如下表
参数名
取值类型
描述
dataset
Dataset[_]
存储用户对商品的使用或查询等信息
- 基于原生算法优化的参数
参数名
取值类型
描述
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
- 输出: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
父主题: 推荐和模式挖掘