CIC-2017数据预处理

本文详细描述了对CIC-IDS2017数据集进行预处理的过程,包括数据下载、清洗(合并文件、重命名、去冗余、标签转换)、归一化以及数据集划分(15%测试集、12.75%验证集、72.25%训练集),最终保存为CSV文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cic-2017数据预处理,记录一下科研进度。这里是原项目链接

1.Obtaining Dataset(s)

这里是做数据处理前的准备工作,包括下载数据,配置路径和导入相关包。

img

这里给的数据集地址好像已经失效了,只能换源下载。

2.Cleaning the Data

这里做数据清洗,是数据处理中最关键的一个部分。

2.1. Grouping all seven files into one from the CIC-IDS 2017 dataset

这里做读取数据和数据的分组。

2.2 Reformatting column headers

这里把所有的列名去掉空格(中间的空格变为下划线)并且都变为小写。

img

2.3 Dropping unnecessary columns

去掉无用的列。

2.3.1 Dropping irrelevant features and columns with all 0s

去掉不相关的特征列和值都为0的列。

img

2.3.2 Dropping NaNs and INFs

去掉值为非数字或无穷的列。

img

### 使用LightGBM算法对CICIDS2017数据集进行预处理 对于CICIDS2017数据集预处理,可以采用Python中的Pandas库来加载并清理数据。接着利用LightGBM特有的功能进一步优化特征工程过程。 #### 数据读取与初步清洗 首先安装必要的包: ```bash pip install pandas lightgbm scikit-learn ``` 导入所需模块并将CSV文件转换成DataFrame对象以便操作: ```python import pandas as pd from sklearn.model_selection import train_test_split # 加载数据集 df = pd.read_csv('path_to_cicids2017.csv') # 查看前几行了解结构 print(df.head()) ``` #### 处理缺失值和异常值 针对可能存在的缺失值或不合理数值采取措施: ```python # 填充或删除含有NaN的数据条目 df.fillna(method='ffill', inplace=True) # 或者 df.dropna(inplace=True) ``` #### 特征编码 将分类变量转化为数值型表示形式,方便后续建模工作: ```python for column in df.select_dtypes(include=['object']).columns: df[column], _ = df[column].factorize() ``` #### 划分训练测试集合 为了评估模型性能,在此之前需先划分好用于训练和验证的数据子集: ```python X = df.iloc[:, :-1] # 所有列除了最后一列为输入特征 y = df.iloc[:, -1:] # 最后一列为标签 X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42) ``` #### 构建LightGBMDataset实例化对象 通过`lightgbm.Dataset()`函数创建适合于LightGBM框架使用的自定义格式数据源: ```python import lightgbm as lgb train_data = lgb.Dataset(X_train, label=y_train.values.ravel(), free_raw_data=False) val_data = lgb.Dataset(X_val, label=y_val.values.ravel(), reference=train_data, free_raw_data=False) ``` 上述步骤完成了基于LightGBM工具链下的CICIDS2017数据集准备流程[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪个编程语言更好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值