我们正在尝试为具有多种项目类型的超市建立推荐系统(从快速移动的杂货店到低速移动的电子产品)。有些商品是大批量购买的,有些商品只购买一次。
我们有来自100多个部门的30K + SKU的25K +客户的4个月的购买历史数据。我们在Spark中运行了ALS-WR来生成建议。令我们惊讶的是,我们正在为每位客户提供前15条建议,这些建议非常通用,没有太多变化。
我们尝试了多种方法使建议多样化,如下所述
- 计算"评级" =标准化的购买数量
- 计算"评级" =购买数量的日志
- 计算"评级" = 1(如果购买#> 1)
- 我们使用了以下参数组合 - lambda = 0.01到300,alpha = 5到50,rank = 10,20,30和#of of iterations = 10,20
- 考虑的偏好是明确的。
您认为ALS可用于此类异构数据吗?如果是,那么哪些修改将使建议变得多样化和个性化?