Evaluates machine learning models on hierarchical network traffic classification tasks, including top-level protocol identification and malware detection, as well as mid-level application and malware type classification. Use when the user wants to benchmark on VPN-nonVPN + $(\mathsf{Net})^2$ + CICIDS2017, or asks about evaluating this task. Reports Macro-average F1 score.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill mthl-network-traffic-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mthl Network Traffic Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-mthl-network-traffic-eval)More formats (shields.io, HTML) on the badges page.
---
name: mthl-network-traffic-eval
description: Evaluates machine learning models on hierarchical network traffic classification tasks, including top-level protocol identification and malware detection, as well as mid-level application and malware type classification. Use when the user wants to benchmark on VPN-nonVPN + $(\mathsf{Net})^2$ + CICIDS2017, or asks about evaluating this task. Reports Macro-average F1 score.
metadata:
skill_kind: dataset_eval
source_arxiv: 2106.03850
bibtex_key: barut2021mthl
confidence: high
---
# mthl-network-traffic-eval
> Multi-Task Hierarchical Learning Based Network Traffic Analytics — Barut et al. (2021) (arXiv:2106.03850, 2021)
## What this evaluates
Evaluates machine learning models on hierarchical network traffic classification tasks, including top-level protocol identification and malware detection, as well as mid-level application and malware type classification.
## Datasets
- **VPN-nonVPN + $(\mathsf{Net})^2$ + CICIDS2017** — total ?; splits: train (-1), validation (-1); repo https://github.com/ACANETS/NetML-Competition2020
## Metrics
- `Macro-average F1 score` **(primary)** — range: [0, 1]
- Computes the unweighted mean of the F1 score across all classes, providing a general insight for multi-class classification problems with imbalanced data.
## Input / output format
**Input**: Metadata features extracted from network flows (100+ engineered flow features).
**Output**: Hierarchical classification labels: top-level (protocol identification, malware detection) and mid-level (application classification, malware type classification).
## Scoring recipe
```python
def macro_f1(y_true, y_pred):
classes = sorted(set(y_true) | set(y_pred))
f1s = []
for c in classes:
tp = sum(1 for t, p in zip(y_true, y_pred) if t == c and p == c)
fp = sum(1 for t, p in zip(y_true, y_pred) if t != c and p == c)
fn = sum(1 for t, p in zip(y_true, y_pred) if t == c and p != c)
prec = tp / (tp + fp) if (tp + fp) > 0 else 0
rec = tp / (tp + fn) if (tp + fn) > 0 else 0
f1 = 2 * prec * rec / (prec + rec) if (prec + rec) > 0 else 0
f1s.append(f1)
return sum(f1s) / len(f1s)
```
## Common pitfalls
- The 20% split is explicitly labeled as a 'validation set' in the text but is used as the final evaluation set for baseline comparison.
- Only metadata features are used for all models, explicitly excluding protocol-specific features to expedite efficiency, which may limit performance compared to full-feature baselines.
- Macro-average F1 is chosen specifically to address class imbalance, meaning standard accuracy or micro-F1 would yield misleadingly high scores.
## Evidence (verbatim from paper)
> Macro-average F1 score is utilized to evaluate the performance since it provides more general insight for multi-class classification problems with imbalanced data. 80% of the training split is used to train the classifiers while the remaining 20% is reserved to for evaluation and referred as validation set.
## Citation
```bibtex
@misc{barut2021mthl,
title={Multi-Task Hierarchical Learning Based Network Traffic Analytics},
author={Barut et al. (2021)},
year={2021},
note={arXiv:2106.03850}
}
```
- arXiv: 2106.03850
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!