The invention discloses a parallel data stream frequent itemsets mining method to solve the problem of the existing technology of small mining throughput data; this application includes initialization, pre mining, maintenance FP Stream structure, frequent itemset generation algorithm in four parts, collected a short period of time to form a set of business affairs first, a transaction set by special processing, it is used to initialize, to establish f_list and FP Stream structure, each transaction in a batch of micro trigger. Each round of the micro batch pre mining, and maintenance of FP Stream structure, when calculating the request arrives, FP algorithm by using Growth algorithm within the specified time window FP Stream structure mining frequent itemsets; this application uses the algorithm to increase the overall throughput of the system, greatly improve the degree of processing the speed of data mining; this application applies to data mining related aspects.
【技术实现步骤摘要】
一种并行化的数据流频繁项集挖掘方法
本专利技术涉及数据挖掘领域,尤其涉及一种并行化的数据流频繁项集挖掘方法。
技术介绍
频繁项集挖掘也叫关联规则挖掘,目标是从大量事务中找出有价值项目间隐含的关系。所谓频繁项是指在事务集合中,出现频率较高的项目;频繁项集是指在事务集合中,多次同时出现的项目所组成的集合。极大频繁项集被定义为元素个数最多的频繁项集,它的所有超集都是非频繁项集。频繁项集挖掘的经典应用案例是利用频繁项集挖掘技术发现了啤酒销售和尿布销售之间的隐含关系。传统数据流上的频繁项集挖掘算法是基于单机环境,其吞吐量受单机环境的限制。然而,不断增长的海量数据已经远远超过了单机的处理能力,单机频繁项集挖掘技术仅适用于少量数据的环境。大数据时代,分布式计算是解决海量数据难题的重要手段。并行化的算法能够有效提升系统的整体吞吐量,所以在分布式环境下并行化地挖掘数据流中的频繁项集是极其重要的。鉴于对并行化的数据流频繁项集挖掘算法的需求,本专利技术提出一种基于微批处理思想的并行化数据流频繁项集挖掘方法。
技术实现思路
本专利技术的目的在于:针对现有技术数据挖掘吞吐量小的问题,本专利技术提供一种并行化吞吐量大的数据流频繁项集挖掘方法。本专利技术采用的技术方案如下:本申请提供了一种并行化的数据流频繁项集挖掘方法,包括以下步骤:步骤1:初始化,首个事务集到达时,进行算法初始化工作。步骤1.1:收集单位时间的所有事务,形成事务集,依次记为{B1…Bi},并分散存储至各个节点上,第一个事务集为B1,统计所有项目在B1中的频率,然后根据频率降序排列得到f_list;步骤1.2:用FP-gr ...
【技术保护点】
一种并行化的数据流频繁项集挖掘方法,其特征在于,包括以下步骤:步骤1:初始化首个事务集到达时,进行初始化步骤;步骤1.1:收集单位时间的所有事务,形成事务集,依次记为{B1…Bi},并分散存储至各个节点上,第一个事务集为B1,统计所有项目在B1中的频率,然后根据频率降序排列得到f_list;步骤1.2:用FP‑growth算法,支持度阈值设为∈,挖掘事务集B1,并用挖掘事务集B1得到的项目集建立FP‑Stream结构并储存至Zookeeper集群;步骤2:单轮微批处理当除了B1事务集的其他一个事务集到达时,进行一轮微批处理,每轮微批处理包含预挖掘部分与FP‑Stream结构维护两部分,两部分依次分布式执行;步骤2.1:并行执行预挖掘并行执行预挖掘是产生维护FP‑Stream结构所需的项目集;步骤2.1.1:统计分散在各个节点的Bi(i>1)中事务出现的对应频率,得到集合T;步骤2.1.2:以f_list为依据,对T中事务的项目进行排序,得到新的集合W;步骤2.1.3:再次统计事务对应的频率,得到新的集合R,求R中每条事务的元素个数大于1的项目集以及项目集对应的频率,组成集合S;步 ...
【技术特征摘要】
1.一种并行化的数据流频繁项集挖掘方法,其特征在于,包括以下步骤:步骤1:初始化首个事务集到达时,进行初始化步骤;步骤1.1:收集单位时间的所有事务,形成事务集,依次记为{B1…Bi},并分散存储至各个节点上,第一个事务集为B1,统计所有项目在B1中的频率,然后根据频率降序排列得到f_list;步骤1.2:用FP-growth算法,支持度阈值设为∈,挖掘事务集B1,并用挖掘事务集B1得到的项目集建立FP-Stream结构并储存至Zookeeper集群;步骤2:单轮微批处理当除了B1事务集的其他一个事务集到达时,进行一轮微批处理,每轮微批处理包含预挖掘部分与FP-Stream结构维护两部分,两部分依次分布式执行;步骤2.1:并行执行预挖掘并行执行预挖掘是产生维护FP-Stream结构所需的项目集;步骤2.1.1:统计分散在各个节点的Bi(i>1)中事务出现的对应频率,得到集合T;步骤2.1.2:以f_list为依据,对T中事务的项目进行排序,得到新的集合W;步骤2.1.3:再次统计事务对应的频率,得到新的集合R,求R中每条事务的元素个数大于1的项目集以及项目集对应的频率,组成集合S;步骤2.1.4:汇总步骤2.1.3中每一个项目集出现的频率;步骤2.2:FP-Stream结构维护预挖掘执行完毕后,将在各个节点上分布式进行FP-Stream结构维护;步骤2.2.1:向各节点分发数据步骤2.1中预挖掘的输出集合中每一条记录转化为<key1,<key2,value>>的形式向集群各个节点发送,key1相同的记录被发送到相同的节点,key1是项目集key2的首项,value是项目集的频率;步骤2.2.2:建立集合E各节点建立一个空的集合E,用于记录被删除的项目集;步骤2.2.3:获取部分FP-Stream结构依次处理各节点收到的每条记录,若其key1字段是第一次出现,则从Zookeeper将FP-Stream结构中根节点的子树中以key1为根节点的子树下载到本地;步骤2.2.4:优化插入过程提取出key2,用key2的所有前缀,查找E;步骤2.2.5:遍历本地FP-Stream结构并上传至Zookeeper中当节点收到的全部记录都处理完毕,从根节点出发,深度优先遍历本地存储的FP-Stream结构,遍历完成...
【专利技术属性】
技术研发人员:段贵多,罗光春,田玲,韩宏,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。