入侵检测数据预处理 特征工程 面临的问题

数据预处理

        对于分类任务来说,由于原始数据可能存在异常、缺失值以及不同特征的取值范围差 异大等问题,对机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据 进行预处理。数据预处理的主要过程包括数据清洗、去量纲、离散化等。

1.数据清洗

        对采集到的数据进行清洗,主要工作包括缺失值处理和异常值处理。

        1)缺失值处理 缺失值是指样本中存在某个或某些特征没有值的情况,对此,可以采取的处理策略有 删除数据、数据填充。

        如果整个数据集中的某个特征值缺失得较多,就可以简单将该特征舍弃。如果包含 缺失值的记录不多,则可以采用一些常用的填充策略。典型的方法有固定值填充、均值填充、中位数填充、上下数据填充、插值法填充和随机数填充等。这些方法的基本出发点是 利用该特征在整个数据集中的统计量来填充,例如中位数就是把非缺失的特征值进行排 序后取中间位置上的数作为缺失记录的特征值。

        2)异常值处理 异常值是指样本中的某个特征取值与其他样本有显著差异,例如某个记录的年龄字 段为200岁,某城市的气温为100℃等。 针对这种情况可以采取的策略有按照缺失值处理、采用其他样本的平均值或最大值 等统计量来代替,也是一些启发式的处理方式。

2.去量纲

        数据集中不同属性的取值范围可能存在很大的差异,例如用米为单位度量的身高和 以千米度量的两个城市之间的距离。这种差异会导致机器学习模型的目标函数在某些维 度上取值范围远远大于其他维度,当进行梯度下降时,收敛慢,训练时间过长。

        去量纲的要求是使不同取值范围的特征值转换到同一规格,一般是[0,1]或[-1,1] 等。常见的去量纲方法有归一化标准化

        通过归一化把原始数据转换为单位向量,主要有最大最小缩放、对数变换、反正切变 换,计算公式分别如下。

最大最小缩放用于线性数据,对数变换和反正切变换用于非线性数据。

        当原始数据服从正态分布时,还可以使用标准化去量纲,首先计算原始数据的均值μ 和标准差S,然后使用式(5-4)对数据进行标准化,即转换成标准正态分布。

3.离散化

        当我们使用某些机器学习模型进行训练时,要求相应的训练数据必须为离散型数据, 例如决策树、朴素贝叶斯等算法都基于离散型数据。

        离散化方法有等宽法等频法基于聚类的方法等。

        等宽法,顾名思义就是将特征值从最小值到最大值按次序分成具有相同宽度的n 个区间。例如[0,59]按3等分被划分为[0,19]、[20,39]、[40,59]。等频法根据数据的频率分布进行排序,然后按照相同频率进行区间划分,因此能保证每个区间的样本数量相同。

        基于聚类的方法也可以将连续属性值转换为离散值。通过聚类算法及聚类有效性指 标(validityindex)进行最佳簇的划分,把同一个簇内的样本按同一个值来处理,即簇的标识或聚类中心。

4.哑变量

         哑变量(dummy variables)也称虚设变量,通常取值为0或1。例如,反映性别的哑变量可以取值为0:男性,1:女性。在机器学习中,经常会遇到类别型特征,如入侵检测数据集中的网络协议(protocol_ type),它的取值为{t' cp','udp',i'cmp'},这种字段不能直接输入给分类器。转换方式就 是增加哑变量,并进行one-hot编码。对于具有三种取值的protocol_type字段,可以拓展 为三个字段,并编码。如表5-2所示,表中的三行分别为tcp、udp和icmp的编码(NSL-KDD数据集)。

