Bootstrap

数据分析系列--④RapidMiner进行关联分析(案例)

        一、核心概念

1.1项集(Itemset)

1.2规则(Rule)

1.3支持度(Support)

1.3.1 支持度的定义

1.3.2 支持度的意义

1.3.3 支持度的应用

1.3.4 支持度的示例

1.3.5 支持度的调整

1.3.6 支持度与其他指标的关系

1.4置信度(Confidence)

1.5提升度(Lift)

1.5.1Lift说明

1.5.2提升度的意义

1.5.3提升度的计算示例

 1.5.4提升度的应用

1.5.5. 提升度与其他指标的关系

1.5.6在 RapidMiner 中使用提升度

2.关联分析的目标

二、关联分析实践

1.表Attributes说明

2.修改数据预处理相关参数

2.1 复制之前的流程并修改名字

2.2 修改预处理中的相关参数

2.3 进行关联分析

 2.4 结论

3.收尾工作


关联分析说明:

        关联分析(Association Analysis) 是一种用于发现数据集中项与项之间关系的技术。它通常用于帮助商家识别顾客购买行为中的规律,例如“购买商品 A 的顾客也倾向于购买商品 B”。

        举两个小列子,比如在超市购物,相关联的物品会摆在靠近的位置,比如卖牙膏的附近会有牙刷,卖咖啡的地方通常会有咖啡伴侣,炼乳等;又比如你在购物APP中买了东西,比如一个新手机,最近一段时间它就会给你推荐手机膜,手机壳等等.当然结论是推荐算法给出的,但推荐算法依赖的数据是通过类似于关联分析得到的结果.

在关联分析中一些重要的核心概念说明:

一、核心概念

1.1项集(Itemset)

 一组项的集合,例如 {牛奶, 面包}、{牙膏,牙刷}、{咖啡,咖啡伴侣},{手机,手机周边材料}。

1.2规则(Rule)

形如 {A} → {B} 的关联规则,表示“如果购买了 A,则可能购买 B”。

1.3支持度(Support)

项集或规则在数据集中出现的频率。例如,{牛奶, 面包} 的支持度为 30%,表示 30% 的交易中同时包含牛奶和面包。

1.3.1 支持度的定义

支持度表示某个项集或规则在数据集中出现的比例。它的计算公式如下:

  • 项集的支持度

    例如,项集 {牛奶, 面包} 的支持度为 30%,表示在所有交易中,30% 的交易同时包含牛奶和面包。

  • 规则的支持度

    例如,规则 {牛奶} → {面包} 的支持度为 25%,表示在所有交易中,25% 的交易同时包含牛奶和面包。


1.3.2 支持度的意义
  • 衡量频率
    支持度反映了项集或规则在数据集中出现的普遍性。支持度越高,说明该模式在数据中越常见。

  • 过滤不重要项
    通过设置最小支持度阈值(如 0.1),可以过滤掉低频的项集或规则,减少计算量并聚焦于有意义的模式。


1.3.3 支持度的应用

        ①发现频繁项集:在关联分析中,首先需要找到所有满足最小支持度阈值的频繁项集。例如,如果最小支持度为 0.2,则只有支持度 ≥ 20% 的项集会被保留。

        ②生成关联规则:基于频繁项集生成关联规则时,规则的支持度必须满足最小支持度阈值。例如,规则 {牛奶} → {面包} 的支持度为 25%,如果最小支持度为 0.2,则该规则会被保留。


1.3.4 支持度的示例

假设有以下交易数据:

交易ID商品
1牛奶, 面包
2牛奶, 尿布
3牛奶, 面包, 啤酒
4面包, 啤酒
5牛奶, 面包
  • 计算项集 {牛奶, 面包} 的支持度

    • 包含 {牛奶, 面包} 的交易:交易 1、3、5。

    • 总交易数:5。

    • 支持度 = 3 / 5 = 0.6(即 60%)。

  • 计算规则 {牛奶} → {面包} 的支持度

    • 同时包含 {牛奶} 和 {面包} 的交易:交易 1、3、5。

    • 总交易数:5。

    • 支持度 = 3 / 5 = 0.6(即 60%)。


1.3.5 支持度的调整
  • 最小支持度阈值

    • 设置过高的阈值可能会漏掉一些有意义的低频模式。

    • 设置过低的阈值可能会产生大量无意义的规则。

    • 通常需要根据数据规模和业务需求进行调整。


1.3.6 支持度与其他指标的关系
  • 置信度(Confidence)

    • 置信度衡量规则的可靠性,计算公式为:

    • 支持度是置信度计算的基础。

  • 提升度(Lift)

    • 提升度衡量规则的相关性,计算公式为:

    • 支持度也是提升度计算的基础。

