数据挖掘项目总结文档模板_数据挖掘实训心得

数据挖掘项目总结文档模板_数据挖掘实训心得数据挖掘项目总结文档1、文档概述1.1编写目的记录本次实验思路及流程,备忘用。1.2适用对象个人学习总结,描述有偏差之处陆续更进。2、业务理解与分析定义2.1需求概述针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。1998年美国国防

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据挖掘项目总结文档

1、文档概述

1.1 编写目的

记录本次实验思路及流程,备忘用。

1.2 适用对象

个人学习总结,描述有偏差之处陆续更进。

2、业务理解与分析定义

2.1 需求概述

针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。

1998年美国国防部高级规划署(DARPA)在MI T林肯实验室进行了一项入侵检测评估项目。林肯实验
室建立了模拟美国空军局域网的一个网络环境,收集了9周时间的 TCPdump() 网络连接和系统审计数
据,仿真各种用户类型、各种不同的网络流量和攻击手段,使它就像一个真实的网络环境。这些
TCPdump采集的原始数据被分为两个部分:7周时间的训练数据 (*) 大概包含5,000,000多个网络连接
记录,剩下的2周时间的测试数据大概包含2,000,000个网络连接记录。 ——kdd数据集背景介绍

值得注意的是随着互联网的飞速发展,各种新的攻击手段以及工具不断涌现,而用这份98年生成的测试数据集来作基线检测缺乏一定的实效性,而今市面上也无任何组织或者团体公布出新的检测标准,学术上也一直沿用这份数据集合来度量入侵检测算法的优劣。

2.2 分析目标定义
2.3 模型定义

3、数据准备与数据探索

3.1 数据准备

本文档采用的数据为kdd99数据集,进行分析探索。数据集合说明参照kdd99数据集整理-by dcy

3.2 数据分析和探索

具体分析方法可以参照另外一个文档Weka快速入门-v1.0

3.3 数据处理流程图

数据处理流程图

数据挖掘项目总结文档模板_数据挖掘实训心得

4、模型构建

4.1 分析思路

参考论文《基于数据挖掘的入侵检测模型研究_王超峰》的分析思路。论文将关联规则挖掘算法和基于最小相异度的聚类算法应用于入侵检测,从而设计了一个基于数据挖掘的入侵检测模型,该模型的主要思想是:通过关联规则挖掘算法建立误用信息库并进行误用检测,能快速的检测出已知的入侵行为,但是容易产生漏报,需要进行二次检测;采用最小相异度的聚类算法建立聚类信息库,并进行二次检测,检测出漏报的和未知的入侵行为。 基于数据挖掘的入侵检测模型的关键在于误用信息库和聚类信息库的建立、更新、误用检测和聚类检测几个部分。模型框架如下图所示:

数据挖掘项目总结文档模板_数据挖掘实训心得

4.2 建模工具
  • weka
  • scikit-learing
  • spss
4.3 建模流程

由于获取到的kdd99数据集已经经过整理成结构话的数据,每条记录包含41个特征属性以及一个分类标签,一共42个字段使用逗号分隔符进行分割。

示例数据如下所示

0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,0.00,0.11,0.00,0.00,0.00,0.00,0.00,normal. 0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,19,1.00,0.00,0.05,0.00,0.00,0.00,0.00,0.00,normal.

将其转化为weka内置arff格式。其中有些属性有所省略,这里只做大概理解,详细格式信息参见Weka学习总结-v1.0

@relation attr @attribute duration numeric @attribute protocol_type {tcp,udp,icmp} @attribute service {http,smtp,finger,domain_u,auth,telnet,ftp,eco_i,ntp_u,ecr_i,other,private,pop_3,ftp_data,rje,time,mtp,link,remote_job,gopher,ssh,name,whois,domain,login,imap4,daytime,ctf,nntp,shell,IRC,nnsp,http_443,exec,printer,efs,courier,uucp,klogin,kshell,echo,discard,systat,supdup,iso_tsap,hostnames,csnet_ns,pop_2,sunrpc,uucp_path,netbios_ns,netbios_ssn,netbios_dgm,sql_net,vmnet,bgp,Z39_50,ldap,netstat,urh_i,X11,urp_i,pm_dump,tftp_u,tim_i,red_i} @attribute flag {SF,S1,REJ,S2,S0,S3,RSTO,RSTR,RSTOS0,OTH,SH} @attribute src_bytes numeric @attribute dst_bytes numeric ...... ...... @attribute dst_host_rerror_rate numeric @attribute dst_host_srv_rerror_rate numeric @attribute lable {normal.,buffer_overflow.,loadmodule.,perl.,neptune.,smurf.,guess_passwd.,pod.,teardrop.,portsweep.,ipsweep.,land.,ftp_write.,back.,imap.,satan.,phf.,nmap.,multihop.,warezmaster.,warezclient.,spy.,rootkit.} @data 0,tcp,http,SF,181,5450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,1,0,0,9,9,1,0,0.11,0,0,0,0,0,normal. 0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,1,0,0,19,19,1,0,0.05,0,0,0,0,0,normal. 0,tcp,http,SF,235,1337,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,1,0,0,29,29,1,0,0.03,0,0,0,0,0,normal.

特征抽取

根据 Kayacik H G等人在Selecting features for intrusion detection这篇文章中所使用的信息增益的方法来选择特征,一方面减少冗余特征、另一方面也可以提高学习速度。
借助开源软件Weka,我们可以很容易的在数据集合上选择出相应的和分类标签最相关的特征用来学习,由于我们直接采用kdd提供的10%小数据集合(近400w条连接记录)作为训练集,没有单独提出测试集合,故采用10折交叉验证的方式进行特征选择。

