数据挖掘中的支持度与置信度

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

数据挖掘是从大型数据集中提取有用信息的过程。它被应用于医疗保健、市场营销、教育、交通、农业、娱乐等各种行业。它被用来帮助企业做出更明智的决策。

在数据挖掘中,支持度(Support)和置信度(Confidence)是关联规则挖掘的两个参数,用于查找项之间的关系。在本文中,我们将讨论数据挖掘中支持度和置信度的概念,但首先,了解关联规则挖掘很重要。

关联规则挖掘(ARM)

ARM,即关联规则挖掘,被称为购物篮分析(MBA)和亲和力分析。它是一种用于检查一个数据项对另一个数据项的依赖性并进行相应映射的规则,以便从中获利。交易中存在的项集称为购物篮。

关联规则是诸如“A蕴含B”或“B蕴含A”之类的模式,表示为

A => B 或 B => A (如果“A”那么“B”或如果“B”那么“A”)其中A和B是产品。

Support and Confidence in Data Mining

当A => B时,A称为先导项(antecedent),B称为后继项(consequent)。

当B => A时,B称为先导项(antecedent),A称为后继项(consequent)。

先导项是数据集中存在的项。

后继项是与先导项一起存在的项。

例如

Support and Confidence in Data Mining
  • {奶酪, 黄油} => {面包}

如果顾客1购买了奶酪和黄油,那么顾客1很可能也会购买面包。

  • {薯片, 爆米花, 饼干} => {冷饮}

如果顾客2购买了薯片、爆米花和饼干,那么顾客2很可能也会购买冷饮。

  • {智能手机} => {手机壳}

如果顾客3购买了智能手机,那么顾客3最有可能也会购买手机壳。

  • {桌子} => {椅子}

如果顾客4购买了桌子,那么顾客4很可能也会购买椅子。

数据挖掘中的支持度(Support)

在数据挖掘中,支持度(Support)也称为频率(frequency),因为它用于查找数据集中项集出现的交易数量。

支持度是出现某项的交易数量与总交易数量之比,或者简单地说,它可以定义为包含项集“A”的总交易数“T”的比例。

计算支持度的公式如下:

在上面的公式中,A是计算支持度的项集。

我们也可以计算同时购买两个或三个以上商品的频率。

计算两个商品支持度的公式如下:

在上面的公式中,A和B是需要计算支持度的项集。同样,我们可以计算三个商品的支持度。

现在,让我们通过一个例子来充分理解支持度。

假设您经营一家购物中心,并且您还在记录客户的购买情况。

以下是您可以参考的购物中心的购物篮分析

交易 ID购买的商品
T1苹果,芒果,甜瓜,橙子
T2苹果,梨,橙子
T3苹果,橙子,梨
T4苹果,芒果

根据以上交易,我们可以计算不同商品或商品集的支持度百分比。

  • 计算苹果的支持度百分比:

苹果在所有交易中都被购买,所以

支持度(苹果) = 频率(苹果)/ 总交易数 = 4笔交易中的4笔(4/4)= 1;我们可以乘以100来获得支持度百分比。

苹果的支持度百分比为100%

  • 计算橙子的支持度百分比:

橙子在三笔交易中被购买,所以

支持度(橙子) = 频率(橙子)/ 总交易数 = 3/4

橙子的支持度百分比为75%

  • 计算芒果的支持度百分比

芒果在两笔交易中被购买,所以

支持度(芒果) = 频率(芒果)/ 总交易数 = 2/4

芒果的支持度百分比为50%

  • 计算的支持度百分比:

梨在两笔交易中被购买,所以

支持度(梨) = 频率(梨)/ 总交易数 = 2/4

梨的支持度百分比为50%

  • 计算甜瓜的支持度百分比:

甜瓜在一笔交易中被购买,所以

支持度(甜瓜) = 频率(甜瓜)/ 总交易数 = 1/4

甜瓜的支持度百分比为25%

  • 计算苹果和橙子的支持度百分比:

苹果和橙子在三笔交易中同时被购买,所以

支持度(苹果 ∪ 橙子) = 频率(苹果,橙子)/ 总交易数 = 3/4

苹果和橙子的支持度百分比为75%

  • 计算苹果和梨的支持度百分比:

苹果和梨在两笔交易中同时被购买,所以

支持度(苹果 ∪ 梨) = 频率(苹果,梨)/ 总交易数 = 2/4

苹果和梨的支持度百分比为50%

  • 计算苹果和芒果的支持度百分比:

苹果和芒果在两笔交易中同时被购买,所以

支持度(苹果 ∪ 芒果) = 频率(苹果,芒果)/ 总交易数 = 2/4

苹果和芒果的支持度百分比为50%

  • 计算苹果和甜瓜的支持度百分比:

苹果和甜瓜在一笔交易中同时被购买,所以

支持度(苹果 ∪ 甜瓜) = 频率(苹果,甜瓜)/ 总交易数 = 1/4

苹果和甜瓜的支持度百分比为25%

  • 计算芒果和甜瓜的支持度百分比:

芒果和甜瓜在一笔交易中同时被购买,所以

