用于基于项目的 CF 的 Tanimoto 系数的建议应用的预测函数是什么

What is prediction function applied for Recommendations used Tanimoto Coefficient for Item-based CF

我正在构建一个使用基于项目的协同过滤的推荐系统。但是我的预测函数有问题我不知道在使用Tanimoto Coefficient(Jaccard similarity coefficient)计算不同项目(电影)之间的相似度时可以使用哪个函数?。下面的例子可以解释我的问题。让我们假设 User1 观看了电影 1,当我们计算电影 1 和所有其他电影之间的谷本系数时,我们发现前 5 部相似电影分别为 527,595,608,1097 和 588。其中每一部电影都与电影 1 有自己的相似性作为关注:

用户 :1

Watched Movie---Similar Movie----Tanimoto Coefficient score
          1--------527-------- = 0.33242
          1--------595-------- = 0.3377
          1--------608-------- = 0.3523
          1--------1097-------- = 0.3619
          1--------588-------- = 0.42595

那么在计算相似度之后下一步是什么?我需要帮助。

PS: 我发现所有top-5 (527,595,608,1097 和 588) 都被用户 1 看过了,所以它们不能被视为推荐电影。

非常感谢

首先,在用户到用户和商品到商品这两种方法中,我们定义了两个函数:similaritypredict. 相似度 衡量两个实体(用户或项目)彼此之间的接近程度。在你的案例中——选择了 Tanimoto。您缺少的是 predict 函数。由于您有最近的实体(在 i2i 中 - 项目),您必须预测评级值(或在隐式用户反馈中 - 是否发生了什么)。最简单的形式是使用加权平均函数,其中权重是相似性度量:

只应为用户未评分的项目计算平均值。这是使用 item2item 为特定用户生成最简单的推荐之一。

快速示例。评分矩阵如 R:

我们试图预测用户 1 和项目 1 的评分。 下面的计算使用了 Tanimoto 相似性度量。

因此我们将预测用户 1 给项目 1 的评分:4/5。

出于性能原因,我们将大多数 Top-N 相似项目编入索引,但这些项目对于将为其生成推荐的用户来说仍然应该是新的。