数据挖掘项目总结文档模板_数据挖掘实训心得

关联分析模块
生成关联规则
十则交叉验证整个数据集合得到每个特征对于分类属性的一个信息熵,我们设定阈值为0.5,选出大于0.5以上的特征属性进行降为学习。

数据挖掘项目总结文档模板_数据挖掘实训心得

我们发现剩下17个特征以及一个类标签:

数据挖掘项目总结文档模板_数据挖掘实训心得

下面进行关联规则的生成。选择Apriori算法,由于该算法针对是离散型变量,故我们需要再对数据进行离散化处理。完了之后调整Apriori算法相关参数导出关联规则。

数据挖掘项目总结文档模板_数据挖掘实训心得

图中的蕴含关系则为推导出的强关联规则

生成关联规则之后,进行误用检测的流程图

数据挖掘项目总结文档模板_数据挖掘实训心得

聚类分析模块
聚类分析模块
按照分类属性,使用简单聚类方式将数据集分成4个聚类。

数据挖掘项目总结文档模板_数据挖掘实训心得

图中勾出了四个中心点。得到结果仅供演示使用,为了提高速度只选取了1%的数据(49402条记录)。不能代表全局,要定义的中心点的个数也可以另外指定,不断的实验对比,从而确定最优的个数。

4.4 模型结果

5、模型评估

5.1 模型评估方法

使用分类的正确率来度量。

5.2 评估结果

简单采用分类树进行模拟发现,在对经过提取特征的数据进行分类训练,这里采用在原来的训练集合上采用十折交叉验证方式进行评估,分类正确率99.8% ,存在着过拟合现象,由于缺乏测试集合的类标签,无法进行模型的泛化能力(对原数据集合中不曾出现过的类别)检测。总体说来,这些数据集经过非常精细的整理并除去了一些冗余的信息,而且本身包含大量的攻击行为。这是分类正确率如此之高的原因,具体应用的场景能达到一个怎么样的水平以及如何提高分类模型的准确率,还的经过真实数据的检验。

评估结果

数据挖掘项目总结文档模板_数据挖掘实训心得

混淆矩阵

数据挖掘项目总结文档模板_数据挖掘实训心得

7、参考资料

  • Kayacik H G, Zincir-Heywood A N, Heywood M I. Selecting features for intrusion detection: A feature relevance analysis on KDD 99 intrusion detection datasets[C]//Proceedings of the third annual conference on privacy, security and trust. 2005.
  • 王超峰. 基于数据挖掘的入侵检测模型研究[D].青岛理工大学,2010.
  • weka快速入门-v1.0
  • kdd99数据集整理-by dcy
本博客文章除特别声明,全部都是原创! 尊重原创,转载请注明: 转载自thinkml(http://www.cnblogs.com/thinkml) 访问更多内容 请访问个人博客 http://me.needpp.com
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197032.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • wsl2 固定ip_wsl2 ssh

    wsl2 固定ip_wsl2 ssh给win10下的wsl2设置固定ip地址

  • Java设计模式之行为型:中介者模式

    Java设计模式之行为型:中介者模式

  • 手动实现一维离散数据小波分解与重构

    手动实现一维离散数据小波分解与重构前言本文集中前面主要介绍了离散数据的傅里叶变换,并且得到了较好的效果!那既然有了傅里叶变换这个工具,为什么还需要小波变换呢?因为:傅里叶变换只能告诉你原始信号中有哪些频率,但不能告诉你这些频率的信号出现在什么时间!也就说明:如果信号是”时变”的(频率随着时间是改变的),那么单纯用傅里叶变换所能反映的信息就十分有限了!因此,针对时变信号,我们使用小波变换。图1展示”时变信号”与”时不变信号”区别:图1:时不变信号与时变信号时不变与时变的区别,看下面的实现的代码就很轻易理解:x=0:0.001:1

  • android 模拟器 haxm,Android模拟器不使用HAXM

    android 模拟器 haxm,Android模拟器不使用HAXM我遇到HAXM问题.在我使用Windows7之前,一切都很好,但升级到Win8.1Pro后,当我从AVD屏幕启动模拟器时,我看不到haxm启动消息.HAXM安装并正常工作,我安装了x86的图像,我的设备使用它但仍然无法在启动窗口中看到Emulator正在使用haxm的确认消息.这是情况;>我的处理器支持vt.>我检查了我的服务,所有Hyper-VT服务都“停止”>HAXM…

  • java字符串切分_Java字符串分割(转)[通俗易懂]

    java字符串切分_Java字符串分割(转)[通俗易懂]java.lang.String的split()方法,JDK1.4orlaterpublicString[]split(Stringregex,intlimit)示例代码publicclassStringSplit{publicstaticvoidmain(String[]args){StringsourceStr=”1,2,3,4,5″;String[]s…

  • RNN-bptt简单推导「建议收藏」

    RNN-bptt简单推导「建议收藏」摘要:在前面的文章里面,RNN训练与BP算法,我们提到了RNN的训练算法。但是回头看的时候在时间的维度上没有做处理,所以整个推导可能存在一点问题。那么,在这篇文章里面,我们将介绍bptt(BackPropagationThroughTime)算法如在训练RNN。关于bptt这里首先解释一下所谓的bptt,bptt的思路其实很简单,就是把整个RNN按时间的维度展

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号