【问题标题】:Clustering customers based on their shopping baskets根据购物篮对客户进行聚类
【发布时间】:2017-06-28 07:55:40
【问题描述】:

我想根据他们的历史购物篮对客户进行聚类。

我有以下矩阵来描述每个用户及其相应的购买产品数量。例如。用户1购买了productA 0个,productB 5个,productC 6个

用户ID、产品A、产品B、产品C
1、0、5、6
2、1、4、5
3,9,1,0

我想做的事:

  • 根据客户购买的产品(客户 1 和 2 非常相似,因为两者都购买了大量的产品 B 和 产品C,而客户3更喜欢产品A)

  • 可视化集群

问题:

  • 我有大约 200.000 名客户
  • 我有大约 50.000 种产品(可以组合成 示例类别 -> 仍将超过 150 个类别/a.k.a 尺寸

有没有推荐的方法在 Python 中做这些事情?

【问题讨论】:

标签: python cluster-analysis


【解决方案1】:

您可能想研究模式挖掘,尤其是项集挖掘

https://en.wikipedia.org/wiki/Sequential_pattern_mining#Itemset_mining

一个可以帮助您入门的示例项目: https://github.com/jiteshjha/Frequent-item-set-mining

【讨论】:

  • 感谢您的建议,但我认为这不是我想要的。据我了解,我需要一个函数来根据他们购买的产品计算每个客户之间的相似度。
  • 项集模式挖掘可以让您确定人们一起购买什么以及最常见的产品购买顺序,这样您就可以预测接下来可能会购买什么。如果您只关注聚类,scikit-learn 聚类功能非常简单,但问题是为其提供一致的数据集(即每个用户固定 nb 个产品),您可以设置一个最大值并在最大值下填写 thise有空格
  • 好的,我明白你的意思,这是真的。然而,这个分类不应该用来做预测,而是我开发推荐引擎的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 2014-07-19
相关资源
最近更新 更多