ephremkadja01-coder/DATACODE-TRAIN
GitHub: ephremkadja01-coder/DATACODE-TRAIN
基于UNSW-NB15数据集构建机器学习pipeline,通过EDA、特征工程和模型优化实现网络入侵流量的精准分类。
Stars: 1 | Forks: 0
# Cyber-IDS 项目:基于 UNSW-NB15 使用 Machine Learning 进行网络入侵检测
## 项目简介
本代码库汇集了基于 UNSW-NB15 数据集进行网络入侵检测项目的相关成果。
目标是设计一个 Machine Learning 模型,能够精确识别不同类型的网络流量,无论是合法流量还是恶意流量。
该项目同时也作为实践平台,用于试验高级的 Feature Engineering、数据分析和分类模型优化技术。
主要评估指标:Accuracy。
## 团队组织
为了加快实验速度并充分发挥每位成员的技能,我们对工作进行了分工。
### 探索性数据分析
职责:
* 分析类别分布
* 分析正常流量与攻击流量之间的不平衡性
* 识别最具信息量的变量
* 分析预测误差
* 分析混淆矩阵
### 特征工程
职责:
* 数据清洗与准备
* 类别变量编码
* 创建具有区分度的新变量
* 降低数据中的噪声
* 改善类别之间的分离度
### Machine Learning 与优化
职责:
* 实施交叉验证
* 处理类别不平衡问题
* 训练模型
* 超参数优化
* 生成提交文件
测试的模型:
* CatBoost
* LightGBM
* XGBoost
## 项目结构
```
Cyber-IDS/
│
├── data/
│ ├── train.csv
│ ├── test.csv
│ └── validation.csv
│
├── notebooks/
│ ├── 1_eda_proportions.ipynb
│ ├── 2_feature_generation.ipynb
│ └── 3_ml_accuracy_opt.ipynb
│
├── src/
│ └── utils.py
│
└── README.md
```
## 工作 Pipeline
1. 数据探索与理解
2. 变量清洗与准备
3. 创建新特征
4. 交叉验证与实验
5. 模型优化
6. 生成最终预测
7. 性能分析
## 使用的技术
* Python
* Pandas
* NumPy
* Scikit-Learn
* CatBoost
* LightGBM
* XGBoost
* Matplotlib
* Seaborn
* Jupyter Notebook
## 技术目标
* 理解网络流量的特征
* 有效检测恶意活动
* 减少分类错误
* 构建可复现的 pipeline
* 通过 Feature Engineering 提升性能
* 对比多种 Machine Learning 算法
## 结果
实验主要侧重于:
* Feature Engineering 的影响
* 类别不平衡问题的处理
* CatBoost、LightGBM 和 XGBoost 之间的对比
* Accuracy 的逐步提升
获得的实验结果和最佳配置将在实验过程中逐步记录并形成文档。
标签:Apex, NoSQL, Python, 数据科学, 无后门, 机器学习, 特征工程, 网络安全, 资源验证, 逆向工具, 隐私保护