[1.3.1 支持度的定义](#1.3.1 支持度的定义)
[1.3.2 支持度的意义](#1.3.2 支持度的意义)
[1.3.3 支持度的应用](#1.3.3 支持度的应用)
[1.3.4 支持度的示例](#1.3.4 支持度的示例)
[1.3.5 支持度的调整](#1.3.5 支持度的调整)
[1.3.6 支持度与其他指标的关系](#1.3.6 支持度与其他指标的关系)
[1.5.5. 提升度与其他指标的关系](#1.5.5. 提升度与其他指标的关系)
[1.5.6在 RapidMiner 中使用提升度](#1.5.6在 RapidMiner 中使用提升度)
[2.1 复制之前的流程并修改名字](#2.1 复制之前的流程并修改名字)
[2.2 修改预处理中的相关参数](#2.2 修改预处理中的相关参数)
[2.3 进行关联分析](#2.3 进行关联分析)
[2.4 结论](#2.4 结论)
关联分析说明:
关联分析(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.