CN106547907A - 一种频繁项集获取方法及装置 - Google Patents
一种频繁项集获取方法及装置 Download PDFInfo
- Publication number
- CN106547907A CN106547907A CN201611049008.2A CN201611049008A CN106547907A CN 106547907 A CN106547907 A CN 106547907A CN 201611049008 A CN201611049008 A CN 201611049008A CN 106547907 A CN106547907 A CN 106547907A
- Authority
- CN
- China
- Prior art keywords
- item
- collection
- item collection
- candidate
- collections
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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/2457—Query processing with adaptation to user needs
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种频繁项集获取方法及装置,所述方法包括:根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块;每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合;将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。所述方法对数据库中的数据进行并行挖掘可避免了全局关联规则挖掘数据量过大可能内存无法容纳或导致计算缓慢等问题,解决解决了大数据量处理能力瓶颈的问题。
Description
技术领域
本发明涉及数据挖掘领域,具体而言,涉及一种频繁项集获取方法及装置。
背景技术
随着关于大数据、物联网、互联网、云计算技术飞速发展,爆发式数据增长向IT行业提出了挑战。如何从海量的、不完全的、有噪声的、随机的多结构互联网数据中,通过分析去揭示其有意义的某种关联、趋势或模式,挖掘它们背后隐藏着的事先不知道的,但又是潜在有用的信息和知识,成为了一种具有实际价值的工作。关联规则挖掘是用来描述事物之间的联系和挖掘事物之间的相关性,它是在数据库中搜索两个项目之间存在的显示或者隐式关系,有助于管理和决策。其核心是通过统计数据项获得频繁项集,被广泛应用于分类设计、捆绑式销售、仓库储货存配置等领域,是当前大数据分析和处理的一个研究热点。
Apriori算法是最为经典的关联规则挖掘算法,它是所有关联规则挖掘算法的核心。基本思想是先找出事务数据库中具有最小支持度的项目集(即最大项目集),再根据最大项目集生成关联规则。其中生成最大项目集是核心问题,它通过迭代的方法,逐层搜索,用(k-1)项集去搜索不小于最小支持度的k项集,直至没有更大项目集生成。每次搜索都需要完整地扫描一次数据库,这种传统串行方式效率非常低,并且在大数据环境,处理能力会产生瓶颈。
发明内容
有鉴于此,本发明实施例的目的在于提供一种频繁项集获取方法及装置,以解决上述问题。
第一方面,本发明实施例提供一种频繁项集获取方法,所述方法包括:根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块;每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合;将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
第二方面,本发明实施例提供一种频繁项集获取装置,所述装置包括:分配模块,用于根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块;过滤模块,用于每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合;合并模块,用于将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
与现有技术相比,本发明实施例提供的一种频繁项集获取方法及装置,通过将数据库数据进行划分,并分别分配不同的处理模块进行处理,每个处理模块均采用第一过滤原则对数据库的局部数据进行进行挖掘,合并得到候选频繁项集合,并对候选频繁项集合采用第二过滤原则再次进行全局挖掘,最终得到频繁项集合,这种方式,对数据库中的数据进行并行挖掘可避免了全局关联规则挖掘数据量过大可能内存无法容纳或导致计算缓慢等问题,解决解决了大数据量处理能力瓶颈的问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的服务器的方框示意图。
图2是本发明实施例提供的一种频繁项集获取方法的流程图。
图3是本发明实施例提供的一种频繁项集获取方法中步骤S400的部分流程图。
图4是本发明实施例提供的一种频繁项集获取方法中步骤S430的部分流程图。
图5是本发明实施例提供的一种频繁项集获取方法中步骤S431的部分流程图。
图6是本发明实施例提供的一种频繁项集获取方法中步骤S432的部分流程图。
图7是本发明实施例提供的一种频繁项集获取方法中步骤S433的部分流程图。
图8是本发明实施例提供的一种频繁项集获取装置的功能模块示意图。
图9是本发明实施例提供的一种频繁项集获取装置中过滤模块的功能模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组 件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或时间先后。
如图1所示,是所述服务器200的方框示意图。所述服务器200包括频繁项集获取装置210、存储器220、存储控制器230、处理器240。
所述存储器220、存储控制器230、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述频繁项集获取装置210包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或固化在所述服务端200的操作系统(operating system,OS)中的软件功能模块。所述处理器240用于执行存储器220中存储的可执行模块,例如所述频繁项集获取装置210包括的软件功能模块或计算机程序。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器220用于存储程序,所述处理器240在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务端所执行的方法可以应用于处理器中,或者由处理器实现。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,图1所示的结构仅为示意,服务器200还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
图2示出了本发明实施例提供的一种频繁项集获取方法的流程图,请参阅图2,本实施例描述的是服务器的处理流程,所述方法包括:
步骤S300,根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块。
可以按照操作人员的需求,自定义的将需要处理几个子数据库,即需要几个处理模块来对数据库进行处理,以及每个子数据库在所述事务数据库中的起始位置进行定义,并写入配置文件中,服务器读取配置文件中的配置信息,根据所述配置信息,将事务数据库划分成多个子数据库。当然,步骤S300的实施方式并不局限于此。
步骤S400,每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合。
可以理解的是,所述处理模块可以对应一个线程,即此时采用多线程分别对各个子数据库进行处理。其中,进一步的,可以基于spark模型来实现此处的分布式计算,spark模型将结果缓存在内存中,便于下次计数,无需I/O读取,且在分布式环境下各个子节点都可以同时进行并行计算,高效解决了传统串行计算与Hadoop并行计算的缺点。
作为一种实施方式,请参阅图4,步骤S400可以包括:
步骤S410,每个所述处理模块扫描对应的子数据库,分别获取所述子数据库对应的事务总数、由多个一项集构成的一项集集合、以及各个所述一项集对应的次数。
其中,项的集合称为项集,包含k个项的项集称为k-项集。例如,{I1}由于只包含了一个项,则称为一项集。{I1,I2}由于包含了两个项,则称为二项集,依次类推。
对于每个子数据库而言,所述子数据库的事务中包括的各个一项集可能重复多次,因此分别统计各个一项集对应的次数。
步骤S420,每个所述处理模块根据所述一项集集合以及组合策略,获取多个多项集,再次扫描对应的子数据库,获取所述多个多项集对应的次数。
所述组合策略为C(i,K),即计算公式如下所示:
其中,K为上一次处理后剩余的项集的个数,所述i为当前待处理的项集中包括的项的个数。
例如,假设当前处理模块获取到的一项集集合为{{I1},{I2},{I3}},则按照组合策略,获取二项集集合为C(2,3),即二项集的个数为3个,分别为{I1,I2},{I1,I3},{I2,I3},获取三项集集合为C(3,3),即三项集的个数为1个,分别为{I1,I2,I3}。
当确定了各个多项集后,再次扫描对应的子数据库,获取所述多个多项集对应的次数。
可以理解的是,本实施例提供的方法只需扫描两次数据库,并将读取并获得的数据存储在内存中,后续处理时,可以直接从内存中读取,减少了扫描数据库时进行I/O操作所花费的时间。
进一步的,通过组合策略可以产生所有可能的候选项集,为每次迭代的输入提供了候选结果集,减少了大量扫描事务数据库的操作,可以预测需要迭代的次数,减少运行复杂度。即采用组合策略可以生成所有K-项集,K-项集总的个数为:例如,针对某一个事务T{I1,I2,I3}对应的项目集,那么K-项集的个数为23-1=7,每次搜索项集候选项集确定、迭代次数确定并小于K,它减少了运行复杂度。
步骤S430,每个所述处理模块根据所述一项集对应的次数、所述多项集对应的次数,以及所述一项集和/或多项集在预设时间段内对应的次数的变化趋势,获取候选集合。
作为一种实施方式,请参阅图5,步骤S430可以包括:
步骤S431,根据所述一项集对应的次数以及预设第三过滤原则,获取最大次数一项集以及更新后的一项集集合,将所述更新后的一项集集合中的所有一项集加入候选集合中。
作为一种实施方式,请参阅图6,步骤S431可以包括:
步骤S4311,将所述一项集集合中次数最多的一项集以及次数最少的一项集分别从所述一项集集合中删除,并将所述次数最多的一项集作为最大次数一项集。
例如,所述所述一项集集合中包括的一项集分别为:{I1},{I2},{I3},{I4},{I5},{I6},去掉次数最多{I4},次数最少的{I5},此时剩余的一项集为{I1},{I2},{I3},{I6}。
可以理解是,此处将所述次数最多的一项集作为最大次数一项集并存储在内存中,此处只是暂时将最大次数一项集删除,后续将所述最大次数一项集分别与所述更新的候选集合中的各个一项集或多项集进行合并,这样能够大大减少预算量。
步骤S4312,依次判断所述一项集集合中的一项集的最小支持频数是否小于预设阈值,如果是,则从所述一项集集合中去掉所述一项集,直到判断完所述一项集集合中的所有一项集,获得更新后的一项集集合,将所述更新后的一项集集合中的所有一项集加入候选集合中,其中,所述最小支持频数是指预设最小支持度与事务总数的乘积。
依次对{I1},{I2},{I3},{I6}计算最小支持频数。其中,最小支持频数可以根据下述公式计算:
min_sup=nums*min_support
其中,min_support为最小支持度,nums为事物总数,min_sup为最小支持频数。
并判断是否小于预设阈值,其中,所述预设阈值可以根据业务需求和经验提前预设。当判断出所述最小支持频数小于预设阈值时,则从所述一项集集合中去掉所述一项集。
步骤S432,根据所述更新后的一项集集合、组合策略、各个所述多项集对应的次数以及第四过滤原则,分别依次获得更新后的多项集,并将更新后的多项集加入候选集合中。
作为一种实施方式,请参阅图7,步骤S432可以包括:
步骤S4321,根据所述更新后的一项集集合以及组合策略,获取由多个二项集构成的二项集集合,将所述二项集集合中次数最少的二项集分别从所述二项集集合中删除。
接上例,假设依次判断后,获得的更新后的一项集集合中包括{I1},{I2},{I3}。根据组合策略,获得二项集集合中包括:{I1,I2},{I1,I3},{I2,I3}。此时,由于步骤S420中已经获取到各个多项集的次数,并已存储到内存中,此处直接从内存中分别读取到{I1,I2},{I1,I3},{I2,I3}的值即可,并将所述二项集集合中次数最少的二项集分别从所述二项集集合中删除。
可以理解的是,当一项集在步骤S431中被删除时,则包含所述被删除的一项集的所有超项集后续都被删除,例如,假设{I4}在一项集中被删除,则后续包含{I4}的多项集,如{I1,I4},{I1,I2,I4}等,都被删除。同理,当多项集被删除时,包含所述多项集的超项集都将被删除。通过这种性质,可以大大减少运算量。
步骤S4322,依次判断所述二项集集合中的二项集的最小支持频数是否小于预设阈值,如果是,则从所述二项集集合中去掉所述二项集,直到判断完所述二项集集合中的所有二项集,获得更新后的二项集集合,将所述更新后的二项集集合中的所有二项集加入候选集合中。
步骤S4323,依次类推,获得更新后的K项集集合,将所述更新后的K项集集合中的所有K项集加入候选集合中。
步骤S433,根据所述候选集合中各个一项集和/或多项集在预设时间段内的次数的变化趋势,获取到更新后的候选集合。
作为一种实施方式,请参阅图8,步骤S433可以包括:
步骤S4331,依次将所述候选集合中的各个一项集或多项集作为待判断项集。
此时,假设经过上述步骤的处理后,所述候选集合中包括{I1},{I2},{I3},{I1,I2},{I1,I3},{I1,I2,I3}。
步骤S4332,判断所述待判定项集在预设时间段内的次数的变化趋势,若所述待判定项集的变化趋势为上升趋势或者随机趋势或者平稳趋势,则将所述待判断项集保留在所述候选集合中,若所述待判定项集的变化趋势为下降趋势,则将所述待判断项集从所述候选集合中删除。
依次判断{I1},{I2},{I3},{I1,I2},{I1,I3},{I1,I2,I3}中各个待判定项集的变化趋势。
例如,对{I1}而言,假设预设时间段为5周,在第一周内有规则{I1}是频繁的(也就是一直满足大于最小支持度的),在第二周内,若{I1}支持 度不再满足最小支持度或者自身的支持度降低,则{I1}呈现的就是下降趋势;若{I1}的支持度依然满足并保持稳定,则{I1}呈现的就是平稳趋势;若{I1}的支持度依然满足并自身的支持度增大,则{I1}呈现的就是上升趋势;若在后续的几周内,若{I1}的支持度呈现从上升到下降再到上升等这样不稳定趋势,则{I1}呈现的就是随机趋势。若{I1}的变化趋势为上升趋势或者随机趋势或者平稳趋势,则将{I1}保留在所述候选集合中,若{I1}的变化趋势为下降趋势,则将{I1}从所述候选集合中删除。依次类推。
步骤S4333,直到所述候选集合中的各个一项集或多项集判断完毕,得到更新后的候选集合。
步骤S434,将所述最大次数一项集分别与所述更新的候选集合中的各个一项集或多项集进行合并,分别获得更新后的各个一项集或多项集,将包含所述多个更新后的各个一项集或多项集的集合作为候选集合。
接上例,假设经过上述步骤的处理后,所述更新的候选集合中包括{I1},{I3},{I1,I3},且最大次数一项集{I4},合并后获得的候选集合为:{I1,I4},{I3,I4},{I1,I3,I4}。
步骤S500,将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
所述根据预设第二过滤原则,得到频繁项集集合可以包括:依次判断所述候选频繁项集集合中的各个一项集或多项集的最小支持频数是否小于预设阈值,如果是,则从所述候选频繁项集集合中去掉所述一项集或多项集,直到所述候选频繁项集集合中的各个一项集或多项集判断完毕,获得频繁项集集合。
可以理解的是,所述多个处理模块获得的是局部最频繁项集,因此服务器将各个处理模块分别获得候选集合进行合并,生成候选频繁项集集合,根据预设第二过滤原则,获得频繁项集集合,此时生成的频繁项集集合中的项集则为全局最频繁的项集。
本发明实施例提供的频繁项集获取方法,通过将数据库数据进行划分,并分别分配不同的处理模块进行处理,每个处理模块均采用第一过滤原则对数据库的局部数据进行进行挖掘,合并得到候选频繁项集合,并对候选频繁项集合采用第二过滤原则再次进行全局挖掘,最终得到频繁项集合,这种方式,对数据库中的数据进行并行挖掘可避免了全局关联规则挖掘数据量过大可能内存无法容纳或导致计算缓慢等问题,解决解决了大数据量处理能力瓶颈的问题。
请参阅图9,是本发明实施例提供的图1所示的频繁项集获取装置210的功能模块示意图。所述频繁项集获取装置210运行于所述服务器200。所述频繁项集获取装置210包括分配模块211、过滤模块212、合并模块213。
所述分配模块211,用于根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块。
所述过滤模块212,用于每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合。
所述合并模块213,用于将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
请参阅图9,是本发明实施例提供的过滤模块212的功能模块示意图所述过滤模块212包括第一扫描模块2121,第二扫描模块2122以及处理模块2123。
所述第一扫描模块2121,用于每个所述处理模块扫描对应的子数据库,分别获取所述子数据库对应的事务总数、由多个一项集构成的一项集集合、以及各个所述一项集对应的次数。
所述第二扫描模块212,用于每个所述处理模块根据所述一项集集合以及组合策略,获取多个多项集,再次扫描对应的子数据库,获取所述多个多项集对应的次数。
所述处理模块2123,用于每个所述处理模块根据所述一项集对应的次数、所述多项集对应的次数,以及所述一项集和/或多项集在预设时间段内对应的次数的变化趋势,获取候选集合。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于中间服务器200的存储器220内。以上各模块同样可以由硬件例如集成电路芯片实现。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的频繁项集获取装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种频繁项集获取方法,其特征在于,所述方法包括:
根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块;
每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合;
将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
2.根据权利要求1所述的方法,其特征在于,每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合,包括:
每个所述处理模块扫描对应的子数据库,分别获取所述子数据库对应的事务总数、由多个一项集构成的一项集集合、以及各个所述一项集对应的次数;
每个所述处理模块根据所述一项集集合以及组合策略,获取多个多项集,再次扫描对应的子数据库,获取所述多个多项集对应的次数;
每个所述处理模块根据所述一项集对应的次数、所述多项集对应的次数,以及所述一项集和/或多项集在预设时间段内对应的次数的变化趋势,获取候选集合。
3.根据权利要求2所述的方法,其特征在于,根据所述一项集对应的次数、所述多项集对应的次数,以及所述一项集和/或多项集在预设时间段内对应的次数的变化趋势,获取候选集合,包括:
根据所述一项集对应的次数以及预设第三过滤原则,获取最大次数一项集以及更新后的一项集集合,将所述更新后的一项集集合中的所有一项集加入候选集合中;
根据所述更新后的一项集集合、组合策略、各个所述多项集对应的次数以及第四过滤原则,分别依次获得更新后的多项集,并将更新后的多项集加入候选集合中;
根据所述候选集合中各个一项集和/或多项集在预设时间段内的次数的变化趋势,获取到更新后的候选集合;
将所述最大次数一项集分别与所述更新的候选集合中的各个一项集或多项集进行合并,分别获得更新后的各个一项集或多项集,将包含所述多个更新后的各个一项集或多项集的集合作为候选集合。
4.根据权利要求3所述的方法,其特征在于,所述根据各个所述一项集对应的次数以及预设第三过滤原则,获取最大次数一项集以及更新后的一项集集合,包括:
将所述一项集集合中次数最多的一项集以及次数最少的一项集分别从所述一项集集合中删除,并将所述次数最多的一项集作为最大次数一项集;
依次判断所述一项集集合中的一项集的最小支持频数是否小于预设阈值,如果是,则从所述一项集集合中去掉所述一项集,直到判断完所述一项集集合中的所有一项集,获得更新后的一项集集合,将所述更新后的一项集集合中的所有一项集加入候选集合中,其中,所述最小支持频数是指预设最小支持度与所述事务总数的次数的乘积。
5.根据权利要求3所述的方法,其特征在于,所述一项集集合的元素个数为K,所述根据所述更新后的一项集集合、组合策略、各个所述多项集对应的次数以及第四过滤原则,分别依次获得更新后的多项集,并将更新后的多项集加入候选集合中,包括:
根据所述更新后的一项集集合以及组合策略,获取由多个二项集构成的二项集集合,将所述二项集集合中次数最少的二项集分别从所述二项集集合中删除;
依次判断所述二项集集合中的二项集的最小支持频数是否小于预设阈值,如果是,则从所述二项集集合中去掉所述二项集,直到判断完所述二项集集合中的所有二项集,获得更新后的二项集集合,将所述更新后的二项集集合中的所有二项集加入候选集合中;
依次类推,获得更新后的K项集集合,将所述更新后的K项集集合中的所有K项集加入候选集合中。
6.根据权利要求3所述的方法,其特征在于,所述根据所述候选集合中各个一项集和/或多项集在预设时间段内的次数的变化趋势,获取到更新后的候选集合,包括:
依次将所述候选集合中的各个一项集或多项集作为待判断项集;
判断所述待判定项集在预设时间段内的次数的变化趋势,若所述待判定项集的变化趋势为上升趋势或者随机趋势或者平稳趋势,则将所述待判断项集保留在所述候选集合中,若所述待判定项集的变化趋势为下降趋势,则将所述待判断项集从所述候选集合中删除;
直到所述候选集合中的各个一项集或多项集判断完毕,得到更新后的候选集合。
7.根据权利要求1所述的方法,其特征在于,根据预设第二过滤原则,得到频繁项集集合,包括:
依次判断所述候选频繁项集集合中的各个一项集或多项集的最小支持频数是否小于预设阈值,如果是,则从所述候选频繁项集集合中去掉所述一项集或多项集,直到所述候选频繁项集集合中的各个一项集或多项集判断完毕,获得频繁项集集合。
8.一种频繁项集获取装置,其特征在于,所述装置包括:
分配模块,用于根据配置信息,将事务数据库划分成多个子数据库,每个所述子数据库对应一个处理模块;
过滤模块,用于每个所述处理模块扫描对应的子数据库,根据预设第一过滤原则分别获取多个候选集合;
合并模块,用于将所述多个候选集合合并成一个候选频繁项集集合,根据预设第二过滤原则,得到频繁项集集合。
9.根据权利要求8所述的装置,其特征在于,所述过滤模块包括第一扫描模块,第二扫描模块以及处理模块,
所述第一扫描模块,用于每个所述处理模块扫描对应的子数据库,分别获取所述子数据库对应的事务总数、由多个一项集构成的一项集集合、以及各个所述一项集对应的次数;
所述第二扫描模块,用于每个所述处理模块根据所述一项集集合以及组合策略,获取多个多项集,再次扫描对应的子数据库,获取所述多个多项集对应的次数;
所述处理模块,用于每个所述处理模块根据所述一项集对应的次数、所述多项集对应的次数,以及所述一项集和/或多项集在预设时间段内对应的次数的变化趋势,获取候选集合。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,具体用于根据所述一项集对应的次数以及预设第三过滤原则,获取最大次数一项集以及更新后的一项集集合,将所述更新后的一项集集合中的所有一项集加入候选集合中;根据所述更新后的一项集集合、组合策略、各个所述多项集对应的次数以及第四过滤原则,分别依次获得更新后的多项集,并将更新后的多项集加入候选集合中;根据所述候选集合中各个一项集和/或多项集在预设时间段内的次数的变化趋势,获取到更新后的候选集合;将所述最大次数一项集分别与所述更新的候选集合中的各个一项集或多项集进行合并,分别获得更新后的各个一项集或多项集,将包含所述多个更新后的各个一项集或多项集的集合作为候选集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611049008.2A CN106547907B (zh) | 2016-11-24 | 2016-11-24 | 一种频繁项集获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611049008.2A CN106547907B (zh) | 2016-11-24 | 2016-11-24 | 一种频繁项集获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547907A true CN106547907A (zh) | 2017-03-29 |
CN106547907B CN106547907B (zh) | 2020-06-30 |
Family
ID=58394875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611049008.2A Expired - Fee Related CN106547907B (zh) | 2016-11-24 | 2016-11-24 | 一种频繁项集获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547907B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807952A (zh) * | 2017-09-27 | 2018-03-16 | 华南师范大学 | 一种基于Spark的Apriori并行化方法、系统及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834751A (zh) * | 2015-05-28 | 2015-08-12 | 成都艺辰德迅科技有限公司 | 基于物联网的数据分析方法 |
-
2016
- 2016-11-24 CN CN201611049008.2A patent/CN106547907B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834751A (zh) * | 2015-05-28 | 2015-08-12 | 成都艺辰德迅科技有限公司 | 基于物联网的数据分析方法 |
Non-Patent Citations (1)
Title |
---|
洑云龙: ""云计算平台下的数据挖掘研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107807952A (zh) * | 2017-09-27 | 2018-03-16 | 华南师范大学 | 一种基于Spark的Apriori并行化方法、系统及装置 |
CN107807952B (zh) * | 2017-09-27 | 2021-06-01 | 华南师范大学 | 一种基于Spark的Apriori并行化方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106547907B (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vora et al. | Kickstarter: Fast and accurate computations on streaming graphs via trimmed approximations | |
Rossetti et al. | Community discovery in dynamic networks: a survey | |
Lin et al. | Mining high utility itemsets in big data | |
US10963810B2 (en) | Efficient duplicate detection for machine learning data sets | |
CN102945240B (zh) | 一种支持分布式计算的关联规则挖掘算法实现方法及装置 | |
Leung et al. | Reducing the search space for big data mining for interesting patterns from uncertain data | |
US9348857B2 (en) | Probabilistically finding the connected components of an undirected graph | |
US20140354649A1 (en) | Distributed k-core view materialization and maintenance for graphs | |
Hutter et al. | Improved HDRG decoders for qudit and non-Abelian quantum error correction | |
US20190303266A1 (en) | String transformation based trace classification and analysis | |
Zhang et al. | Finding critical users in social communities: The collapsed core and truss problems | |
Makanju et al. | Deep parallelization of parallel FP-growth using parent-child MapReduce | |
Al Abd Alazeez et al. | EDDS: An enhanced density-based method for clustering data streams | |
CN106599122B (zh) | 一种基于垂直分解的并行频繁闭序列挖掘方法 | |
Mai et al. | Anytime parallel density-based clustering | |
Huynh et al. | An efficient method for mining sequential patterns with indices | |
Chen et al. | High Utility Periodic Frequent Pattern Mining in Multiple Sequences. | |
Zhou et al. | Detecting critical nodes in sparse graphs via “reduce-solve-combine” memetic search | |
Dinh et al. | A survey of privacy preserving utility mining | |
Vu et al. | FTKHUIM: a fast and efficient method for mining top-K high-utility itemsets | |
Reza et al. | Scalable pattern matching in metadata graphs via constraint checking | |
CN106547907A (zh) | 一种频繁项集获取方法及装置 | |
Luo et al. | Linear-time algorithms for the multiple gene duplication problems | |
Chen et al. | Incremental high average-utility itemset mining: survey and challenges | |
Gleyzer et al. | Leveraging linear algebra to count and enumerate simple subgraphs |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200630 Termination date: 20211124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |