关联规则分析(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算法原理:

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
61 4
|
2月前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
2月前
|
算法
PID算法原理分析
【10月更文挑战第12天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
|
2月前
|
算法
PID算法原理分析及优化
【10月更文挑战第6天】PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。
|
2月前
|
算法 安全 Go
Python与Go语言中的哈希算法实现及对比分析
Python与Go语言中的哈希算法实现及对比分析
41 0
|
2月前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
10天前
|
算法 数据安全/隐私保护 索引
OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
本项目展示了在MATLAB 2022a环境下,通过选择映射(SLM)与相位截断星座图(PTS)技术有效降低OFDM系统中PAPR的算法实现。包括无水印的算法运行效果预览、核心程序及详尽的中文注释,附带操作步骤视频,适合研究与教学使用。
|
18天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
19天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
20天前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
下一篇
无影云桌面