Ousmane-Tr25/network-traffic-analysis-ml

GitHub: Ousmane-Tr25/network-traffic-analysis-ml

基于 Random Forest 和特征工程对合成 5G 网络流量进行多类别分类的机器学习 pipeline 项目。

Stars: 0 | Forks: 0

# 基于机器学习的网络流量分析 这是一个机器学习项目,旨在将合成的网络流记录分类为以下流量类别:**IoT**、**video**、**interactive** 和 **web**。 该项目非常适合作为数据科学家/ML 工程师的作品集,因为它结合了电信背景、特征工程、模型训练、评估指标、混淆矩阵可视化、Docker 和 CI。 ## 问题 在 5G 网络中,流量分类可以支持网络切片决策。不同的应用需要不同的资源配置: - IoT:低带宽,大量的小型流; - video:高吞吐量和长会话; - interactive:低延迟和频繁的包交换; - web:混合流量。 ## 已实现功能 - 具有真实网络流特征的合成流生成器。 - 特征:持续时间、数据包数、字节数、平均数据包大小、到达间隔时间、下行/上行比例和吞吐量。 - Random Forest 分类器。 - Accuracy 和 macro-F1 评估。 - 分类报告。 - 混淆矩阵图。 - 特征重要性图。 - 自动化测试和 Docker 支持。 ## 快速开始 ``` python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt pip install -e . python scripts/run_experiment.py ``` 结果保存在 `results/` 目录中: ``` synthetic_network_flows.csv classification_metrics.csv classification_report.txt confusion_matrix.csv confusion_matrix.png feature_importance.csv feature_importance.png ``` ## Docker ``` docker build -t network-traffic-analysis-ml . docker run --rm network-traffic-analysis-ml ``` ## 作品集总结 本项目展示了监督学习、电信流量分析、特征工程、模型评估以及可复现的 ML 工作流。 ## 未来改进 - 使用来自 Wireshark 或 CIC 数据集的真实数据包/流数据。 - 添加 XGBoost/LightGBM 对比。 - 为可疑流量添加异常检测。 - 使用 FastAPI 将分类器导出为一个小型 API。 ## 结果预览 本实验使用特征工程和 Random Forest 分类器,将合成的网络流量划分为多个流量类别。 ### 分类指标 | 指标 | 数值 | |---|---:| | Accuracy | 1.000 | | Macro F1-score | 1.000 | 该数据集是合成的,旨在刻意展示一个清晰且可复现的机器学习 pipeline。 未来版本可以通过真实的捕获数据包、Wireshark 导出文件或公共网络流量数据集进行扩展。 ### 混淆矩阵 ![混淆矩阵](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/44ba42e8d8042349.png) ### 特征重要性 ![特征重要性](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b408c35788042356.png)
标签:5G网络, Apex, 数据科学, 机器学习, 特征工程, 网络流量分析, 请求拦截, 资源验证, 逆向工具, 随机森林