0
我们使用ALS作为基于用户/点击数据通过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)
我的问题是:必须为隐性模型输入数据在技术上包含所有用户的项目组合,即其还没有买的人?
“不像明确的数据集,这里的模型应该采取的所有用户,项目偏好的输入,包括那些不涉及任何输入观测数据(从而暗示为零偏好)这是至关重要的,因为给定的观察结果本质上偏向于正面的偏好,因此不能很好地反映用户配置文件 但是,将所有用户项目值作为模型的输入引起严重的可伸缩性问题“ –
是,这是正确的。正如我所提到的,即使您没有明确设置零点,模型也会将它们视为零。 – jamborta
此引用来自:http://yifanhu.net/PUB/cf.pdf 但现在我记得hyperparameter alpha的目的是什么。我想你是对的。但是现在如果你不介意帮助我,我还有另外一个问题。我如何计算我的模型的AUC分数? 我有我的训练集的评分标签,如果我遵循不将零值置于RDD内的逻辑[评级],我很难理解如何计算我的TP - FP - TN - FN分数。 谢谢 –