• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于hadoop,平台的数据挖掘算法实证研究*

    时间:2023-06-13 16:00:12 来源:雅意学习网 本文已影响 雅意学习网手机站

    高 飞

    (广西现代职业技术学院,广西 河池 547000)

    随着信息技术的不断发展,信息系统及数据库系统在许多领域得到了广泛应用[1]。从相对宏观的角度分析,数据挖掘本身在学科构成上具有较强的交叉性[2],正是因为这一特点,使得其能够在种类繁多的数据中实现对隐藏信息的有效提炼[3]。将数据隐藏信息转化为一种可以被理解的结构形式,可以对相关工作的开展起到重要的指导作用[4]。如王营等通过对FP-growth 算法进行改进,提出了一种以售后服务数据为目标的数据挖掘方法,提高了数据挖掘的全面性,使运算效率存在提升空间[5]。李瑞峰等以具有离群属性的数据为研究对象,通过将加权深度森林融入到数据挖掘的过程中,实现对数据的有效分类[6]。但是,上述文献涉及的方法难以满足大规模数据的计算需求。李珺等通过对K-means 算法进行改进,以具有关联规则的数据为研究目标,设计的数据挖掘算法,提高了算法的运算效率[7]。但受数据规模的影响,该算法与实际需求之间仍存在差距。在数据挖掘算法可靠性相对完善的背景下,运行效率是现阶段数据挖掘算法需要重点攻克的难题之一[8]。为此,本文提出基于hadoop 平台的数据挖掘算法,借助于hadoop 平台的并行属性,使得算法能够实现多节点并行运算,以此提高其计算效率。

    (一) 基于hadoop 平台的数据挖掘流程设计

    在传统的数据挖掘算法中,主要是采用基于深度优先的策略来构建数据分析决策树。这种方式需要优先为在每个节点创建对应的子树,在此基础上再创建对侧的子树结构。这就意味着在实施对目标数据的分析计算阶段中,需要对同一节点待处理数据集进行多次、重复的读取和处理。这不仅增加了算法执行期间的计算时间,同时也影响了算法的执行效率,使得对应的时长增加。

    针对上述问题,本研究在利用hadoop 平台进行数据集挖掘算法设计阶段,对于决策树的构造采用了广度优先策略,通过建立层级关系实现对待处理数据集的逐层处理,这样既可以减少对磁盘读取的次数,同时也可以降低算法执行前进的运行负载。以此为基础,本研究利用hadoop 平台设计的数据挖掘算法执行流程主要从两个角度入手。首先,要确保执行数据挖掘算法阶段按照逐层构造的方式对决策树进行分析,其次,在实施对数据挖掘算法对应决策树节点的分枝操作处理时,将hadoop 平台的MapReduce 程序调用到其中,建立算法运算期间的并行关系。

    图1 为本研究设计的具体数据挖掘算法执行流程。按照图1 所示的数据挖掘算法的执行流程。在执行对每一轮数据的迭代计算前,本研究将上一层节点的划分规则写入到hadoop 平台的HDFS文件中,此时的数据挖掘算法各个层级的计算结果将以并列的方式存在。在此基础上,再调用hadoop 平台的 MapReduce 程序,计算出HDFS 文件中数据挖掘算法决策树各节点对相应数据属性的输出结果。

    图1 基于hadoop 平台的数据挖掘算法执行流程图

    需要特别注意的是,由于决策树本身已经构建了对应的层级关系,因此MapReduce 程序在对输出结果进行存储时,也要按照层级关系逐层存储。以此为基础,在具体的信息存储阶段,为了适应hadoop 平台的读取模式,本研究将其转化为Hash 表。最后,hadoop 平台以Hash 表为基础,结合常规的N 维空间欧式距离计算公式,根据分支属性的权重参量,计算出每个节点的最佳分枝属性,过程如下:

    其中,dxixj表示根据Hash 表计算出的节点i和j节点对应分枝属性的加权欧氏距离,xi和xj分别表示节点i和j节点对应分枝属性参量,表示分支属性的权重参量,n表示数据挖掘算法分支节点的总量。

    结合数据挖掘的精度要求,本研究将加权欧氏距离的最小值mindxixj作为分枝操作的基准参量,实施对决策树节点的分枝处理。通过这样的方式,实现对数据挖掘流程的设计,为挖掘算法在具体运行期间的并行运算提供有效保障。

    (二) 基于hadoop 平台的数据挖掘算法Map设计

    对于数据挖掘算法Map 阶段的设计,本研究首先按照决策树中各个层节点对应的划分条件对待处理的数据进行划分。假设待分析的数据集为S,通过决策树分支处理,生成的叶子节点的训练样本数据集为S",那么,根据条件概率,按数据属性特征划分在同一层级的节点,过程如下:

    其中,Sm表示第m层级的节点构成。需要注意的是,为了在算法执行阶段出现节点交叉或节点重复计算的情况,本研究为Sm建立了约束条件,及任意层级的节点构成不存在包含关系,通过这样的方式确保各个层级节点之间没有交集。

    在此基础上,本研究对数据挖掘算法Map 函数的设计是以单个数据形式处理,以键值对的形式输出,这就意味对于任意待分析的数据,利用Map 函数对其的处理方式可以表示为:

    其中,M(Sm) 表示数据挖掘算法的Map 函数,Sm表示输入的单个待分析数据参量,dmax表示决策树的最大加权欧氏距离,dsm表示第m层级加权欧氏距离,通过这样的方式,计算得到第m层级输出的待分析数据对应 键值对具体参量。

    根据数据挖掘算法各个节点输出键值对的违约情况即可实现对其对应数据的分类。其具体的计算方式可以表示为:

    其中,P表示设置的数据分类基准参量,其具体的取值结果与数据的实际属性和分类标准为基础设置。在式(4) 中,对于分类结果的计算是以单一指标为基础进行的,结合实际的数据处理需求,可以对P值进行适应性调节,包括其取值范围、大小以及数量,以此来确保数据分析的结果能够与实际分析需求之间具有较高的契合度。通过这样的方式,数据挖掘算法决策树能够实现对数据的分级并行处理,提高分析的效率。

    为进一步分析本文设计的基于hadoop 平台的数据挖掘算法的设计执行效果,设计了如下应用测试过程。

    (一) 测试环境准确

    在本研究构建的测试环境中,对应集群的计算机器数量为4 台,为每台计算机硬件配置了千兆以太网,以此满足其运行的需求,对应的CPU参数信息为Intel8 Core(IM) i5-2450M@4.0GHz。考虑到参与测试数据规模较大,在8.0GB DDR3 内存的基础上,为计算机搭载了大小为500G 的普通硬盘装置。其次就是对测试环境软件的设置,本研究以red hat10.0 操作系统作为测试运行的主体,利用Java_1.8.0_12 实施对相关逻辑指令的编码,结合Hadoop2.5.0 和HBase 0.94.23 共同构建测试环境的框架结构。

    在对Hadoop 云计算平台进行具体搭建的过程中,本研究将参与测试的4 台计算机中的一台作为NameNode 节点,其余则作为DataNode 节点,并且为了降低测试节点的时间开销,为其配置了ssh,并设置了无密码登陆机制,在此基础上为其配置 core-site. xml、hdfis-sit.e xml、 mapred-site. Xml以此满足测试阶段对数据的处理需求。在运行阶段,通过启动NameNode 进程使得sh Hadop/bin/stat-dfs.sh start 脚本能够在主节点上顺利运行,对应的DataNode 节点运行DataNode 进程。

    (二) 测试数据准备

    在测试数据准备阶段,为了保障测试结果的可靠性,降低由于测试数据异常对此测试结果的影响,本研究以机器学习网站(htp://ftp.ics.uic. edu/pub/machine-learming-databases/iris) 中 的 权 威实验数据作为本文测试的数据信息。其中,数据集中包含元素的总量为210 个,根据元素类型可以将其划分为三大类,对应每个类别中包含元素数量为70 个。在此基础上,本研究结合海量数据挖掘算法的测试需求,按照不同类别数据的实际维度信息,利用代码对上述数据进行拓展处理,生成了3 组测试数据集,对应的数据集大小及维度:测试数据集1 的数据规模为100.26M,维度为30;
    测试数据集2 的数据规模为500.33M,维度为40;
    测试数据集3 的数据规模为1.52GB,维度为50。

    (三) 评价指标设置

    在对算法的执行效果进行评价阶段,本研究结合数据挖掘的实际需求,分别以分类运算的时间开销以及加速比作为评价指标。其中,分类运算时间开销主要算法计算开始执行的时刻到结束的时刻之间的时间差,其直接体现了算法的运算效率,具体的计算方式可以表示为:

    其中,t表示算法执行分类运算的时间开销,Te表示算法开始执行运算的时间参量,Ts表示算法完成运算的时间参量。按照式(5) 所示,在以相同测试数据集进行分类处理时,算法的时间开销越小,表示算法的运算速度越快,对应的运算效率越高。

    其次就是算法的加速比,其主要是指在对同一个测试数据集进行处理时,单计算节点和多节点并行对应的时间开销比值。其直接体现了算法的并行能力,具体的计算方式可以表示为:

    其中,a表示算法的加速比,td表示单个运算节点执行运算的时间开销,tb表示运算节点集群下执行运算的时间开销。根据式(6) 可以看出,算法的加速比越大,表明其在处理大规模数据阶段的性能越好。

    (四) 测试结果与分析

    在上述基础上,本研究在测试结果引入了对照组,分别以文献[6]中提出的以加权深度森林为基础的数据挖掘算法和文献[7]中提出的以改进K-means 为基础的数据挖掘算法作为对照组的应用算法。在此基础上,分别对比三种算法的执行效果。其中,得到的分类运算的时间开销如表1 所示。

    表1 不同算法分类运算时间开销对比表

    从表1 中可以看出,对比三种算法的测试结果,其中,当测试数据集的数据规模较小时(测试数据集1),三种算法对应的分类运算时间开销并未表现出明显差异,但是随着测试数据集数据规模的不断增加,文献[6]和文献[7]算法的时间开销均呈现出了较为明显的上升趋势,在数据规模以接近倍数的模式增加时,时间开销的上升幅度明显高于数据规模的增长幅度,当测试数据集的数据规模达到1.52GB 时(测试数据集3),两种算法的时间开销均达到了100.0s 以上。相比之下,本研究设计算法的时间开销表现出与数据规模的增长幅度较高的一致性,其中,当测试数据集的数据规模大小为100.26M 时(测试数据集1),分类运算的时间开销为4.55s,当测试数据集的数据规模大小为1.52GB 时(测试数据集3),执行分类运算的时间开销为62.44s,与文献[6]和文献[7]算法相比,分别降低了37.78s 和37.74s,具有较为明显的优势。测试结果表明,本研究设计的基于hadoop 平台的数据挖掘算法具有较高的运算效率。

    其次,本研究统计了三种算法在运算过程中的加速比,得到的数据结果如图2 所示。

    图2 不同算法加速比对比图

    在对加速比进行测试的阶段,本研究按照测试环境的设置情况,令集群节点数量为4 个。在此基础上,对比图2 中三种算法的加速比可以看出,文献[6]算法对应的加速比最大值为2.80,文献[7]算法对应的加速比最大值为3.12,相比之下,本研究设计算法的加速比最大值达到了3.96,明显高于另外两种对比方法。

    上述测试结果表明,本研究设计的基于hadoop 平台的数据挖掘算法具有较高加速比,能够满足海量数据在分析效率上的需求。

    在数据集规模不断扩大,数据复杂度不断增加的环境下,如何实现对数据的快速处理成为了数据挖掘算法亟需解决的问题。在此基础上,为了实现对海量数据中潜在价值的有效获取,发挥其在实际工作中的作用,实施可靠的数据挖掘技术成为了重要的内容之一。

    Hadoop 作为一种开源分布式计算平台,将其融入到数据挖掘算法中将提高其运算效率。本研究提出基于hadoop 平台的数据挖掘算法及实现研究,提高了算法在运行阶段的效率,能够满足海量数据的处理需求。通过本次研究以期为相关数据的处理工作提供参考借鉴,助力大数据在实际工作中发挥更大作用。

    猜你喜欢 测试数据决策树数据挖掘 探讨人工智能与数据挖掘发展趋势大众投资指南(2021年35期)2021-02-16数据挖掘技术在打击倒卖OBU逃费中的应用浅析中国交通信息化(2020年1期)2020-07-27测试数据管理系统设计与实现科学与财富(2018年30期)2018-12-28决策树和随机森林方法在管理决策中的应用电子制作(2018年16期)2018-09-26基于自适应粒子群优化算法的测试数据扩增方法计算机应用(2016年9期)2016-11-01基于决策树的出租车乘客出行目的识别中央民族大学学报(自然科学版)(2016年4期)2016-06-27空间co-location挖掘模式在学生体能测试数据中的应用体育科技(2016年2期)2016-02-28基于模糊关联规则和决策树的图像自动标注智能系统学报(2015年4期)2015-12-27基于肺癌CT的决策树模型在肺癌诊断中的应用郑州大学学报(医学版)(2015年1期)2015-02-27高级数据挖掘与应用国际学术会议智能系统学报(2013年1期)2013-01-28

    推荐访问:算法 数据挖掘 实证研究

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章