对购物篮分析进行分类

数据挖掘 机器学习 分类 方法 市场篮子分析 关联规则
2021-09-21 11:23:49

我有以下我不知道如何解决的问题:

我有相应类别的不同市场篮子的数据。例如,我知道:

  • 学生 - {啤酒、牛奶、水}
  • 专业 - {坚果、披萨、香蕉}
  • 学生 - {橙子、西红柿、啤酒}
  • ...

有没有一种方法可以创建分类模型,以便我可以使用市场篮子的内容来确定相应的班级(学生、专业......)?谢谢!

2个回答

在项目数量很少的情况下,将问题转化为分类问题将是最方便的解决方案。将每个项目用作特征,将类别用作概念。现在您可以应用@OvisAmmon 推荐的方法或其他分类方法。

但是,通常在购物篮分析中,商品很多,每个用户购买的商品很少。这导致了一个非常稀疏的矩阵,并且大多数分类方法都存在处理它们的问题。

分析购物篮数据的常用方法是使用 关联规则,该规则通过首先定位频繁项集来实现。

您可以通过以下方式使用订单关联规则来学习购物篮:

  • 为每个班级添加项目
  • 将所有者类添加到其购物篮中(例如,将学生的 {milk, beer} 购物篮转换为购物篮 {mlik, beer, student}
  • 使用频繁项集算法找到它们
  • 删除所有没有类成员的频繁项集。这样的集合不能帮助推断类。
  • 从频繁项目集中找到暗示类的规则(有足够好的支持和信心
  • 使用这些匹配篮子的规则来预测类别

你应该注意几点:

一些具有不同含义的关联规则可能适用于同一个篮子。你可能有规则牛奶 -> X 和啤酒 -Y 和篮子 {牛奶,啤酒}。如果集合 {milk, beer} 足够频繁,您可能有专门针对它的规则。否则,您将需要满足规则才能以规则为基础。这样的规则可能会采用具有最高置信度或最可能类别的规则。

关联规则仅基于 item 的存在,而不是基于 item 的缺失。如果学生从不买纸尿裤,你就找不到这样的关联规则。您可以将“无尿布”作为一项添加到您的数据集中,但这会将其从稀疏变为完整,并且存储可能不可行。

关联规则的复杂性是指数级的。这很简单,因为它自身的输出是指数的,当您在数据中有一个Clique时可以注意到这一点通常人们不会因为这个问题而试图找到所有的关联规则,这是实际的做法。但是,这意味着您的数据中可能存在您找不到的关联规则。

您正在研究 s 分类任务,其中左侧的文本(如 Student 等)是目标类,而购物清单是几乎现成的特征列表 - 您将在其上学习分类模型的变量。虽然您应该总体上研究分类算法系列,但您可能使用的大多数基本算法是:

第一个的实现非常简单,您可以立即用几乎任何语言对其进行编码,以吹扫编码技能的灰尘,而更复杂的算法通常有许多实现,您应该根据您的语言来寻找选择。