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

一、核心概念

1.1项集(Itemset)

1.2规则(Rule)

1.3支持度(Support)

[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.4置信度(Confidence)

1.5提升度(Lift)

1.5.1Lift说明

1.5.2提升度的意义

1.5.3提升度的计算示例

1.5.4提升度的应用

[1.5.5. 提升度与其他指标的关系](#1.5.5. 提升度与其他指标的关系)

[1.5.6在 RapidMiner 中使用提升度](#1.5.6在 RapidMiner 中使用提升度)

2.关联分析的目标

二、关联分析实践

1.表Attributes说明

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

[2.1 复制之前的流程并修改名字](#2.1 复制之前的流程并修改名字)

[2.2 修改预处理中的相关参数](#2.2 修改预处理中的相关参数)

[2.3 进行关联分析](#2.3 进行关联分析)

[2.4 结论](#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.

相关推荐
生信与遗传解读5 小时前
Pandas与Numpy的数据分析进阶题
数据分析·numpy·pandas
忆~遂愿6 小时前
3大关键点教你用Java和Spring Boot快速构建微服务架构:从零开发到高效服务注册与发现的逆袭之路
java·人工智能·spring boot·深度学习·机器学习·spring cloud·eureka
deephub8 小时前
十大主流联邦学习框架:技术特性、架构分析与对比研究
人工智能·python·深度学习·机器学习·联邦学习
知识鱼丸11 小时前
machine learning自定义数据集使用框架的线性回归方法对其进行拟合
人工智能·机器学习·线性回归
佛州小李哥13 小时前
在亚马逊云科技上使用Luma AI Ray2视频模型生成炫酷视频 (上)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
小Tomkk13 小时前
大数据相关职位介绍之一(数据分析,数据开发,数据产品经理,数据运营)
大数据·数据分析·数据开发·数据运营·数据产品经理
七灵微14 小时前
【数据分析】基础篇
数据挖掘·数据分析
蜡笔小新..14 小时前
从零推导线性回归:最小二乘法与梯度下降的数学原理
人工智能·机器学习·线性回归·梯度下降·数学推导
zaim115 小时前
计算机的错误计算(二百二十五)
人工智能·ai·大模型·llm·错误·error·误差