Skip to content
Back to skills

Netflow Nids Eval

ASecurity

Evaluates the generalizability and detection performance of machine learning classifiers for network intrusion detection when using a standardized NetFlow feature set across multiple benchmark datasets. It probes whether a common feature representation improves cross-dataset model accuracy and reduces false alarms compared to proprietary or basic NetFlow features. Use when the user wants to benchmark on NF-UNSW-NB15-v2, NF-BoT-IoT-v2, NF-ToN-IoT-v2, NF-CSE-CIC-IDS2018-v2, NF-UQ-NIDS-v2, or as...

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
researchpythonnodetestingperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill netflow-nids-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Netflow Nids Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Netflow Nids Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-netflow-nids-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-netflow-nids-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: netflow-nids-eval
description: Evaluates the generalizability and detection performance of machine learning classifiers for network intrusion detection when using a standardized NetFlow feature set across multiple benchmark datasets. It probes whether a common feature representation improves cross-dataset model accuracy and reduces false alarms compared to proprietary or basic NetFlow features. Use when the user wants to benchmark on NF-UNSW-NB15-v2, NF-BoT-IoT-v2, NF-ToN-IoT-v2, NF-CSE-CIC-IDS2018-v2, NF-UQ-NIDS-v2, or asks about evaluating this task. Reports accuracy.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2101.11315
  bibtex_key: [REDACTED]
  confidence: high
---

# netflow-nids-eval

> Towards a Standard Feature Set for Network Intrusion Detection System Datasets — Sarhan et al. (2021) (arXiv:2101.11315, 2021)

## What this evaluates

Evaluates the generalizability and detection performance of machine learning classifiers for network intrusion detection when using a standardized NetFlow feature set across multiple benchmark datasets. It probes whether a common feature representation improves cross-dataset model accuracy and reduces false alarms compared to proprietary or basic NetFlow features.

## Datasets

- **NF-UNSW-NB15-v2** — total ?; splits: train (-1), test (-1)
- **NF-BoT-IoT-v2** — total ?; splits: train (-1), test (-1)
- **NF-ToN-IoT-v2** — total ?; splits: train (-1), test (-1)
- **NF-CSE-CIC-IDS2018-v2** — total ?; splits: train (-1), test (-1)
- **NF-UQ-NIDS-v2** — total ?; splits: train (-1), test (-1)

## Metrics

- `accuracy` **(primary)** — range: [0, 1]
  - Proportion of correctly classified samples out of the total number of samples.
- `AUC` — range: [0, 1]
  - Area Under the Receiver Operating Characteristic Curve, measuring the model's ability to distinguish between classes across all classification thresholds.
- `F1 Score` — range: [0, 1]
  - Harmonic mean of precision and recall. For multi-class, the paper reports the weighted average.
- `Detection Rate (DR)` — range: [0, 1]
  - Recall or true positive rate for attack classes.
- `False Alarm Rate (FAR)` — range: [0, 1]
  - False positive rate, proportion of benign samples incorrectly classified as attacks.
- `Prediction Time (µs)` — range: other
  - Average time in microseconds required to predict a single test sample.

## Input / output format

**Input**: Vector of standardized NetFlow features (12 or 43 dimensions) extracted from network flows. Flow identifiers (IDs, IPs, ports, timestamps) are removed. Features are min-max normalized to [0, 1].

**Output**: Class label: either binary (Benign/Attack) or multi-class (specific attack types such as DoS, DDoS, Brute Force, etc.).

## Scoring recipe

```python
def compute_metrics(y_true, y_pred, y_proba=None):
    accuracy = (y_true == y_pred).mean()
    tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
    dr = tp / (tp + fn) if (tp + fn) > 0 else 0
    far = fp / (fp + tn) if (fp + tn) > 0 else 0
    precision = tp / (tp + fp) if (tp + fp) > 0 else 0
    f1 = 2 * precision * dr / (precision + dr) if (precision + dr) > 0 else 0
    auc = roc_auc_score(y_true, y_proba) if y_proba is not None else 0
    return accuracy, auc, f1, dr, far
```

## Common pitfalls

- Flow identifiers (IPs, ports, timestamps) must be dropped before training to prevent the model from learning dataset-specific node biases rather than attack patterns.
- TTL-based features are explicitly dropped for UNSW-NB15 due to extreme correlation with labels, which can cause data leakage or overfitting.
- Results are averaged over five cross-validation splits; reporting a single split will not match the paper's numbers.
- Min-max normalization to [0, 1] is applied to all features; skipping this will degrade performance and mismatch reported metrics.

## Evidence (verbatim from paper)

> The evaluation is conducted by comparing the classifier performance with the corresponding metrics of the basic NetFlow and original datasets. Various classification metrics are collected such as accuracy, Area Under the Curve (AUC), F1 Score, Detection Rate (DR), False Alarm Rate (FAR) and time required to predict a single test sample in microseconds (µs). ... The datasets have been split into 70%-30% for training and testing purposes. For a fair evaluation, five cross-validation splits are conducted and the mean is measured.

## Citation

```bibtex
@misc{sarhan2021netflow,
  title={Towards a Standard Feature Set for Network Intrusion Detection System Datasets},
  author={Sarhan et al. (2021)},
  year={2021},
  note={arXiv:2101.11315}
}
```

- arXiv: 2101.11315

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.