Apache spark 返回已关注项的Spark ML ALS推荐算法

Apache spark 返回已关注项的Spark ML ALS推荐算法,apache-spark,pyspark,Apache Spark,Pyspark,Spark ML推荐替代最小二乘算法的实现产生了一个模型,该模型可应用于已观看的项目(training.itemCol,对于观看的电影,在下面的示例中),以便推荐新项目(movieRecs)。该方法如何可能作为结果的一部分(userRecs)返回已关注的(非新)项 所有推荐给所有用户() 获取培训时学习的用户块和项目块(及其向量嵌入) 计算用户和项目块的交叉连接 计算嵌入的点积 根据dot product的值,为每个用户选择topn产品 在上述过程中,交叉连接拓宽了用户项目空间。因为模型是用

Spark ML推荐替代最小二乘算法的实现产生了一个模型,该模型可应用于已观看的项目(training.itemCol,对于观看的电影,在下面的示例中),以便推荐新项目(movieRecs)。该方法如何可能作为结果的一部分(userRecs)返回已关注的(非新)项


所有
推荐给所有用户()

  • 获取培训时学习的用户块和项目块(及其向量嵌入)
  • 计算用户和项目块的交叉连接
  • 计算嵌入的点积
  • 根据dot product的值,为每个用户选择top
    n
    产品

在上述过程中,交叉连接拓宽了用户项目空间。因为模型是用这些项目(观看的电影)训练的,所以他们的dot产品总是很重要的。因此,在培训时为用户显示的项目在为同一用户推荐时显示。

All
recommendForAllUsers()

  • 获取培训时学习的用户块和项目块(及其向量嵌入)
  • 计算用户和项目块的交叉连接
  • 计算嵌入的点积
  • 根据dot product的值,为每个用户选择top
    n
    产品
在上述过程中,交叉连接拓宽了用户项目空间。因为模型是用这些项目(观看的电影)训练的,所以他们的dot产品总是很重要的。因此,在训练时为用户出现的项目在为同一用户推荐时出现

als = ALS(maxIter=5, regParam=0.01, userCol="userId", itemCol="movieId", ratingCol="rating",
          coldStartStrategy="drop")

model = als.fit(training)

userRecs = model.recommendForAllUsers(10)