lacg030175/UNSW-NB15
收藏资源简介:
--- language: - en license: cc-by-4.0 size_categories: - 1M<n<10M task_categories: - tabular-classification tags: - network-intrusion-detection - cybersecurity - UNSW-NB15 - IDS - binary-classification - multi-class-classification pretty_name: UNSW-NB15 Network Intrusion Detection configs: - config_name: temporal_3way data_files: - split: train path: temporal_3way/train-* - split: test path: temporal_3way/test-* - split: validation path: temporal_3way/validation-* default: true - config_name: random_3way data_files: - split: train path: random_3way/train-* - split: test path: random_3way/test-* - split: validation path: random_3way/validation-* - config_name: temporal data_files: - split: train path: temporal/train-* - split: test path: temporal/test-* - config_name: standard data_files: - split: train path: standard/train-* - split: test path: standard/test-* - config_name: random data_files: - split: train path: random/train-* - split: test path: random/test-* --- # UNSW-NB15 Network Intrusion Detection Dataset The [UNSW-NB15](https://research.unsw.edu.au/projects/unsw-nb15-dataset) dataset for network intrusion detection, provided with **two evaluation protocols** to enable fair comparison across the literature. ## Why This Dataset Exists Published results on UNSW-NB15 range from **85% to 99% accuracy** — but the gap is almost entirely due to **evaluation protocol differences**, not model quality: | Evaluation Protocol | Typical Accuracy | Example Papers | |---|---|---| | **Standard split** (temporal, 175K/82K) | 85–93% | Most published results | | **Random split** (from full 2.28M records) | 97–99.6% | FWIW, some deep learning papers | The random split achieves higher accuracy because: 1. **30% of records are duplicates** — random splitting leaks near-identical flows into both train and test 2. **No temporal shift** — the standard split has temporal separation between training and testing periods Both protocols are valid for different purposes: - **Standard split**: Realistic deployment scenario (train on past, test on future) - **Random split**: Maximum model comparison (controls for temporal shift) ## Configurations ### `temporal` (default) — Original Temporal Split > **Note:** `standard` is an alias for `temporal` — both load the same data. The official train/test CSV files from UNSW-NB15, containing **44 features** (all features except `id`). ```python from datasets import load_dataset ds = load_dataset("lacg030175/UNSW-NB15", "temporal") # or "standard" (alias) # ds["train"]: 175,341 rows # ds["test"]: 82,332 rows ``` - Source: `UNSW_NB15_training-set.csv` and `UNSW_NB15_testing-set.csv` - Used by most published papers for benchmarking - Temporal separation between train and test periods ### `random` — Deduplicated Random Split Full dataset (2.28M records) with duplicates removed, split 80/20 with `random_state=0` and stratified by label. Contains **49 features** including IP addresses and ports. ```python from datasets import load_dataset ds = load_dataset("lacg030175/UNSW-NB15", "random") # ds["train"]: 1,425,833 rows # ds["test"]: 158,426 rows ``` - Source: All four raw UNSW-NB15 CSV files via [Mouwiya/UNSW-NB15](https://huggingface.co/datasets/Mouwiya/UNSW-NB15) - Preprocessing: `drop_duplicates()` reduces 2,280,090 → 1,584,259 records - Split: `train_test_split(test_size=0.1, random_state=0, stratify=label)` - Comparable to FWIW evaluation protocol (Susskind et al., 2023) ## Baseline Results | Model | Standard Split | Random Split | |---|---|---| | Random Forest | 87.2% | 99.6% | | XGBoost | 87.3% | 99.4% | | FWIW WNN (paper) | — | 98.5% | ## Labels - **Binary** (`label`): 0 = Normal, 1 = Attack - **Multi-class** (`attack_cat`): Normal, Analysis, Backdoor, DoS, Exploits, Fuzzers, Generic, Reconnaissance, Shellcode, Worms ### Class Distribution **Standard split (train):** - Normal: 56,000 (32%) | Attack: 119,341 (68%) **Random split (after dedup):** - Normal: 1,523,904 (96%) | Attack: 60,355 (4%) ## Features Both configs include flow-level network features: | Category | Features | Examples | |---|---|---| | Flow | 6 | dur, proto, state, service, sbytes, dbytes | | Content | 8 | sttl, dttl, sloss, dloss, sload, dload, Spkts, Dpkts | | Time | 6 | Sjit, djit, Sintpkt, Dintpkt, tcprtt, synack | | Additional | 13 | ct_srv_src, ct_dst_ltm, is_sm_ips_ports, ... | | Generated | 5+ | trans_depth, res_bdy_len, swin, dwin, ... | The `random` config additionally includes: `srcip`, `dstip`, `sport`, `dsport`, `Stime`, `Ltime`. ## Citation If you use this dataset, please cite the original UNSW-NB15 paper: ```bibtex @inproceedings{moustafa2015unswnb15, title={UNSW-NB15: A Comprehensive Data Set for Network Intrusion Detection Systems}, author={Moustafa, Nour and Slay, Jill}, booktitle={Military Communications and Information Systems Conference (MilCIS)}, year={2015}, organization={IEEE} } ``` ## License The original UNSW-NB15 dataset is provided under CC BY 4.0 by the University of New South Wales. This reformatted version preserves the original license.
--- 语言: - 英语 许可证:CC BY 4.0 数据规模: - 100万 < 数据量 < 1000万 任务类别: - 表格分类 标签: - 网络入侵检测(Network Intrusion Detection) - 网络安全 - UNSW-NB15 - 入侵检测系统(Intrusion Detection System, IDS) - 二分类 - 多分类 可视化名称:UNSW-NB15网络入侵检测数据集 配置项: - 配置名称:temporal_3way 数据文件: - 划分集:训练集 路径:temporal_3way/train-* - 划分集:测试集 路径:temporal_3way/test-* - 划分集:验证集 路径:temporal_3way/validation-* 默认配置:是 - 配置名称:random_3way 数据文件: - 划分集:训练集 路径:random_3way/train-* - 划分集:测试集 路径:random_3way/test-* - 划分集:验证集 路径:random_3way/validation-* - 配置名称:temporal 数据文件: - 划分集:训练集 路径:temporal/train-* - 划分集:测试集 路径:temporal/test-* - 配置名称:standard 数据文件: - 划分集:训练集 路径:standard/train-* - 划分集:测试集 路径:standard/test-* - 配置名称:random 数据文件: - 划分集:训练集 路径:random/train-* - 划分集:测试集 路径:random/test-* --- # UNSW-NB15网络入侵检测数据集 本[UNSW-NB15](https://research.unsw.edu.au/projects/unsw-nb15-dataset)数据集用于网络入侵检测任务,提供**两种评估协议**以支持学术界的公平对比研究。 ## 本数据集的研发背景 已发表的UNSW-NB15相关研究的准确率区间为**85%至99%**,但这一差距几乎完全源于**评估协议的差异**,而非模型性能本身: | 评估协议 | 典型准确率 | 相关论文示例 | |---|---|---| | **标准划分(时序划分,训练集17.5万/测试集8.2万)** | 85–93% | 绝大多数已发表研究 | | **随机划分(基于全部228万条记录)** | 97–99.6% | 部分深度学习相关研究 | 随机划分能获得更高准确率的原因如下: 1. **30%的记录存在重复**——随机划分会将近乎一致的网络流同时泄露至训练集与测试集 2. **无时序偏移**——标准划分的训练集与测试集来自不同的时间区间 两种协议适用于不同的研究场景: - **标准划分**:贴合真实部署场景(基于历史数据训练,未来数据测试) - **随机划分**:用于最大化模型对比的公平性(消除时序偏移的影响) ## 数据集配置 ### `temporal`(默认配置)—— 原始时序划分 > **注意**:`standard` 是 `temporal` 的别名,二者加载的数据集完全一致。 采用UNSW-NB15官方提供的训练/测试CSV文件,包含**44个特征**(除`id`外的全部特征)。 python from datasets import load_dataset ds = load_dataset("lacg030175/UNSW-NB15", "temporal") # 或使用别名 "standard" # 训练集:175,341条数据 # 测试集:82,332条数据 - 数据源:`UNSW_NB15_training-set.csv` 与 `UNSW_NB15_testing-set.csv` - 绝大多数已发表的基准测试研究均采用该划分 - 训练集与测试集来自不同的时间区间,存在时序分离 ### `random` — 去重随机划分 基于全部228万条记录去重后得到的完整数据集,以`random_state=0`为随机种子按标签分层采样,按80/20比例划分为训练集与测试集。包含**49个特征**,其中包含IP地址与端口信息。 python from datasets import load_dataset ds = load_dataset("lacg030175/UNSW-NB15", "random") # 训练集:1,425,833条数据 # 测试集:158,426条数据 - 数据源:通过[Mouwiya/UNSW-NB15](https://huggingface.co/datasets/Mouwiya/UNSW-NB15)获取的全部4份原始UNSW-NB15 CSV文件 - 预处理步骤:通过`drop_duplicates()`将原始记录从2,280,090条精简至1,584,259条 - 划分方式:`train_test_split(test_size=0.1, random_state=0, stratify=label)` - 该划分与FWIW评估协议(Susskind等人,2023)一致 ## 基准测试结果 | 模型 | 标准划分准确率 | 随机划分准确率 | |---|---|---| | 随机森林 | 87.2% | 99.6% | | XGBoost | 87.3% | 99.4% | | FWIW WNN(论文原文) | — | 98.5% | ## 标签说明 - **二分类标签(`label`)**:0代表正常流量,1代表攻击流量 - **多分类标签(`attack_cat`)**:正常流量、分析类攻击、后门攻击、拒绝服务攻击(DoS)、漏洞利用攻击、模糊测试攻击、通用攻击、侦察攻击、壳代码攻击、蠕虫攻击 ### 类别分布 **标准划分训练集:** - 正常流量:56,000条(32%) | 攻击流量:119,341条(68%) **去重后的随机划分:** - 正常流量:1,523,904条(96%) | 攻击流量:60,355条(4%) ## 特征说明 两种配置均包含流级网络特征: | 特征类别 | 特征数量 | 示例特征 | |---|---|---| | 流特征 | 6 | dur、proto、state、service、sbytes、dbytes | | 内容特征 | 8 | sttl、dttl、sloss、dloss、sload、dload、Spkts、Dpkts | | 时间特征 | 6 | Sjit、djit、Sintpkt、Dintpkt、tcprtt、synack | | 附加特征 | 13 | ct_srv_src、ct_dst_ltm、is_sm_ips_ports 等 | | 生成特征 | 5+ | trans_depth、res_bdy_len、swin、dwin 等 | `random`配置额外包含以下特征:`srcip`(源IP地址)、`dstip`(目的IP地址)、`sport`(源端口)、`dsport`(目的端口)、`Stime`(流开始时间)、`Ltime`(流结束时间)。 ## 引用声明 若使用本数据集,请引用原始UNSW-NB15论文: bibtex @inproceedings{moustafa2015unswnb15, title={UNSW-NB15: A Comprehensive Data Set for Network Intrusion Detection Systems}, author={Moustafa, Nour and Slay, Jill}, booktitle={Military Communications and Information Systems Conference (MilCIS)}, year={2015}, organization={IEEE} } ## 许可证 原始UNSW-NB15数据集由新南威尔士大学以CC BY 4.0协议发布。本重新整理的版本保留了原有的许可证协议。