特征工程

         样本特征数量的多少显然对机器学习模型性能会产生一定的影响。当特征数量太少 时,样本在较小的特征空间内可能重叠在一起。如图5-1所示,在二维空间线性可分的两 类样本,当缩减到一维时,变得线性不可分,最终导致分类器都失效;反之,当特征数量太 多时,属于同类样本的数据在特征空间中变得稀疏,导致类别边界模糊,分类性能受到影 响。此外,特征数量多,特征之间存在相关性的可能性增加,模型的复杂度也会变大。

        针对网络入侵检测应用,其特征数据通常来自多个不同的软硬件设备、不同的应用系统、不同的日志系统,但是都与攻击行为有一定联系,由此可能导致特征之间存在一定的 相关性。例如,针对某个端口的大量并发连接请求,也必然引起内存使用量的增加。又 如,Web服务器通常使用默认端口80进行监听,不同服务器一般有默认端口,由此服务 器类型和端口就存在一定的相关性。因此,构造合适的特征空间也是很有必要的。 

        特征选择和特征抽取是特征工程的两个重要的方面,目的都是寻找合适的样本表示 空间。它们的最大区别是是否生成新的属性。特征提取通过变换的方法获得了新的特征空间,如 PCA、NMF等。特征选择只是从原始特征集中选择出部分子集,没有生成 新的特征,主要有筛选(filter)式包裹(wrapper)式嵌入(embedded)式。信息增益属 于一种筛选式选择方法。具体的计算方法在很多机器学习方面的书中都有介绍,这里 不再赘述。

入侵检测的棘手问题

        尽管机器学习方法实现了对入侵行为和正常访问的分类识别,但是仍存在一些机器学习难以解决的问题,概述如下。

        (1)误报率高、漏报率高。各种机器学习模型仍存在较高的误报率和漏报率,并且对 于参数敏感。特别是对于未知的入侵行为的感知能力弱,已成为制约入侵检测发展的关 键技术问题。

        (2)自学习能力差。添加IDS检测规则常依赖于手工方式且更新缓慢,限制了IDS 的可用性。

         (3)从检测到决策的困难。入侵检测的最终目标是为安全防御提供支持,而检测技 术中的误报率和漏报率高的问题,使得自动化决策可能影响正常数据的流动,也可能导致 未能及时阻断入侵行为。

         (4)自身易受攻击。IDS本身是存在漏洞的软件程序,它容易成为黑客攻击的目标, 一旦黑客攻击成功,那它所管理的网络安全就不能得到保证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/549791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何制作文字gif图?一键快速生成gif闪图

