【发布时间】:2026-01-10 16:05:02
【问题描述】:
Spark 中的ALS module 假定数据采用(user, product, rating) 元组的形式。当使用implicitPrefs=True 时,评级被假定为隐式评级,因此等于 0 的评级具有特殊含义,不会被视为未知。如Hu et al (2008) 所述,ALS 将隐式评级用作权重。使用隐式评分时,“缺失”评分need to be passed directly to the algorithms as zeros。
我的问题是:ALS 模块是否需要用户将“缺失”的隐式评级设为零,还是会自动用零填充缺失的单元格?
举个例子,假设我有三个用户,三个产品和他们的评分(使用(user, product, rating)格式):
(1, 1, 2)
(1, 2, 1)
(2, 2, 3)
(3, 1, 1)
(3, 3, 2)
所以用户 1 没有评价产品 3,用户 2 既没有评价 1 也没有评价 2,等等。我可以将这些数据直接传递给 ALS 吗? 或者,我是否必须扩展它对于所有 3*3 可能的组合,其中未评级产品的评级填充为零,即
(1, 1, 2)
(1, 2, 1)
(1, 3, 0)
(2, 1, 0)
(2, 2, 3)
(2, 3, 0)
(3, 1, 1)
(3, 2, 0)
(3, 3, 2)
【问题讨论】:
标签: apache-spark pyspark recommendation-engine