CN106599122A - 一种基于垂直分解的并行频繁闭序列挖掘方法 - Google Patents
一种基于垂直分解的并行频繁闭序列挖掘方法 Download PDFInfo
- Publication number
- CN106599122A CN106599122A CN201611091669.1A CN201611091669A CN106599122A CN 106599122 A CN106599122 A CN 106599122A CN 201611091669 A CN201611091669 A CN 201611091669A CN 106599122 A CN106599122 A CN 106599122A
- Authority
- CN
- China
- Prior art keywords
- sequence
- data
- prefix
- sequences
- frequent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于垂直分解的并行频繁闭序列挖掘方法,属于数据挖掘领域,该方法采用序列求交的方式,缩短序列的长度,这相当于在竖直方向将原始序列分割成较短的序列;再从求交结果中选出K条差异度最大的序列,这又使得序列之间列数差异较大,两步均可缩短挖掘时间;本发明提出压缩频繁模式的观点,压缩模式的好处在于减小了频繁闭模式枚举范围,缩短挖掘时间,减小算法的时间复杂度;本发明采用现阶段最流行的并行框架Hadoop实现频繁闭序列挖掘算法;充分利用Hadoop的并行特点,将海量数据分散存储到集群中的各个节点上,按照map函数、reduce函数的特点编写算法,因为枚举出的模式独立的分发到不同节点进行检测封闭性,因此本方法获得较高的加速比。
Description
技术领域
本发明属于数据挖掘领域,具体涉及一种基于垂直分解的并行频繁闭序列挖掘方法。
背景技术
现代社会,信息技术的发展日新月异,大量的数据存在于社会发展中的各个领域,其中最大的需求就是将这些数据转变有效的规则或知识,这使得数据挖掘备受社会各方面的关注。从应用方向来讲,数据挖掘可用于市场分析、客户保全、欺诈检测、产品控制和科学探索等多方面,而且随着数据挖掘技术的发展,数据挖掘将会应用于越来愈多的领域,并将发挥重大的作用。数据挖掘是一门交叉学科,其融合了多种理论和技术,包括有人工智能、数据库技术、模式识别、机器学习、数理统计、信息检索以及数据可视化等众多学科,这些学科的快速发展对数据挖掘技术的发展起到了重要的推动作用。数据挖掘是通过一系列统计分析和处理,从海量的信息中找出对我们有意义的信息,这些信息影响着我们的决策。
数据挖掘是在一些限制条件下,借助于某些特定领域的知识发现算法,从大规模数据中挖掘有用信息。在整个数据挖掘领域中,频繁序列模式挖掘是其中的一个有重大研究意义的分支,它一般意义上是指发现某一时间段内出现频率较高的子序列。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为本发明一种实施例的本发明提出的并行闭模式挖掘方法与已有的闭模式挖掘算法Par-CPS在不同支持度下的运行时间比较图;
图9为本发明一种实施例的本发明提出的并行闭模式挖掘方法随着计算节点个数的增加的加速比变化图。
具体实施方式
下面结合附图对本发明一种实施例做进一步说明。
本发明实施例中,采用IBM xSeries 3500服务器为测试平台,CPU:Intel XeonEM64T Quad core E5405 2.0GHz;内存:16G Bytes;硬盘:4TG Bytes,7200rpm;操作系统:CentOS 5.3;开发语言:Java语言。
本发明实施例中,采用的真实数据名称是Kosarak,该数据集为匈牙利新闻网站的点击流数据。数据的原始格式可以从网站http://fimi.ua.ac.be/data/上找到;该数据的规模及信息如表1所示;该数据集共有25000行;其中,每一行表示一个用户浏览过的新闻报道;一些用户只看过一篇报道,而有的用户看过2498篇报道;为了描述和测试方便,本发明实施例中将这些表示新闻报道的URL处理成整数,不同的整数表示不同的新闻报道。每一条序列含有多个项集,其中序列的最大长度为2498,最小长度为3;序列中每个项集表示的是该用户每次浏览过的新闻网页;例如,表2表示其中的4行点击流序列数据,内容描述的是该网站的4个用户的新闻浏览信息;第一条序列S1,包含5个项集,它表示该用户S1先浏览过新闻1,随后又同时浏览了新闻1、2、3;
表1
序列行数 | 序列最小长度 | 序列最大长度 |
25000 | 3 | 2498 |
表2
用-1表示每个项集的结束,-2表示每条序列的结束;
本发明实施例中,将数据转化为序列,如表3所示;
表3
ID | Sequences |
S1 | (1),(123),(13),(4),(36) |
S2 | (14),(3),(23),(15) |
S3 | (56),(12),(4,6),(3),(2) |
… | … |
S25000 | (5),(7),(16),(3),(2),(3) |
本发明实施例中,基于垂直分解的并行频繁闭序列挖掘方法,方法流程图如图1所示,包括以下步骤:
步骤1、对原始数据库扫描,将数据按行进行水平分片处理,并分别发送至不同的处理器中;
步骤2、对每个处理器中的数据进行垂直分解;具体为:在每个处理器上,并行执行一条数据与数据集中的所有数据进行两两相交,获得任意两条数据之间的公共子序列,即候选模式集;
本发明实施例中,输入:原始数据集;输出:Key=行内容,Value=最长公共子序列的新的数据库;
步骤2-1:对原始数据库再一次扫描,按行进行读取,判断该用户是否为数据库中存储的最后一个用户,如果不是,将该行的内容设置为全局变量;
步骤2-2:对于每一个处理器上的数据进行相同的处理,该处理过程分成两个阶段:map阶段和reduce阶段;在map阶段,将全局变量与该节点上的每一条用户信息进行求交操作,得到这两个用户信息的最长公共子序列,即这两个用户最大的相同新闻浏览过程,并按照Key=行内容/Value=最长公共子序列作为结果输出;
步骤2-3:迭代执行job(每个节点任务),直到数据集中的所有数据都已遍历完毕。
步骤2-4:在reduce阶段,将所有相同的Key内容的结果即每个用户与其他用户信息的求交结果输出到相同的节点上,组成序列集合S;
本发明实施例中,垂直切分部分输出结果如表4所示;
表4
S1 | 1 -1 -1 -1 -2 |
S2 | -1 -1 27 -1 -1 -1 218 -1 -1 -1 -1 -1 -1 351 455 -1 472 |
… | … |
步骤3、将获得的所有公共子序列进行合并和去重操作,得到挖掘前的候选模式集;
步骤4、将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;如图2所示,具体步骤如下:
步骤4-1、对合并去重后的序列数据进行两两求相似度;
本发明实施例中,输入:序列集合S,K=1000,ε=0.75,输出:K条序列;设定需要找到k=1000条最具有代表性的用户信息;对于每一个处理器上的数据进行相同处理:定义一个邻接表list保存边信息,定义一个S集合存储序列顶点。对于该节点上的序列集合S,对于集合S中的每一条用户信息序列的相似度,相似度公式为(LCS(S1,S2))/(Max(S1,S2)),其中,LCS(S1,S2)为两个序列的公共子序列的最大长度,Max(S1,S2)为两个序列中最长的公共子序列的长度;
步骤4-2、判断所得相似度是否大于设定值,若是,则这两个序列存在关联,即在该算法中,这两个序列所对应的两个顶点之间存在一条边,则保存边信息<S1,S2>,否则,则这两个序列无关联;
步骤4-3、将存在关联的顶点之间进行连接,获得描述序列之间关联的顶点结构图;
步骤5、采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;如图3所示,具体如下:
步骤5-1、任意取一顶点,并将该顶点加入至一集合中,在顶点结构图中将该顶点与其边删除;
本发明实施例中,从邻接表中任意顶点P1出发,将该顶点加入到TopK中,将与顶点P1有关的边信息从邻接表list中排除;
步骤5-2、查询与该顶点之间没有边但度最大的顶点,并返回执行步骤5-1,直至所找到的顶点数目达到设定值;
本发明实施例中,找到一个与该顶点P1之间没有边但该点的度最大P2,度即所连边的数目,将该顶点加入到TopK中,并返回执行步骤5-1;判断TopK中是否已经存在K条序列或是是否已经没有独立顶点,如果满足其中一个条件,则执行步骤5-3;
步骤5-3、将所有处理器中保存的集合进行合并。
本发明实施例中,将每一个处理器上产生的K条最不相似的序列的小文件合并成一个大文件;
步骤6、采用基于阈值约减算法在合并后的集合进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩,如图4所示,具体步骤如下:
步骤6-1、任选一条序列加入结果集合中;
本发明实施例中,定义一个集合set,用于保存K条序列,对于该大文件中的每一条序列用户信息,判断set是否为空,如果为空将该信息seq放入到set中,否则执行步骤6-2;
步骤6-2、对于每条待插入的序列,计算该序列与结果集合中所有序列的相似度,若该序列与集合中已插入的任意一条序列的相似度大于设定的阈值,则不插入,否则插入;
本发明实施例中,计算seq与set集合中其他每条信息的相似度;如果差别度小于阙值,则将seq放入set中,否则丢弃;得出频繁闭序列候选集为set集;
本发明实施例中,模式约减部分输出结果如表5所示;
表5
步骤7、挖掘约减后序列中的频繁闭序列;
本发明实施例中,输入:候选序列集set,最小支持度min_sup,本实例中我们设置min_sup=3;输出:频繁闭序列;
如图5所示,具体步骤如下:
步骤7-1、将步骤6获得的所有序列(候选集set)分配到每台处理器中;
步骤7-2、在每台处理器中,枚举固定长度len的前缀序列Sp;具体为:设置序列的前缀固定长度范围,所述的范围为:1~最长序列长度值,且固定长度为整数;在设置的长度范围内依次取前缀固定长度值,由第一条序列至最后一条序列,由左向右依次枚举,获得所有固定长度所对应的前缀序列;
本发明实施例中,输入:候选集合set,输出:长度为1,2...n的前缀序列Sp;
步骤7-3、判断所获得的前缀序列是否包含在处理器的数据集中,若是,则将该前缀序列放入至自身投影数据库中;否则执行下一条前缀序列的判断;
本发明实施例中,对于每一个处理器进行如下相同操作:判断前缀序列Sp是否包含在枚举的候选集中,如果包含在其中,对其建立投影数据库,按照Key=枚举结果/value=该模式对应的投影数据库分发到执行reduce函数的处理器上;
步骤7-4、将所有处理器中相同前缀序列所对应的投影数据库进行合并,存储于同一个处理器中;
本发明实施例中,将候选序列长度相同的前缀序列Sp的k-v值对发送到同一个处理器上;
步骤7-5、依次判断每个前缀序列是否为频繁序列,若是,则执行步骤7-6,否则,削减该前缀序列,并执行步骤7-7;
本发明实施例中,对于每个处理器接收到的Key=枚举结果/value=该模式对应的投影数据库进行迭代处理,根据投影数据库计算该前缀序列Sp的频繁度;
步骤7-6、通过回插检测和向后扩展检测,判断该前缀序列是否为频繁闭序列,若是,则保留此频繁闭序列,否则,削减该前缀序列;
步骤7-7、判断该序列是否能成片削减,若是,则执行成片削减,并返回执行步骤7-5,否则,执行步骤7-8;
本发明实施例中,判断该序列是否可以成片削减,如果可以约减,将结果存储于hdfs中,以便下一场长度约减时减少无用前缀的传输;
步骤7-8、获得全部的频繁闭序列。
本发明实施例中,最终部分输出结果如表6所示;
表6
序号 | 频繁闭序列 | 支持度 |
S1 | 1 -1 -1 -2 | 1781 |
S2 | 1 -1 6 -1 -1 | 4986 |
S3 | 3 -1 | 11462 |
S4 | 11 -1 6 -1 3 -1 -1 | 3603 |
… | … | … |
以下实验显示在真实数据集Kosarak上本发明的方法的性能比较,具体如下:
本发明实施例中,图6显示的是变化不同的支持度,频繁闭序列并行挖掘算法的运行时间比较图。由图可以看出,在不同的支持度下执行时间差异度不是很大。由此可知,有效的缩短原始数据的列数将直接影响算法的时间复杂度,不同于的已有的分布式序列挖掘算法,时间复杂度很大程度是由支持度决定;
本发明实施例中,图7显示的是变化不同的差异度,频繁闭序列并行挖掘算法的运行时间比较图。由图可以看出,不同的差异度相同的支持度下的挖掘时间差异非常大;由实验结果可知,差异度阈值设的越小,对应的候选模式列数差异越大,直接体现为长短不一,而且行数也会明显减少,这两点直接影响挖掘时间,这在图中可以十分明显的观察出来。可见差异度将直接影响序列的挖掘时间;
本发明实施例中,图8显示的是本发明提出的方法与现有的并行频繁闭序列挖掘算法Par-CSP的运行时间比较图。Par-CSP是基于BIDE的并行频繁闭序列挖掘算法,由图可以看出,本发明提出方法的运行时间缩短了很多;虽然本发明采用枚举的方式生成候选序列,但该发明方法在挖掘之前已经将序列的列数缩短,因此枚举时间并没有浪费太多,并且本发明还采用了两种性能优化的策略,这使得本发明的方法效果更佳。
加速比是同一个任务在不同处理器或并行处理器中运行时间的比值,用来衡量并行系统或程序并行化的有效性。在处理器资源独享的前提下,假设某个串行应用程序在某台并行机单处理器上运行时间为Ts,而该程序并行化后,K个进程在K个处理器并行执行所需要的时间为TK,则该并行程序在该并行机上的加速比Sp可定义为:Sp=Ts/Tp;
首先在双核3.1GHz,4GB内存的电脑上使用jdk1.8.0_31运行单机版本,接着在主频为2.33GHz、内存为4GB,操作系统为RedHat的服务器上运行分布式版本,hadoop版本为hadoop1.2.1,1台主节点,4台工作节点。
本发明实施例中,图9中可以看出,本发明提出的方法其加速比随着节点的增加在缓慢上升,曲线的斜率也在不断减小,曲线越升越缓。也就是说,当增加计算节点后,本发明提出方法的处理时间虽然不是线性的减少,但是已经显示了很好的加速比。这是因为本发明提出的算法对于各个计算节点之间是不存在数据通信的;一旦任务分配到map节点之后,各个节点之间即没有数据依赖,也没有程序上的依赖,但是MapReduce框架之间数据传输会消耗时间。这是因为Map阶段结束后,需要将数据归并排序,并按照事先设定好的分区函数分发到不同的Reduce节点上,而Reduce阶段在最终收集各个计算节点的运算结果时也是存在通讯代价的,这是由Map-reduce框架决定的。因此,该过程除了来自Map-reduce框架的map过程和reduce过程本身之外,没有引入其他的通信代价。
Claims (4)
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、通过回插检测和向后扩展测,判断该前缀序列是否为频繁闭序列,若是,则保留此频繁闭序列,否则,削减该前缀序列;
步骤7-7、判断该序列是否能成片削减,若是,则执行成片削减,并返回执行步骤7-5,否则,执行步骤7-8;
步骤7-8、获得全部的频繁闭序列。
2.根据权利要求1所述的基于垂直分解的并行频繁闭序列挖掘方法,其特征在于,步骤4将挖掘前的候选模式集中的序列转变成图的存储结构,图中每个结点代表一个序列;具体步骤如下:
步骤4-1、对合并去重后的序列数据进行两两求相似度;
步骤4-2、判断所得相似度是否大于设定值,若是,则这两个序列存在关联,即在该算法中,这两个序列所对应的两个顶点之间存在一条边,否则,则这两个序列无关联;
步骤4-3、将存在关联的顶点之间进行连接,获得描述序列之间关联的顶点结构图。
3.根据权利要求1所述的基于垂直分解的并行频繁闭序列挖掘方法,其特征在于,步骤5所述的采用基于独立支配集约减算法对图存储结构中的序列进行约减,将所有处理器中保存的集合进行合并;具体如下:
步骤5-1、任意取一顶点,并将该顶点加入至一集合中,在顶点结构图中将该顶点与其边删除;
步骤5-2、查询与该顶点之间没有边但度最大的顶点,并返回执行步骤5-1,直至所找到的顶点数目达到设定值;
步骤5-3、将所有处理器中保存的集合进行合并。
4.根据权利要求1所述的基于垂直分解的并行频繁闭序列挖掘方法,其特征在于,步骤6所述的采用基于阈值约减算法在合并后的集合中进行约减操作,选取最具代表性的K个模式,即TopK,实现频繁模式的压缩;具体步骤如下:
步骤6-1、任选一条序列加入结果集合中;
步骤6-2、对于每条待插入的序列,计算该序列与结果集合中所有序列的相似度,若该序列与集合中已插入的任意一条序列的相似度大于设定的阈值,则不插入,否则插入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611091669.1A CN106599122B (zh) | 2016-12-01 | 2016-12-01 | 一种基于垂直分解的并行频繁闭序列挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611091669.1A CN106599122B (zh) | 2016-12-01 | 2016-12-01 | 一种基于垂直分解的并行频繁闭序列挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106599122A true CN106599122A (zh) | 2017-04-26 |
CN106599122B CN106599122B (zh) | 2019-12-31 |
Family
ID=58594535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611091669.1A Active CN106599122B (zh) | 2016-12-01 | 2016-12-01 | 一种基于垂直分解的并行频繁闭序列挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599122B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346331A (zh) * | 2017-06-22 | 2017-11-14 | 武汉大学 | 一种基于Spark云计算平台的并行序列模式挖掘方法 |
CN111462489A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯云计算(北京)有限责任公司 | 交通拥堵区域预测方法及装置 |
CN112116464A (zh) * | 2020-05-21 | 2020-12-22 | 上海金融期货信息技术有限公司 | 基于事件序列频繁项集的异常交易行为分析方法和系统 |
CN112925821A (zh) * | 2021-02-07 | 2021-06-08 | 江西理工大学 | 基于MapReduce的并行频繁项集增量数据挖掘方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150311A (zh) * | 2011-12-07 | 2013-06-12 | 微软公司 | 基于数据划分的频繁对象挖掘 |
WO2014116487A1 (en) * | 2013-01-22 | 2014-07-31 | Microsoft Corporation | Api usage pattern mining |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
-
2016
- 2016-12-01 CN CN201611091669.1A patent/CN106599122B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150311A (zh) * | 2011-12-07 | 2013-06-12 | 微软公司 | 基于数据划分的频繁对象挖掘 |
WO2014116487A1 (en) * | 2013-01-22 | 2014-07-31 | Microsoft Corporation | Api usage pattern mining |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
Non-Patent Citations (2)
Title |
---|
HUIPING CAO: "Mining frequent spatio-temporal sequential patterns", 《IEEE》 * |
张榛楠: "面向电子商务的Web使用挖掘关键技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346331A (zh) * | 2017-06-22 | 2017-11-14 | 武汉大学 | 一种基于Spark云计算平台的并行序列模式挖掘方法 |
CN111462489A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯云计算(北京)有限责任公司 | 交通拥堵区域预测方法及装置 |
CN111462489B (zh) * | 2020-04-01 | 2021-10-26 | 腾讯云计算(北京)有限责任公司 | 交通拥堵区域预测方法及装置 |
CN112116464A (zh) * | 2020-05-21 | 2020-12-22 | 上海金融期货信息技术有限公司 | 基于事件序列频繁项集的异常交易行为分析方法和系统 |
CN112116464B (zh) * | 2020-05-21 | 2023-07-14 | 上海金融期货信息技术有限公司 | 基于事件序列频繁项集的异常交易行为分析方法和系统 |
CN112925821A (zh) * | 2021-02-07 | 2021-06-08 | 江西理工大学 | 基于MapReduce的并行频繁项集增量数据挖掘方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106599122B (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bai et al. | Design reuse oriented partial retrieval of CAD models | |
US20130212104A1 (en) | System and method for document analysis, processing and information extraction | |
Yun et al. | Approximate weighted frequent pattern mining with/without noisy environments | |
CN101430695B (zh) | 用于计算单词之间的差相关度的系统和方法 | |
CN111339427B (zh) | 一种图书信息推荐方法、装置、系统及存储介质 | |
Leung et al. | Mining frequent patterns from uncertain data with MapReduce for big data analytics | |
US9361343B2 (en) | Method for parallel mining of temporal relations in large event file | |
CN103003813B (zh) | 记录的列状存储表示 | |
Domingues et al. | Using taxonomies to facilitate the analysis of the association rules | |
CN106599122A (zh) | 一种基于垂直分解的并行频繁闭序列挖掘方法 | |
CN102314491B (zh) | 多核环境下基于海量日志的类似行为模式用户识别方法 | |
CN102646095B (zh) | 一种基于网页分类信息的对象分类方法和系统 | |
Gao et al. | SeCo-LDA: Mining service co-occurrence topics for recommendation | |
CN104899229A (zh) | 基于群体智能的行为聚类系统 | |
CN113449187A (zh) | 基于双画像的产品推荐方法、装置、设备及存储介质 | |
Nadungodage et al. | GPU accelerated item-based collaborative filtering for big-data applications | |
CN101826102B (zh) | 一种图书关键字自动生成的方法 | |
CN110175192A (zh) | 一种基于主题序列模式的旅游产品推荐方法 | |
US11709885B2 (en) | Determining fine-grain visual style similarities for digital images by extracting style embeddings disentangled from image content | |
JP2008234338A (ja) | 旬度解析システム、旬度解析方法、及び旬度解析プログラム | |
Prakash et al. | Web crawling through shark-search using PageRank | |
Chow et al. | A new document representation using term frequency and vectorized graph connectionists with application to document retrieval | |
Najork et al. | Of hammers and nails: an empirical comparison of three paradigms for processing large graphs | |
Sun et al. | A scalable and flexible basket analysis system for big transaction data in Spark | |
CN113254517A (zh) | 一种基于互联网大数据的服务提供方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |