在推荐系统的皮尔逊相关算法中使用负相关系数

数据挖掘 推荐系统
2022-02-21 03:38:52

我是推荐系统的新手,正在尝试为基于用户的协同过滤寻找基本用户的相似用户。

当我计算两个用户之间的相似度分数时(基于他们使用 Pearson 算法 [或 Resnick 的加权 Pearson 算法] 的评分),我得到了一个从 -1 到 1 的相似度分数。

将这些值标准化为 0 到 1(-1 将变为 0,1 将变为 1)以使其与其他算法具有可比性,这是一个好主意吗?

事实上,我试图用用户的负相似度得分来构建推荐,计算/预测的评分也可能是负的,这没有任何意义。

我应该将“-1 到 1”标准化/缩放为“0 到 1”还是切断所有相似度分数低于 0 的用户?

(也许问题也可能是:“哪些用户应该作为导师来推荐相似性分数从 -1 到 1 的新项目?或者我应该选择相似性分数最高的前 n 个用户?”)

1个回答

您可以做的一件事是将以下贡献分开:

  • a) 与你有正相关关系的人
  • b) 谁与你有负相关

那么你就可以:

  1. 仅使用 a) 中的用户来预测评分那些将有正相关,这个正权重。调用这个r^a
  2. 仅使用 b) 中的用户来预测评分在这种情况下,将权重视为正(即使它们是负相关)。调用这个r^b
  3. 最终预测评分为r^=r^ar^b2