当前位置: 首页 > 专利查询>东北大学专利>正文

一种基于垂直分解的并行频繁闭序列挖掘方法技术

技术编号:15262790 阅读:77 留言:0更新日期:2017-05-03 18:50
本发明专利技术提出一种基于垂直分解的并行频繁闭序列挖掘方法,属于数据挖掘领域,该方法采用序列求交的方式,缩短序列的长度,这相当于在竖直方向将原始序列分割成较短的序列;再从求交结果中选出K条差异度最大的序列,这又使得序列之间列数差异较大,两步均可缩短挖掘时间;本发明专利技术提出压缩频繁模式的观点,压缩模式的好处在于减小了频繁闭模式枚举范围,缩短挖掘时间,减小算法的时间复杂度;本发明专利技术采用现阶段最流行的并行框架Hadoop实现频繁闭序列挖掘算法;充分利用Hadoop的并行特点,将海量数据分散存储到集群中的各个节点上,按照map函数、reduce函数的特点编写算法,因为枚举出的模式独立的分发到不同节点进行检测封闭性,因此本方法获得较高的加速比。

A mining method based on vertical decomposition parallel closed frequent sequences

The invention provides a closed frequent sequence mining method based on vertical decomposition and frequency, belonging to the field of data mining, the method adopts sequence intersection, shorten the length of the sequence, which is equivalent to the original sequence in the vertical direction will be split into shorter sequences; then choose the K biggest difference sequence from the intersection the results, which makes the difference between the sequence number of columns, the two step can shorten the time of mining; the invention provides compressed frequent pattern point of view, the benefits of compression mode lies in reducing the frequent closed pattern enumeration, shorten the mining time, reducing the time complexity of the algorithm; the invention adopts the most popular parallel framework Hadoop frequent closed sequence mining algorithm; take full advantage of the parallel characteristic of Hadoop, the massive data distributed storage nodes in the cluster, in accordance with the map function, reduce The feature of the algorithm is written, because the distribution of the model is independent to different nodes to detect the closed, so this method obtains a higher speedup.

【技术实现步骤摘要】

