当前位置: 首页 > news >正文

数据挖掘——关联规则挖掘

数据挖掘——关联数据挖掘

  • 关联数据挖掘
    • 关联规则
    • 关联规则挖掘问题:
    • 具体挖掘过程
      • Apriori
    • 产生关联规则

关联数据挖掘

关联分析用于发现隐藏在大型数据集中的令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。

关联规则反映一个事物与其它事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物发生就能够预测与它相关联的其它事物的发生。
在这里插入图片描述
定义:频繁项集

项集(Itemset)

  • 包含0个或多个项的集合
    • 例子:{Milk, Bread, Diaper}
  • k-项集
    • 如果一个项集包含k个项

支持度计数(Supportcount)( σ \sigma σ)

  • 包含特定项集的事务个数
  • 例如: σ \sigma σ({Milk,Bread,Diaper}) = 2

支持度(Support)

  • 包含项集的事务数与总事务数的比值
  • 例如: s({Milk,Bread, Diaper}) = 2/5

频繁项集(FrequentItemset)

  • 满足最小支持度阈值(minsup )的所有项集

频繁闭项集

  • 所谓闭项集,就是指一个项集X,它的直接超集的支持度计数都不等于它本身的支持度计数。如果闭项集同时是频繁的,也就是它的支持度大于等于最小支持度阈值,那它就称为闭频繁项集。

最大频繁项集
最大频繁项集是这样的频繁项集,它的直接超集都不是频繁的
在这里插入图片描述

关联规则

关联规则是形如X →Y的蕴含表达式, 其中 X 和 Y 是不相交的项集

  • 例子:{Milk, Diaper} →{Beer}

关联规则的强度

  • 支持度 Support (s)
    确定项集的频繁程度
  • 置信度 Confidence (c)
    确定Y在包含X的事务中出现的频繁程度

在这里插入图片描述

关联规则挖掘问题:

给定事务的集合 T, 关联规则发现是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则, minsup和minconf是对应的支持度和置信度阈值

具体挖掘过程

大多数关联规则挖掘算法通常采用的一种策略是,将关联规则挖掘任务分解为如下两个主要的子任务:

  • 频繁项集产生(Frequent Itemset Generation)
    • 其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集。
  • 规则的产生(Rule Generation)
    • 其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称作强规则(strong rule)。

降低产生频繁项集计算复杂度的方法

  1. 减少候选项集的数量
    • 先验原理:(Apriori)
  2. 减少比较的次数
    • 替代将每个候选项集与每个事务相匹配,可以使用更高级的数据结构,或存储候选项集或压缩数据集,来减少比较次数(FPGrowth)

Apriori

先验原理

  • 如果一个项集是频繁的,则它的所有子集一定也是频繁的
  • 相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的

在这里插入图片描述
需要一提的是Apriori中所运用到的项的连接准则:

项的连接准则:去掉尾项之后如果二者一样则可以连接
例如本例中{A,C},{B,C},{B,E},{C,E}四者,只有{B,C},{B,E},两者去掉尾项后的B是相等的,所以是可以连接的{B,C,E}

Apriori算法特点

优点

  • 使用先验性质,大大提高了频繁项集逐层产生的效率
  • 简单易理解;数据集要求低

缺点

  • 多次扫描数据库
  • 候选项规模庞大
  • 计算支持度开销大

Apriori算法需要反复的生成候选项,如果项的数目比较大,候选项的数目将达到组合爆炸式的增长

提高Apriori算法性能的方法
在这里插入图片描述

产生关联规则

任务描述:给定频繁项集Y, 查找Y的所有非空真子集 X ∈ Y X \in Y XY,使得 X → Y – X X \rightarrow Y –X XYX 的置信度超过最小置信度阈值minconf

  • 例子:If {A,B,C} is a frequent itemset, 候选规则如下:
    A B → C A → B C A C → B B → A C B C → A C → A B AB \rightarrow C\\ A\rightarrow BC\\ AC \rightarrow B\\ B \rightarrow AC\\ BC \rightarrow A\\ C \rightarrow AB ABCABCACBBACBCACAB
    如果 |Y| = k, 那么会有 2k–2 个候选关联规则 (不包括 Y → ∅ 、 ∅ → Y Y→\emptyset、 \empty →Y YY

如何高效地从频繁项集中产生关联规则?

  • 通常置信度不满足反单调性(anti-monotone property ),例如:
  • c(ABC →D) 可能大于也可能小于 c(AB →D)
  • 但是,针对同一个频繁项集的关联规则,如果规则的后件满足子集关系,那么这些规则的置信度间满足反单调性
  • e.g., Y = A , B , C , D c ( A B C → D ) ≥ c ( A B → C D ) ≥ c ( A → B C D ) Y= {A,B,C,D}\\ c(ABC → D) \geq c(AB → CD) \geq c(A → BCD) Y=A,B,C,Dc(ABCD)c(ABCD)c(ABCD)

相关文章:

数据挖掘——关联规则挖掘

数据挖掘——关联数据挖掘 关联数据挖掘关联规则关联规则挖掘问题:具体挖掘过程Apriori 产生关联规则 关联数据挖掘 关联分析用于发现隐藏在大型数据集中的令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。 关联规则反映一个事物与…...

JVM实战—9.线上FGC的几种案例

大纲 1.如何优化每秒十万QPS的社交APP的JVM性能(增加S区大小 优化内存碎片) 2.如何对垂直电商APP后台系统的FGC进行深度优化(定制JVM参数模版) 3.不合理设置JVM参数可能导致频繁FGC(优化反射的软引用被每次YGC回收) 4.线上系统每天数十次FGC导致频繁卡顿的优化(大对象问题…...

STM32-BKP备份寄存器RTC实时时钟

一、原理 Unix: 一些系统是使用32bit有符号数存储,实际范围为-2,147,483,648到2,147,483,647‌即~ 经过计算int32数据会在2038年1月19日溢出,可以看到转换的为北京时间。 STM32的时间戳为无符号时间戳。 我们需要把秒计数器的时间通过计算…...

HTML-文本标签

历史上&#xff0c;网页的主要功能是文本展示。所以&#xff0c;HTML 提供了大量的文本处理标签。 1.<div> <div>是一个通用标签&#xff0c;表示一个区块&#xff08;division&#xff09;。它没有语义&#xff0c;如果网页需要一个块级元素容器&#xff0c;又没…...

香橙派5plus单独编译并安装linux内核无法启动的原因分析与解决记录

1 说明 我依照官方手册编译单独编译linux内核&#xff0c;安装后重启出现内核启动失败的问题,编译和安装步骤如下&#xff1a;# 1. 克隆源码 git clone --depth1 -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi# 2 配置源码 make rockchip_linu…...

嵌入式应用软件开发中C语言方向面试题

嵌入式应用软件开发中C语言方向面试题随笔 前言一、C语言基础二、嵌入式开发相关三、硬件相关知识五、实际编程问题前言 做嵌入式开发这么多年了,简单记录下C语言方向常见面试题,这里是应用软件方向的。 一、C语言基础 C语言的指针与数组的区别是什么?指针:指针是一个变量…...

linux 系统配置ip

最常见的配置方法是通过 DHCP 获取动态 IP 地址&#xff0c;或者手动配置一个静态 IP 地址。下面我将详细说明这两种常见的配置方法。 通过 DHCP 自动获取 IP 地址 如果你的开发板连接到网络&#xff08;比如通过网线或者 Wi-Fi&#xff09;&#xff0c;并且网络环境支持 DHCP…...

低代码开发:开启企业数智化转型“快捷键”

一、低代码开发浪潮来袭&#xff0c;企业转型正当时 在当今数字化飞速发展的时代&#xff0c;低代码开发已如汹涌浪潮&#xff0c;席卷全球。从国际市场来看&#xff0c;诸多企业巨头纷纷布局低代码领域&#xff0c;像微软的 PowerApps、OutSystems 等平台&#xff0c;凭借强大…...

Tailwind CSS 实战:性能优化最佳实践

在现代网页开发中,性能优化就像是一场精心策划的马拉松。记得在一个电商项目中,我们通过一系列的性能优化措施,让页面加载时间减少了 60%,转化率提升了 25%。今天,我想和大家分享如何使用 Tailwind CSS 进行性能优化。 优化理念 性能优化就像是在打磨一块璞玉。我们需要通过各…...

[redux] useDispatch的两种用法

先重写2个方法先, 方便ts类型推导,如果你看不懂为什么这么写, 先看我这篇 [redux] ts声明useSelector和useDispatch-CSDN博客 export type RootState ReturnType<typeof store.getState>; export type AppDispatch typeof store.dispatch; export const useAppDispat…...

Postgresql 命令还原数据库

因为PgAdmin打不开&#xff0c;但是数据库已经安装成功了&#xff0c;这里借助Pg命令来还原数据库 C:\Program Files\PostgreSQL\15\bin\psql.exe #链接数据库 psql -U postgres -p 5432#创建数据库 CREATE DATABASE "数据库名称"WITHOWNER postgresENCODING UTF8…...

电脑找不到mfc110.dll文件要如何解决?Windows缺失mfc110.dll文件快速解决方法

一、mfc110.dll文件的重要性 mfc110.dll&#xff0c;全称Microsoft Foundation Class Library 110&#xff0c;是Microsoft Visual C Redistributable for Visual Studio 2012的一部分。这个动态链接库&#xff08;DLL&#xff09;文件对于支持基于MFC&#xff08;Microsoft F…...

Elasticsearch与数据库数据一致性:最佳实践与解决方案

在现代应用程序中&#xff0c;Elasticsearch&#xff08;ES&#xff09;作为一个高效的分布式搜索引擎&#xff0c;常常与数据库一同使用&#xff0c;以提供强大的搜索、分析和数据可视化功能。然而&#xff0c;数据库和Elasticsearch之间的同步与一致性常常成为一个挑战。如何…...

vue导入导出excel、设置单元格文字颜色、背景色、合并单元格(使用xlsx-js-style库)

npm i xlsx-js-style <template><button click"download">下载 Excel 表格</button><el-table :data"tableData" style"width: 100%"><el-table-column prop"date" label"日期" width"180…...

电子电气架构 --- 中央处理器HPC及软件架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…...

代码实战:基于InvSR对视频进行超分辨率重建

Diffusion Models专栏文章汇总:入门与实战 前言:上一篇博客《使用Diffusion Models进行图像超分辩重建》中讲解了InvSR的原理,博主实测的效果是非常不错的,和PASD基本持平。这篇博客就讲解如何利用InvSR对视频进行超分辨率重建。 目录 环境准备 代码讲解 环境准备...

一文读懂主成分分析法(PCA)

主成分分析法&#xff08;PCA&#xff09; 主成分分析法&#xff08;PCA&#xff09;主成分分析的基本思想主成分的计算主成分分析的原理主成分分析的特点主成分分析的应用 主成分分析法&#xff08;PCA&#xff09; 主成分分析的基本思想 PCA是1901 年Pearson在研究回归分析…...

Redis(基础篇 + 实践篇 )

01 | 基本架构&#xff1a;一个键值数据库包含什么&#xff1f; Redis 作为一个内存数据存储系统&#xff0c;它的架构设计非常简洁&#xff0c;但功能非常强大。理解其核心架构对高效使用 Redis 至关重要。 客户端与服务器架构&#xff1a; 客户端通过 TCP 协议连接到 Redis …...

高质量C++小白教程:2.10-预处理器简介

当你在编译项目时,你可能希望编译器完全按照你编写的方式编译每一个代码文件,当事实并非如此。 相反,在编译之前,每一个.cpp文件都会经历一个预处理的阶段,在此阶段中,称为预处理器的程序对代码文件的文本进行各种更改. 预处理器实际上不会以任何方式修改原始代码文件,预处理…...

一、二极管(模电理论篇)

导论&#xff1a;PN结&#xff08;结电容&#xff09;是构成二极管&#xff0c;三极管&#xff0c;场效应管的原理基础 1.二极管特性&#xff08;单向导电性&#xff09; 1.1 P型半导体与N型半导体 在单晶体硅&#xff08;原子核为正四价电子&#xff0c;可以形成四条共价键&…...

JAVA学习笔记_JVM

文章目录 初识jvm内存结构程序计数器(寄存器) 栈问题辨析内存溢出 线程诊断本地方法栈Heap堆内存溢出内存诊断 方法区内存溢出常量池 stringTable直接内存垃圾回收 初识jvm JRE JVM 基础类库 JDK JRE 编译工具 JavaSE JDK IDE工具 JavaEE JDK 应用服务器 IDE工具 jvm是…...

SQL 中复杂 CASE WHEN 嵌套逻辑优化

目标&#xff1a;优化复杂的 CASE WHEN 逻辑&#xff0c;提升 SQL 语句的可读性与执行效率&#xff0c;减少多层嵌套带来的复杂性。 1. CASE WHEN 的常见问题 嵌套过深&#xff1a;多个条件判断嵌套&#xff0c;难以阅读和维护。重复逻辑&#xff1a;相似逻辑在多个分支中重复…...

STM32-笔记34-4G遥控灯

4G接线 一、项目需求 服务器通过4G模块远程遥控开关灯。 二、项目实现 复制项目文件夹38-wifi控制风扇项目 重命名为39-4G遥控点灯 打开项目文件 加载文件 main.c #include "sys.h" #include "delay.h" #include "led.h" #include "ua…...

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 更多内容敬请期待。如有需要源码可以联系作者免…...

Java(day1)

注释 在Java中注释分为单行注释、多行注释还有文档注释 //我是单行注释/*我 是多行 注释 *//** 我是文档注释*/ 关键字 关键字&#xff1a;是被Java赋予了特定含义的英文单词 特点&#xff1a;关键字的字母都是c 在常用的代码编辑器中关键字都有特殊的高亮标记 在这个里…...

PDF文件提示-文档无法打印-的解决办法

背景信息 下载了几个签名的PDF文件&#xff0c;想要打印纸质版&#xff0c;结果打印时 Adobe Acrobat Reader 提示【文档无法打印】: 解决办法 网上的方案是使用老版本的PDF阅读器&#xff0c; 因为无法打印只是一个标识而已。 PDF文件不能打印的五种解决方案-zhihu 这些方…...

ubuntu操作系统安装SSH服务

1、更新仓库 sudo apt-get update 2、安装SSH服务 #安装SSH服务 apt-get install openssh-server#启用SSH服务 service ssh start#查看SSH服务运行状态 service ssh status 3、修改SSH配置文件 sudo vi /etc/ssh/sshd_config 4、开启ssh端口 sudo ufw allow ssh 5、重启SSH…...

Beamer-LaTeX学习(教程批注版)【1】

该文档总体由beamer-latex的教程而来&#xff0c;由耳东小白以自身学习路径整理。因其中要点基本按照教程的顺序和结构整理&#xff0c;故而不能称之为完全原创&#xff0c;但也不是翻译&#xff0c;更不是抄袭&#xff0c;是个人自学笔记和批注&#xff0c;其中添加了小白个人…...

IIS设置IP+端口号外网无法访问的解决方案

在IIS将站点设置为IP端口访问&#xff0c;假设端口为8080&#xff0c;设好后&#xff0c;服务器上可以访问&#xff0c;外网无法访问。 通常是端口8080没有加入【入站规则】的缘故&#xff0c;将8080端口加入【入站规则】即可&#xff0c;操作如下&#xff1a; 一、ctrlr 输入 …...

Markdown段落的空行缩进用法

Markdown段落的空行缩进用法。 前言语法详解●正文●段落●不分段换行●缩进 使用场景及实例小结其他文章快来试试吧&#x1f970; Markdown段落&#xff0c;分割线的用法 &#x1f448;点击这里也可查看 前言 段落由一句或多句连续的文本组成&#xff0c;通过一个或多个空行…...