数据挖掘中的关联分析

2024年11月20日 | 阅读8分钟

数据挖掘是一种从数据集中提取洞察力的方法。借助互联网,您现在可以收集大量数据。数据挖掘的概念是将收集到的原始数据转化为有用的信息。这些信息用于做出更好的、有益于企业或组织的决策。

在数据挖掘中,有一个概念叫做关联分析,我们将在本文中讨论。

关联分析

关联分析也称为购物篮分析。它是一种用于分析数据中有趣模式并识别数据集之间关系的方法。

项之间的关系表示如下

  • C => D,即 C 蕴含 D,其中 C 和 D 是项或项集。
  • C 称为先导项,D 称为后继项
  • 先导项:它是数据集中存在的项集。
  • 后继项:它是与先导项一起出现在数据集中的项集。
Association Analysis in Data Mining

我们可以通过一个例子来理解关联分析。例如,在超市中,会存储每个顾客的交易数据。对这些顾客数据进行分析,以发现顾客的购买行为。例如,如果在交易管理数据库中有很多交易,顾客经常一起购买牛奶和面包。我们可以说牛奶和面包之间存在关联,可以表示为

{Milk} => {Bread}

通过分析顾客的行为,可以将经常一起购买的商品放在同一个货架上,方便顾客购买,或者对其中一件商品进行打折。这样,营销人员就可以增加商品销量并获利。

下面是更多示例

  • {Diapers} => {Milk}
    如果顾客 1 购买了尿布,那么顾客 1 很可能也会购买牛奶。
  • {Watch, Perfume} => {Ring}
    如果顾客 2 购买了手表和香水,那么顾客 2 很可能也会购买戒指。
Association Analysis in Data Mining

关联分析的组成部分

关联分析有几个组成部分,如下所示

1. 交易数据

购物中心会记录顾客在其中购买产品的记录。这些记录称为交易数据;每次客户交易都代表一起购买的商品集合。

2. 项集

它是数据库中的一个或多个数据项的集合。如果项包含 K 个项,则称为具有 K 个项。它表示如下

X = {X1, X2, …XK},其中 X 是项集,X1, X2, … XK 是项的集合。

示例:顾客从超市一起购买了牛奶和蜂蜜。因此,牛奶和蜂蜜是两种产品的集合,即项。

3. 频繁项集

在交易数据集中频繁出现的项被称为频繁项集。这些模式显示了客户的行为,最终为营销人员带来好处。

示例:顾客在许多交易中一起购买了黄油和果酱,这意味着黄油和果酱项是频繁购买的,表明顾客喜欢一起购买这些商品。

4. 顺序模式

在交易中频繁出现但在序列中的项是顺序模式。

例如,当顾客购买电脑时,才会购买防病毒软件。这是一个顺序模式,因为顾客一起购买了电脑和防病毒软件。而如果顾客购买了防病毒软件,则不一定需要购买电脑。

5. 关联规则

它是发现交易数据中存在的模式的规则。它表示为以下形式

IF {C} THEN {D},其中 C 和 D 是项。

先导项 (C):先导项,也称为规则的左手边 (LHS),表示数据中的项或条件。它指定了一个条件,当满足该条件时,会导致后继。

后继项 (D):后继项,也称为规则的右手边 (RHS),表示与先导项相关的项、集合或操作。

6. 支持度

它是用于查找数据集中项集频繁出现的交易数量的参数。

总的来说,我们可以说项集的支持度可以定义为该项集的交易数与数据集中总交易数的比率。

计算支持度的公式如下

在上面的公式中,C 是项或项集。

我们也可以将上面的公式写成以下形式

计算两个项的支持度的公式如下

我们也可以将上面的公式写成以下形式

较低的支持度值意味着该项在数据集中出现的次数较少,而较高的支持度值意味着该项在数据集中出现的次数较多。

示例

让我们通过一个计算支持度的例子。

以下是当地市场的购物篮分析

交易 ID购买的商品
1饼干、薯片、可乐、黄油
2饼干、薯片、可乐
3面包、黄油
4面包、可乐

现在,我们将计算饼干的支持度

从上面的购物篮分析可以看出,饼干在三笔交易中被购买,所以

支持度 (饼干) = 饼干的频率 / 总交易数 = 4 笔交易中的 3 笔 (3/4) = 0.75

支持度值为 0.75,饼干的支持度百分比为 75%。

同样,我们可以找到组合购买的两个商品的支持度。现在,我们将计算薯片和可乐的支持度

从上面的购物篮分析可以看出,饼干和薯片在两笔交易中一起购买,所以

支持度 (饼干 ∩ 薯片) = 饼干 ∩ 薯片的频率 / 总交易数 = 4 笔交易中的 2 笔 (2/4) = 0.5

