改进的云计算环境的下的并行数据挖掘策略.docVIP

  • 4
  • 0
  • 约2.93千字
  • 约 5页
  • 2016-03-02 发布于北京
  • 举报

改进的云计算环境的下的并行数据挖掘策略.doc

改进的云计算环境的下的并行数据挖掘策略.doc

改进的云计算环境的下的并行数据挖掘策略   云计算是一种新兴的共享基础架构的方法,它以公开的标准和服务为基础,以互联网为中心,提供安全、快速、便捷的数据存储和网络计算服务。将云计算应用到数据挖掘中,可以为越来越多的海量数据挖掘提供解决方案。云计算面对的是 TB 乃至 PB 级的海量数据,如何从数据中获取有效的信息,这将是决定云计算应用成败的关键之一。除了利用并行计算技术加速数据处理的速度外,还需要新的思路、方法和算法来完成更准确、快捷、强大的数据挖掘。   一、 Apriori 算法描述与问题分析   1.算法描述   Apriori算法是挖掘产生布尔关联规则所需频繁项集的基本算法,也是一个很有影响的关联规则挖掘算法。Apriori算法就是根据有关频繁项集性质的先验知识而命名的。该算法使用一种称作逐层搜索的迭代方法,利用k 项集来产生(k +1)项集。具体包含两个主要的处理步骤,即连接和删除。以用Lk-1来产生Lk为例,挖掘过程如下:   (1)连接步骤:为发现Lk,通过将Lk-1与自身连接产生候选 k 项集的集合Ck 。设I1 和I2为Lk-1中的两个项集,Ii[j]表示Ii中的第j个项。为方便起见,Apriori假定事务或项集中的项按字典次序排序。对于(k +1)项集Ii,意味将项排序,使Ii[1] Ii[2]……Ii[k-1]。Lk-1的连接操作记为Lk-1?Lk-1,它表示若I1 和I2和中的前(k -2)项是相同的,则Lk-1中的I1 和I2内容就可以连接到一起。   (2)删除步骤:Ck是Lk的一个超集,其中的各项集不一定都是频繁项集,但所有的频繁K项集一定都在Ck中,即有Lk ∈Ck。扫描一遍数据库就可以决定Ck中各候选项集的支持度计数,并由此获得Lk中各个元素(频繁k项集)。所有支持度计数不小于最小支持度计数的候选项集就是属于Lk的频繁项集。然而由于Ck中的候选项集很多,如此操作所涉及的计算量是非常大的。   为提高频繁项集逐层产生的效率。Apriori算法有一个用于缩小频繁项集的搜索空间的性质:频繁项集的所有非空子集也必须是频繁的。也就是说,若一个候选k项集中任一个子集项集不属于Lk-1,那么该候选k项集也不可能是频繁的,因而也就可以将其从Ck中删去。   Apriori 算法的优点是结构简单,易于理解,没有复杂的推导。另外,算法应用 Apriori性质在许多情况下大大缩小了需要检查的候选规模,使算法效率大幅度提高。   2.存在问题分析   Apriori 算法存在两个主要的问题:   (1)多次扫描数据库   Apriori 算法在每进行一次迭代的时候需要扫描一次数据库,一般当挖掘出的最大频繁项集的长度为N时,需要扫描 N 次数据库。而在实际应用中,经常需要挖掘很长的模式,多次扫描数据库将带来巨大开销。   (2)可能产生大量候选频繁项集   Apriori 算法在迭代过程中要在内存中产生、处理和保存候选频繁项集,这个数量有时候是非常巨大的。例如,如果有104 个频繁 1 项集,则 Apriori 算法要产生接近5??7个候选 2 项集。另外,为了发现长度为 100 的频繁模式,它必须产生多达2100≈1030个候选,导致算法在广度和深度上的适应性很差。   总之,Apriori 通过对数据库的多趟扫描来发现所有的频繁项集,而对存储海量数据的数据库的多趟扫描将耗费大量时间和内存空间,这将成为 Apriori 算法的瓶颈。为此,近年来有关并行数据挖掘算法的研究不断升温。   二、改进方案   1 第一种改进   具体的改进思路是:   (1)把事务数据库水平均匀的分成规模相当的 n 个数据子集,把数据子集发送到 m 个节点。   (2)每个节点扫描它的数据子集,产生一个局部的候选 k 项集的集合,记作 ,每个候选k 项集的支持度计数为1。   (3)利用分区函数将 m 个节点产生的中间结果Cp 分成r个不同分区,然后连同它们的支持度计数发送到r 个节点。   (4)r 个节点把相同项集的计数累加起来,产生最后的实际支持度,与最小支持度计数min_sup比较,确定局部频繁 k 项集的集合 。   (5)把 r 个节点的输出合并即产生全局频繁 k 项集的集合Lk。   (6)改进的Apriori算法的优势是查找Lk和Lk+1的过程是完全独立的,他们之间没有联系,这是一个循环的过程。k 值从1开始递增,直到找出所有的频繁项集。也可以设定k 的值,只需要查找Lk,或是从L1到Lk之间的所有频繁项集。   将改进的Apriori算法用MapReduce实现的优势是:第一,对事务数据库的扫描次数减少;第二,查找频繁项集的过程可以并行执行,当查找频繁k项集的流程执行的中间

文档评论(0)

1亿VIP精品文档

相关文档