支持度(芒果 ∪ 甜瓜) = 频率(芒果,甜瓜)/ 总交易数 = 1/4

芒果和甜瓜的支持度百分比为25%

  • 计算梨和橙子的支持度百分比:

梨和橙子在两笔交易中同时被购买,所以

支持度(梨 ∪ 橙子) = 频率(梨,橙子)/ 总交易数 = 2/4

梨和橙子的支持度百分比为50%

  • 计算甜瓜和橙子的支持度百分比:

甜瓜和橙子在一笔交易中同时被购买,所以

支持度(甜瓜 ∪ 橙子) = 频率(甜瓜,橙子)/ 总交易数 = 1/4

甜瓜和橙子的支持度百分比为25%

如果支持度值较低,则表示该项在数据集中出现的次数较少;如果支持度值较高,则表示该项在数据集中出现的次数较多。

通过支持度百分比,我们可以过滤掉百分比低的项。

数据挖掘中的置信度(Confidence)

在数据挖掘中,置信度衡量项之间关系的可靠性和强度。它告诉我们关联规则是否为真。

置信度定义为当已知其中一个项(A或B)的出现时,两个项(A和B)在数据集中同时出现的次数。

简单来说,我们可以说,如果关联规则是A => B,那么置信度就是项A和项B的并集的支持度与项A的支持度之比。

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

在上面的公式中,A和B是计算置信度的项集。Support (A ∪ B) 是A和B组合的支持度值,而Support (A) 是A的支持度值。

现在,让我们通过一个例子来理解置信度。

以下是您可以看到的购物篮分析

T4 袜子、领带、手表
交易 ID购买的商品
T1鞋子、袜子、包、香水
T2鞋子、袜子、香水、手表
T3包、香水、手表、袜子

根据以上交易,如果关联规则是{鞋子} => {袜子},我们需要计算该关联是强、中等还是弱。

让我们看看上述关联是否为真,即顾客是否也购买袜子和鞋子。

使用以下公式计算{鞋子} => {袜子}的置信度:

置信度 ({鞋子} => {袜子}) = 支持度 (鞋子 ∪ 袜子)/ 支持度 (鞋子)

我们将首先找到支持度 (鞋子 ∪ 袜子):

支持度 (鞋子 ∪ 袜子) = 频率 (鞋子 ∪ 袜子)/ 总交易数 = 2/4 = 0.5

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

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

置信度 ({鞋子} => {袜子}) = 0.5/0.5 = 1;我们可以将置信度值乘以100来获得置信度百分比。

所以,置信度 ({鞋子} => {袜子}) = 100%,这意味着关联{鞋子} => {袜子}是100%真实的。

如果交易中包含鞋子,那么袜子也包含在该交易中,因此该关联是强的

如果给出的关联是{袜子} => {鞋子},我们需要计算其置信度。

现在,使用以下公式计算{袜子} => {鞋子}的置信度:

置信度 ({袜子} => {鞋子}) = 支持度 (袜子 ∪ 鞋子)/ 支持度 (袜子)

我们先找到支持度 (袜子 ∪ 鞋子):

支持度 (袜子 ∪ 鞋子) = 频率 (袜子 ∪ 鞋子)/ 总交易数 = 2/4 = 0.5

支持度 (袜子) = 频率 (袜子)/ 总交易数 = 4/4 = 1

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

置信度 ({袜子} => {鞋子}) = 0.5/1 = 0.5;我们可以将置信度值乘以100来获得置信度百分比。

所以,置信度 ({袜子} => {鞋子}) = 50%,这意味着关联{袜子} => {鞋子}是50%真实的。

如果交易中包含袜子,但并非总包含鞋子,因此该关联是中等的

通过查找置信度,我们可以检查项之间关系的强度。如果置信度值较高,则意味着两个项之间的关系很强,但如果置信度较低,则意味着两个项之间的关系是中等或弱的。

支持度与置信度的比较

支持信心
支持度用于查找项或项集在数据集中出现的次数。置信度用于查找两个项之间关联的强度。
它是包含某项的交易数量与总交易数量之比。它是组合项(A ∪ B)的支持度与项A本身的支持度之比。
可以使用以下公式进行计算:
对于单个项A,
支持度 (A) = 频率 (A)/ 总交易数
对于项A和项B,
支持度 (A ∪ B) = 频率 (A ∪ B)/ 总交易数
可以使用以下公式进行计算:
置信度 (A=>B) = 支持度 (A ∪ B)/ 支持度 (A)
如果支持度较低,则表明该项在数据集中出现的次数较少。如果置信度较低,则表明两个项集之间的关联不强。
如果支持度较高,则表明该项在数据集中出现的次数较多。如果置信度较高,则表明两个项集之间的关联很强。
支持度通常有助于关注经常购买的商品,这有助于企业领导者增加该商品的销售量并赚取更多利润。置信度有助于关注一起购买的商品组合,这有助于企业领导者增加商品组合的销售量并赚取更多利润。

结论

在本文中,我们已经理解了数据挖掘中的支持度和置信度。我们得出的结论是,支持度表示项在数据集中的频率,而置信度衡量两个项集之间的关系。