交替最小二乘的输入
input for Alternating Least Square
我们正在使用 ALS 作为基于 user/click 数据的推荐模型,来自 Spark/Scala。
评级栏是一个分数 [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)
我的问题是:隐式模型的输入数据在技术上必须包含所有用户项目组合,即还包括未购买的项目组合吗?
ALS 通过固定用户或项目矩阵并使用最小二乘法求解来解决推荐问题。本质上,对于隐式数据集,这意味着所有未设置为 1 的项目都被视为零。所以你只需要包括积极的观察。
这里还有一些讨论:
http://yifanhu.net/PUB/cf.pdf
我们正在使用 ALS 作为基于 user/click 数据的推荐模型,来自 Spark/Scala。
评级栏是一个分数 [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)
我的问题是:隐式模型的输入数据在技术上必须包含所有用户项目组合,即还包括未购买的项目组合吗?
ALS 通过固定用户或项目矩阵并使用最小二乘法求解来解决推荐问题。本质上,对于隐式数据集,这意味着所有未设置为 1 的项目都被视为零。所以你只需要包括积极的观察。
这里还有一些讨论: http://yifanhu.net/PUB/cf.pdf