关联规则学习

17 Mar 2025 | 4 分钟阅读

关联规则学习是一种无监督学习技术,它检查一个数据项与其他数据项的依赖性,并进行相应的映射,以便更有利可图。它试图发现数据集中变量之间的一些有趣的关系或关联。它基于不同的规则来发现数据库中变量之间的有趣关系。

关联规则学习是机器学习中一个非常重要的概念,它被应用于市场篮子分析、Web 使用挖掘、连续生产等。其中,市场篮子分析是各种大型零售商用来发现物品之间关联性的技术。我们可以通过超市的例子来理解它,因为在超市里,所有一起购买的产品都会被放在一起。

例如,如果顾客买了面包,他很可能也会买黄油、鸡蛋或牛奶,所以这些产品会放在同一个货架上或附近。请看下图

Association Rule Learning

关联规则学习可以分为三种算法

  1. Apriori
  2. Eclat
  3. F-P Growth 算法

我们将在后面的章节中介绍这些算法。

关联规则学习是如何工作的?

关联规则学习基于“如果...那么...”语句的概念,例如“如果 A 那么 B”。

Association Rule Learning

这里的“如果”部分称为前提(antecedent),“那么”部分称为结论(Consequent)。这种可以找到两个项目之间关联或关系的关系被称为单基数(single cardinality)。它与创建规则有关,如果项目数量增加,基数也会相应增加。因此,为了衡量成千上万个数据项之间的关联,有几种指标。这些指标如下所示

  • 支持
  • 信心
  • 升降机

让我们逐一了解它们

支持

支持度(Support)是 A 的频率,或者一个项目在数据集中出现的频率。它定义为包含项集 X 的事务 T 的分数。如果存在 X 个数据集,那么对于事务 T,可以写成

Association Rule Learning

信心

置信度(Confidence)表示规则被发现为真的频率。或者在 X 已经出现的情况下,X 和 Y 一起出现在数据集中的频率。它是包含 X 和 Y 的事务数与包含 X 的记录数的比率。

Association Rule Learning

升降机

它是任何规则的强度,可以用下面的公式定义

Association Rule Learning

它是观察到的支持度与 X 和 Y 相互独立时的预期支持度的比率。它有三个可能的值

  • 如果提升度(Lift)= 1:前提和结论出现的概率是相互独立的。
  • 提升度(Lift)>1:它确定了两个项集相互依赖的程度。
  • 提升度(Lift)<1:它告诉我们一个项目是另一个项目的替代品,这意味着一个项目对另一个项目有负面影响。

关联规则学习的类型

关联规则学习可以分为三种算法

Apriori 算法

该算法使用频繁项集来生成关联规则。它被设计用于包含事务的数据库。该算法使用广度优先搜索和哈希树来有效地计算项集。

它主要用于市场篮子分析,并有助于理解可以一起购买的产品。它也可以用于医疗保健领域,以查找患者的药物反应。

Eclat 算法

Eclat 算法代表等价类转换(Equivalence Class Transformation)。该算法使用深度优先搜索技术在事务数据库中查找频繁项集。它的执行速度比 Apriori 算法快。

F-P Growth 算法

F-P Growth 算法代表频繁模式(Frequent Pattern),它是 Apriori 算法的改进版本。它将数据库表示为一种称为频繁模式或树的树形结构。这种频繁树的目的是提取最频繁的模式。

关联规则学习的应用

它在机器学习和数据挖掘中有多种应用。以下是关联规则学习的一些流行应用

  • 市场篮子分析:这是关联规则挖掘的一个流行示例和应用。大型零售商通常使用此技术来确定商品之间的关联。
  • 医学诊断:借助关联规则,可以轻松治愈患者,因为它有助于识别特定疾病的患病概率。
  • 蛋白质序列:关联规则有助于确定人工蛋白质的合成。
  • 它还用于目录设计失血分析以及许多其他应用。