专注于车载信息安全和预期功能安全技术研究
电话:+86 21 62655001
您的位置: 网站首页 > 应用案例
2020-05-12 11:24:48

入侵检测机器学习训练数据kddcup处理

来源:应用案例 浏览次数:427 点赞数:0

网络上下载的公开数据集的文件格式以及文件内容有时候不符合训练的预期要求,因此需要自己借助python工具进行简单的数据处理,下面介绍了数据处理中的一些基础的简单操作。

数据集: kddcup

运行环境: jupyter notebook

python库: numpy,pandas

1. 下载入侵检测公开数据集kddcup

由于完整版的数据集合过大,我们可以下载其10%的版本。

下载完成之后,可以得到kddcup.data_10_percent和kddcup.names两个文本文件。其中第一个文本文件主要记录的是多条数据流记录,每条记录都包含多个特征,第二个文件是包含的所有的特征的名字。

kddcup.data_10_percent部分数据如下:下图展示是其中的三条数据记录。

kddcup.names的部分内容如下:其中红色部分是一些描述信息,下面的数据以键值对的形式给出了特征类别的名字信息。我们需要的只是冒号左边的特征名称。

下面通过python将所有的特征列的名字和内容进行提取并汇总成表格数据。

2. 在jupyter下进行提取数据并处理

首先导入进行数据处理的python包,主要是用到numpy,pandas,以及sklearn进行数据处理。

处理后得到的csv数据格式如下:

下面是对label非数值列的处理,其他两列与此类似:

最后的得到的数据如下:

将其写到csv中后得到的数据如下:

其他的数据处理比如: 去空,归一化,标准化等。借助pandas以及sklearn也可以轻松实现。