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

一、核心概念

        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)

    • 衡量规则的相关性。

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.rhkb.cn/news/10591.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产之光DeepSeek架构理解与应用分析

目录 初步探索DeepSeek的设计 一、核心架构设计 二、核心原理与优化 三、关键创新点 四、典型应用场景 五、与同类模型的对比优势 六、未来演进方向 从投入行业生产的角度看 一、DeepSeek的核心功能扩展 二、机械电子工程产业中的具体案例 1. 预测性维护&#xff08;Predictive…

Golang :用Redis构建高效灵活的应用程序

在当前的应用程序开发中&#xff0c;高效的数据存储和检索的必要性已经变得至关重要。Redis是一个快速的、开源的、内存中的数据结构存储&#xff0c;为各种应用场景提供了可靠的解决方案。在这个完整的指南中&#xff0c;我们将学习什么是Redis&#xff0c;通过Docker Compose…

基于互联网+智慧水务信息化整体解决方案

智慧水务的概述与发展背景 智慧水务是基于互联网、云计算、大数据、物联网等先进技术&#xff0c;对水务行业的工程建设、生产管理、管网运营、营销服务及企业综合管理等业务进行全面智慧化管理的创新模式。它旨在解决水务企业分散经营、管理水平不高、投资不足等问题。 水务…

力扣动态规划-16【算法学习day.110】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;建议灵神的题单和代码随想录&#xff09;和记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关…

使用 Tauri 2 + Next.js 开发跨平台桌面应用实践:Singbox GUI 实践

Singbox GUI 实践 最近用 Tauri Next.js 做了个项目 - Singbox GUI&#xff0c;是个给 sing-box 用的图形界面工具。支持 Windows、Linux 和 macOS。作为第一次接触这两个框架的新手&#xff0c;感觉收获还蛮多的&#xff0c;今天来分享下开发过程中的一些经验~ 为啥要做这个…

langgraph实现 handsoff between agents 模式 (1)

官网示例代码 from typing_extensions import Literal from langchain_core.messages import ToolMessage from langchain_core.tools import tool from langgraph.graph import MessagesState, StateGraph, START from langgraph.types import Command from langchain_openai…

Redis代金卷(优惠卷)秒杀案例-单应用版

优惠卷表:优惠卷基本信息,优惠金额,使用规则 包含普通优惠卷和特价优惠卷(秒杀卷) 优惠卷的库存表:优惠卷的库存,开始抢购时间,结束抢购时间.只有特价优惠卷(秒杀卷)才需要填写这些信息 优惠卷订单表 卷的表里已经有一条普通优惠卷记录 下面首先新增一条秒杀优惠卷记录 { &quo…

观察者模式和订阅发布模式的关系

有人把观察者模式等同于发布订阅模式&#xff0c;也有人认为这两种模式存在差异&#xff0c;本质上就是调度的方法不同。 发布订阅模式: 观察者模式: 相比较&#xff0c;发布订阅将发布者和观察者之间解耦。&#xff08;发布订阅有调度中心处理&#xff09;

Ethflow Round 1 (Codeforces Round 1001, Div. 1 + Div. 2)(A,B,C,E1)

题目链接&#xff1a;Dashboard - Ethflow Round 1 (Codeforces Round 1001, Div. 1 Div. 2) - Codeforces A. String 思路 可以发现最小反转次数就是把每个1单独反转为0就行&#xff0c;即统计1的个数 代码 void solve(){string s;cin>>s;int sum0;for(int i0;i&l…

FreeRTOS从入门到精通 第十五章(事件标志组)

参考教程&#xff1a;【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、事件标志组简介 1、概述 &#xff08;1&#xff09;事件标志位是一个“位”&#xff0c;用来表示事件是否发生。 &#xff08;2&#xff09;事件标志组是一组事件标志位的集合&#x…

Leetcode:541

1&#xff0c;题目 2&#xff0c;思路 用List集合来装字符串其中每k个为一个元素单位我们根据题目意思就可以明白list中偶数位需要反转reverse&#xff0c;奇数保持原样再全部拼接一块最后return tostring 3&#xff0c;代码 import java.util.ArrayList; import java.util.…

C语言指针专题四 -- 多级指针

目录 1. 多级指针的核心原理 1. 多级指针的定义 2. 内存结构示意图 3. 多级指针的用途 2. 编程实例 实例1&#xff1a;二级指针操作&#xff08;修改一级指针的值&#xff09; 实例2&#xff1a;动态二维数组&#xff08;二级指针&#xff09; 实例3&#xff1a;三级指…

Linux运维之Linux的安装和配置

目录 Linux的基本概念&#xff1a; 1.为什么要使用Linux&#xff1f; 2.什么是Linux&#xff1f; Linux的安装和配置&#xff1a; 1.下载Linux的虚拟机和镜像文件&#xff1a; 1.1下载虚拟机 1.2下载镜像文件 2.在虚拟机或者物理机中安装Linux操作系统 3.配置虚拟机的…

第一个3D程序!

运行效果 CPP #include <iostream> #include <fstream> #include <string> #include <cmath>#include <GL/glew.h> #include <GLFW/glfw3.h> #include <glm/glm.hpp> #include <glm/gtc/type_ptr.hpp> #include <glm/gtc/…

deepseek+vscode自动化测试脚本生成

近几日Deepseek大火,我这里也尝试了一下,确实很强。而目前vscode的AI toolkit插件也已经集成了deepseek R1,这里就介绍下在vscode中利用deepseek帮助我们完成自动化测试脚本的实践分享 安装AI ToolKit并启用Deepseek 微软官方提供了一个针对AI辅助的插件,也就是 AI Toolk…

简要介绍C++中的 max 和 min 函数以及返回值

简要介绍C中的 max 和 min 函数 在C中&#xff0c;std::max 和 std::min 是标准库 <algorithm> 中提供的函数&#xff0c;用于比较两个或多个值并返回最大值或最小值。这些函数非常强大且灵活&#xff0c;支持多种数据类型&#xff08;如整数、浮点数、字符串等&#xff…

【MyDB】4-VersionManager 之 3-死锁及超时检测

【MyDB】4-VersionManager 之 3-死锁及超时检测 死锁及超时检测案例背景LockTable锁请求与等待管理 addvm调用addputIntoList&#xff0c;isInList&#xff0c;removeFromList 死锁检测 hasDeadLock方法资源释放与重分配 参考资料 死锁及超时检测 本章涉及代码&#xff1a;top/…

Elasticsearch:如何搜索含有复合词的语言

作者&#xff1a;来自 Elastic Peter Straer 复合词在文本分析和标记过程中给搜索引擎带来挑战&#xff0c;因为它们会掩盖词语成分之间的有意义的联系。连字分解器标记过滤器等工具可以通过解构复合词来帮助解决这些问题。 德语以其长复合词而闻名&#xff1a;Rindfleischetik…

服务器虚拟化实战:架构、技术与最佳实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 1. 引言 服务器虚拟化是现代 IT 基础设施的重要组成部分&#xff0c;通过虚拟化技术可以提高服务器资源利用率、降低硬件成本&am…

【LLM】Ollama框架入门指北

note Ollama是一个开源框架&#xff0c;专门设计用于在本地运行大型语言模型。它的主要特点是将模型权重、配置和数据捆绑到一个包中&#xff0c;从而优化了设置和配置细节&#xff0c;包括GPU使用情况&#xff0c;简化了在本地运行大型模型的过程。Ollama提供了对模型量化的支…