自然语言处理5——发掘隐藏规律 - Python中的关联规则挖掘

目录

  • 写在开头
  • 1. 了解关联规则挖掘的概念和实际应用
    • 1.1 关联规则挖掘在市场分析和购物篮分析中的应用
    • 1.2 关联规则的定义和基本原理
    • 1.3 应用场景
  • 2. 使用Apriori算法和FP-growth算法进行关联规则挖掘
    • 2.1 Apriori算法的工作原理和实现步骤
    • 2.2 FP-growth算法的优势和使用方法
    • 2.3 Apriori算法 vs FP-growth算法
  • 3. 结果解读和关联规则可视化
    • 3.1 如何解读挖掘出的关联规则
    • 3.2 利用可视化工具展示关联规则的分布
  • 写在最后

写在开头

在当今大数据时代,数据分析和挖掘技术成为解决实际问题和优化业务流程的重要工具。其中,关联规则挖掘作为一种强大的数据挖掘技术,在市场分析和购物篮分析中发挥着重要作用。本文将带领你深入了解关联规则挖掘的概念、实际应用,以及如何使用Python中的Apriori算法和FP-growth算法进行关联规则挖掘。最后,我们将探讨如何解读挖掘结果并通过可视化工具展示关联规则的分布。

1. 了解关联规则挖掘的概念和实际应用

1.1 关联规则挖掘在市场分析和购物篮分析中的应用

在市场分析中,关联规则挖掘是一种强大的工具,特别是在购物篮分析方面。通过分析顾客购物篮中的商品组合,企业可以发现不同商品之间的关联性,从而制定更精准的市场策略。例如,超市可能发现了牛奶和面包之间的强关联关系,于是将它们摆放在相邻货架上,提高了购买这两种商品的可能性,增加了销售额。

1.2 关联规则的定义和基本原理

定义: 关联规则是指在数据集中不同项之间存在的相关性或联合出现的模式。这些规则通常采用“X ⇒ Y”的形式,其中X和Y是数据集中的项,意味着当X出现时,可能会伴随着Y的出现。

基本原理: 关联规则挖掘的过程始于寻找频繁项集。频繁项集是在数据集中频繁出现的项的组合。常用的方法包括扫描数据集以计算每个项集的支持度(Support)。支持度表示项集出现的频率,高支持度的项集即为频繁项集。

生成关联规则: 基于频繁项集,可以计算置信度(Confidence)来生成关联规则。置信度是规则的可信度,例如,如果A出现,则B也出现的概率。高置信度的规则更可靠,通常作为有用的关联规则进行筛选。

购物篮分析的实现,是基于条件概率,也就是贝叶斯公式。在实际应用时,主要会牵扯到3个指标:置信度支持度提升度
将信息展示如下,N代表数量:

指标名称指标说明计算公式举例
产品A的订单数有购买过产品A的订单数量N(A)400
产品B的订单数有购买过产品B的订单数量N(B)300
同时购买产品A和B的订单数同时购买过产品A和B的订单数量N(A∩B)200
总订单数所有订单数量N(I)1000
支持度支持的程度,一般用百分比表示。本例中,A和B的支持度,即A和B同时出现的频率,如果A和B一起出现的频率非常小,那么就说明了A和B之间的联系并不大A和B的支持度=N(A∩B)/ N(I)200/1000=20%
置信度揭示了A出现时,B是否一定会出现,如果出现则其大概有多大的可能出现P(B|A)=P(A∩B) /P(A)=[N(A∩B)/N(I)]/[N(A)/N(I)]=N(A∩B)/N(A)200/400=50%
提升度提升度反映了关联规则中的A与B的相关性,提升度>1且越高表明正相关性越高,提升度<1且越低表明负相关性越高,提升度=1表明没有相关性,即相互独立。P(A→B)=P(B|A)/P(B) =[N(A∩B)/N(I)]/[N(A)/N(I)]/[N(B)/N(I)]=N(A∩B)*N(I)/N(A)/N(B)法1:0.5/(300/1000)=0.5/0.3≈1.67 法2:150*1000/400/300≈1.67

1.3 应用场景

市场分析和购物篮分析

在零售业中,关联规则被广泛用于购物篮分析。超市利用这些规则发现消费者购买商品之间的关联关系,从而优化产品摆放、促销策略和交叉销售。例如,发现经常一起购买的商品,如牛奶和谷物,超市可以将它们放在相邻货架上,提高销售量。

