StreamSpot数据集完整使用指南:网络异常检测实验数据详解
StreamSpot数据集是用于网络异常检测和边缘流分析的重要实验数据集合。该项目提供了包含600个正常和攻击场景图的完整数据集,专门为网络安全研究和机器学习模型训练设计。在本文中,我们将为您提供StreamSpot数据集的完整使用教程,帮助您快速上手并充分利用这些宝贵的数据资源。
🔍 数据集概览与核心价值
StreamSpot数据集包含三个主要数据集:ALL、YDC和GFC,涵盖了多种网络场景:
- ALL数据集:包含所有600个场景图的完整边数据
- YDC数据集:YouTube、Download、CNN场景的子集
- GFC数据集:GMail、VGame、CNN场景的子集
每个数据集都采用制表符分隔的格式,每行代表一条边,包含源节点ID、源节点类型、目标节点ID、目标节点类型、边类型和图ID等关键字段。
📁 项目结构与文件说明
项目采用简洁的文件结构:
sbustreamspot-data/
├── README.md # 项目说明文档
├── LICENSE # Apache-2.0开源协议
├── preprocess.py # 数据预处理脚本
└── all.tar.gz # 完整数据集压缩包
🛠️ 快速开始:数据处理流程
1. 获取项目代码
首先克隆项目到本地:
git clone https://gitcode.com/gh_mirrors/sb/sbustreamspot-data
cd sbustreamspot-data
2. 解压数据集
项目中的all.tar.gz文件包含了所有场景的原始数据:
tar -xzf all.tar.gz
3. 运行预处理脚本
preprocess.py是核心的数据处理脚本,执行以下命令进行数据预处理:
python preprocess.py <原始边数据文件>
4. 理解数据格式
预处理后的数据采用以下格式:
源节点ID 源节点类型 目标节点ID 目标节点类型 边类型 图ID
🔧 预处理脚本详解
preprocess.py脚本执行以下关键操作:
- 类型映射:将节点和边类型映射为单个字符表示
- 边合并:合并相同节点对间的连续边,避免重复
- ID调整:节点ID递增1(原始ID为-1的变为0)
- 时间戳移除:移除时间戳字段,保持数据简洁
📊 场景分类与图ID对应关系
数据集包含6种主要场景,每种场景对应100个图ID:
| 场景类型 | 图ID范围 | 描述 |
|---|---|---|
| YouTube | 0-99 | 正常视频流场景 |
| GMail | 100-199 | 正常邮件服务场景 |
| VGame | 200-299 | 正常游戏场景 |
| 下载攻击 | 300-399 | 恶意下载攻击场景 |
| Download | 400-499 | 正常下载场景 |
| CNN | 500-599 | 正常新闻浏览场景 |
💡 实用技巧与最佳实践
数据子集提取
您可以根据需要从ALL数据集中提取特定场景的子集:
- YDC子集:提取YouTube、Download、CNN场景数据
- GFC子集:提取GMail、VGame、CNN场景数据
自定义预处理
如果需要调整预处理逻辑,可以直接修改preprocess.py脚本中的映射规则或处理流程。
🎯 应用场景
StreamSpot数据集特别适用于:
- 网络安全研究:异常检测算法开发与验证
- 机器学习训练:构建和训练网络行为分类模型
- 学术实验:网络流分析相关学术研究
- 系统监控:网络行为模式识别与分析
📝 总结
StreamSpot数据集为网络异常检测研究提供了高质量的实验数据。通过简单的预处理步骤,您可以快速获得格式规范、便于分析的数据集。无论您是网络安全研究员、数据科学家还是学术研究者,这个数据集都能为您的项目提供有力的数据支持。
记住,理解数据结构和预处理逻辑是有效利用这些数据的关键。祝您研究顺利!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