本专利技术属于数据挖掘领域,具体涉及一种基于垂直分解的并行频繁闭序列挖掘方法
技术介绍
现代社会,信息技术的发展日新月异,大量的数据存在于社会发展中的各个领域,其中最大的需求就是将这些数据转变有效的规则或知识,这使得数据挖掘备受社会各方面的关注。从应用方向来讲,数据挖掘可用于市场分析、客户保全、欺诈检测、产品控制和科学探索等多方面,而且随着数据挖掘技术的发展,数据挖掘将会应用于越来愈多的领域,并将发挥重大的作用。数据挖掘是一门交叉学科,其融合了多种理论和技术,包括有人工智能、数据库技术、模式识别、机器学习、数理统计、信息检索以及数据可视化等众多学科,这些学科的快速发展对数据挖掘技术的发展起到了重要的推动作用。数据挖掘是通过一系列统计分析和处理,从海量的信息中找出对我们有意义的信息,这些信息影响着我们的决策。数据挖掘是在一些限制条件下,借助于某些特定领域的知识发现算法,从大规模数据中挖掘有用信息。在整个数据挖掘领域中,频繁序列模式挖掘是其中的一个有重大研究意义的分支,它一般意义上是指发现某一时间段内出现频率较高的子序列。Agrawal和Srikant1995年在文献[7]中提出了序列模式的概念。挖掘序列模式时为了分析消费者的交易序列。序列模式挖掘是数据挖掘中的一个重要组成部分,它与传统的关联规则不同,序列模式挖掘带有时间信息,比如说城市交通数据序列、信用卡消费序列、大型超市客户的购物序列等。这些数据中包含了大量的商业价值。现有的挖掘算法,都是在单一计算机上进行操作的,而且这些算法并没有减少算法的时间复杂度。现有的一种序列挖掘算法,是PrefixSpan算法,通过产生投影数据库来进行序列挖掘,这种算法不需要产生任何的候选模式。现有的挖掘算法按照序列模式的研究过程这个标准可划分为四类;基本的挖掘算法、增量式更新算法、多维度多层次挖掘和周期模式挖掘算法。基本挖掘算法大部分都是基于Apriori性质的,如AprioriAll、AprioriSome、DynamicSome到后来的GSP和SPADE算法等,2000年韩家炜等提出了数据投影算法FreeSpan和PrefixSpan提高了挖掘效率。这些方法都是在单一计算机上进行操作的,这些方法无法对大数据进行处理,序列挖掘算法时间复杂度都是由数据的列数决定,但是原来的算法并没有考虑如何所见列数,这种计算消耗大量内存,而且耗费时间。
技术实现思路
针对现有技术的不足,本专利技术提出一种基于垂直分解的并行频繁闭序列挖掘方法,以达到通过减少数据的列数来减少算法的时间复杂度的目的。一种基于垂直分解的并行频繁闭序列挖掘方法,包括以下步骤:步骤1、对原始数据库扫描,将数据按行进行水平分片处理,并分别发送至不同的处理器中;步骤2、对每个处理器中的数据进行垂直分解;具体为:在每个处理器上,并行执行以下操作:执行一条数据与数据集中的所有数据进行两两相交,获得任意两条数据之间的公共子序列,即候选模式集;步骤3、将获得的所有公共子序列进行合并和去重操作,得到挖掘前的候选模式集;步骤4、将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;步骤5、采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;步骤6、采用基于阈值约减算法在合并后的集合进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩;步骤7、挖掘约减后序列中的频繁闭序列,具体步骤如下:步骤7-1、将步骤6获得的所有序列分配到每台处理器中;步骤7-2、在每台处理器中,枚举固定长度的前缀序列;具体为:设置序列的前缀固定长度范围,所述的范围为:1~最长序列长度值,且固定长度为整数;在设置的长度范围内依次取前缀固定长度值,由第一条序列至最后一条序列,由左向右依次枚举,获得所有固定长度所对应的前缀序列;步骤7-3、判断所获得的前缀序列是否包含在处理器的数据集中,若是,则将该前缀序列放入至自身投影数据库中;否则执行下一条前缀序列的判断;步骤7-4、将所有处理器中相同前缀序列所对应的投影数据库进行合并,存储于同一个处理器中;步骤7-5、依次判断每个前缀序列是否为频繁序列,若是,则执行步骤7-6,否则,削减该前缀序列,并执行步骤7-7;步骤7-6、通过回插检测和向后扩展测,判断该前缀序列是否为频繁闭序列,若是,则保留此频繁闭序列,否则,削减该前缀序列;步骤7-7、判断该序列是否能成片削减,若是,则执行成片削减,并返回执行步骤7-5,否则,执行步骤7-8;步骤7-8、获得全部的频繁闭序列。步骤4将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;具体步骤如下:步骤4-1、对合并去重后的序列数据进行两两求相似度;步骤4-2、判断所得相似度是否大于设定值,若是,则这两个序列存在关联,即在该算法中,这两个序列所对应的两个顶点之间存在一条边,否则,则这两个序列无关联;步骤4-3、将存在关联的顶点之间进行连接,获得描述序列之间关联的顶点结构图。步骤5所述的采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;具体如下:步骤5-1、任意取一顶点,并将该顶点加入至一集合中,在顶点结构图中将该顶点与其边删除;步骤5-2、查询与该顶点之间没有边但度最大的顶点,并返回执行步骤5-1,直至所找到的顶点数目达到设定值;步骤5-3、将所有处理器中保存的集合进行合并。步骤6所述的采用基于阈值约减算法在合并后的集合中进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩;具体步骤如下:步骤6-1、任选一条序列加入结果集合中;步骤6-2、对于每条待插入的序列,计算该序列与结果集合中所有序列的相似度,若该序列与集合中已插入的任意一条序列的相似度大于设定的阈值,则不插入,否则插入。本专利技术优点:本专利技术采用序列求交的方式,缩短序列的长度,这相当于在竖直方向将原始序列分割成较短的序列;再从求交结果中选出K条差异度最大的序列,这又使得序列之间列数差异较大,两步均可相当程度上缩短挖掘时间;本专利技术提出压缩频繁模式的观点,压缩模式的好处在于减小了频繁闭模式枚举范围,缩短挖掘时间,减小算法的时间复杂度;本专利技术采用现阶段最流行的并行框架Hadoop实现频繁闭序列挖掘算法;充分利用Hadoop的并行特点,将海量数据分散存储到集群中的各个节点上,按照map函数、reduce函数的特点编写算法,因为枚举出的模式独立的分发到不同节点进行检测封闭性,因此本方法获得较高的加速比。附图说明图1为本专利技术一种实施例的基于垂直分解的并行频繁闭序列挖掘方法流程图;图2为本专利技术一种实施例的将序列转变成图的存储结构过程流程图;图3为本专利技术一种实施例的采用基于独立支配集约减算法对图存储结构中的序列进行约减过程流程图;图4为本专利技术一种实施例的采用基于阈值约减算法在合并后的集合中进行约减过程流程图;图5为本专利技术一种实施例的挖掘约减后序列中的频繁闭序列过程流程图;图6为本专利技术一种实施例的本专利技术提出的并行闭模式挖掘方法在相同数据集的不同支持度下的运行时间比较图;图7为本专利技术一种实施例的本专利技术提出的并行闭模式挖掘方法在相同数据集的不同差异度下的运行时间比较图;图8为本专利技术一种实施例的本本文档来自技高网
...

