0

我目前在Python中构建推荐引擎,并且遇到以下问题。Python中的推荐引擎 - 包含自定义相似性度量

我想加入协作过滤方法,它的用户 - 用户变体。回顾一下,它的想法是我们有一个关于不同用户的信息和他们喜欢的项目(如果适用的话 - 这些用户分配给项目的评级)。当我们有新用户喜欢一些东西时,我们只会找到喜欢相同项目的用户,并向这个新用户项目推荐这些用户喜欢的类似于新用户的用户项目。

但我想补充一点。我会推荐给用户的地方,即'今晚去哪里'。我知道用户的偏好,但我也想把距离推荐给每个项目。父亲是我要推荐给用户的地方 - 它应该是最没有吸引力的。

因此,一般来说,我想要在推荐引擎中加入罚分,每个地点的罚分数量将基于用户到场所的距离。

我试图谷歌任何人做了类似的事情,但无法找到任何东西。有关如何正确添加此类惩罚的建议?

回答

2

我会保持它的简单和独立:

你的重点是协同过滤,所以你应该推荐产生比分为前N个建议不分地点的。

然后你可以用重新评分使用这些top-N之间的距离。对于简单的MVP,您可以从相反的距离衰减开始(例如final-score = cf-score * 1/distance),并根据行为证据调整衰减函数(如有必要)。