大家在聊天的过程中少不了使用gif表情包,但是大家知道这些gif动图怎么制作的吗?下面就来跟大家分享一下gif动图是如何制作的吧!其实,非常的简单无需下载软件只需要使用gif图片制作(https://www.gif5.net/)工…

QT creator 代码中有中文,提示常量中有换行符解决方案

QT creator 代码中有中文,提示常量中有换行符解决方案 参考视频问题问题解决 参考 感谢感谢,非常感谢,有你,让Qt不再困难,困扰我四年的问题解决了!!! https://blog.csdn.net/m0_45866718/article/details/112389513 视频 https://www.bilibili.com/video/BV1Fp4…

GitHub提交PR

本教程只做开源代码库Github工程提交pr的教程,不做其他的深入的讲解 Github和Gitlab的操作类似,只不过Github叫PR,GitLab叫MR,基本上做法是一致的 以开源项目QuickChat为例 https://github.com/Binx98/QuickChat https://github…

CAN网络管理(网络节点)

什么是CAN的网络节点 网络节点是指连接到CAN总线上的设备或模块,每个网络节点都具有唯一的标识符,称为节点ID,用于在CAN总线上进行通信和识别。 如何判断CAN的网络节点是多少 可以根据DBC来定义查看, 以ADCU为例,域控作为主节点,一般外部的像雷达,camera的数据都是向…

Yolo-world使用

1、安装 python pip install ultralytics 前往官网下载模型:https://docs.ultralytics.com/models/yolo-world/#key-features 我这里使用yolov8s-world.pt举例 最简单的使用示例 if __name__ __main__:model YOLO(model/yolov8s-world.pt)results model.pre…

JCVI-筛选blast最佳结果(生物信息学工具-015)

通常,大家会问我们经过了NR注释,SwissProt注释,那么如何进行,如何挑选最佳比对结果? 同理,存在一个问题,如何挑选最佳的blast比对结果?什么事最优的同源序列? 唐海宝老…

DBUtils工具类的使用

1、DBUtils是什么 为了更加简单地使用JDBC,Apache组织提供了一个DBUtils工具,它是操作数据库的一个组件,实现了对JDBC的简单封装,可以在不影响数据库访问性能的情况下简化JDBC的编码工作量。DBUtils工具要有2个作用。 写数据&am…

力扣周赛392复盘

3105. 最长的严格递增或递减子数组 题目 给你一个整数数组 nums 。 返回数组 nums 中 严格递增 或 严格递减 的最长非空子数组的长度。 思考: 返回什么:返回最长非空子数组的长度。return max(decs_len,incs_len); 但实际上我们只需要用一个变量ans就…

记录PS学习查漏补缺

PS学习 PS学习理论快捷键抠图PS专属多软件通用快捷键 PS学习 理论 JPEG (不带透明通道) PNG (带透明通道) 快捷键 抠图 抠图方式 魔棒工具 反选选中区域 CtrlShiftI(反选) 钢笔抠图注意事项 按着Ctrl单击节点 会出现当前节…

漫步密度森林:借助HDBSCAN实现高效数据聚类

文章来源:navigating-the-density-forest-harnessing-hdbscan-for-advanced-data-clustering 2024 年 4 月 9 日 介绍 在数据科学中,聚类算法是揭示数据集内在结构的重要工具。在这些工具中,基于分层密度的噪声应用空间聚类 (HDBSCAN) 作为…

arm中模/数转换器工作原理以及I2C工作原理

ADC介绍 什么是ADC ADC就是模拟到数字转换器(Analog-to-Digital Converter)的缩写。 它是一种电子设备或模块,S3C2440内部拥有一个ADC外设。用于将连续变化的模拟信号转换为离散的数字信号,以便数字系统(如微处理器、微控制器等)能够对其进行处理和分析。 模拟信号:一…

Spring学习(二)

图解: 2.核心容器总结 2.2.1 容器相关 BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载 ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载 ApplicationContext接口提供基础的be…

【GDAL-Python】10-在Python中可视化多波段卫星影像

文章目录 1-介绍1.1 主要内容1.2 线性拉伸介绍 2-代码实现2.1 数据介绍2.2 代码实现2.3 效果显示 4-参考资料 1-介绍 1.1 主要内容 (1)在本教程中,主要介绍如何使用 Python 和 matplotlib 可视化多波段 Landsat 8 卫星影像组成的真彩色影像…

新能源锂电池起火自燃怎么办?全氟己酮自动灭火装置可以提前预防!

3月28日晚,广州市天河区某小区一居民楼突发火灾。据消防部门通报,此次火灾因室外电动自行车(未充电状态)发生自燃引起,烧毁一辆电动自行车,无人员伤亡。无独有偶,新能源汽车和自行车起火自燃的事…

1.2MHz,固定频率白光LED驱动器

一、产品概述 TX6216是一款升压转换器,设计用于通过单节锂离子电池驱动多达7个串联的白光LED。 TX6216采用电流模式,固定频率架构来调节LED电流,LED电流通过外部电流检测电阻测量。其低104mV反馈电压可降低功率损耗并提高效率。 TX6216具有…

5种方法,教你如何清理接口测试后的测试数据

在接口测试之后,清理测试数据是一个很重要的步骤,以确保下一次测试的准确性和一致性。以下是一些常见的测试数据清理方法: 1. 手动清理: 这是最基本的方法,即手动删除或重置测试数据。您可以通过访问数据库、控制台或…

数据结构学习之路--实现带头双向循环链表的详解(附C源码)

嗨嗨大家~本期带来的内容是:带头双向循环链表的实现。在上期文章中我们提到过带头双向循环链表,那么它的实现又是怎样的呢?今天我们来一探究竟! 目录 前言 一、认识带头双向循环链表 1 认识双向链表 2 带头双向循环链表的定…

【精读文献】Scientific data|2017-2021年中国10米玉米农田变化制图

论文名称:Mapping annual 10-m maize cropland changes in China during 2017–2021 第一作者及通讯作者:Xingang Li, Ying Qu 第一作者单位及通讯作者单位:北京师范大学地理学部 文章发表期刊:《Scientific data》&#xff08…

如何在 VM 虚拟机中安装 OpenEuler 操作系统保姆级教程(附链接)

一、VMware Workstation 虚拟机 若没有安装虚拟机的可以参考下篇文章进行安装: 博客链接https://eclecticism.blog.csdn.net/article/details/135713915 二、OpenEuler 镜像 点击链接前往官网 官网 选择第一个即可 三、安装 OpenEuler 打开虚拟机安装 Ctrl …

【C++】哈希一

这篇博客要说的是哈希算法,哈希又称为散列,它是将存储的值和存储的位置建立起关联关系的一种算法,或者说是一种将任意长度的数据映射为固定长度的输出的算法。 什么意思呢?我们来看一个例子:比如说我们要存储1&#xf…
最新文章