我有一些数据集问题和答案用户已通过选择完成。我试图建立一个用户用户推荐引擎,根据他们对问题的回答找到类似的用户。一个重要的问题是问题被打乱,并且不是一个顺序,数据是流式传输。Apache Spark用户推荐?
因此,对于每一个用户我有这样一个数据:有关用户用户recomenndations
user_1: {"question_1": "choice_1", ...}
user_2: {"question_3": "choice_4", ...}
user_3: {"question_1": "choice_3", ...}
我发现大多数教程是关于用户的项目建议,但一无所获。
我意识到聚类和余弦相似性可能是一些很好的选择,我发现columnSimilarity是非常有效的。
rows = sc.parallelize([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
mat = RowMatrix(rows)
sims = mat.columnSimilarity()
我有两个问题:
是否明智定义每个用户作为柱,问题/选择,因为行得到的结果我需要什么?
我应该如何将这种数据向量化为数字?如果我需要做群集。
在此先感谢:)
columnSimilarity与瘦和高矩阵一起使用,所以如果您有一个用户用户矩阵,您希望执行该任务,它将无法工作。例如,如果你有1M用户) – eliasah
@eliasah是的谢谢你的回复。只是想确定。那么聚类会是一个更好的方法吗? –