一种基于weka接口的分布式机器学习方法

文档序号:9910982阅读:441来源:国知局
一种基于weka接口的分布式机器学习方法
【技术领域】
[0001]本发明属于互联网技术领域,具体涉及一种基于weka接口的分布式机器学习的方法。
【背景技术】
[0002]随着信息技术和互联网的发展,各种信息呈现爆炸性增长,且包含丰富的知识。从海量数据信息中挖掘得到有用的知识仍然是一个挑战性的课题。近几十年来,机器学习和数据挖掘技术,作为从海量数据信息中挖掘有用信息的关键技术已经引起了广泛的兴趣和研究。但是由于数据规模的增长,以往的很多研究工作并不能有效地处理大规模数据,海量的数据造成了在机器学习和数据挖掘过程的时间相当长,又由于weka是基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data minining)软件,集合了大部分机器学习的算法,如分类、回归、聚类、关联规则等。大数据的爆炸式增长考验着weka这一分析工具的处理能力。Hadoop框架等新兴技术则全面展示了捕获、管理和分析大数据的全新方法。大数据挑战与新技术的结合带来了标志性的转变,从而推动企业重新审视他们的IT基础设施和分析能力。
[0003]Hadoop框架使用一个简单的编程模型,以支持在计算机集群上对大数据集进行分布式处理。其完整的技术堆栈包含了通用实用程序、一个分布式文件系统、分析和数据存储平台以及一个用于管理分布式处理、并行计算、工作流程与配置管理的应用层。除了提供高可用性外,Hadoop框架还能比传统方法更为经济高效地处理大型的、复杂的或非结构化的数据集,可带来出色的可扩展性与速度。MapReduce是Hadoop框架中的软件编程框架,能够简化大型数据集的处理工作,并为编程人员在计算机集群中定义和协调复杂的处理任务提供了一种通用方法。MapReduce应用程序通过安排任务、监控活动和重新执行失败的任务来协调集群节点的处理任务。输入和输出信息均存储在Hadoop分布式文件系统(HadoopDistributed File System,简称HDFS)中C3Hadoop分布式文件系统通常在相同的节点上处理和存储数据,从而能够更高效地在数据驻留的节点上安排任务,并在节点间实现更高的聚合带宽。
[0004]面对海量数据,缩短机器学习和数据挖掘的训练和测试的时间,尽快输出结果成为如今的热点问题。

【发明内容】

[0005]目前的运用weka进行机器学习还处于小吞吐量的阶段,面对TB级别的海量数据表现出数据吞吐量不够,运行时间长等缺陷,基于机器学习的数据分析已经进入大数据时代,所以本发明针对以上情况设计了一种基于weka接口的分布式机器学习方法。
[0006]—种基于weka接口的分布式机器学习方法,包括如下步骤:
[0007]第一步,数据预处理:web日志文件被切分成η个小文件,提取出统一资源标识符,对统一资源标识符进行包括静态文件过滤、大写转小写,将连续的斜线”/”转换为一个斜线以及解码操作。
[0008]第二步,特征提取。
[0009]对步骤一中预处理后的uri采取分割取字段、根据uri的组成类型、是否含特殊字符、长度、关键字出现个数和一定规则的权值计算得出所要提取的21个特征,以向量的形式输出特征向量;并对特征向量进行量化和合并处理,生成结果文件。
[0010]第三步,weka格式文件的本地训练。
[0011 ]本地训练时调用weka接口,运用weka接口里面已封装好的随机森林算法,生成模型文件RandomForest.model,上传到云计算平台。
[0012]第四步,云计算平台进行线上海量数据分布式测试,生成最终检测结果。
[0013]本发明的优点在于:
[0014](I)采用机器学习分布式处理,缩短了整个机器学习过程的时间;
[0015](2)本发明扩展了 weka的应用范围,实现了从单机模式到分布式模式的转变;
[0016](3)本发明将机器学习过程和扩展到分布式模式的weka巧妙结合,达到良好的机器学习的效果。
【附图说明】
[0017]图1示出了本发明提供的分布式机器学习方法的架构概略图;
[0018]图2示出了本发明提供的分布式机器学习方法的实现装置的组成示意图;
[0019]图3示出了一个基于mapreduce框架的分布式并行处理的流程图;
[0020]图4示出了线上测试及模型文件利用图;
[0021 ]图5示出了本发明的基于weka接口的分布式机器学习方法流程图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的实施例进行详细展示和说明。本发明的实施例及其说明只用于解释本发明,具体的专利保护范围应当由所附的权利要求书来定义。
[0023]本发明的实施例是基于web攻击的分布式机器学习和异常检测,在web日志中进行机器学习,采用随机森林算法,生成检测模型文件,然后在单日产生的TB级海量数据中检测异常访问数据。
[0024]本发明提供一种基于weka接口的分布式机器学习方法,如图5所示流程,对于web日志文件的数据预处理、特征提取、结果文件生成和线上测试都是在云计算平台上进行的,本地训练和模型文件的生成是在本地进行的,待测试的web日志文件与模型文件在云计算平台进行检测,具体包括如下步骤:
[0025]步骤一:数据预处理;
[0026]Web日志文件是在线上服务器中产生并直接存储到云计算平台,所述数据预处理基于mapreduce框架并行处理,数据预处理过程具体为:
[0027](I)如图3所示,web日志文件在input阶段(也称输入阶段)被切分成η个小文件,用
SplitO,Splitl,Spl it2,......, Split(n_l)表不,对于每一个小文件 Spl it i(i = 0,l,2,...,
n-1) ,Mappers阶段会启动一个Map O来处理。所述小文件Spl it i (i = 0,I,2,…,n_l)的切分大小以及每个MapO处理文件的数量可以根据实际情况来调整。
[0028](2)在基于web日志挖掘中正常的web日志文件不纯,里面混杂有许多攻击特征明显的数据,所以采用关键字过滤以及规则过滤方法剔除脏数据。从Web日志文件中提取出统一资源标识符(uri),对uri中的.jpg,.png,.1co,.css,.gif,.bmp等格式的静态文件进行过滤,将过滤后的数据中的大写全部转换成小写,将连续的斜线”/”转换为一个斜线以及解码操作。
[0029]步骤二:数据特征提取,具体为:
[0030]步骤2.1:基于分布式系统的基本的数理计算;
[0031 ]在基于web攻击的分布式机器学习和异常检测中主分析的是web日志文件中的uri。对步骤一中预处理后的uri采取分割取字段、根据uri的组成类型、是否含特殊字符、长度、关键字出现个数和一定规则的权值计算得出所要提取的21个特征。每个MapO在计算完成后,以向量的形式输出特征向量。MapO并行计算和处理出随后训练所需要的数据。
[0032I步骤2.2:特征向量的量化;
[0033I对Mappers阶段输出的特征向量采用log函数进行量化。
[0034]步骤2.3:特征向量的合并;
[0035]将量化后的特征向量输出,根据键值归类成一组数据,然后输入到Reducers阶段,在Reducers阶段会自
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1