医疗保健

在医疗领域,关联规则用于分析疾病和治疗方法之间的关系。医疗专家可以利用关联规则来发现特定病症与药物的关联性,指导临床决策,并提供更个性化的治疗方案。

网络安全

在网络安全中,关联规则挖掘可用于检测异常行为或入侵。通过分析网络流量数据,系统可以发现不同事件之间的关联模式,识别潜在的威胁或攻击,从而及时采取防御措施。

2. 使用Apriori算法和FP-growth算法进行关联规则挖掘

2.1 Apriori算法的工作原理和实现步骤

Apriori算法是一种经典的关联规则挖掘算法,它基于“先验原理”,即如果一个项集是频繁的,那么它的所有子集也是频繁的。这一原理减少了搜索空间,提高了算法效率。实现Apriori算法的步骤包括扫描数据集、生成候选项集、计算支持度、筛选频繁项集等。之前我在文章里有过详细的介绍,如果感兴趣,欢迎访问Python实现产品关联性分析apriori算法 ,此处仅作简单展示:

import pandas as pd
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules# 构建超市购物篮数据
data = [['面包', '牛奶', '啤酒'],['面包', '牛奶', '尿布', '蛋糕'],['牛奶', '尿布', '啤酒', '可乐'],['面包', '牛奶', '尿布', '啤酒'],['面包', '牛奶', 

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

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

相关文章

STM32_HAL Freertos按键控制LED

设置GPIO引脚 根据电路图&#xff0c;K0为用户按键&#xff0c;连接在PA0引脚&#xff0c;当K0按下时接地&#xff0c;引脚电平低电平。在CubeMX中设置PA0&#xff0c;将IO设置为输入&#xff0c;上拉&#xff08;上拉外部悬空时&#xff0c;引脚为高电平&#xff09;。 添…

大学物理实验重点——交直流电桥

直流电桥 惠斯通电桥 平衡条件&#xff1a; 非平衡电桥 为了测量的准确性&#xff0c;在测量的起始点&#xff0c;电桥必须调至平衡&#xff08;&#xff09;&#xff0c;称为预调平衡。这样可使输出只与某一臂电阻变化有关。 平衡时 若 R1、 R2 、 R3 固定&#xff0c; R4 为…

美食管理与推荐系统Python+Django网站系统+协同过滤推荐算法【计算机课设】

一、介绍 美食管理与推荐系统。本系统使用Python作为主要开发语言开发的一个美食管理推荐网站平台。 网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求&#xff0c;并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的…

shall脚本

if 注意 || 的两边和中括号里的开始和结束都有空格 1 #!/bin/bash2 read -p " please intput (Y/N): " value3 if [ "$value" "Y" ] || [ "$value" "y" ]; then4 echo "your input is Y"5 exit 06 fi7…

第八部分 使用条件判断

目录 一、示例 二、语法 使用条件判断&#xff0c;可以让 make 根据运行时的不同情况选择不同的执行分支。条件表达式 可以是比较变量的值&#xff0c;或是比较变量和常量的值。 一、示例 下面的例子&#xff0c;判断$(CC)变量是否“gcc”&#xff0c;如果是的话&#xff0…

期货日数据维护与使用_日数据维护_日数据更新

目录 写在前面&#xff1a; 下载日数据 下载“新增合约”日数据 下载“待更新合约”日数据 日数据文件 “选择日数据所在目录”按钮点击 “执行”按钮点击 sqlite3代码 按钮点击后执行的代码 子线程代码 写在前面&#xff1a; 本文默认已经创建了项目&#xff0c;如…

reiserfs文件系统的磁盘布局

reiserfs文件系统的磁盘布局比较简单&#xff0c;它把整块分区分成相同大小的block块&#xff0c;一个block块的大小默认是4K&#xff0c;而最大块数未2^32次方&#xff0c;即一个分区最大大小为16TB。 reiserfs文件系统分区的前64KB总是为分区标签&#xff08;partition labe…

第九节HarmonyOS 常用基础组件11-TextPicker

1、描述 滑动选择文本内容的组件。 2、接口 TextPicker(options?: {range: string[]|Resource, selected?: number, value?: string}) 3、参数 参数名称 参数类型 必填 描述 range string[]|Resource 是 选择器的数据。 selected number 否 设置默认选中项在…

【普中开发板】基于51单片机的温度报警器LCD1602_可调上下限( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的温度报警器LCD1602_可调上下限 1.主要功能&#xff1a;资料下载链接&#xff1a; 普中开发板实物演示图&#xff1a;2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的温度报警器LCD1602_可调上下限 ( proteus仿真程序设计报告讲解视频&a…

服务器内存不足怎么办?会有什么影响?

服务器内存&#xff0c;也被称为RAM&#xff08;Random Access Memory&#xff09;&#xff0c;是一种临时存储设备&#xff0c;用于临时存放正在运行的程序和数据。它是服务器上的超高速存储介质&#xff0c;可以快速读取和写入数据&#xff0c;提供给CPU进行实时计算和操作。…

跟着小德学C++之安全模块

嗨&#xff0c;大家好&#xff0c;我是出生在达纳苏斯的一名德鲁伊&#xff0c;我是要立志成为海贼王&#xff0c;啊不&#xff0c;是立志成为科学家的德鲁伊。最近&#xff0c;我发现我们所处的世界是一个虚拟的世界&#xff0c;并由此开始&#xff0c;我展开了对我们这个世界…

遇见未来的你——感谢你带给我的感悟

目录 一、背景介绍二、思路&方案三、过程1.都说有的人出生就在罗马而有的人却用一辈子都在去向罗马的路上1.1.物质&#xff1a;1.2.精神&#xff1a; 2.做事情要看大再看细3.心存善念&#xff0c;常怀感恩&#xff0c;从小事做起4.所谓的面子在母爱面前像是一粒微尘5.讲道理…

【强化学习的数学原理-赵世钰】课程笔记(六)随机近似与随机梯度下降

目录 一.内容概述 二.激励性实例&#xff08;Motivating examples&#xff09; 三.Robbins-Monro 算法&#xff08;RM 算法&#xff09;&#xff1a; 1.算法描述 2.说明性实例&#xff08;llustrative examples&#xff09; 3.收敛性分析&#xff08;Convergence analysi…

git 常用命令 查看文件内容

git cat-file -p 8ds88f 查看git的对象的内容Further Reading &#xff1a;Git常用命令汇总

Spark基础内容

Spark基本介绍 Spark是什么 定义 Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎. Spark与MapReduce对比 mapreduce架构图如下: MapReduce的主要缺点&#xff1a; 1- MapReduce是基于进程进行数据处理&#xff0c;进程相对线程来说&#x…

十一、工具盒类(MyQQ)(Qt5 GUI系列)

目录 ​编辑 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 抽屉效果是软件界面设计中的一种常用形式&#xff0c;可以以一种动态直观的方式在有限大小的界面上扩展出更多的功能。本例要求实现类似 QQ 抽屉效果。 二、实现代码 #include "dialog.…

数据结构实验1:栈和队列的应用

目录 一、实验目的 二、实验原理 1.1栈的基本操作 1.1.1 栈的定义 1.1.2 初始化栈 1.1.3 压栈&#xff08;Push&#xff09; 1.1.4 出栈&#xff08;Pop&#xff09; 1.1.5 判空&#xff08;isEmpty&#xff09; 1.1.6 查看栈顶元素&#xff08;Top&#xff09; 1.1…

el-date-picker日期时间选择器限制可选的日期范围

业务场景&#xff1a;需要限制日期时间选择器可选择的日期&#xff0c;有两种模式&#xff0c; 一种是已知范围&#xff0c;只能选已知范围内的日期&#xff0c; 另一种是知道最近天数&#xff0c;只能选今天往前的天数内的日期&#xff0c;超出不能选。 <el-date-picker v-…

软性演员-评论家算法 SAC

软性演员-评论家算法 SAC 软性演员-评论家算法 SAC优势原理软性选择模型结构目标函数重参数化熵正则化算法步骤代码实现 软性演员-评论家算法 SAC 优势原理 DDPG 的问题在于&#xff0c;训练不稳定、收敛差、依赖超参数、不适应复杂环境。 软性演员-评论家算法 SAC&#xff…

算法通关村番外篇-优先队列

大家好我是苏麟 , 今天聊聊优先队列 . 优先队列 我们了解优先队列之前先说说队列 . 队列的特点是什么&#xff1f; 队列的特点是先进先出&#xff08;FIFO&#xff09;。 入队列&#xff0c;将新元素置于队尾&#xff1a; 出队列&#xff0c;队头元素最先被移出&#xff1a…