数据挖掘项目总结文档

article/2025/9/26 23:35:57

数据挖掘项目总结文档

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

http://chatgpt.dhexx.cn/article/Ut9o9LJR.shtml

相关文章

数据挖掘开源项目立项

项目背景 因为最近一直都在搞数据挖掘类的项目,且现在国内的大数据潮火热。在前几天与群里的几位兄弟聊天所以有了做一个开源项目的想法,以前也搞过一个开源的项目,当时只是想把权限集中化做一下,项目的名称和地址是: …

数据挖掘项目(1)对数据进行探索和分析

1.数据类型的分析(假设数据为data.csv) 首先读入数据,这个数据是csv格式,可以用pandas来读,如果读不进来的时候,可以用记事本打开data.csv然后另存为data_2.csv并且保存为utf-8的编码格式。然后读取数据。…

python数据挖掘项目——航空公司客户价值分析(详解)

一、选题背景 信息时代的来临使得企业营销的焦点从产品中心转变为客户中心,客户关系管理成为企业的核心问题,客户关系管理的关键问题是客户分类,通过客户分类,区分不同客户的价值,企业针对不同价值的客户制定个性化的服…

网络通信协议分类

协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节。 java.net 包中提供了两种常见的网络协议的支持&#…

各种基础协议

了解几个概念: 1. HTTP 协议:基于TCP协议,超文本传输协议,对应于应用层,用于如何封装数据.。也就是在底层是基于socket, http只不过是在收发数据的时候定义了很多规则,http头信息之类。 TCP/I…

TCP协议格式

1、16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返回地址。 2、16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。 3、32位序号:32位的序列号由…

以太网各种协议详解

板子处于复位状态时,先做好一系列的准备工作。 1、从EEROM中读取板子的MAC 地址(事先已经写在地址0xFA to 0xFF 中了)。 2、配置PHY 寄存器,并读取该寄存器的值,检查一下,此时的寄存器配置时候是合理的&am…

汽车通信协议系列1_通信协议类型

当前比较通用的五种协议,任何一款标准OBD2的车辆都会采用以下五种协议中的一种。以下几种按照物理层编码相关性来划分 ISO9141,ISO 14230.这类是以UART为基础的。 CAN ISO 11898(车载网络),ISO15768,SAE J…

网络协议分类

Http协议:应用层。 tcp/udp协议:传输层。udp提供不可靠通信:无流控等。 ip协议:网络层。 TCP/IP是是一套协议族,是一种说法,由早期的某标准化组织制定,规定了使用tcp和ip等一系列协议的规范。…

IP协议及分类

文章目录 TCP/IP协议IP地址分类默认子网掩码网关公有IP地址和私有IP地址 基本环境设置连网介质及设备重点 TCP/IP协议 TCP/IP通信协议是目前最完整、最被广泛支持的通信协议,它可以让不同网络架构、不同操作系统的计算机之间通信,是Internet的标准通信协…

常见的协议汇总(小白个人理解,大佬勿喷)

背景 接触了一些芯片,发现所有的芯片而言,库和API接口随着芯片,开发环境甚至开发情况,公司都有着明显的区别。基于这种情况的话,了解协议的底层个人觉得是十分必要的,同时也是找工作的必备选项。所以对常见…

常用协议类型值

Ethertype ( 十六进制 ) 协议 0x0000 - 0x05DC IEEE 802.3 长度 0x0101 – 0x01FF 实验 0x0600 XEROX NS IDP 0x0660 0x0661 DLOG 0x0800 网际协议(IP) 0x0801 X.75 Internet 0x0802 NBS Internet 0x0803 ECMA Internet 0x0804 Chao…

TCP协议格式和特点

文章目录 1.协议格式:2.协议特性:2.1 面向链接2.1.1三次握手建立连接2.1.1四次挥手断开连接相关问题和知识点:1. 握手为啥三次,挥手是四次?2. 三次握手失败两端是如何处理的?3. SYN泛洪攻击是怎么回事?4. …

典型几种协议(协议以及作用)

一 .典型协议: 传输层: 常见的协议有 TCP/UDP 协议 应用层: 常见的协议有 HTTP,FTP 协议 网络层: 常见的协议有 IP 协议,ICMP 协议,IG…

ICMP协议 详解,ICMP协议的功能及实现原理,ICMP协议报文类型。

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》 ICMP协议 一、工作原理二、数据报格式三、报文类型 ICMP协议是IP的…

几个的常见基础协议类型数据格式以及协议内容简介

给大家简单梳理一下几种学习中常会出现的协议格式,咋们数通就像交通,各种各样的协议规则来规范大家,制定科学的管理手段来帮助大家快速,安全的到家。 一、 HDLC协议 HDLC叫高级链路控制协议(High Level Data Link Cont…

几种常用协议介绍

几种常见协议介绍 TCP/IP协议,其实是一个协议集合,这个集合里面包含了网络通讯所需的所有协议,里面不仅有TCP(传输控制协议)、IP(网际协议),还有UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等许多协议,还有物联网中…

个人如何申请注册公司邮箱?企业邮箱注册申请流程详解

大部分人可能知道邮箱,但是公司邮箱是什么?企业邮箱注册申请流程?个人如何申请注册公司企业邮箱? 在一家公司实习时人事告诉我使用公司邮箱,用我名字拼音命名的,还是无限容量、单次群发500封、邮件误删可以…

手把手教你申请CCC(City Colleges of Chicago)教育邮箱

如果你还不知道edu教育邮箱的好处,那么你就out了,很多大公司的的优惠福利专门针对学生群体。比如可以利用edu邮箱获得Office365免费使用权限,可以免费扩容Onedrive至1024GB;可以获得AutoCAD、3ds Max、Maya等在内70余款软件的3年免…

工大校园邮箱申请流程

由于pycharm破解日益复制,代理服务器总是被封杀,只好老老实实合法使用,但还是要免费的方法,那就申请学生邮箱,毕竟钱不是问题,穷才是。 第一步打开这个网址,登陆一下 https://cas.bjut.edu.cn…