Извлечено из документации о совместной фильтрации в Spark с использованием ALS:
По умолчанию Spark назначает NaN
прогнозы во время ALSModel.transform, когда пользователь и / или коэффициент элемента отсутствуют в модели. Это может быть полезно в производственной системе, поскольку оно указывает нового пользователя или предмета, и поэтому система может принять решение о некотором запасном варианте для использования в качестве прогноза.
Пока я играю с этим параметром 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")
, установленным во время обучения, модель дает ему некоторые рекомендации. Мой вопрос: как продукты рекомендуются для последнего случая?