【问题标题】:Clustering before regression - recommender system回归前的聚类 - 推荐系统
【发布时间】:2017-03-16 07:45:58
【问题描述】:

我有一个名为 train.dat 的文件,其中包含三个字段 - userIDmovieIDrating

我需要根据这个预测test.dat文件中的rating

鉴于我只有一个功能 - rating,我想知道如何使用 scikit-learn 的 KMeans 对类似用户进行分组。 这甚至有意义吗?在聚类步骤之后,我可以执行回归步骤来获取 test.dat 中每个用户电影对的评分

编辑:我有一些额外的文件,其中包含每部电影中的演员、导演以及电影所属的类型。我不确定如何开始使用这些,我问这个问题是因为我想知道是否有可能获得一个仅使用评级的简单模型,然后使用其他数据对其进行增强。我读到这被称为基于内容的推荐。对不起,我应该也写一下其他数据文件。

【问题讨论】:

    标签: python machine-learning scikit-learn k-means


    【解决方案1】:

    scikit-learn 不是推荐系统的库,kmeans 也不是用于聚类此类数据的典型工具。您尝试处理图的事情,通常要么在图级别进行分析,要么使用各种矩阵分解技术。

    特别是 kmeans 仅适用于欧几里得空间,而您这里没有这样的东西。您可以做的是使用 DBScan(或任何其他接受任意相似性的聚类技术,但这实际上是在 scikit-learn 中)并根据他们的品味通过某种协议来定义两个用户之间的相似性,例如:

    sim(user1, user2) = # movies both users like / # movies at least one of them likes
    

    称为二元向量之间相似度的 Jaccard 系数。你有评分,不仅仅是“喜欢”,而是我在这里给出一个最简单的例子,而你可以想出很多其他的东西来尝试。关键是 - 对于最简单的方法,您所要做的就是定义每个用户相似性的概念并应用接受这种设置的集群(如提到的 DBScan)。

    【讨论】:

      【解决方案2】:

      集群用户很有意义。但如果你唯一的特征是评级,我认为它不能产生一个有用的预测模型。以下是我的假设来证明这一点:

      • 电影的质量应该服从高斯分布。
      • 如果我们查看普通用户的评分分布,它应该类似于高斯分布。
      • 我不排除少数用户只在看到一部烂电影时才给出评分的可能性(因此都是低评分);反之亦然。但在大规模用户中,这应该是不寻常的行为。

      因此我可以想象,在聚类之后,您会在两种极端情况下获得一小部分用户;并且大多数用户处于中间(因为他们共享类似高斯的评级行为)。使用此模型,您可能会为两个小(极端)组中的用户获得良好的结果;但是对于大多数用户来说,你不能指望得到好的预测。

      【讨论】:

      • 边际分布如何暗示聚类无关紧要?推荐是更局部的问题,几乎没有关于边际分配的争论 - 问题。我完全同意这里的主要主张,但理由似乎不适合这种情况。
      • 感谢您的评论。我知道“本地”的重要性。但我可能会误解 op 将如何进行这种聚类。因为 op 提到唯一的特征是评分,所以用户和电影之间没有关联。如何在这里使用“本地”优势?你能给我举个例子,用“评分”聚类可以产生有趣的组(除了我提到的两个极端情况)。
      • “rating”是用户与电影的关系,这不是用户的数字,而是用户与电影的关系的数字(标签)。至少这是推荐系统中“评分”的典型含义。有效地,这意味着您有一个包含 2 种类型节点的图 - 用户和电影,以及一组和另一组之间的标记边。有数百种可能的方法可以对此类图进行聚类,这些方法具有任意复杂性。边际分布中没有什么让它变得困难。
      • 举个简单的例子 - 喜欢恐怖的用户和喜欢喜剧的用户可以创建 2 个集群,即使在边缘化之后一切都是高斯分布 - 这个小集群将具有完全不同的(条件)分布。跨度>
      • 但操作说唯一的功能是评级,你如何获得恐怖或其他类型? (我假设您只有用户 ID 和评级)。他没有说我们可以在聚类中使用电影 id。
      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多