我有一个只有两个字段itemId,productid的数据集,我想尝试使用mahout ALS或mllib进行隐式反馈,是在数据集中创建所有1的首选项列的最佳方法吗?阅读koren paper(隐式反馈数据集的协同过滤)我看到所有置信区间在相同偏好下都是相同的,可以吗?谢谢!
答案 0 :(得分:0)
如果您计划为您的推荐尝试ALS,我会鼓励您直接尝试Spark中的mllib / ML。它阻止了ALS的实施 - 它真的很快。就在创建RDD [评级]时,给出评级值1.0。记得学习ALS参数说你给了隐式反馈(implicitPrefs = True)。
如果你足够勇敢使用DataFrames的新ML包: https://github.com/apache/spark/blob/v1.3.1/examples/src/main/scala/org/apache/spark/examples/ml/MovieLensALS.scala
对于使用新管道的参数进行实验可能更好。 但我发现很难使用我的代码,因为我必须从学习模型中访问分解矩阵。
祝你好运,玩得开心!