1. 基于机器学习网络入侵检测(NSL-KDD)
本文将公开基于机器学习的网络入侵检测实验代码,着重于多分类实现。首先导入实验数据集,训练集使用NSL-KDD的Train+,测试集使用NSL-KDD的Test+。数据集包含43个特征,其中三个字符型特征需手动添加列。进行独热编码处理,"protocol_type"、"service"、"flag"三个特征采用One-Hot编码,以使机器学习算法识别。特征列合并,训练集与测试集数据合并。数据归一化处理,采用Min-Max方法进行数据正则化。进行数据集分类,实现5分类,类别包括Normal、DoS、Probe、U2R、R2L。数据集划分,测试集与训练集分割。随后引入模型,采用DT(决策树)和RF(随机森林)进行测试。此为基本的ML实验过程,有疑问可自行查看代码调试,以加深理解。