赞
踩
1、Apriori算法
一、Apriori 算法概述
Apriori 算法是一种最有影响力的挖掘布尔关联规则的频繁项集的 算法,它是由Rakesh Agrawal 和RamakrishnanSkrikant 提出的。它使用一种称作逐层搜索的迭代方法,k- 项集用于探索(k+1)- 项集。首先,找出频繁 1- 项集的集合。该集合记作L1。L1 用于找频繁2- 项集的集合 L2,而L2 用于找L2,如此下去,直到不能找到 k- 项集。每找一个 Lk 需要一次数据库扫描。为提高频繁项集逐层产生的效率,一种称作Apriori 性质的重 要性质 用于压缩搜索空间。其运行定理在于一是频繁项集的所有非空子集都必须也是频繁的,二是非频繁项集的所有父集都是非频繁的。
关联分析
关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:(1)频繁项集,(2)关联规则。
(1)频繁项集
频繁项集:是经常出现在一块的物品的集合。
量化方法:支持度(support)。支持度是数据集中包含该项集的记录所占的比例。例如数据集[[1, 3, 4], [2, 3, 5], [1, 2, 3], [2, 5]]中,项集{2}的支持度为3/4,项集{2,3}的支持度为1/2。
(2)关联规则
关联规则:暗示两种物品之间可能存在很强的关系。
量化计算:可信度或置信度(confidence)。可信度是针对一条关联规则(如{2}–>{3})来定义的。{2}–>{3}这条规则的可信度为“支持度{2,3}/支持度{2}”,即2/3,意味着包含{2}的所有记录中2/3符合规则包含{2,3}。
Apriori原理
无论频繁项集还是关联规则都需要计算支持度。如果数据量小,计算一个项集的支持度可以针对每个项集扫描所有数据,然后统计该项集出现的总数除以总的交易记录数,就可以得到支持度。但是对于N个物品的数据集共有2N-1中项集组合,即使4个物品也需要遍历数据集15次,100种物品有中可能的项集组合,对现代计算机而言,需要很长的时间才能完成运算,何况事实上,商店都会有上百上千种商品。Apriori算法可以降低计算时间,减少可能感兴趣的项集。
如果某个项集是频繁的,那么它的所有子集也是频繁的。如若{2,3}是频繁的,那么{0}、{1}也一定是频繁的。反过来同样,如果一个项集是非频繁集,那么它的所有超集也是非频繁的。如若{2,3}是非频繁的,那么{0,2,3}、{1,2,3}、{0,1,2,3}也是非频繁项。所以如果计算出{2,3}的支持度是非频繁的,那么{0,2,3}、{1,2,3}、{0,1,2,3}的支持度就不用计算了。
Apriori原理可以避免项集数目的指数增长,从而在合理时间内计算出频繁项集。
Apriori算法发现频繁项集
Apriori算法流程:
1)首先,基于数据集生成个数为1的项集的列表C1&#x
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。