【问题标题】:How to calculate similarity between categorical variables in collaborative filtering如何计算协同过滤中分类变量之间的相似度
【发布时间】:2020-02-11 00:58:42
【问题描述】:

我正在尝试使用协同过滤构建推荐系统。

  1. 我有用户项目数据集。我无法找到相似用户之间的相似性,因为我不能使用欧几里得 / 余弦距离在这里不起作用。
  2. 如果我将分类变量转换为 0、1 则无法计算距离。 您能否建议任何处理分类数据的python推荐算法。

【问题讨论】:

  • 我认为Hamming Distance 是您正在寻找的指标。

标签: python recommendation-engine collaborative-filtering


【解决方案1】:

计算分类特征之间距离的一个很好的例子是Hamming Distance,我们在其中计算不同实例的数量。

另一方面,您仍然可以计算用户项目数据集的余弦相似度。

举个例子; 用户 1 购买商品 1、商品 2

用户 2 购买商品 2、商品 3

那么,用户向量是;

用户 1 = [1, 1, 0]

用户 2 = [0, 1, 1]

余弦相似度为0.5

同样的规则适用于物品。

【讨论】:

    【解决方案2】:

    余弦相似度会将问题作为一个包含变量所有值的整个向量来处理。并且可能无法给出相关性的答案。因此,当您从余弦相似度中获得高分时,并不能确保它们也相关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-22
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      相关资源
      最近更新 更多