从documentation中提取,有关使用ALS在Spark中进行协作过滤:
默认情况下,当模型中不存在用户和/或项目因子时,Spark在ALSModel.transform期间分配
NaN
个预测。这在生产系统中可能很有用,因为它指示新用户或新商品,因此系统可以做出一些后备决策以用作预测。
我在沙盒上使用此coldStartStrategy
参数时,
在培训期间设置了als = ALS(userCol="user_id", itemCol="doc_id", ratingCol="rating", coldStartStrategy="drop")
,并且在培训数据中没有用户时,尝试向该新用户推荐产品时我一无所获。但是在训练期间设置als = ALS(userCol="user_id", itemCol="doc_id", ratingCol="rating", coldStartStrategy="nan")
时,该模型向他提供了一些建议。我的问题是:在后一种情况下如何推荐产品?