python中的推荐引擎 - 包含自定义相似度指标

时间:2016-10-11 01:29:21

标签: python machine-learning recommendation-engine data-science

我目前正在python中构建一个推荐引擎,我遇到了以下问题。

我希望采用协同过滤方法,即用户 - 用户变体。回顾一下,它的想法是我们有不同用户的信息和他们喜欢的项目(如果适用 - 这些用户分配给项目的评级)。当我们有喜欢几件事情的新用户时,我们只会找到喜欢相同商品的用户,并向新用户推荐与用户相似的新用户项目。

但我想补充一点。我将向用户推荐地点,即“今晚去哪里”#39;我知道用户偏好,但我想将距离推荐到我推荐的每个项目。父亲是我要向用户推荐的地方 - 它应该是最不吸引人的。

所以一般来说我想在推荐引擎中加入一个惩罚点,每个地方的点数将基于用户到该地点的距离。

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

1 个答案:

答案 0 :(得分:2)

我会保持简单和分离:

您的重点是协作过滤,因此您的推荐人应为前N个建议生成分数,而不论其位置

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