【技术保护点】
一种基于垂直分解的并行频繁闭序列挖掘方法,其特征在于,包括以下步骤:步骤1、对原始数据库扫描,将数据按行进行水平分片处理,并分别发送至不同的处理器中;步骤2、对每个处理器中的数据进行垂直分解;具体为:在每个处理器上,并行执行以下操作:执行一条数据与数据集中的所有数据进行两两相交,获得任意两条数据之间的公共子序列,即候选模式集;步骤3、将获得的所有公共子序列进行合并和去重操作,得到挖掘前的候选模式集;步骤4、将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;步骤5、采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;步骤6、采用基于阈值约减算法在合并后的集合进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩;步骤7、挖掘约减后序列中的频繁闭序列,具体步骤如下:步骤7‑1、将步骤6获得的所有序列分配到每台处理器中;步骤7‑2、在每台处理器中,枚举固定长度的前缀序列;具体为:设置序列的前缀固定长度范围,所述的范围为:1~最长序列长度值,且固定长度为整数;在设置的长度范围内依次取前缀固定长度值,由第一条序列至最后一条序列,由左向右依次枚举,获得所有固定长度所对应的前缀序列;步骤7‑3、判断所获得的前缀序列是否包含在处理器的数据集中,若是,则将该前缀序列放入至自身投影数据库中;否则执行下一条前缀序列的判断;步骤7‑4、将所有处理器中相同前缀序列所对应的投影数据库进行合并,存储于同一个处理器中;步骤7‑5、依次判断每个前缀序列是否为频繁序列,若是,则执行步骤7‑6,否则,削减该前缀序列,并执行步骤7‑7;步骤7‑6、通过回插检测和向后扩展测,判断该前缀序列是否为频繁闭序列,若是,则保留此频繁闭序列,否则,削减该前缀序列;步骤7‑7、判断该序列是否能成片削减,若是,则执行成片削减,并返回执行步骤7‑5,否则,执行步骤7‑8;步骤7‑8、获得全部的频繁闭序列。...

【技术特征摘要】
1.一种基于垂直分解的并行频繁闭序列挖掘方法,其特征在于,包括以下步骤:步骤1、对原始数据库扫描,将数据按行进行水平分片处理,并分别发送至不同的处理器中;步骤2、对每个处理器中的数据进行垂直分解;具体为:在每个处理器上,并行执行以下操作:执行一条数据与数据集中的所有数据进行两两相交,获得任意两条数据之间的公共子序列,即候选模式集;步骤3、将获得的所有公共子序列进行合并和去重操作,得到挖掘前的候选模式集;步骤4、将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;步骤5、采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;步骤6、采用基于阈值约减算法在合并后的集合进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩;步骤7、挖掘约减后序列中的频繁闭序列,具体步骤如下:步骤7-1、将步骤6获得的所有序列分配到每台处理器中;步骤7-2、在每台处理器中,枚举固定长度的前缀序列;具体为:设置序列的前缀固定长度范围,所述的范围为:1~最长序列长度值,且固定长度为整数;在设置的长度范围内依次取前缀固定长度值,由第一条序列至最后一条序列,由左向右依次枚举,获得所有固定长度所对应的前缀序列;步骤7-3、判断所获得的前缀序列是否包含在处理器的数据集中,若是,则将该前缀序列放入至自身投影数据库中;否则执行下一条前缀序列的判断;步骤7-4、将所有处理器中相同前缀序列所对应的投影数据库进行合并,存储于同一个处理器中;步骤7-5、依次判断每个前缀序列是否为频繁序列,若是,则执行步骤7-6,否则,削减该前缀序列,并执行步骤7-7;步骤7-6、通过回插检测和向后扩展测,判断该前缀序列是否为频繁闭...

【专利技术属性】
技术研发人员:赵宇海印莹王国仁李晨光毕天驰
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1