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

embedded/2025/2/1 6:13:52/

一、核心概念

        1.项集(Itemset)

        2.规则(Rule)

        3.支持度(Support)

                3.1 支持度的定义

                3.2 支持度的意义

                3.3 支持度的应用

                3.4 支持度的示例

                3.5 支持度的调整

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

        4.置信度(Confidence)

        5.提升度(Lift)

                5.1Lift说明

                5.2提升度的意义

                5.3提升度的计算示例

                5.4提升度的应用

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

                5.6在 RapidMiner 中使用提升度

        2.关联分析的目标

二、关联分析实践

        1.表Attributes说明

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

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

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

                2.3 进行关联分析

                2.4 结论

        3.收尾工作


关联分析说明:

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

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

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

一、核心概念

1.项集(Itemset)

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

2.规则(Rule)

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

3.支持度(Support)

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

3.1 支持度的定义

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

  • 项集的支持度

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

  • 规则的支持度

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


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

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


3.3 支持度的应用

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

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


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%)。


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

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

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

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


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

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

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

  • 提升度(Lift)

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

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

4.置信度(Confidence)

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

5.提升度(Lift)

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

5.1Lift说明

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

其中:

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

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

5.2提升度的意义
  • Lift = 1

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

  • Lift > 1

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

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

  • Lift < 1

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

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

计算提升度:

 5.4提升度的应用

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

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

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

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

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

  • 置信度(Confidence)

    • 衡量规则的可靠性。

  • 提升度(Lift)

    • 衡量规则的相关性。

RapidMiner%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%8F%90%E5%8D%87%E5%BA%A6" name="1.5.6%E5%9C%A8%20RapidMiner%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%8F%90%E5%8D%87%E5%BA%A6">5.6RapidMiner 中使用提升度

        ①使用 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. 


http://www.ppmy.cn/embedded/158555.html

相关文章

前后分离Vue3+Django 之简单的登入

前端Vue3 <template><div><el-form :model"form" label-width"100px"><el-form-item label"用户名"><el-input v-model"form.username" placeholder"请输入用户名"></el-input></e…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.28 存储之道:跨平台数据持久化方案

好的&#xff0c;我将按照您的要求生成一篇高质量的Python NumPy文章。以下是第28篇《存储之道&#xff1a;跨平台数据持久化方案》的完整内容&#xff0c;包括目录、正文和参考文献。 1.28 存储之道&#xff1a;跨平台数据持久化方案 目录 #mermaid-svg-n1z37AP8obEgptkD {f…

大模型知识蒸馏技术(1)——蒸馏技术概述

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 概述 1.1 核心概念与定义 知识蒸馏是一种模型压缩和知识迁移的技术,其核心思想是利用一个预先训练好的大型复杂模型(教师模型)作为“教师”,指导训练一个更小更轻量级的模型(学生模型)。…

线性调整器——耗能型调整器

线性调整器又称线性电压调节器&#xff0c;以下是关于它的介绍&#xff1a; 基本工作原理 线性调整器的基本电路如图1.1(a)所示,晶体管Q1(工作于线性状态,或非开关状态)构成一个连接直流源V和输出端V。的可调电气电阻,直流源V由60Hz隔离变压器&#xff08;电气隔离和整流&#…

硬件电路(5)-压敏电阻

一、概述 压敏电阻&#xff0c;顾名思义&#xff0c;对电压很敏感的电阻&#xff1b;中文这个“敏感”对应到电路中&#xff0c;应该就是一个非线性的变化&#xff1a;当电压达到一定的数值的时候&#xff0c;器件的阻抗呈现出剧烈的变化&#xff0c;这个剧烈的变化应该是量级上…

大数据相关职位 职业进阶路径

大数据相关职位 & 职业进阶路径 &#x1f4cc; 大数据相关职位 & 职业进阶路径 大数据领域涵盖多个方向&#xff0c;包括数据工程、数据分析、数据治理、数据科学等&#xff0c;每个方向的进阶路径有所不同。以下是大数据相关职位的详细解析及其职业进阶关系。 &#…

CAPL与外部接口

CAPL与外部接口 目录 CAPL与外部接口1. 引言2. CAPL与C/C++交互2.1 CAPL与C/C++交互简介2.2 CAPL与C/C++交互实现3. CAPL与Python交互3.1 CAPL与Python交互简介3.2 CAPL与Python交互实现4. CAPL与MATLAB交互4.1 CAPL与MATLAB交互简介4.2 CAPL与MATLAB交互实现5. 案例说明5.1 案…

Linux---架构概览

一、Linux 架构分层的深度解析 1. 用户空间&#xff08;User Space&#xff09; 用户空间是应用程序运行的环境&#xff0c;与内核空间隔离&#xff0c;确保系统稳定性。 应用程序层&#xff1a; 用户程序&#xff1a;如 edge、vim&#xff0c;通过调用标准库&#xff08;如 …