CN113010597A - 一种面向海洋大数据的并行关联规则挖掘方法 - Google Patents
一种面向海洋大数据的并行关联规则挖掘方法 Download PDFInfo
- Publication number
- CN113010597A CN113010597A CN202110368784.3A CN202110368784A CN113010597A CN 113010597 A CN113010597 A CN 113010597A CN 202110368784 A CN202110368784 A CN 202110368784A CN 113010597 A CN113010597 A CN 113010597A
- Authority
- CN
- China
- Prior art keywords
- data
- ocean
- item set
- items
- matrix
- 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
Images
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/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Fuzzy Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种面向海洋大数据的并行关联规则挖掘方法,包括海洋大数据预处理、海洋数值大数据离散化处理及并行关联规则挖掘三部分,数据离散化采用信息熵结合K‑means的方法,并行关联规则挖掘主要基于改进Apriori算法来完成,即基于Spark并行化Apriori算法,并将事务矩阵引入到了并行处理中,在迭代计算中简化事务矩阵,通过矩阵做逻辑“与”运算得到频繁项集和支持度,通过频繁项集与支持度计算关联规则。在计算过程中仅对该RDD进行操作,而不再扫描原始数据,从而通过内存计算加快了算法处理效率。通过剪枝来简约事务矩阵,减少后续迭代扫描范围和计算量,减少了I/O操作,有效解决了现有方法满足不了海洋大数据关联挖掘分析需求的问题。
Description
技术领域
本发明涉及计算机技术关联分析领域,具体为一种面向海洋大数据的并行关联规则挖掘方法。
背景技术
21世纪以来,随着信息技术和海洋观测技术的快速发展,大量的海洋数据不断地产生和积累,海洋数据已经成为一类重要大数据。海洋大数据种类繁多,具有多元异构、多模、多尺度、时空分布等特点,如何在这些纷繁复杂的海洋数据中挖掘出有用的信息,并将其转化为知识,是当前海洋数据分析和预测预报领域的重要研究课题。面向海洋大数据分析预报的关联关系挖掘分析方法的研发,就是要从更深的层次认识各个物理量之间的关联性,挖掘有价值的规则和知识,从而为海洋环境信息预测预报提供服务。关联分析又称关联挖掘,是一种简单、实用的分析技术,其目的就是发现存在于大量数据中的关联性或相关性,从而描述了一个事物中某些属性同时出现的规律和模式。Apriori关联规则挖掘方法是最受欢迎和使用最广泛的算法之一,是一种使用候选生成器挖掘频繁项集的挖掘算法,但是传统的集中式Apriori挖掘算法主要在单机上运行,效率低、空间耗费大,不适合于大数据的处理。后来陆续提出了多种基于Hadoop MapReduce框架的大数据分析挖掘算法,以及Spark框架下的EAFIM算法等,然而这些算法仍然存在着运行效率低、内存空间占用大的问题,仍然不能满足海洋大数据环境下的挖掘分析时效性的要求,因此非常有必要设计更加高效的适合于海洋大数据挖掘分析的方法。
Apriori算法是经典的关联规则挖掘算法,其的基本思想是在频繁项集的发现过程中蕴含着先验性质,即对于所有的频繁项集,其所有非空的子集必定是频繁项集,对于所有的不频繁项集,其所有的超集也必定是不频繁项集。算法实现中包含连接和剪枝两个过程。频繁K项集去发现频繁K+1项集时,先通过频繁K项集与自身的连接产生候选的频繁K+1项集,再通过支持度计数对候选的频繁项集进行筛选,删除不符合最小支持度限制的非频繁的项集。在此过程中应用了频繁项集的先验性质来进行剪枝,从而提高算法效率。最后根据频繁项集,生成相应的关联规则。该算法采用集中式方式,其扩展性不足,导致挖掘效率低下,无法满足大数据处理的需求。
EAFIM算法是当前最新的基于Spark框架的并行关联规则挖掘算法,它对传统Apriori算法进行了两处改进。当从数据库中读取事务以计算支持度时,它会“即时”生成候选对象,即候选集生成和支持度计算同时进行。此外,它通过仅保留对高阶迭代有用的事务来减小输入的大小,而无需在每次迭代中使用原始输入数据集。因此在较高的迭代次数中,每次迭代生成的候选集总数略有下降,因而具有较高的执行效率,但是,EAFIM算法有两个问题限制了执行效率;一是每轮迭代在剪枝过程中会重新构建事务数据库;二是每一个事务中的候选项集需要单独生成,这两个过程会产生大量的时间消耗。
发明内容
本发明提供了一种面向海洋大数据的并行关联规则挖掘方法,基于主流的Hadoop大数据平台,充分利用Spark分布式并行计算框架的内存计算能力,对传统的Apriori算法进行了并行化改造和优化,提出了面向海洋大数据的并行关联规则挖掘方法。
一种面向海洋大数据的并行关联规则挖掘方法,包括如下步骤:
步骤1.海洋数据集的获取,从Hadoop分布式文件系统中读取待处理的海洋数据集T,表示为T={T1,T2,...,Tm,...,Tp},1≤m≤p,其中p为观测值总数,Tm被称为一个事务或一个样本,Tm={Im1,Im2,...,Imn,...,Imq},1≤n≤q,Imn表示第In项的第m次观测值,1≤n≤q,In则代表第n个海洋要素,q表示海洋要素总数;
步骤2.对海洋数据集进行预处理,所述预处理包括对获取到的海洋数据集T进行数据去重、异常处理和缺失值处理;
步骤3.海洋数据离散化,如果海洋数据本身是离散型的或者非数值型的,则不进行离散化处理;如果海洋数据是数值型数据,则使用信息熵结合K-means的方法对预处理后的海洋数据集进行离散化;
步骤4.基于布尔矩阵的事务矩阵的构建,将聚类形成的每一个类簇作为数据集的一个项,则数据集的总项数项的集合I′表示为I′={I1′,I2′...I″},事务数p保持不变,创建一个大小为q′*p的事务矩阵;
步骤5.频繁项集生成,通过计算事务矩阵各个行的和,筛选产生频繁1-项集,之后对事务矩阵进行剪枝,删除不满足最小支持度min_sup的项,计算矩阵中各列的和得到事务包含的项数,删除项数不满足下一阶段频繁项集的事务,对频繁项集进行组合,产生下一阶段的候选项集,计算支持度并产生频繁项集,重复执行直到本阶段生成的候选项集数量为0;
步骤6.生成关联规则,基于置信度生成每个频繁项集的关联规则。
步骤2中所述的预处理具体表述为:
步骤2-1.数据去重,对获取的海洋数据进行重复性检查和去重处理,保证没有重复的数据;
步骤2-2.异常处理,对去重后的海洋数据进行一致性检查和错误检测,如果某一样本中包含的异常数据比例大于设定阈值γ1,则删除该样本中的所有数据,否则直接对异常数据进行修正;
步骤2-3.缺失值处理,对于单个数据项或G个不连续的数据项的缺失进行数据插值处理,而对于连续G个数据项的缺失,采用LSTM网络进行缺失值填充。
步骤3中所述的使用信息熵结合K-means的方法对预处理后的海洋数据集进行离散化,包括:
步骤3-1.基于信息熵的离散种类确定,计算预处理后的海洋数据中每个维度各自的信息熵,并将信息熵的值作为这个维度离散种类的数量,即分组数量,所述信息熵的计算方法如下:
对于预处理后的海洋数据集中任的一列In∈I,1≤n≤q,In={I1n,I2n...Ipn},其中In的信息熵H(In)的计算如下:
其中,b是In中不同元素的总个数,ca代表其中某一种,且ca∈{I1n,I2n...Ipn},p(ca)表示数据ca在In列中出现的概率,其值为ca在In中出现的次数与In中元素总数量之比;
步骤3-2.基于K-means的数据离散计算,任一项集In的聚类数从项集In中随机选择k个元素作为初始聚类中心,用μi表示第i个初始聚类中心,1≤i≤k,用λ表示In的所有类,λi表示其中一个类簇,记μi为λi的中心点;
步骤3-3.对于项集In中的每个元素Imn,m=1,...,p,计算每个元素到各个聚类中心μi的距离dmn,i,然后将Imn归入到dmn,i值最小的类簇中;
步骤3-4.重新计算各个类簇的聚类中心,记为μ′i,计算公式为:
其中,size(λi)为λi中含有的样本数;
步骤3-5.如果聚类中心μi和重新计算后的聚类中心μ′i相等或达到终止条件,则完成聚类,否则,将μ′i赋值给μi,即μi=μ′i,跳转到步骤3-3继续执行;
步骤3-6.保存维度In的聚类结果λ={λ1,λ2...λk};
步骤3-7.保存所有In的聚类结果,In∈I,1≤n≤q。
所述步骤4包括:
步骤4-1.构建一个大小为q′*p的布尔值事务矩阵M*,矩阵中每个元素I′jm的初始值赋值为0,1≤j≤q′;
步骤4-2.扫描预处理后数据集T′,对于T′中的每个元素Imn,若Imn属于类簇I′j,1≤j≤q′,则将矩阵M*中的元素I′jm的值置为1。
所述步骤5包括:
步骤5-1将事务矩阵存储到弹性分布式数据集RDD中;
步骤5-2初始化最小支持度min_sup、频繁项集长度k=1,候选集Ck初始设置为由所有项组成,即I′={I′1,I′2...I′q′};
步骤5-3基于事务矩阵迭代产生频繁项集,包括:
步骤5-3-1在RDD的每个数据分区上,对于候选集Ck中的每一个候选项集Itemsi,抽取Itemsi包含的项在事务矩阵中所对应的行值,每行形成一个向量,对这些向量进行与操作运算,最终得到一个行向量,这个行向量中包含1的数量就是满足项集Itemsi的事务的数量,表示为Sumi,返回(Itemsi,Sumi);
步骤5-3-2汇总各个数据分区返回的结果,将相同Itemsi的Sumi值进行相加得到总和SUMi,SUMi即为项Itemsi的支持度,输出二元组(Itemsi,SUMi);
步骤5-3-4对事务矩阵进行剪枝,对于候选集Ck中的每个项集Itemsi,如果SUMi<min_sup,则从候选集Ck中删除Itemsi,删除后Ck中剩余项集则为频繁项集,用Lk表示;对于事务矩阵中的任一列,统计包含1的数量S,若S<k+1,则在事务矩阵中删除这一列;
步骤5-3-5对于频繁项集Lk中的元素进行组合,产生下一阶段长度为(k+1)的候选频繁项集组合Ck+1;
步骤5-3-6重复步骤5-3-1至5-3-5,直到本阶段生成的候选项集数量为0,则结束频繁项集的生成过程。
所述步骤6包括:
步骤6-1设置置信度阈值min_conf;
步骤6-2对于每个频繁项集X,产生该频繁项集的所有非空子集;
步骤6-3对于该频繁项集X中的任意非空子集Y,如果则输出关联规则X=>Y,其中support_count(X∪Y)代表同时包含项集X和非空子项集Y的事务的数量,support_count(X)是指包含项集X的事务的数量。
本发明的有益效果是:
本发明提出了一种面向海洋大数据的并行关联规则挖掘方法,该方法基于先进的大数据并行处理框架Spark,充分利用了Spark平台内存计算能力。该方法主要包括海洋大数据预处理、海洋数值大数据离散化处理及并行关联规则挖掘三部分。预处理采用传统预处理方法,数据离散化采用信息熵结合K-means的方法,并行关联规则挖掘主要基于改进Apriori算法来完成,即基于Spark并行化Apriori算法,并将事务矩阵引入到了并行处理中,在迭代计算中简化事务矩阵,通过矩阵做逻辑“与”运算得到频繁项集和支持度,通过频繁项集与支持度计算关联规则。在计算过程中仅对该RDD进行操作,而不再扫描原始数据,从而通过内存计算加快了算法处理效率。通过剪枝来简约事务矩阵,减少后续迭代扫描范围和计算量,减少了I/O操作,从而加快了算法的处理速度,有效解决上述背景技术中提出现有方法满足不了海洋大数据关联挖掘分析需求的问题。
附图说明
图1为本发明中面向海洋大数据的并行关联规则挖掘方法流程图;
图2为本发明中Spark下并行关联规则挖掘方法总体框架;
图3为本发明中基于Spark的并行Apriori关联规则挖掘方法处理流程图;
图4为本发明中不同数据集在不同支持度下的执行时间比较图,其中(a)表示稠密数据集Chess的执行时间对比图,(b)为零售商数据集Retailand的执行时间对比图,(c)为稀疏数据集Mushroom的执行时间对比图,(d)为台风因子数据集的执行时间对比图,(e)为海洋浮标数据集1的执行时间对比图,(f)为海洋浮标数据集2的执行时间对比图;
图5为本发明中不同数据集在相同支持度下的执行时间随迭代次数的变化图,其中(a)表示密集数据集Chess在支持度为0.85时的变化图,(b)为稀疏数据集Mushroom在支持度为0.3时的变化图,(c)为零售商数据集Retailand在支持度为0.2时的变化图,(d)为台风因子数据集在支持度为0.3时的变化图,(e)为台风因子数据集在支持度为0.4时的变化图。
具体实施方式
实验环境:搭建由5台IBM X3650 M4服务器构成的Spark集群,作为本发明的测试运行环境,其中一台服务器作为主服务器(Master节点),其余服务器作为从属服务器(Worker节点)。每个节点的内存配置、网卡配置、硬盘配置以及CPU配置等配置相同,具体如表1所示。
表1服务器配置
如图1-2所示,一种面向海洋大数据的并行关联规则挖掘方法,包括:
步骤1.海洋数据集的获取,从Hadoop分布式文件系统中读取待处理的海洋数据集T,表示为T={T1,T2,...,Tm,...,Tp},1≤m≤p,其中p为观测值总数,Tm被称为一个事务或一个样本,Tm={Im1,Im2,...,Imn,...,Imq},1≤n≤q,Imn表示第In项的第m次观测值,1≤n≤q,In则代表第n个海洋要素(或称为第n项),q表示海洋要素总数;
步骤2.对海洋数据集进行预处理,所述预处理包括对获取到的海洋数据集T进行数据去重、异常处理和缺失值处理,所述预处理具体表述为:
步骤2-1.数据去重,对获取的海洋数据进行重复性检查和去重处理,保证没有重复的数据;
步骤2-2.异常处理,对去重后的海洋数据进行一致性检查和错误检测,如果某一样本中包含的异常数据比例大于设定阈值Υ1,则删除该样本中的所有数据,否则直接对异常数据进行修正;
步骤2-3.缺失值处理,对于单个数据项或G个不连续的数据项的缺失进行数据插值处理,而对于连续G个数据项的缺失,采用LSTM网络(即长短期记忆神经网络)进行缺失值填充;
步骤3.海洋数据离散化,如果海洋数据本身是离散型的或者非数值型的,则不进行离散化处理;如果海洋数据是数值型数据,则使用信息熵结合K-means(即K均值聚类算法)的方法对预处理后的海洋数据集进行离散化;
所述使用信息熵结合K-means的方法对预处理后的海洋数据集进行离散化,包括:
步骤3-1.基于信息熵的离散种类确定,计算预处理后的海洋数据中每个维度各自的信息熵,并将信息熵的值作为这个维度离散种类的数量,即分组数量,所述信息熵的计算方法如下:
对于预处理后的海洋数据集中任的一列In∈I,1≤n≤q,In={I1n,I2n...Ipn},其中In的信息熵H(In)的计算如下:
其中,b是In中不同元素的总个数,ca代表其中某一种,且ca∈{I1n,I2n...Ipn},p(ca)表示数据ca在该维度中出现的概率,其值为ca在In中出现的次数与In中元素总数量之比;
步骤3-2.基于K-means的数据离散计算,对于任一项集In,将信息熵H(In)作为该维数据的聚类数k,即从项集In中随机选择k个元素作为初始聚类中心,用μi表示第i个初始聚类中心,1≤i≤k,用λ表示In的所有类,λi表示其中一个类簇,记μi为λi的中心点;
步骤3-3.对于项集In中的每个元素Imn,m=1,...,p,计算每个元素到各个聚类中心μi的距离dmn,i,然后将Imn归入到dmn,i值最小的类簇中;
步骤3-4.重新计算各个类簇的聚类中心,记为μ′i,计算公式为:
其中,size(λi)为λi中含有的样本数;
步骤3-5.如果聚类中心μi和重新计算后的聚类中心μ′i相等或达到终止条件,则完成聚类,否则,将μi′赋值给μi,即μi=μi′,跳转到步骤3-3继续执行;
步骤3-6.保存维度In的聚类结果λ={λ1,λ2...λk};
步骤3-7.保存所有In∈I,1≤n≤q的聚类结果;
步骤4.基于布尔矩阵的事务矩阵的构建,将聚类形成的每一个类簇作为数据集的一个项,则数据集T的总项数(或称为总分组数)项的集合I′表示为I′={I′1,I′2...I′q′},事务数p保持不变,创建一个大小为q′*p的事务矩阵,具体包括:
步骤4-1.构建一个大小为q′*p的布尔值事务矩阵M*,矩阵中每个元素I′jm的初始值为0,1≤j≤q,1≤m≤p;
步骤4-2.扫描预处理后数据集T′,对于T′中的每个元素Imn,1≤m≤p,1≤n≤q,若Imn属于类簇I′j,1≤j≤q′,则将矩阵M*中的元素I′jm的值置为1;
基于Spark的并行Apriori关联挖掘方法(简称Apriori_MS)流程图如图3所示,具体实现过程如步骤5和步骤6所示:
步骤5.频繁项集生成,通过计算事务矩阵各个行的和,筛选产生频繁1-项集,之后对事务矩阵进行剪枝,删除不满足最小支持度min_sup的项,计算矩阵中各列的和得到事务包含的项数,删除项数不满足下一阶段频繁项集的事务,对频繁项集进行组合,产生下一阶段的候选项集,计算支持度并产生频繁项集,重复执行对事务矩阵剪枝及其后续过程,直到本阶段生成的候选项集数量为0,包括:
步骤5-1将事务矩阵存储到弹性分布式数据集RDD中,如图2所示;
步骤5-2初始化最小支持度min_sup、频繁项集长度k=1,候选集Ck初始设置为由所有项组成,即Ck={I′1,I′2...I′q′};
步骤5-3基于事务矩阵迭代产生频繁项集,包括:
步骤5-3-1在RDD的每个数据分区上,对于候选集Ck中的每一个候选项集Itemsi,抽取其包含的项在事务矩阵中所对应的行值,每行形成一个向量,对这些向量进行“与操作”运算,最终得到一个行向量,这个行向量中包含“l”(即布尔值为TRUE)的数量就是满足项集Itemsi的事务的数量,表示为Sumi,返回(Itemsi,Sumi);
步骤5-3-2汇总各个数据分区返回的结果,将相同Itemsi的Sumi值进行相加得到总和SUMi,SUMi即为项Itemsi的支持度,输出二元组(Itemsi,SUMi);
步骤5-3-4对事务矩阵进行剪枝;对于候选集Ck中的每个项集Itemsi,如果SUMi<min_sup,则从候选集Ck中删除Itemsi,删除后Ck中剩余项集则为频繁项集,用Lk表示;对于事务矩阵中的任一列,统计包含“1”的数量S,若S<k+1,则在事务矩阵中删除这一列;
步骤5-3-5对于频繁项集Lk中的元素进行组合,产生下一阶段长度为(k+1)的候选频繁项集组合Ck+1,需要令k的值加1;
步骤5-3-6重复步骤5-3-1至5-3-5,直到本阶段生成的候选项集数量为0,则结束频繁项集的生成过程;
步骤6.生成关联规则,基于置信度生成每个频繁项集的关联规则,置信度的计算公式为:
其中,support_count(A∪B)是同时包含项集A和项集B的事务数,support_count(A)是包含项集A的事务数,根据上述公式,关联规则的产生方式为:
步骤6-1定义置信度阈值min_conf;
步骤6-2对于每个频繁项集X,产生该频繁项集的所有非空子集;
步骤6-3对于该频繁项集X中的任意非空子集Y,如果则输出关联规则X=>Y,其中support_count(X∪Y)代表同时包含项集X和非空子项集Y的事务的数量,support_count(X)是指包含项集X的事务的数量。
本发明采用了Pycharm作为开发工具,Python作为编程语言,系统采用的操作系统为CentOS 6.4,搭配环境时除安装python外还需要其他的软件环境,主要包括Scala、Java、Hadoop以及Spark集群系统。
具体软件环境如表1所示。
表1软件环境
数据集:采用实际和生成数据集在对本发明提出的方法Apriori_MS进行了测试,并和现有最新的EAFIM方法进行了比较。为了测试方法的普适性,一共使用了6个数据集,3个海洋数据集,3个其他数据集。海洋数据集分别为中国南海1949-2018年台风预报因子数据集和两个南海温盐密浮标数据集;其他数据集来自于UC Irvine,分别为密集数据集Chess、零售商数据Retailand和稀疏数据集Mushroom。表2为事务数据库属性表。
表2事务数据库属性表
与EAFIM方法的比较:
基于上述实验环境和实验数据集,对本发明所提出的Apriori_MS方法的性能进行了测试分析,并与EAFIM方法进行实验对比。
(1)不同支持度下总执行时间变化情况。支持度通常由用户进行选择,当支持度选择过大时,候选集与频繁项集的元素会相应的减少,从而得到的关联规则也会变少,一些非常有意义的规则有可能被忽略。但如果支持度过小,则导致候选集与频繁项集剧增,虽然能得到更多的关联规则,但是算法的运行效率降低,且得到有些规则是没有意义的。图4是在6个数据集上两种方法的支持度随时间的变化情况,可以看出随着支持度增大,两种算法的执行时间都在变小,这和理论预期是一致的。从图4中可以看出,Apriori_MS方法的运行时间明显少于EAFIM方法,特别是在Mushroom和台风因子数据集上,优势非常明显。这说明本发明方法是有效,然而随着支持度不断增加,Apriori_MS和EAFIM的差距在减少,主要原因是支持度增大减少了候选集的数量,从而减少了处理时间。
(2)相同支持度执行时间随迭代次数的变化情况。图5显示了随迭代次数增长,算法执行时间的变化情况。从图5中可以发现,两个算法运行时间先是随迭代次数增加而增加,达到峰值后运行时间随迭代次数增加而减少。这是因为此处有一个候选集自连接的过程,数据量越大,候选集元素越多,计算量就越大。由于Aprioro_MS在自连接之前,对候选集增加了一次剪枝处理,因此消耗时间明显减少,其效果明显优于EAFIM方法。
从上述两个方面可以看出,本发明提出的方法是有效的,能够显著降低处理时间。
Claims (6)
1.一种面向海洋大数据的并行关联规则挖掘方法,其特征在于,包括:
步骤1.海洋数据集的获取,从Hadoop分布式文件系统中读取待处理的海洋数据集T,表示为T={T1,T2,...,Tm,...,Tp},1≤m≤p,其中p为观测值总数,Tm被称为一个事务或一个样本,Tm={Im1,Im2,...,Imn,...,Imq},1≤n≤q,Imn表示第In项的第m次观测值,1≤n≤q,In则代表第n个海洋要素或第n项,q表示海洋要素总数;
步骤2.对海洋数据集进行预处理,所述预处理包括对获取到的海洋数据集T进行数据去重、异常处理和缺失值处理;
步骤3.海洋数据离散化,如果海洋数据本身是离散型的或者非数值型的,则不进行离散化处理;如果海洋数据是数值型数据,则使用信息熵结合K-means的方法对预处理后的海洋数据集进行离散化;
步骤4.基于布尔矩阵的事务矩阵的构建,将聚类形成的每一个类簇作为数据集的一个项,则数据集的总项数项的集合I′表示为I′={I′1,I′2...I′q′},事务数p保持不变,创建一个大小为q′*p的事务矩阵;
步骤5.频繁项集生成,首先通过计算事务矩阵各个列的和,筛选产生频繁1-项集,之后对事务矩阵进行剪枝,删除不满足最小支持度的数据项和不满足下一阶段频繁项集长度的事务,对剪枝过后的矩阵的项进行组合,通过频繁项集产生下一阶段的候选项集,重复这个过程,直到本阶段生成的候选项集数量为0;
步骤6.生成关联规则,基于置信度生成每个频繁项集的关联规则。
2.根据权利要求l所述的一种面向海洋大数据的并行关联规则挖掘方法,其特征在于,所述预处理具体表述为:
步骤2-1.数据去重,对获取的海洋数据进行重复性检查和去重处理,保证没有重复的数据;
步骤2-2.异常处理,对去重后的海洋数据进行一致性检查和错误检测,如果某一样本中包含的异常数据比例大于设定阈值γ1,则删除该样本中的所有数据,否则直接对异常数据进行修正;
步骤2-3.缺失值处理,对于单个数据项或G个不连续的数据项的缺失进行数据插值处理,而对于连续G个数据项的缺失,采用LSTM网络进行缺失值填充。
3.根据权利要求1所述的一种面向海洋大数据的并行关联规则挖掘方法,其特征在于,所述使用信息熵结合K-means的方法对预处理后的海洋数据集进行离散化,包括:
步骤3-1.基于信息熵的离散种类确定,计算预处理后的海洋数据中每个维度各自的信息熵,并将信息熵的值作为这个维度离散种类的数量,即分组数量,所述信息熵的计算方法如下:
对于预处理后的海洋数据集中任的一列In∈I,1≤n≤q,In={I1n,I2n...Ipn},其中In的信息熵H(In)的计算如下:
其中,b是In中不同元素的总个数,ca代表其中某一种,且ca∈{I1n,I2n...Ipn},p(ca)表示数据ca在该维度中出现的概率,其值为ca在In中出现的次数与In中元素总数量之比;
步骤3-2.基于K-means的数据离散计算,任一项集In的聚类数从项集In中随机选择k个元素作为初始聚类中心,用μi表示第i个初始聚类中心,1≤i≤k,用λ表示In的所有类,λi表示其中一个类簇,记μi为λi的中心点;
步骤3-3.对于项集In中的每个元素Imn,m=1,...,p,计算每个元素到各个聚类中心μi的距离dmn,i,然后将Imn归入到dmn,i值最小的类簇中;
步骤3-4.重新计算各个类簇的聚类中心,记为μ′i,计算公式为:
其中,size(λi)为λi中含有的样本数;
步骤3-5.如果聚类中心μi和重新计算后的聚类中心μ′i相等或达到终止条件,则完成聚类,否则,将μ′i赋值给μi,跳转到步骤3-3继续执行;
步骤3-6.保存维度In的分类结果λ={λ1,λ2...λk};
步骤3-7.保存所有In的聚类结果,In∈I,1≤n≤q。
4.根据权利要求1所述的一种面向海洋大数据的并行关联规则挖掘方法,其特征在于,所述步骤4包括:
步骤4-1.构建一个大小为q′*p的布尔值事务矩阵M*,矩阵中每个元素I′jm的初始值赋值为0,1≤j≤q′;
步骤4-2.扫描预处理后数据集T′,对于T′中的每个元素Imn,若Imn属于类簇I′j,1≤j≤q′,则将矩阵M*中的元素I′jm的值置为1。
5.根据权利要求l所述的一种面向海洋大数据的并行关联规则挖掘方法,其特征在于,所述步骤5包括:
步骤5-1将事务矩阵存储到弹性分布式数据集RDD中;
步骤5-2初始化最小支持度min_sup、频繁项集长度k==1,候选集Ck初始设置为由所有项组成,即I′={I′1,I′2...I′q′};
步骤5-3基于事务矩阵构建迭代产生频繁项集,包括:
步骤5-3-1在RDD的每个数据分区上,对于候选集Ck中的每一个候选项集Itemsi,抽取Itemsi包含的项在事务矩阵中所对应的行值,每行形成一个向量,对这些向量进行与操作运算,最终得到一个行向量,这个行向量中包含1的数量就是满足项集Itemsi的事务的数量,表示为Sumi,返回(Itemsi,Sumi);
步骤5-3-2汇总各个数据分区返回的结果,将相同Itemsi的Sumi值进行相加得到总和SUMi,SUMi即为项Itemsi的支持度,输出二元组(Itemsi,SUMi);
步骤5-3-4对事务矩阵进行剪枝,对于候选集Ck中的每个项集Itemsi,如果SUMi<min_sup,则从候选集Ck中删除Itemsi,删除后Ck中剩余项集则为频繁项集,用Lk表示;对于事务矩阵中的任一列,统计包含1的数量S,若S<k+1,则在事务矩阵中删除这一列;
步骤5-3-5对于频繁项集Lk中的元素进行组合,产生下一阶段长度为(k+1)的候选频繁项集组合Ck+1;
步骤5-3-6重复步骤5-3-1至5-3-5,直到本阶段生成的候选项集数量为0,结束频繁项集的生成过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368784.3A CN113010597B (zh) | 2021-04-06 | 2021-04-06 | 一种面向海洋大数据的并行关联规则挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110368784.3A CN113010597B (zh) | 2021-04-06 | 2021-04-06 | 一种面向海洋大数据的并行关联规则挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010597A true CN113010597A (zh) | 2021-06-22 |
CN113010597B CN113010597B (zh) | 2023-08-01 |
Family
ID=76387853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110368784.3A Active CN113010597B (zh) | 2021-04-06 | 2021-04-06 | 一种面向海洋大数据的并行关联规则挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010597B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308721A (zh) * | 2023-05-11 | 2023-06-23 | 菏泽市市场监管监测中心 | 一种信息监督管理方法、装置、电子设备及存储介质 |
CN117272398A (zh) * | 2023-11-23 | 2023-12-22 | 聊城金恒智慧城市运营有限公司 | 基于人工智能的数据挖掘安全保护方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120197888A1 (en) * | 2009-04-16 | 2012-08-02 | President And Fellows Of Harvard College | Method and apparatus for selecting clusterings to classify a predetermined data set |
US20150293992A1 (en) * | 2011-01-03 | 2015-10-15 | Stephen W. Meehan | Cluster processing and ranking methods including methods applicable to cluster developed through density based merging |
CN105320756A (zh) * | 2015-10-15 | 2016-02-10 | 江苏省邮电规划设计院有限责任公司 | 一种基于改进Apriori算法的数据库关联规则挖掘方法 |
CN106326913A (zh) * | 2016-08-09 | 2017-01-11 | 中国银联股份有限公司 | 一种洗钱账户的确定方法及装置 |
CN108694175A (zh) * | 2017-04-05 | 2018-10-23 | 郑州博信知识产权代理有限公司 | 一种基于数据挖掘算法分析电能检测大数据的方法 |
CN109472300A (zh) * | 2018-10-24 | 2019-03-15 | 南京邮电大学 | 一种面向k均值聚类算法的质心以及质心个数初始化方法 |
CN111401785A (zh) * | 2020-04-09 | 2020-07-10 | 国网山东省电力公司 | 一种基于模糊关联规则的电力系统设备故障预警方法 |
CN111625574A (zh) * | 2019-12-09 | 2020-09-04 | 昆明理工大学 | 一种基于布尔矩阵约简的关联规则挖掘算法 |
-
2021
- 2021-04-06 CN CN202110368784.3A patent/CN113010597B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120197888A1 (en) * | 2009-04-16 | 2012-08-02 | President And Fellows Of Harvard College | Method and apparatus for selecting clusterings to classify a predetermined data set |
US20150293992A1 (en) * | 2011-01-03 | 2015-10-15 | Stephen W. Meehan | Cluster processing and ranking methods including methods applicable to cluster developed through density based merging |
CN105320756A (zh) * | 2015-10-15 | 2016-02-10 | 江苏省邮电规划设计院有限责任公司 | 一种基于改进Apriori算法的数据库关联规则挖掘方法 |
CN106326913A (zh) * | 2016-08-09 | 2017-01-11 | 中国银联股份有限公司 | 一种洗钱账户的确定方法及装置 |
CN108694175A (zh) * | 2017-04-05 | 2018-10-23 | 郑州博信知识产权代理有限公司 | 一种基于数据挖掘算法分析电能检测大数据的方法 |
CN109472300A (zh) * | 2018-10-24 | 2019-03-15 | 南京邮电大学 | 一种面向k均值聚类算法的质心以及质心个数初始化方法 |
CN111625574A (zh) * | 2019-12-09 | 2020-09-04 | 昆明理工大学 | 一种基于布尔矩阵约简的关联规则挖掘算法 |
CN111401785A (zh) * | 2020-04-09 | 2020-07-10 | 国网山东省电力公司 | 一种基于模糊关联规则的电力系统设备故障预警方法 |
Non-Patent Citations (2)
Title |
---|
GANG LIU等: "An association rules text mining algorithm fusion with K-means improvement", 《2015 4TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY》, pages 1 - 9 * |
曾健: "基于压缩矩阵的关联规则挖掘算法研究及其应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 138 - 177 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116308721A (zh) * | 2023-05-11 | 2023-06-23 | 菏泽市市场监管监测中心 | 一种信息监督管理方法、装置、电子设备及存储介质 |
CN116308721B (zh) * | 2023-05-11 | 2023-10-20 | 菏泽市市场监管监测中心 | 一种信息监督管理方法、装置、电子设备及存储介质 |
CN117272398A (zh) * | 2023-11-23 | 2023-12-22 | 聊城金恒智慧城市运营有限公司 | 基于人工智能的数据挖掘安全保护方法及系统 |
CN117272398B (zh) * | 2023-11-23 | 2024-01-26 | 聊城金恒智慧城市运营有限公司 | 基于人工智能的数据挖掘安全保护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113010597B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rasmussen | Clustering algorithms. | |
Elankavi et al. | A fast clustering algorithm for high-dimensional data | |
US20150186471A1 (en) | System and method for approximate searching very large data | |
CN113010597B (zh) | 一种面向海洋大数据的并行关联规则挖掘方法 | |
CN111259933B (zh) | 基于分布式并行决策树的高维特征数据分类方法及系统 | |
Wu et al. | $ K $-Ary Tree Hashing for Fast Graph Classification | |
CN111625574A (zh) | 一种基于布尔矩阵约简的关联规则挖掘算法 | |
CN111582325A (zh) | 一种基于自动特征编码的多阶特征组合方法 | |
CN112925821A (zh) | 基于MapReduce的并行频繁项集增量数据挖掘方法 | |
CN106599122B (zh) | 一种基于垂直分解的并行频繁闭序列挖掘方法 | |
Rahman et al. | Seed-Detective: A Novel Clustering Technique Using High Quality Seed for K-Means on Categorical and Numerical Attributes. | |
Pang et al. | PUMA: Parallel subspace clustering of categorical data using multi-attribute weights | |
Rawal et al. | Predicting missing values in a dataset: challenges and approaches | |
Huang et al. | Apriori-BM algorithm for mining association rules based on bit set matrix | |
RU2745492C1 (ru) | Способ и система поиска аналогов месторождений нефти и газа | |
CN114565063A (zh) | 一种基于多语义提取器的软件缺陷预测方法 | |
CN114676928A (zh) | 一种基于生成对抗网络的不平衡数据集的预测方法 | |
Cringean et al. | Efficiency of text scanning in bibliographic databases using microprocessor-based, multiprocessor networks | |
Jiaqi et al. | Research on K nearest neighbor join for big data | |
Jia et al. | An improved FP-growth algorithm based on SOM partition | |
Wang et al. | Research on Web Log Data Mining Technology Based on Optimized Clustering Analysis Algorithm | |
Tchaye-Kondi et al. | A new hashing based nearest neighbors selection technique for big datasets | |
CN112308151A (zh) | 基于加权的旋转森林高光谱图像分类方法 | |
Huang et al. | Optimization of K-means Algorithm Base on MapReduce | |
Chen et al. | Optimization Simulation of Big Data Analysis Model Based on K-means Algorithm |
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 |