关联规则分析(Apriori算法

简介: 关联规则分析(Apriori算法


1.关联规则:

什么是关联规则?

可以归纳为X->Y,就是X发生的情况下很可能会发生Y

比如:啤酒和尿布,就是 尿布->啤酒 这么一个强关联规则,含义是:如果顾客购买尿布,那么他很有可能买啤酒。

啤酒和尿布的关联规则故事

沃尔玛公司数据仓库里集中了其各门店的详细原始交易数据。在这些原始交易数据的基础上,沃尔玛公司利用数据挖掘方法对这些数据进行分析和挖掘个意外的发现是:跟尿布一起购买最多的商品竟是啤酒。经过大量实际调查和分析,揭示了一个隐藏在“尿布与啤酒”背后的消费模式,一年轻父亲下班后经常要到超市去买婴儿尿布,而他们中有 30%~40%的人同时也为自己买一些啤酒。产生这一现象的原因是:太太们常叮嘱她们的文夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。

2.关联规则算法:

关联规则算法有哪些呢?

AprioriFP-growthEClat

本章主要讲解Apriori算法

3.Apriori算法原理:

Apriori算法原理是什么?

关联规则挖掘的基本思路:

1)先找出频繁项集

2)然后将他们处理为关联规则

频繁项集:项集是一个类似于{A, B, C}的集合,频繁项集是支持度(support)大于最小支持度阈值的项集。

稍等一下,我们先得知道Apriori的两个假设

Apriori算法包含两条重要的先验性质。

  1. 如果一个集合是频繁项集,则它的所有子集也都是频繁项集;例如:集合 {A, C} 是频繁项集,则它的子集 {A}, {C} 都是频繁项集。
  2. 如果一个集合不是频繁项集,则它的所有超集都不是频繁项集;例如:集合 {A, B} 不是频繁项集,则它的子集 {A, B, C},{A, B, D}都不是频繁项集。
    好,我们回归到算法的流程

3.1 先找出频繁项集

参考上图

  1. 第一次迭代,对整个数据集进行遍历,得到“1-项集”的候选项集合及出现频次。即{A}的出现频次为2,{B}的出现频次为3,{C}的出现频次为3,{D}的出现频次为1,{E}的出现频次为3。
  2. 剔除小于最小支持度的项集,得到频繁1-项集。这里的最小支持度为2,表示最小的出现频次为 2,因此{D}不符合最小支持度,筛选得到的频繁1-项集为{A}, {B}, {C}, {E}
  3. 第二次迭代:将频繁1-项集自连接得到“2-项集”的候选项集合(当然,自连接的集合都是属于已存在的集合),即得到{A、B},{A,C},{A,E},{B,C},{B,E},{C,E}接着剔除小于最小支持度2 的项集,得到的频繁 2-项集
  4. 直到频繁项集为空,即“4-项集”为空,便得到了所有的频繁项集

总结就是自连接和剔除迭代操作,直到下一次迭代(下一维度)中自连接不出来

3.2 是否能被设置为关联规则

将频繁项集Z划分为非空子集X和Y,其中Y=Z-X,接着计算规则X->Y是否满足最小置信度 (Confidenee),若不满足则删去这项规则,迭代得到最终的关联规则。例如对于频繁项集{B,C,E},它的非空子集有{B},{C},{E},{B},{C},{B,E},{C,E},关联规则{B}->{C, E}的置信度为sup({B,C,E})/sup({B}) = 2/3,若设定最小置信度为50%,则该项关联规则满足最小置信度,故保留。

总结就是将频繁项集的所有非空子集及其对应的补集建立关联规则,计算置信度(条件概率),与最小置信度比较,以确定是否保留

3.Apriori算法原理:

目录
相关文章
|
5天前
|
存储 算法 安全
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
|
14天前
|
缓存 算法 搜索推荐
Java中的算法优化与复杂度分析
在Java开发中,理解和优化算法的时间复杂度和空间复杂度是提升程序性能的关键。通过合理选择数据结构、避免重复计算、应用分治法等策略,可以显著提高算法效率。在实际开发中,应该根据具体需求和场景,选择合适的优化方法,从而编写出高效、可靠的代码。
25 6
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
67 1
|
3月前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
3月前
|
算法
PID算法原理分析
【10月更文挑战第12天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
|
13天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
146 80
|
1天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
1天前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。
|
21小时前
|
算法 数据安全/隐私保护
室内障碍物射线追踪算法matlab模拟仿真
### 简介 本项目展示了室内障碍物射线追踪算法在无线通信中的应用。通过Matlab 2022a实现,包含完整程序运行效果(无水印),支持增加发射点和室内墙壁设置。核心代码配有详细中文注释及操作视频。该算法基于几何光学原理,模拟信号在复杂室内环境中的传播路径与强度,涵盖场景建模、射线发射、传播及接收点场强计算等步骤,为无线网络规划提供重要依据。
|
7天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。

热门文章

最新文章