CN105677615A - 一种基于weka接口的分布式机器学习方法 - Google Patents
一种基于weka接口的分布式机器学习方法 Download PDFInfo
- Publication number
- CN105677615A CN105677615A CN201610004032.8A CN201610004032A CN105677615A CN 105677615 A CN105677615 A CN 105677615A CN 201610004032 A CN201610004032 A CN 201610004032A CN 105677615 A CN105677615 A CN 105677615A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- weka
- file
- distributed
- data
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于weka接口的分布式机器学***台进行线上海量数据分布式测试,生成最终检测结果。所述的实现装置包括解析模块、训练模块和测试模块。所述的解析模块包括数据预处理子模块和特征提取子模块。本发明采用机器学习分布式处理,缩短了整个机器学习过程的时间;扩展了weka的应用范围,实现了从单机模式到分布式模式的转变;本发明将机器学习过程和扩展到分布式模式的weka巧妙结合,达到良好的机器学习的效果。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种基于weka接口的分布式机器学习的方法。
背景技术
随着信息技术和互联网的发展,各种信息呈现***性增长,且包含丰富的知识。从海量数据信息中挖掘得到有用的知识仍然是一个挑战性的课题。近几十年来,机器学习和数据挖掘技术,作为从海量数据信息中挖掘有用信息的关键技术已经引起了广泛的兴趣和研究。但是由于数据规模的增长,以往的很多研究工作并不能有效地处理大规模数据,海量的数据造成了在机器学习和数据挖掘过程的时间相当长,又由于weka是基于JAVA环境下开源的机器学习(machinelearning)以及数据挖掘(dataminining)软件,集合了大部分机器学习的算法,如分类、回归、聚类、关联规则等。大数据的***式增长考验着weka这一分析工具的处理能力。Hadoop框架等新兴技术则全面展示了捕获、管理和分析大数据的全新方法。大数据挑战与新技术的结合带来了标志性的转变,从而推动企业重新审视他们的IT基础设施和分析能力。
Hadoop框架使用一个简单的编程模型,以支持在计算机集群上对大数据集进行分布式处理。其完整的技术堆栈包含了通用实用程序、一个分布式文件***、分析和数据存储平台以及一个用于管理分布式处理、并行计算、工作流程与配置管理的应用层。除了提供高可用性外,Hadoop框架还能比传统方法更为经济高效地处理大型的、复杂的或非结构化的数据集,可带来出色的可扩展性与速度。MapReduce是Hadoop框架中的软件编程框架,能够简化大型数据集的处理工作,并为编程人员在计算机集群中定义和协调复杂的处理任务提供了一种通用方法。MapReduce应用程序通过安排任务、监控活动和重新执行失败的任务来协调集群节点的处理任务。输入和输出信息均存储在Hadoop分布式文件***(HadoopDistributedFileSystem,简称HDFS)中。Hadoop分布式文件***通常在相同的节点上处理和存储数据,从而能够更高效地在数据驻留的节点上安排任务,并在节点间实现更高的聚合带宽。
面对海量数据,缩短机器学习和数据挖掘的训练和测试的时间,尽快输出结果成为如今的热点问题。
发明内容
目前的运用weka进行机器学习还处于小吞吐量的阶段,面对TB级别的海量数据表现出数据吞吐量不够,运行时间长等缺陷,基于机器学习的数据分析已经进入大数据时代,所以本发明针对以上情况设计了一种基于weka接口的分布式机器学习方法。
一种基于weka接口的分布式机器学习方法,包括如下步骤:
第一步,数据预处理:web日志文件被切分成n个小文件,提取出统一资源标识符,对统一资源标识符进行包括静态文件过滤、大写转小写,将连续的斜线”/”转换为一个斜线以及解码操作。
第二步,特征提取。
对步骤一中预处理后的uri采取分割取字段、根据uri的组成类型、是否含特殊字符、长度、关键字出现个数和一定规则的权值计算得出所要提取的21个特征,以向量的形式输出特征向量;并对特征向量进行量化和合并处理,生成结果文件。
第三步,weka格式文件的本地训练。
本地训练时调用weka接口,运用weka接口里面已封装好的随机森林算法,生成模型文件RandomForest.model,上传到云计算平台。
第四步,云计算平台进行线上海量数据分布式测试,生成最终检测结果。
本发明的优点在于:
(1)采用机器学习分布式处理,缩短了整个机器学习过程的时间;
(2)本发明扩展了weka的应用范围,实现了从单机模式到分布式模式的转变;
(3)本发明将机器学习过程和扩展到分布式模式的weka巧妙结合,达到良好的机器学习的效果。
附图说明
图1示出了本发明提供的分布式机器学习方法的架构概略图;
图2示出了本发明提供的分布式机器学习方法的实现装置的组成示意图;
图3示出了一个基于mapreduce框架的分布式并行处理的流程图;
图4示出了线上测试及模型文件利用图;
图5示出了本发明的基于weka接口的分布式机器学习方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的实施例进行详细展示和说明。本发明的实施例及其说明只用于解释本发明,具体的专利保护范围应当由所附的权利要求书来定义。
本发明的实施例是基于web攻击的分布式机器学习和异常检测,在web日志中进行机器学习,采用随机森林算法,生成检测模型文件,然后在单日产生的TB级海量数据中检测异常访问数据。
本发明提供一种基于weka接口的分布式机器学***台上进行的,本地训练和模型文件的生成是在本地进行的,待测试的web日志文件与模型文件在云计算平台进行检测,具体包括如下步骤:
步骤一:数据预处理;
Web日志文件是在线上服务器中产生并直接存储到云计算平台,所述数据预处理基于mapreduce框架并行处理,数据预处理过程具体为:
(1)如图3所示,web日志文件在input阶段(也称输入阶段)被切分成n个小文件,用Split0,Split1,Split2,……,Split(n-1)表示,对于每一个小文件Spliti(i=0,1,2,…,n-1),Mappers阶段会启动一个Map()来处理。所述小文件Spliti(i=0,1,2,…,n-1)的切分大小以及每个Map()处理文件的数量可以根据实际情况来调整。
(2)在基于web日志挖掘中正常的web日志文件不纯,里面混杂有许多攻击特征明显的数据,所以采用关键字过滤以及规则过滤方法剔除脏数据。从Web日志文件中提取出统一资源标识符(uri),对uri中的.jpg,.png,.ico,.css,.gif,.bmp等格式的静态文件进行过滤,将过滤后的数据中的大写全部转换成小写,将连续的斜线”/”转换为一个斜线以及解码操作。
步骤二:数据特征提取,具体为:
步骤2.1:基于分布式***的基本的数理计算;
在基于web攻击的分布式机器学习和异常检测中主分析的是web日志文件中的uri。对步骤一中预处理后的uri采取分割取字段、根据uri的组成类型、是否含特殊字符、长度、关键字出现个数和一定规则的权值计算得出所要提取的21个特征。每个Map()在计算完成后,以向量的形式输出特征向量。Map()并行计算和处理出随后训练所需要的数据。
步骤2.2:特征向量的量化;
对Mappers阶段输出的特征向量采用log函数进行量化。
步骤2.3:特征向量的合并;
将量化后的特征向量输出,根据键值归类成一组数据,然后输入到Reducers阶段,在Reducers阶段会自动的对产生的特征向量进行合并去除重复的数据。这是由于在特征提取的过程中,会出现特征向量一样的情况。这一步又大大减少了所要处理数据的数量。从而一定程度上缩短了整个机器学习过程的时间。如图3所示,Reducers阶段过后会产生结果文件(Resultfile),这个结果文件的文件格式是weka所要求的arff格式。
步骤三:本地训练;
如图2所示,产生的arff格式的结果文件将被放入到本地的weka中进行训练,由于训练过程耗时占整个机器学***台。
步骤四:云计算平台进行线上海量数据的分布式检测;
海量数据的测试在基于mapreduce框架的云计算平台并发执行,经过数千个Map()函数并行解析后转换成arff格式的文件,待测试数据经过数据预处理后进行测试。
在模型文件RandomForest.model随着weka的jar包被一起分发到Hadoop集群的各个计算节点后,再由各计算节点按照Map()和Reduce()的函数功能进行线上数据的测试和检测。测试过程中调用weka的jar包和模型文件,每个Mappers在测试出结果后,输出到Reduce()中进行结果汇总,对检测的结果,Reducer会根据判断出的标签分别生成对应的文件,基于web攻击检测的分布式机器学习检测的结果就是access和attacke这两个文件。这两个文件可以下载到本地进行查看。
本发明中采用的数据预处理和特征提取是基于mapreduce框架来并行处理的。由于weka本身是单机执行,在如此庞大的数据量面前,会形成一个时间瓶颈,大量的时间消耗在数据的预处理和特征的提取上,所以本发明采用的基于hadoop集群的mapreduce框架的分布式预处理和特征提取将会大大缩短执行时间。
线上海量数据的分布式测试是基于云计算平台的强大的并行计算能力,单日产量为TB级别的数据,而且待检测数据具有一定的时效性,所以单纯用weka来进行单机测试,测试时间长,产生的结果由于时延太长而失去作用。数据的分布式预处理,特征的分布式提取和线上海量数据的分布式测试都运用了云计算平台的计算能力,将原本吞吐量并不大的weka扩展到云计算平台,极大的增加了数据的吞吐量,可以使weka根能适应大数据时代的机器学习。
所述的云计算平台可以是基于hadoop、spark、storm等大数据处理的框架组成的集群***。如图4所示,hadoop集群中包含若干个节点,训练的样本数据事先存储在hadoop集群的各个节点处,由Hadoop的namenode主节点管理并分发依赖包到各个计算节点上,实现移动计算,避免了移动数据的耗时。
经过数据预处理、特征提取后的文件转换成weka要处理的文件格式,然后下载到本地。如图1,本地的功能部分会调用本地的weka接口来进行训练,生成模型文件。把生成的模型文件再上传到云计算平台。云计算平台上产生的数据直接进行预处理后进行测试,在测试的时候要把数据跟模型文件一起分发到云计算平台的各个计算节点处进行并行测试,生成测试的结果文件。
本实例中所描述的实现装置的各个功能模块实现如图2所示,本发明提供的实现装置包括解析模块、训练模块和测试模块。所述的解析模块包括数据预处理子模块和特征提取子模块。首先是Web日志文件样本在数据预处理子模块进行预处理后,在特征提取子模块进行特征提取,然后在训练模块进行模型训练生成模型文件用于测试。然后待测试的Web日志文件经过数据预处理子模块的预处理后,与模型文件一起在测试模块进行测试生成检测结果。
综上所述,本发明实施例充分利用云计算平台的分布式并行计算能力,扩展weka的数据处理能力,适应了海量的数据处理的机器学习,缩短了整个机器学习流程的时间。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (5)
1.一种基于weka接口的分布式机器学习方法,其特征在于:包括如下步骤,
第一步,数据预处理:web日志文件被切分成n个小文件,提取出统一资源标识符,对统一资源标识符进行包括静态文件过滤、大写转小写,将连续的斜线”/”转换为一个斜线以及解码操作;
第二步,特征提取;
对步骤一中预处理后的uri采取分割取字段、根据uri的组成类型、是否含特殊字符、长度、关键字出现个数和一定规则的权值计算得出所要提取的21个特征,以向量的形式输出特征向量;并对特征向量进行量化和合并处理,生成结果文件;结果文件的文件格式是weka所要求的arff格式;
第三步,weka格式文件的本地训练;
本地训练时调用weka接口,运用weka接口里面已封装好的随机森林算法,生成模型文件RandomForest.model,上传到云计算平台;
第四步,云计算平台进行线上海量数据分布式测试,将Web日志文件与模型文件进行匹配,生成最终检测结果。
2.根据权利要求1所述的一种基于weka接口的分布式机器学***台,所述数据预处理基于mapreduce框架并行处理,对于每一个小文件Mappers阶段会启动一个Map()函数来处理。
3.根据权利要求1所述的一种基于weka接口的分布式机器学习方法,其特征在于:特征向量采用log函数进行量化。
4.根据权利要求1所述的一种基于weka接口的分布式机器学***台是基于hadoop、spark或storm大数据处理的框架组成的集群***。
5.一种基于weka接口的分布式机器学习方法的实现装置,其特征在于:包括解析模块、训练模块和测试模块;所述的解析模块包括数据预处理子模块和特征提取子模块;首先是Web日志文件样本在数据预处理子模块进行预处理后,在特征提取子模块进行特征提取,然后在训练模块进行模型训练生成模型文件用于测试;然后待测试的Web日志文件经过数据预处理子模块的预处理后,与模型文件一起在测试模块进行测试生成检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610004032.8A CN105677615B (zh) | 2016-01-04 | 2016-01-04 | 一种基于weka接口的分布式机器学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610004032.8A CN105677615B (zh) | 2016-01-04 | 2016-01-04 | 一种基于weka接口的分布式机器学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677615A true CN105677615A (zh) | 2016-06-15 |
CN105677615B CN105677615B (zh) | 2018-11-23 |
Family
ID=56298767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610004032.8A Expired - Fee Related CN105677615B (zh) | 2016-01-04 | 2016-01-04 | 一种基于weka接口的分布式机器学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677615B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778259A (zh) * | 2016-12-28 | 2017-05-31 | 北京明朝万达科技股份有限公司 | 一种基于大数据机器学习的异常行为发现方法及*** |
CN107563201A (zh) * | 2017-09-08 | 2018-01-09 | 北京奇虎科技有限公司 | 基于机器学习的关联样本查找方法、装置及服务器 |
CN107579944A (zh) * | 2016-07-05 | 2018-01-12 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce安全攻击预测方法 |
CN107623655A (zh) * | 2016-07-13 | 2018-01-23 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce实时检测攻击的*** |
CN108628741A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 网页页面测试方法、装置、电子设备和介质 |
CN108664540A (zh) * | 2018-02-13 | 2018-10-16 | 贵州财经大学 | 大数据机器学习***及方法 |
CN108897587A (zh) * | 2018-06-22 | 2018-11-27 | 北京优特捷信息技术有限公司 | 可插拔式机器学习算法运行方法、装置及可读存储介质 |
CN109063050A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据库日志分析预警方法与装置 |
CN109949289A (zh) * | 2019-03-18 | 2019-06-28 | 四川轻化工大学 | 一种基于人工智能的混凝土表面缺陷图像识别***及方法 |
CN110730156A (zh) * | 2018-07-17 | 2020-01-24 | 国际商业机器公司 | 用于异常检测的分布式机器学习 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其*** |
CN104751053A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 移动智能终端软件的静态行为分析方法 |
US20150279364A1 (en) * | 2014-03-29 | 2015-10-01 | Ajay Krishnan | Mouth-Phoneme Model for Computerized Lip Reading |
CN105183717A (zh) * | 2015-09-23 | 2015-12-23 | 东南大学 | 一种基于随机森林和用户关系的osn用户情感分析方法 |
-
2016
- 2016-01-04 CN CN201610004032.8A patent/CN105677615B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751053A (zh) * | 2013-12-30 | 2015-07-01 | 南京理工大学常熟研究院有限公司 | 移动智能终端软件的静态行为分析方法 |
US20150279364A1 (en) * | 2014-03-29 | 2015-10-01 | Ajay Krishnan | Mouth-Phoneme Model for Computerized Lip Reading |
CN104714852A (zh) * | 2015-03-17 | 2015-06-17 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其*** |
CN105183717A (zh) * | 2015-09-23 | 2015-12-23 | 东南大学 | 一种基于随机森林和用户关系的osn用户情感分析方法 |
Non-Patent Citations (1)
Title |
---|
崔日新: "大规模数据挖掘聚类算法的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579944A (zh) * | 2016-07-05 | 2018-01-12 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce安全攻击预测方法 |
CN107579944B (zh) * | 2016-07-05 | 2020-08-11 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce安全攻击预测方法 |
CN107623655A (zh) * | 2016-07-13 | 2018-01-23 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce实时检测攻击的*** |
CN107623655B (zh) * | 2016-07-13 | 2020-10-27 | 南京联成科技发展股份有限公司 | 基于人工智能和MapReduce实时检测攻击的*** |
CN106778259B (zh) * | 2016-12-28 | 2020-01-10 | 北京明朝万达科技股份有限公司 | 一种基于大数据机器学习的异常行为发现方法及*** |
CN106778259A (zh) * | 2016-12-28 | 2017-05-31 | 北京明朝万达科技股份有限公司 | 一种基于大数据机器学习的异常行为发现方法及*** |
CN107563201A (zh) * | 2017-09-08 | 2018-01-09 | 北京奇虎科技有限公司 | 基于机器学习的关联样本查找方法、装置及服务器 |
CN107563201B (zh) * | 2017-09-08 | 2021-01-29 | 北京奇宝科技有限公司 | 基于机器学习的关联样本查找方法、装置及服务器 |
CN108664540A (zh) * | 2018-02-13 | 2018-10-16 | 贵州财经大学 | 大数据机器学习***及方法 |
CN108628741A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 网页页面测试方法、装置、电子设备和介质 |
CN108897587A (zh) * | 2018-06-22 | 2018-11-27 | 北京优特捷信息技术有限公司 | 可插拔式机器学习算法运行方法、装置及可读存储介质 |
CN108897587B (zh) * | 2018-06-22 | 2021-11-12 | 北京优特捷信息技术有限公司 | 可插拔式机器学习算法运行方法、装置及可读存储介质 |
CN110730156A (zh) * | 2018-07-17 | 2020-01-24 | 国际商业机器公司 | 用于异常检测的分布式机器学习 |
CN110730156B (zh) * | 2018-07-17 | 2022-03-22 | 国际商业机器公司 | 用于异常检测的分布式机器学习 |
CN109063050A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据库日志分析预警方法与装置 |
CN109949289A (zh) * | 2019-03-18 | 2019-06-28 | 四川轻化工大学 | 一种基于人工智能的混凝土表面缺陷图像识别***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105677615B (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677615A (zh) | 一种基于weka接口的分布式机器学习方法 | |
CN111459799B (zh) | 一种基于Github的软件缺陷检测模型建立、检测方法及*** | |
CN111131304B (zh) | 面向云平台大规模虚拟机细粒度异常行为检测方法和*** | |
CN106530121B (zh) | 电力监控***安全防护合规性检测方法和*** | |
CN105049247A (zh) | 一种网络安全日志模板抽取方法及装置 | |
CN112100149B (zh) | 日志自动化分析*** | |
CN103428249B (zh) | 一种http请求包的收集及处理方法、***和服务器 | |
CN103077254A (zh) | 网页获取方法和装置 | |
CN107391378A (zh) | 一种测试脚本的生成方法及装置 | |
Park et al. | Future sign detection in smart grids through text mining | |
CN107357804A (zh) | 互联网金融海量日志的分析***及方法 | |
CN113268530A (zh) | 海量异构数据采集方法、***、计算机设备和存储介质 | |
CN113282920B (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
Wu et al. | An Auxiliary Decision‐Making System for Electric Power Intelligent Customer Service Based on Hadoop | |
CN103207804A (zh) | 基于集群作业日志的MapReduce负载模拟方法 | |
CN114312930B (zh) | 基于日志数据的列车运行异常诊断方法和装置 | |
CN111209158B (zh) | 服务器集群的挖矿监控方法及集群监控*** | |
CN112750047B (zh) | 行为关系信息提取方法及装置、存储介质、电子设备 | |
CN113704203A (zh) | 一种日志文件的处理方法及装置 | |
KR20230053880A (ko) | 빅데이터 기반 기업정보관리시스템 이용방법 | |
CN107239704A (zh) | 恶意网页发现方法及装置 | |
KR101878291B1 (ko) | 에너지 빅데이터 관리 시스템 및 그 방법 | |
CN110213055B (zh) | 情报更新方法、装置、计算机设备及计算机可读存储介质 | |
CN105630899A (zh) | 一种公共卫生事件预警知识库的构建方法 | |
KR20150077669A (ko) | 맵리듀스 방식을 이용한 데이터 분석 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20181123 Termination date: 20190104 |
|
CF01 | Termination of patent right due to non-payment of annual fee |