gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:19:41 25 4
gpt4 key购买 nike

我正在构建一个使用基于项目的协同过滤的推荐系统。但是我有一个预测函数的问题我不知道在使用Tanimoto Coefficient(Jaccard similarity coefficient)计算不同项目(电影)之间的相似性时可以使用哪个函数?下面的例子可以解释我的问题。让我们假设 User1 观看了电影 1,当我们计算电影 1 和所有其他电影之间的 tanimoto 系数时,我们发现前 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:我发现前五名(527,595,608,1097 和 588)都被用户 1 看过,所以他们不能被视为推荐电影。

非常感谢

最佳答案

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

enter image description here

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

快速示例。具有像 R 这样的评分矩阵:

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

enter image description here

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

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

关于java - 用于基于项目的 CF 的 Tanimoto 系数的建议应用的预测函数是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com