频繁项集算法

简介: 频繁项集算法

ce437325ae8e47c7b4a59c7e6ac09184.jpeg

前言


频繁项集挖掘是数据挖掘研究课题中一个很重要的研究基础,它可以告诉我们在数据集中经常一起出现的变量,为可能的决策提供一些支持。频繁项集挖掘是关联规则、相关性分析因果关系、序列项集、局部周期性、情节片段等许多重要数据挖掘任务的基础。因此,频繁项集有着很广泛的应用,例如:购物篮数据分析、网页预取、交叉购物、个性化网站、网络入侵检测等。

基础知识


如超市中的物品支持表格:


用户 辣条(A) 可乐(B) 铅笔(C) 羽毛球(D) 洗衣液(E)
1
2
3
4
5

支持度:单个项占总项集的百分比,比如辣条的支持度=4/5*100%=80%,可乐的支持度=3/5*100%=60%。


置信度:辣条>=羽毛球的置信度=3/4*100%=75%,可乐>=羽毛球的置信度=3/3*100%=100%。


项集:最基本的模式是项集,它是指若干个项的集合。


频繁模式:指数据集中频繁出现的项集、序列或子结构。


频繁项集:指支持度大于等于最小支持度(min_sup)的集合。其中支持度是指某个集合在所有事务中出现的频率。频繁项集的经典应用是购物篮模型。

正文


一、Apriori算法


假设minsupport=0.2,得出频繁项集:


1)1-项集C1={A,B,C,D,E},1-频繁项集L1={A,B,C,D};


2)1-频繁项集进行拼接得到2-项集C2={(A,B),(A,C),(A,D),(B,C),(B,D),(C,D)},2-频繁项集L2={(A,B),(A,C),(A,D),(B,D),(C,D)};


3)2-频繁项集拼接得到3-项集C3={(A,B,C),(A,B,D),(A,C,D),(B,C,D)},3-频繁项集L3={(A,B,D)};


4)最后得到所有的频繁项目集L={(A,B),(A,C),(A,D),(B,D),(C,D),(A,B,D)}。


假设 minconfidence =60%,得出关联规则:


我们这里仅仅对最大的频繁项集(B,C,D)进行计算,得出其中是否有强关联规则:


B>=CD,confidence=33%,不是强关联规则;BC>=D,confidence=100%,强关联规则;


C>=BD,confidence=33%,不是强关联规则;CD>=B,confidence=50%,不是强关联规则;


D>=BC,confidence=25%,不是强关联规则;BD>=C,confidence=33%,不是强关联规则。

二、FP-Tree算法


1)第一次扫描数据对1-项集进行计数:


我们仍然选用上面的例子,用户1:ABD,用户2:ACDE,用户3:ABD,用户4:BCD,用户5:AC

image.png

image.png

2)建立FP-Tree


image.png

image.png

image.png

image.png

image.png

至此,我们完成对FP-Tree的构建。

3)FP-Tree获取频繁项集


  由节点从下到上依次获取频繁项:

image.png

其实上述中{(C,D)}的FP-Tree分别出现了2次,我们可得出其为频繁2-项集,则有C的到的频繁项2-项集:{(A,C),(C,D)};

image.png

image.png

节点D

image.png

image.png

综上可知,所有的频繁项为:{(A,B),(A,C),(A,D),(B,D),(C,D),(A,B,D)}。

总结


1.对频繁项集挖掘算法进行研究的方向大概可归纳为以下四个方面:


a、在遍历方向上采取自底向上、自顶向下以及混合遍历的方


b、在搜索策略上采取深度优先和宽度优先策


c、在项集的产生上着眼于是否会产生候选项集;


d、在数据库的布局上,从垂直和水平两个方向上考虑数据库的布局。


2.对于不同的遍历方式,数据库的搜索策略和布局方式将会产生不同的方法,研究表明,没有什么挖掘算法能同时对所有的定义域和数据类型都优于其他的挖掘算法,也就是说,对于每一种相对较为优秀的算法,它都有它具体的适用场景和环境。

目录
相关文章
|
4月前
|
算法 数据挖掘 数据库
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
【数据挖掘】频繁项集挖掘方法中Apriori、FP-Growth算法详解(图文解释 超详细)
146 0
|
算法 数据挖掘
天池学习赛——基于Apriori算法的商品频繁项集与关联规则的挖掘
赛题以购物篮分析为背景,要求选手对品牌的历史订单数据,挖掘频繁项集与关联规则。通过这道赛题,鼓励学习者利用订单数据,为企业提供销售策略,产品关联组合,为企业提升销量的同时,也为消费者提供更适合的商品推荐。
177 0
天池学习赛——基于Apriori算法的商品频繁项集与关联规则的挖掘
|
算法 Java 数据挖掘
java实现Apriori算法——频繁项集的计算
java实现Apriori算法——频繁项集的计算
135 0
java实现Apriori算法——频繁项集的计算
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )
【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )
333 0
|
算法 IDE 数据挖掘
【数据挖掘】关联规则挖掘 Apriori 算法 ( 频繁项集 | 非频繁项集 | 强关联规则 | 弱关联规则 | 发现关联规则 )
【数据挖掘】关联规则挖掘 Apriori 算法 ( 频繁项集 | 非频繁项集 | 强关联规则 | 弱关联规则 | 发现关联规则 )
325 0
|
算法 数据挖掘 Windows
【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction 概念 | 项 Item 概念 | 项集 Item Set | 频繁项集 | 示例解析 )
【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则简介 | 数据集 与 事物 Transaction 概念 | 项 Item 概念 | 项集 Item Set | 频繁项集 | 示例解析 )
145 0
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真