支持度值为 0.5,一起购买饼干和薯片的支持度百分比为 50%。

7. 置信度

置信度用于查找项之间的关系有多强或多弱。它用于检查关联规则是否为真。

如果关联规则是C => D,其中 C 和 D 是项或项集,则置信度是 C 和 D 的支持度与 C 的支持度的比率。

计算置信度的数学公式如下

低置信度意味着两个项之间的关系是中等或弱的,而高置信度值意味着两个项之间的关系是强的。

示例

让我们使用在计算支持度时使用的相同示例。

考虑以下关联

{Chips} => {Coke}

计算上述关联的置信度的公式如下

置信度 ({Chips} => {Coke}) = 支持度 (Chips ∩ Coke)/ 支持度 (Chips)

要计算置信度,我们首先必须计算支持度 (Chips ∩ Coke) 和支持度 (Chips)。

查找支持度 (Chips ∩ Coke)

支持度 (Chips ∩ Coke) = Chips ∩ Coke 的频率 / 总交易数 = 2/4 = 0.5

现在,查找支持度 (Chips)

支持度 (Chips) = Chips 的频率 / 总交易数 = 2/4 = 0.5

现在,我们将计算置信度。

置信度 ({Chips} => {Coke}) = 0.5/0.5 = 1

置信度值为 1,置信度百分比为 100%。

这意味着当交易中包含薯片时,该交易中也包含可乐,因此关联 {Chips} => {Coke} 是强的。

8. 提升度

提升度用于查找项 C 和 D 在交易中组合出现的频率。

计算提升度的数学公式如下

如果提升度值大于 1,则项之间的关联是正的,并且项经常一起购买。如果提升度值小于 1,则项之间的关联是负的,并且项一起购买的次数较少。如果提升度值等于 1,则项是独立的,没有关联。

示例

让我们使用在计算支持度和置信度时使用的相同示例。

考虑以下关联

{Chips} => {Coke}

计算上述关联的提升度的公式如下

提升度 = 支持度 (Chips ∩ Coke)/ 支持度 (Chips)*支持度 (Coke)

首先,我们必须计算支持度 (Chips ∩ Coke)、支持度 (Chips) 和支持度 (Coke)。

我们已经在上面找到了支持度 (Chips ∩ Coke) 和支持度 (Chips),它们如下

支持度 (Chips ∩ Coke) = 0.5

支持度 (Chips) = 0.5

我们将使用以下公式计算支持度 (Coke)

支持度 (Coke) = Coke 的频率 / 总交易数 = 4 笔交易中的 3 笔 = 3/4 = 0.75

现在,我们将计算提升度。

升降机 = 0.5/ (0.5*0.75) = 1.34

提升度值为 1.34,这意味着关联 {Chips} => {Coke} 是正的,并且这些项经常一起购买。

9. Apriori 算法

Apriori 算法使用频繁项来生成关联规则。它基于这样一个概念:频繁项集的子集也必须是频繁项集。

让我们看一个关联规则挖掘的例子。假设我们有项 A、B、C、D 和 E,以及一组交易 T1、T2、T3、T4 和 T5。

下面是当地市场的交易表,您可以看到

交易商品 1商品 2商品 3
T1ABC
T2ACD
T3BCD
T4ADE
T5BCE

我们通常创建关联规则,如 A => D、C => A 和 A => C。

A => D,这意味着如果顾客购买 A,则顾客很可能购买 D。

C => A,这意味着如果顾客购买 C,则顾客很可能购买 A。

我们可以计算上述交易的支持度、置信度和提升度,以检查我们创建的关联规则是否为真。计算后,我们将得到以下结果

关联规则左手边项的支持度右手边项的支持度两个项的支持度信心升降机
A => D3/53/52/52/310/9
C => A4/53/52/52/45/6
A => C3/54/52/52/35/6

我们可以说 Apriori 算法识别频繁项集,然后借助频繁项集创建关联规则。

10. MinSupport

它是最小支持度的缩写。阈值定义了一个项集在数据集中被视为频繁出现的最小频率。任何支持度值等于或大于“MinSupport”的项都被视为频繁。

11. MaxSupport

它是最大支持度的缩写。它是用户定义的阈值,用于指定关联规则必须达到的最小置信度才能被视为有效。置信度值等于或大于“MinConfidence”的关联规则被视为强规则。

12. 剪枝

这是一种消除关联分析过程中生成的项集数量的方法。剪枝会移除不满足最小支持度阈值的项集。

结论

在本文中,您已经了解了数据挖掘中的关联分析。您已经了解了关联分析的组成部分,如交易数据、项、频繁项集、顺序模式、关联规则、支持度、置信度、提升度、Apriori 算法、MinSupport、MaxSupport 和剪枝。