【问题标题】:How to do user based recommendations in Spark MLlib?如何在 Spark MLlib 中进行基于用户的推荐?
【发布时间】:2016-04-26 12:17:35
【问题描述】:

我正在尝试在 MLlib 中构建基于用户的协作过滤,以从 last-fm 数据集中(基于您收听的艺术家)中找到相似的用户。

Apache Mahout 可以通过 GenericBooleanPrefUserBasedRecommender 完成我想要实现的目标,但速度不够快,所以我想尝试 Spark 和 MLlib,但找不到它的任何实现。有没有人有一个有效的 java/scala/python 实现或想法如何实现它?我知道 MLlib 通过 ALS 提供基于项目的建议,但这是不同的。

【问题讨论】:

  • 如果你熟悉spark MLLib对ALS的实现,你可以使用userFeatures创建用户之间的相似度矩阵,并根据相似度对结果进行排序。

标签: apache-spark apache-spark-mllib recommendation-engine mahout-recommender


【解决方案1】:

Apache Mahout 具有已集成到 ActionML Universal Recommender 中的 Spark 版本的“item-similarity”。 Mahout 已扩展为基于一种新的互相关算法,该算法允许使用几乎任何用户操作来查找相似用户或推荐项目。

Mahout 的 spark-rowsimilarity 的 Spark 版本是 here。在推荐人输入中,您有(用户 ID、“操作名称”、项目 ID)。累积所有输入会为您提供一个表格,其中行 = 用户,列 = 项目。因此,rowsimilarity 将创建将用户列为键并将最相似的用户列为值的输出。这并不理想,因为它只使用一个“动作”来查看相似之处。有关完整版 Mahout 算法的 Correlated Cross-Occurrence 的全部功能,您可能需要查看 Universal Recommender。

【讨论】:

    猜你喜欢
    • 2015-02-16
    • 2016-03-31
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多