我们通过Spark / Scala使用ALS作为基于用户/点击数据的推荐模型。
评分栏是分数[0,1]
val als = new ALS()
.setImplicitPrefs(true)
.setRank(myrank)
.setRegParam(mylambda)
.setAlpha(myalpha)
.setMaxIter(numIter)
.setUserCol("myuseridx")
.setItemCol("myitemidx")
.setRatingCol("rating")
val model = als.fit(training)
我的问题是:隐式模型的输入数据是否必须在技术上包含所有用户项目组合,即那些未购买的用户项目组合?
答案 0 :(得分:1)
ALS通过修复用户或项目矩阵并使用最小二乘法求解它来解决推荐者问题。实质上,对于隐式数据集,它意味着未设置为一个的所有项都被视为零。所以你只需要包含积极的观察结果。
这里有更多的讨论: http://yifanhu.net/PUB/cf.pdf