1.4置信度(Confidence)

规则的可靠性。例如,规则 {牛奶} → {面包} 的置信度为 80%,表示在购买牛奶的交易中,80% 也购买了面包。

1.5提升度(Lift)

衡量规则的相关性。提升度 > 1 表示正相关,< 1 表示负相关。用于评估两个事件之间的关联强度,以及一个事件的发生对另一个事件发生的概率的影响.比如该用户长时间不购买牛奶会不会影响其购买面包等.

1.5.1Lift说明

提升度(Lift)表示在给定条件下(例如,事件A发生的情况下),事件B发生的概率与不考虑该条件时事件B发生的概率之比。其数学公式为:

其中:

  • P(A∩B) 表示事件A和事件B同时发生的概率。
  • P(A) 表示事件A发生的概率。
  • P(B) 表示事件B发生的概率。

提升度衡量的是规则 {A} → {B} 的相关性,具体定义为:

1.5.2提升度的意义
  • Lift = 1

    • 表示 A 和 B 是独立的,两者之间没有相关性。

  • Lift > 1

    • 表示 A 和 B 是正相关的,A 的出现会提高 B 出现的概率。

    • 例如,Lift = 2 表示在 A 出现的情况下,B 出现的概率是原本的 2 倍。

  • Lift < 1

    • 表示 A 和 B 是负相关的,A 的出现会降低 B 出现的概率。

1.5.3提升度的计算示例

假设有以下交易数据:

交易ID商品A商品B
1
2
3
4
  • Support(A):商品 A 出现的频率 = 2/4 = 0.5

  • Support(B):商品 B 出现的频率 = 2/4 = 0.5

  • Support(A ∪ B):商品 A 和 B 同时出现的频率 = 1/4 = 0.25

计算提升度:

 1.5.4提升度的应用

        ①评估规则的有效性:提升度 > 1 的规则通常更有意义,表明 A 和 B 之间存在正相关。

        ②优化营销策略:例如,如果 {牛奶} → {面包} 的提升度为 2,可以在牛奶附近摆放面包,促进销售。

        ③过滤无效规则:提升度接近 1 的规则可能没有实际意义,可以忽略。

1.5.5. 提升度与其他指标的关系
  • 支持度(Support)

    • 衡量规则在数据中的普遍性。

  • 置信度(Confidence)

    • 衡量规则的可靠性。

  • 提升度(Lift)

    • 衡量规则的相关性。

1.5.6在 RapidMiner 中使用提升度

        ①使用 FP-Growth 算子生成频繁项集。

        ②使用 Create Association Rules 算子生成规则,并设置最小提升度阈值。

        ③在结果中查看每条规则的提升度,筛选出有意义的规则。

2.关联分析的目标

购买商品 A 的顾客也倾向于购买商品 B,支持这个目标的项集(Itemset)、规则(Rule)、支持度(Support)、置信度(Confidence)、提升度(Lift)分别是什么,是否靠谱

二、关联分析实践

说明:数据预处理部分参照 数据分析系列--③RapidMiner算子说明及数据预处理中的步骤,只是将数据表改为AssociationAnalysisData.xlsx .

1.表Attributes说明

表属性数据说明
Elapsed_Time每个调查对象完成调查所用的时间。精确到0.01分钟。
Time_in_Community用于询问调查对象在该社区的居住时间是0-2年、3-9年,还是10年以上,并在数据集中分别记录为“Short”“Medium”“Long”
Gender: 调查对象性别。
Working调查对象是否从事有薪工作,结果为yes/no
Age调查对象年龄。
Family调查对象是否结婚,结果为yes/no
Hobbies调查对象是否参与兴趣爱好协会,结果为yes/no
Social_Club调查对象是否参与社会组织,结果为yes/no
Political调查对象是否参与政治组织,结果为yes/no Professional: 调查对象是否参与专业组织,结果为yes/no
Religious调查对象是否参与教会组织,结果为yes/no
Support_Group调查对象是否参与援助导向型组织,结果为yes/no

2.修改数据预处理相关参数

2.1 复制之前的流程并修改名字

2.2 修改预处理中的相关参数

ctrl + s保存

2.3 进行关联分析

观察数据:

引入Numerical to Binominal算子将0和1的数据转化为false和true便于后续分析:

引入 FP-Growth找到频繁项集(概念在前面):

我的理解是一组经常同时出现的项的集合,面包+牛奶++++等等等.

 

结论:是否结婚与是否参加社交俱乐部及是否参加政治组织可能存在关联. 

产生关联规则,使用算子Create Association Rules

 2.4 结论

3.收尾工作

Ending,  congratulations, you're done. 

;