【发布时间】:2017-08-09 14:44:21
【问题描述】:
PySparks mllib 包提供 train() 和 trainimplicit() 方法,分别用于在显式和隐式数据上训练推荐模型。
我想在隐式数据上训练一个模型。更具体地说,项目购买数据。由于在我的情况下,用户多次购买一件商品的情况非常罕见,因此“评分”或“偏好”始终为 1。所以我的数据集如下所示:
u1, i1, 1
u1, i2, 1
u2, i2, 1
u2, i3, 1
...
un, im, 1
其中 u 代表用户,i 代表项目。
我确实有很多关于用户人口统计、位置等的功能以及项目功能。但我无法在 pyspark.mllib.als.train 或 pyspark.mllib.als.trainimplicit 方法中合并用户或项目功能。
另外,我考虑过使用 fastFM 或 libfm。两者都是分解机器的包,它实现了 ALS 求解器和框架推荐作为回归/分类问题。使用这些案例,我可以将训练数据中的用户、项目和更多特征包含为X。但是,预测变量 y 将只是一个向量(我没有明确的评级,只有购买)。
我该如何解决这个问题?
【问题讨论】:
标签: apache-spark pyspark recommendation-engine matrix-factorization