1、引言随着信息技术的不断发展,信息系统及数据库系统在许多领域得到了广泛应用 1。从相对宏观的角度分析,数据挖掘本身在学科构成上具有较强的交叉性 2,正是因为这一特点,使得其能够在种类繁多的数据中实现对隐藏信息的有效提炼 3。将数据隐藏信息转化为一种可以被理解的结构形式,可以对相关工作的开展起到重要的指导作用 4。如王营等通过对 F P-g r o w t h 算法进行改进,提出了一种以售后服务数据为目标的数据挖掘方法,提高了数据挖掘的全面性,使运算效率存在提升空间 5。李瑞峰等以具有离群属性的数据为研究对象,通过将加权深度森林融入到数据挖掘的过程中,实现对数据的有效分类 6。但是,上述文献涉及的
2、方法难以满足大规模数据的计算需求。李珺等通过对 K-m e a n s 算法进行改进,以具有关联规则的数据为研究目标,设计的数据挖掘算法,提高了算法的运算效率 7。但受数据规模的影响,该算法与实际需求之间仍存在差距。在数据挖掘算法可靠性相对完善的背景下,运行效率是现阶段数据挖掘算法需要重点攻克的难题之一 8。为此,本文提出基于 h a d o o p 平台的数据挖掘算法,借助于h a d o o p 平台的并行属性,使得算法能够实现多节点并行运算,以此提高其计算效率。一、数据挖掘算法设计(一)基于 hadoop 平台的数据挖掘流程设计在传统的数据挖掘算法中,主要是采用基于深度优先的策略来构建数
3、据分析决策树。这种方式需要优先为在每个节点创建对应的子树,在此基于 hadoop 平台的数据挖掘算法实证研究*高飞(广西现代职业技术学院,广西河池5 4 7 0 0 0)摘要 在数据挖掘过程中,由于决策树在分析阶段存在单一递进关系,会导致数据的分析效率不高。针对这一问题,文章提出了基于 hadoop 平台的数据挖掘算法,并展开了相关实证研究。首先,采用广度优先策略对数据集挖掘算法决策树展开设计,将节点之间的最小加权欧氏距离作为划分基准,利用 hadoop 平台中的 MapReduce 程序实现对决策树节点分枝操作的并行处理,以此建立决策树的层级关系,实现对待处理数据集的逐层分析。然后,对数据挖
4、掘算法的 Map 函数展开设计,以待分析数据键值对与分类基准参量之间的关系实现对数据的分类挖掘。测试结果表明,该算法的运算效率和加速比均处于较高的水平,能够满足海量数据的处理需求。关键词 hadoop 平台;数据挖掘算法;实证研究 中图分类号 TP391 文献标识码 A 文章编号 1008-7656(2022)06-0024-05*基金项目 2022 年度广西高校中青年教师科研基础能力提升项目“基于 Hadoop 的计算机类专业课程云平台设计与实现”(编号:2022KY1436)收稿日期 2022-10-29第 33 卷第 6 期广西广播电视大学学报Vol.33 No.62022 年 11 月
5、JOURNAL OF GUANGXI OPEN UNIVERSITYNov.202224第 33 卷第 6 期广西广播电视大学学报Vol.33 No.62022 年 11 月JOURNAL OF GUANGXI OPEN UNIVERSITYNov.2022基础上再创建对侧的子树结构。这就意味着在实施对目标数据的分析计算阶段中,需要对同一节点待处理数据集进行多次、重复的读取和处理。这不仅增加了算法执行期间的计算时间,同时也影响了算法的执行效率,使得对应的时长增加。针对上述问题,本研究在利用 h a d o o p 平台进行数据集挖掘算法设计阶段,对于决策树的构造采用了广度优先策略,通过建立层级
6、关系实现对待处理数据集的逐层处理,这样既可以减少对磁盘读取的次数,同时也可以降低算法执行前进的运行负载。以此为基础,本研究利用 h a d o o p 平台设计的数据挖掘算法执行流程主要从两个角度入手。首先,要确保执行数据挖掘算法阶段按照逐层构造的方式对决策树进行分析,其次,在实施对数据挖掘算法对应决策树节点的分枝操作处理时,将 h a d o o p平台的 M a p R e d u c e 程序调用到其中,建立算法运算期间的并行关系。图 1 为本研究设计的具体数据挖掘算法执行流程。按照图 1 所示的数据挖掘算法的执行流程。在执行对每一轮数据的迭代计算前,本研究将上一层节点的划分规则写入到
7、h a d o o p平台的 H D F S文件中,此时的数据挖掘算法各个层级的计算结果将以并列的方式存在。在此基础上,再调用h a d o o p平台的 M a p R e d u c e 程序,计算出 H D F S文件中数据挖掘算法决策树各节点对相应数据属性的输出结果。图 1基于 hadoop 平台的数据挖掘算法执行流程图需要特别注意的是,由于决策树本身已经构建了对应的层级关系,因此 M a p R e d u c e 程序在对输出结果进行存储时,也要按照层级关系逐层存储。以此为基础,在具体的信息存储阶段,为了适应 h a d o o p 平台的读取模式,本研究将其转化为H a s h
8、表。最后,h a d o o p 平台以 H a s h 表为基础,结合常规的 N维空间欧式距离计算公式,根据分支属性的权重参量,计算出每个节点的最佳分枝属性,过程如下:(1)其中,dx i x j表示根据 H a s h 表计算出的节点i和j节点对应分枝属性的加权欧氏距离,xi和xj分别表示节点i和j节点对应分枝属性参量,表示分支属性的权重参量,n表示数据挖掘算法分支节点的总量。结合数据挖掘的精度要求,本研究将加权欧氏距离的最小值 m i ndx i x j作为分枝操作的基准参量,实施对决策树节点的分枝处理。通过这样的方式,实现对数据挖掘流程的设计,为挖掘算法在具体运行期间的并行运算提供有效
9、保障。(二)基于 hadoop 平台的数据挖掘算法 Map设计对于数据挖掘算法 M a p 阶段的设计,本研究首先按照决策树中各个层节点对应的划分条件对待处理的数据进行划分。假设待分析的数据集为S,通过决策树分支处理,生成的叶子节点的训练样本数据集为S,那么,根据条件概率,按数据属性特征划分在同一层级的节点,过程如下:(2)其中,Sm表示第m层级的节点构成。需要注意的是,为了在算法执行阶段出现节点交叉或节点重复计算的情况,本研究为Sm建立了约束条件,及任意层级的节点构成不存在包含关系,通过这样的方式确保各个层级节点之间没有交集。25在此基础上,本研究对数据挖掘算法 M a p 函数的设计是以单
10、个数据形式处理,以 键值对的形式输出,这就意味对于任意待分析的数据,利用 M a p函数对其的处理方式可以表示为:(3)其中,M(Sm)表示数据挖掘算法的 M a p函数,Sm表示输入的单个待分析数据参量,dm a x表示决策树的最大加权欧氏距离,ds m表示第m层级加权欧氏距离,通过这样的方式,计算得到第m层级输出的待分析数据对应 键值对具体参量。根据数据挖掘算法各个节点输出 键值对的违约情况即可实现对其对应数据的分类。其具体的计算方式可以表示为:(4)其中,P表示设置的数据分类基准参量,其具体的取值结果与数据的实际属性和分类标准为基础设置。在式(4)中,对于分类结果的计算是以单一指标为基础
11、进行的,结合实际的数据处理需求,可以对P值进行适应性调节,包括其取值范围、大小以及数量,以此来确保数据分析的结果能够与实际分析需求之间具有较高的契合度。通过这样的方式,数据挖掘算法决策树能够实现对数据的分级并行处理,提高分析的效率。二、应用测试与分析为进一步分析本文设计的基于 h a d o o p 平台的数据挖掘算法的设计执行效果,设计了如下应用测试过程。(一)测试环境准确在本研究构建的测试环境中,对应集群的计算机器数量为 4 台,为每台计算机硬件配置了千兆以太网,以此满足其运行的需求,对应的 C P U参数信息为 I n t e l 8 C o r e(I M)i 5-2 4 5 0 M
12、4.0 G H z。考虑到参与测试数据规模较大,在 8.0 G BD D R 3 内存的基础上,为计算机搭载了大小为 5 0 0 G的普通硬盘装置。其次就是对测试环境软件的设置,本研究以 r e d h a t 1 0.0 操作系统作为测试运行的主体,利用 J a v a _ 1.8.0 _ 1 2 实施对相关逻辑指令的编码,结合 H a d o o p 2.5.0 和 H B a s e 0.9 4.2 3 共同构建测试环境的框架结构。在对 H a d o o p 云计算平台进行具体搭建的过程中,本研究将参与测试的 4 台计算机中的一台作为 N a m e N o d e 节点,其余则作为
13、D a t a N o d e 节点,并且为了降低测试节点的时间开销,为其配置了s s h,并设置了无密码登陆机制,在此基础上为其配置 c o r e-s i t e.x m l、h d f i s-s i t.e x m l、m a p r e d-s i t e.X m l以此满足测试阶段对数据的处理需求。在运行阶段,通过启动 N a m e N o d e 进程使得 s h H a d o p/b i n/s t a t-d f s.s hs t a r t 脚本能够在主节点上顺利运行,对应的D a t a N o d e 节点运行 D a t a N o d e 进程。(二)测试数据准
14、备在测试数据准备阶段,为了保障测试结果的可靠性,降低由于测试数据异常对此测试结果的影响,本研究以机器学习网站(h t p:/f t p.i c s.u i c.e-d u/p u b/m a c h i n e-l e a r m i n g-d a t a b a s e s/i r i s)中 的 权 威实验数据作为本文测试的数据信息。其中,数据集中包含元素的总量为 2 1 0个,根据元素类型可以将其划分为三大类,对应每个类别中包含元素数量为 7 0 个。在此基础上,本研究结合海量数据挖掘算法的测试需求,按照不同类别数据的实际维度信息,利用代码对上述数据进行拓展处理,生成了 3组测试数据集
15、,对应的数据集大小及维度:测试数据集 1的数据规模为 1 0 0.2 6 M,维度为3 0;测试数据集 2 的数据规模为 5 0 0.3 3 M,维度为 4 0;测试数据集 3的数据规模为 1.5 2 G B,维度为 5 0。(三)评价指标设置在对算法的执行效果进行评价阶段,本研究结合数据挖掘的实际需求,分别以分类运算的时间开销以及加速比作为评价指标。其中,分类运算时间开销主要算法计算开始执行的时刻到结束的时刻之间的时间差,其直接体现了算法的运算效率,具体的计算方式可以表示为:(5)其中,t表示算法执行分类运算的时间开销,Te表示算法开始执行运算的时间参量,Ts表示算高飞/著基于 hadoop
16、 平台的数据挖掘算法实证研究26第 33 卷第 6 期广西广播电视大学学报Vol.33 No.62022 年 11 月JOURNAL OF GUANGXI OPEN UNIVERSITYNov.2022法完成运算的时间参量。按照式(5)所示,在以相同测试数据集进行分类处理时,算法的时间开销越小,表示算法的运算速度越快,对应的运算效率越高。其次就是算法的加速比,其主要是指在对同一个测试数据集进行处理时,单计算节点和多节点并行对应的时间开销比值。其直接体现了算法的并行能力,具体的计算方式可以表示为:(6)其中,a表示算法的加速比,td表示单个运算节点执行运算的时间开销,tb表示运算节点集群下执行运
17、算的时间开销。根据式(6)可以看出,算法的加速比越大,表明其在处理大规模数据阶段的性能越好。(四)测试结果与分析在上述基础上,本研究在测试结果引入了对照组,分别以文献 6 中提出的以加权深度森林为基础的数据挖掘算法和文献 7 中提出的 以改进K-m e a n s 为基础的数据挖掘算法作为对照组的应用算法。在此基础上,分别对比三种算法的执行效果。其中,得到的分类运算的时间开销如表 1 所示。从表 1 中可以看出,对比三种算法的测试结果,其中,当测试数据集的数据规模较小时(测试数据集 1),三种算法对应的分类运算时间开销并未表现出明显差异,但是随着测试数据集数据规模的不断增加,文献 6 和文献
18、7 算法的时间开销均呈现出了较为明显的上升趋势,在数据规模以接近倍数的模式增加时,时间开销的上升幅度明显高于数据规模的增长幅度,当测试数据集的数据规模达到 1.5 2 G B时(测试数据集 3),两种算法的时间开销均达到了 1 0 0.0 s 以上。相比之下,本研究设计算法的时间开销表现出与数据规模的增长幅度较高的一致性,其中,当测试数据集的数据规模大小为 1 0 0.2 6 M时(测试数据集 1),分类运算的时间开销为 4.5 5 s,当测试数据集的数据规模大小为 1.5 2 G B时(测试数据集 3),执行分类运算的时间开销为 6 2.4 4 s,与文献 6 和文献 7 算法相比,分别降低
19、了 3 7.7 8 s 和 3 7.7 4 s,具有较为明显的优势。测试结果表明,本研究设计的基于h a d o o p 平台的数据挖掘算法具有较高的运算效率。其次,本研究统计了三种算法在运算过程中的加速比,得到的数据结果如图 2 所示。图 2不同算法加速比对比图在对加速比进行测试的阶段,本研究按照测试环境的设置情况,令集群节点数量为 4个。在此基础上,对比图 2 中三种算法的加速比可以看出,文献 6 算法对应的加速比最大值为 2.8 0,文献 7 算法对应的加速比最大值为 3.1 2,相比之下,本研究设计算法的加速比最大值达到了 3.9 6,明显高于另外两种对比方法。上述测试结果表明,本研究
20、设计的基于h a d o o p 平台的数据挖掘算法具有较高加速比,能够满足海量数据在分析效率上的需求。三、结语在数据集规模不断扩大,数据复杂度不断增加的环境下,如何实现对数据的快速处理成为了数据挖掘算法亟需解决的问题。在此基础上,为了实现对海量数据中潜在价值的有效获取,发挥其在实际工作中的作用,实施可靠的数据挖掘技术成为了重要的内容之一。测试组文献6算法/s文献7算法/s本文算法/s测试数据集 15.045.124.55测试数据集 230.0630.7620.96测试数据集 3100.22100.1662.44表 1不同算法分类运算时间开销对比表27H a d o o p 作为一种开源分布式
21、计算平台,将其融入到数据挖掘算法中将提高其运算效率。本研究提出基于 h a d o o p 平台的数据挖掘算法及实现研究,提高了算法在运行阶段的效率,能够满足海量数据的处理需求。通过本次研究以期为相关数据的处理工作提供参考借鉴,助力大数据在实际工作中发挥更大作用。参考文献 1 文芳,黄慧玲,李腾达,等.基于 FP-growth 关联规则的图书馆数据快速挖掘算法研究 J .重庆理工大学学报(自然科学),2020(6):189-194.2 熊蕾,彭吉琼,李铭,等.基于深度学习的基层网络数据个性化挖掘算法 J .计算机仿真,2022(1):318-321+332.3 李华群.基于改进 Apriori
22、 算法在图书馆数据挖掘中应用分析 J .内蒙古科技与经济,2021(24):66-68+73.4 解艳.基于大数据挖掘处理的多维数据去重聚类算法分析模型仿真 J .自动化技术与应用,2021(12):112-115.5 王营,高琦,李婷玉,等.基于改进 FP-growth 算法的售后服务数据挖掘 J .现代制造工程,2021(6):31-37.6 李瑞峰,杨海峰,蔡江辉,等.一种基于加权深度森林的离群数据挖掘算法 J .小型微型计算机系统,2022(7):1426-1431.7 李珺,刘鹤,朱良宽.基于改进的 K-means 算法的关联规则数据挖掘研究 J .小型微型计算机系统,2021(1):15-19.8 李锐,黄煜坤,董路通,等.基于电网调控业务多文本数据挖掘的机器学习算法的研究与应用 J .电子设计工程,2021(9):107-111.作者简介 高飞,广西现代职业技术学院副教授,信息系统项目管理师,研究方向:计算机应用技术、大数据、云计算。责任编辑韦志巧 高飞/著基于 hadoop 平台的数据挖掘算法实证研究28