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

news2025/1/31 10:06:45

        一、核心概念

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. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2286869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

危机13小时:追踪一场GitHub投毒事件

事件概要 自北京时间 2024.12.4 晚间6点起&#xff0c; GitHub 上不断出现“幽灵仓库”&#xff0c;仓库中没有任何代码&#xff0c;只有诱导性的病毒文件。当天&#xff0c;他们成为了 GitHub 上 star 增速最快的仓库。超过 180 个虚假僵尸账户正在传播病毒&#xff0c;等待不…

LLMs之WebRAG:STORM/Co-STORM的简介、安装和使用方法、案例应用之详细攻略

LLMs之WebRAG&#xff1a;STORM/Co-STORM的简介、安装和使用方法、案例应用之详细攻略 目录 STORM系统简介 1、Co-STORM 2、更新新闻 STORM系统安装和使用方法 1、安装 pip安装 直接克隆GitHub仓库 2、模型和数据集 两个数据集 FreshWiki数据集 WildSeek数据集 支持…

buu-rip-好久不见26

简单的栈溢出&#xff0c;找到后面函数和输入的个数即可

2025一区新风口:小波变换+KAN!速占!

今天给大家分享一个能让审稿人眼前一亮&#xff0c;好发一区的idea&#xff1a;小波变换KAN&#xff01; 一方面&#xff1a;KAN刚中稿ICLR25&#xff0c;正是风口上&#xff0c;与小波变换的结合还处于起步阶段&#xff0c;正是红利期&#xff0c;创新空间广阔。 另一方面&a…

无公网IP 外网访问 本地部署夫人 hello-algo

hello-algo 是一个为帮助编程爱好者系统地学习数据结构和算法的开源项目。这款项目通过多种创新的方式&#xff0c;为学习者提供了一个直观、互动的学习平台。 本文将详细的介绍如何利用 Docker 在本地安装部署 hello-algo&#xff0c;并结合路由侠内网穿透实现外网访问本地部署…

系统思考—蝴蝶效应

“个体行为的微小差异&#xff0c;可能在系统中引发巨大且不可预测的结果。” — 诺贝尔经济学得主托马斯谢林 我们常说&#xff0c;小变动带来大影响&#xff0c;这种现象&#xff0c;在复杂系统理论中被称为“蝴蝶效应”&#xff1a;即使极小的变化&#xff0c;也能在动态系…

钉钉群机器人设置——python版本

钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要&#xff0c;很多项目执行程序后出现报错信息无法第一时间收到&#xff0c;因此实时预警对于监控程序还是有必要。&#xff08;仅个人观点&#xff09; 参考文档及博客&#xff1a…

【Rust自学】15.0. 智能指针(序):什么是智能指针及Rust智能指针的特性

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 15.0.1 指针的基本概念 指针是一个变量在内存中包含的是一个地址&#xff0c;指向另一个数据。 Rust 中最常见的指针是引用&#xff0c…

Spring AI 在微服务中的应用:支持分布式 AI 推理

1. 引言 在现代企业中&#xff0c;微服务架构 已成为开发复杂系统的主流方式&#xff0c;而 AI 模型推理 也越来越多地被集成到业务流程中。如何在分布式微服务架构下高效地集成 Spring AI&#xff0c;使多个服务可以协同完成 AI 任务&#xff0c;并支持分布式 AI 推理&#x…

QT串口通信,实现单个温湿度传感器数据的采集

1、硬件设备 RS485中继器(一进二出),usb转485模块、电源等等 => 累计115元左右。 2、核心代码 #include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::

DeepSeek R1:中国AI黑马的崛起与挑战

文章目录 技术突破&#xff1a;从零开始的推理能力进化DeepSeek R1-Zero&#xff1a;纯RL训练的“自我觉醒”DeepSeek R1&#xff1a;冷启动与多阶段训练的平衡之道 实验验证&#xff1a;推理能力的全方位跃升基准测试&#xff1a;超越顶尖闭源模型蒸馏技术&#xff1a;小模型的…

MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题

无论在使用QT或者MFC进行界面开发时&#xff0c;都会出现在一个对话框里面存在好多的选项&#xff0c;导致对话框变得非常长或者非常大&#xff0c;就会显现的不美观&#xff0c;在这种情况下通常是添加一个页面的滚动条来解决这个问题&#xff0c;下面我们就来介绍给MFC的对话…

php接口连接数据库

框架&#xff1a;https://www.thinkphp.cn/doc 创建网站 域名自己写 创建文件夹&#xff0c;“test”拉取框架&#xff0c;地址栏输入 composer create-project topthink/think5.1.* tp5 会自动创建一个tp5文件夹 根目录选择刚刚创建拉框架的文件夹 以test为示例 “D:\test\…

【卫星通信】链路预算方法

本文介绍卫星通信中的链路预算方法&#xff0c;应该也适用于地面通信场景。 更多内容请关注gzh【通信Online】 文章目录 下行链路预算卫星侧参数信道参数用户侧参数 上行链路预算链路预算计算示例 下行链路预算 卫星侧参数 令卫星侧天线数为 M t M_t Mt​&#xff0c;每根天线…

解析静态链接

文章目录 静态链接空间与地址分配相似段合并虚拟地址分配符号地址确定符号解析与重定位链接器优化重复代码消除函数链接级别静态库静态链接优缺点静态链接 一组目标文件经过链接器链接后形成的文件即可执行文件,如果没有动态库的加入,那么这个可执行文件被加载后无需再进行重…

【C语言】函数递归

目录 1. 什么是递归 1.1 递归的思想&#xff1a; 1.2 递归的限制条件 2. 递归的限制条件 2.1 举例1&#xff1a;求n的阶乘 2.1.1 分析和代码实现 2.1.2 画图推演 2.2 举例2&#xff1a;顺序打印⼀个整数的每⼀位 2.2.1 分析和代码实现 2.2.2 画图推演 3. 递归与迭代…

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能&#xff08;AI&#xff09; 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例&#xff1a;开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…

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

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

C语言编译过程全面解析

今天是2025年1月26日&#xff0c;农历腊月二十七&#xff0c;一个距离新春佳节仅一步之遥的日子。城市的喧嚣中&#xff0c;年味已悄然弥漫——能在这个时候坚持上班的人&#xff0c;真可称为“牛人”了吧&#xff0c;哈哈。。。。 此刻&#xff0c;我在重新审视那些曾被遗忘的…