数据分析系列--④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.
相关文章:
数据分析系列--④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 支持度与其他指标的…...
危机13小时:追踪一场GitHub投毒事件
事件概要 自北京时间 2024.12.4 晚间6点起, GitHub 上不断出现“幽灵仓库”,仓库中没有任何代码,只有诱导性的病毒文件。当天,他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒,等待不…...
LLMs之WebRAG:STORM/Co-STORM的简介、安装和使用方法、案例应用之详细攻略
LLMs之WebRAG:STORM/Co-STORM的简介、安装和使用方法、案例应用之详细攻略 目录 STORM系统简介 1、Co-STORM 2、更新新闻 STORM系统安装和使用方法 1、安装 pip安装 直接克隆GitHub仓库 2、模型和数据集 两个数据集 FreshWiki数据集 WildSeek数据集 支持…...
使用QSqlQueryModel创建交替背景色的表格模型
class UserModel(QSqlQueryModel):def __init__(self):super().__init__()self._query "SELECT name, age FROM users"self.refresh()def refresh(self):self.setQuery(self._query)# 重新定义data()方法def data(self, index, role): if role Qt.BackgroundRole…...
低代码产品插件功能一览
下图是统计的目前市面上流行的低代码、零代码产品的插件功能。 产品名称 产品类型 官方插件数量 支持拓展 官方插件功能 宜搭 零代码 3 暂不支持 云打印、CAD看图、打印表单详情 微搭 低代码 1 暂不支持 小程序 明道云 低代码 2 支持 视图、工作流节点 简道…...
buu-rip-好久不见26
简单的栈溢出,找到后面函数和输入的个数即可...
Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持
在去年春节,Flutter 官方发布了宏(Macros)编程的原型支持, 同年的 5 月份在 Google I/O 发布的 Dart 3.4 宣布了宏的实验性支持,但是对于 Dart 内部来说,从启动宏编程实验开始已经过去了几年,但…...
新手项目管理的实用工具推荐
项目启动的实用工具推荐 1. MindManager MindManager 是一款功能强大且广受欢迎的思维导图工具,对于项目启动阶段的新手而言,它就像是一位贴心的 “思路梳理助手”。在项目启动初期,各种信息和想法往往杂乱无章地充斥在脑海中,而…...
2025一区新风口:小波变换+KAN!速占!
今天给大家分享一个能让审稿人眼前一亮,好发一区的idea:小波变换KAN! 一方面:KAN刚中稿ICLR25,正是风口上,与小波变换的结合还处于起步阶段,正是红利期,创新空间广阔。 另一方面&a…...
Django ORM解决Oracle表多主键的问题
现状 以Django 3.2为例 Django ORM 设计为默认使用单一主键(通常是自增的 id 字段),这一选择主要基于以下核心原因: 简化ORM设计与操作 统一访问方式外键关联简化 避免歧义冲突 主键语义明确防止隐式依赖 性能与数据库兼容 索引…...
solidity高阶 -- 线性继承
Solidity是一种面向合约的高级编程语言,用于编写智能合约。在Solidity中,多线继承是一个强大的特性,允许合约从多个父合约继承属性和方法。本文将详细介绍Solidity中的多线继承,并通过不同的实例展示其使用方法和注意事项。 在Sol…...
无公网IP 外网访问 本地部署夫人 hello-algo
hello-algo 是一个为帮助编程爱好者系统地学习数据结构和算法的开源项目。这款项目通过多种创新的方式,为学习者提供了一个直观、互动的学习平台。 本文将详细的介绍如何利用 Docker 在本地安装部署 hello-algo,并结合路由侠内网穿透实现外网访问本地部署…...
系统思考—蝴蝶效应
“个体行为的微小差异,可能在系统中引发巨大且不可预测的结果。” — 诺贝尔经济学得主托马斯谢林 我们常说,小变动带来大影响,这种现象,在复杂系统理论中被称为“蝴蝶效应”:即使极小的变化,也能在动态系…...
钉钉群机器人设置——python版本
钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要,很多项目执行程序后出现报错信息无法第一时间收到,因此实时预警对于监控程序还是有必要。(仅个人观点) 参考文档及博客:…...
sem_wait的概念和使用案列
sem_wait 是 POSIX 标准中定义的一个用于同步的函数,它通常用于操作信号量(semaphore)。信号量是一个整数变量,可以用来控制对共享资源的访问。在多线程编程中,sem_wait 常用于实现线程间的同步。 概念 sem_wait 的基…...
深度学习在金融风控中的应用:突破传统模型的瓶颈
深度学习在金融风控中的应用:突破传统模型的瓶颈 金融风险控制(简称“风控”)是现代金融体系中至关重要的一环,关系到金融机构的稳定性、客户的安全以及整体经济的健康运行。近年来,随着深度学习的迅猛发展,传统的风控模型正面临被颠覆的挑战,新的技术手段和思维方式正…...
【Rust自学】15.0. 智能指针(序):什么是智能指针及Rust智能指针的特性
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 15.0.1 指针的基本概念 指针是一个变量在内存中包含的是一个地址,指向另一个数据。 Rust 中最常见的指针是引用,…...
Spring AI 在微服务中的应用:支持分布式 AI 推理
1. 引言 在现代企业中,微服务架构 已成为开发复杂系统的主流方式,而 AI 模型推理 也越来越多地被集成到业务流程中。如何在分布式微服务架构下高效地集成 Spring AI,使多个服务可以协同完成 AI 任务,并支持分布式 AI 推理&#x…...
QT串口通信,实现单个温湿度传感器数据的采集
1、硬件设备 RS485中继器(一进二出),usb转485模块、电源等等 => 累计115元左右。 2、核心代码 #include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::...
EtherCAT主站IGH-- 21 -- IGH之fsm_reboot.h/c文件解析
EtherCAT主站IGH-- 21 -- IGH之fsm_reboot.h/c文件解析 0 预览一 该文件功能`fsm_reboot.c` 文件功能函数预览二 函数功能介绍`fsm_reboot.c` 中主要函数的作用1. `ec_fsm_reboot_init`2. `ec_fsm_reboot_clear`3. `ec_fsm_reboot_single`4. `ec_fsm_reboot_all`5. `ec_fsm_reb…...
使用 Docker + Nginx + Certbot 实现自动化管理 SSL 证书
使用 Docker Nginx Certbot 实现自动化管理 SSL 证书 在互联网安全环境日益重要的今天,为站点或应用部署 HTTPS 已经成为一种常态。然而,手动申请并续期证书既繁琐又容易出错。本文将以 Nginx Certbot 为示例,基于 Docker 容器来搭建一个…...
深入理解Linux内核的虚拟地址到物理地址转换机制及缓存优化
在现代计算机系统中,虚拟地址到物理地址的转换是操作系统内存管理的重要组成部分。特别是在基于x86_64架构的Linux系统上,这一转换过程及其相关的缓存机制对系统性能和稳定性至关重要。本文将深入探讨Debian 10上运行Linux 4.19内核时,这些机制的实现细节,特别是页表管理、…...
DeepSeek R1:中国AI黑马的崛起与挑战
文章目录 技术突破:从零开始的推理能力进化DeepSeek R1-Zero:纯RL训练的“自我觉醒”DeepSeek R1:冷启动与多阶段训练的平衡之道 实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的…...
MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题
无论在使用QT或者MFC进行界面开发时,都会出现在一个对话框里面存在好多的选项,导致对话框变得非常长或者非常大,就会显现的不美观,在这种情况下通常是添加一个页面的滚动条来解决这个问题,下面我们就来介绍给MFC的对话…...
php接口连接数据库
框架:https://www.thinkphp.cn/doc 创建网站 域名自己写 创建文件夹,“test”拉取框架,地址栏输入 composer create-project topthink/think5.1.* tp5 会自动创建一个tp5文件夹 根目录选择刚刚创建拉框架的文件夹 以test为示例 “D:\test\…...
【卫星通信】链路预算方法
本文介绍卫星通信中的链路预算方法,应该也适用于地面通信场景。 更多内容请关注gzh【通信Online】 文章目录 下行链路预算卫星侧参数信道参数用户侧参数 上行链路预算链路预算计算示例 下行链路预算 卫星侧参数 令卫星侧天线数为 M t M_t Mt,每根天线…...
解析静态链接
文章目录 静态链接空间与地址分配相似段合并虚拟地址分配符号地址确定符号解析与重定位链接器优化重复代码消除函数链接级别静态库静态链接优缺点静态链接 一组目标文件经过链接器链接后形成的文件即可执行文件,如果没有动态库的加入,那么这个可执行文件被加载后无需再进行重…...
【C语言】函数递归
目录 1. 什么是递归 1.1 递归的思想: 1.2 递归的限制条件 2. 递归的限制条件 2.1 举例1:求n的阶乘 2.1.1 分析和代码实现 2.1.2 画图推演 2.2 举例2:顺序打印⼀个整数的每⼀位 2.2.1 分析和代码实现 2.2.2 画图推演 3. 递归与迭代…...
从0到1:C++ 开启游戏开发奇幻之旅(二)
目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能(AI) 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例:开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…...
线性调整器——耗能型调整器
线性调整器又称线性电压调节器,以下是关于它的介绍: 基本工作原理 线性调整器的基本电路如图1.1(a)所示,晶体管Q1(工作于线性状态,或非开关状态)构成一个连接直流源V和输出端V。的可调电气电阻,直流源V由60Hz隔离变压器(电气隔离和整流&#…...









