feat: implement reproducible PROTEAN baseline pipeline

This commit is contained in:
willtanoe committed 2026-09-24 17:39:00 +00:00
1 parent 2cc6a9859e
commit 0aa8e2ba79
93 files changed
+8173 -658

No files matched your search

+24 -4
View File
@@ -13,6 +13,13 @@
# All preprocessed caches, partitions, manifests, checkpoints and analysis
# outputs must be written under `generated_root` (default: artifacts/), never
# back into the raw dataset directory.
#
# PREPROCESSING CONTRACT (frozen 2026-09-24, see docs/research/EXPERIMENT_PROTOCOL.md)
# * `categorical_columns` are one-hot encoded with categories fitted on the
# TRAIN split only; an explicit "__MISSING__" category is added.
# * every other feature column is coerced to numeric (missing tokens -> NaN),
# median-imputed and standardized using TRAIN statistics only.
# * `non_feature_columns`, the label column and its aliases are never features.
generated_root: artifacts
@@ -30,7 +37,13 @@ datasets:
drop_labels:
- crypto-ransomware
# '-' is the dataset's documented missing placeholder, not an empty string.
missing_tokens: ["-", "?"]
missing_tokens: ["-", "?", "#DIV/0!", "aza"]
drop_duplicate_rows: true
# Feature columns that must be treated as categorical (one-hot).
categorical_columns:
- Protocol
- Service
- anomaly_alert
# Columns that are identifiers / timestamps / network endpoints and must NOT
# be used as model features without an explicit, documented decision.
non_feature_columns:
@@ -42,7 +55,7 @@ datasets:
- Des_port
notes: >
Row-level missing placeholders ('-') and a small number of malformed tokens
(e.g. '?', 'aza') exist. Exact duplicate rows are present. See
(e.g. '?', 'aza', '#DIV/0!') exist. Exact duplicate rows are present. See
docs/research/DATASET_INSPECTION.md.
5gnidd:
@@ -57,9 +70,16 @@ datasets:
benign_label: Benign
drop_labels: []
missing_tokens: [""]
# First column is an unnamed row index. Seq / Offset are flow-ordering fields.
drop_duplicate_rows: true
categorical_columns:
- Proto
- sDSb
- dDSb
- Cause
- State
# The first column is an unnamed row index. Seq / Offset are flow-ordering fields.
non_feature_columns:
- ""
- "Unnamed: 0"
- Seq
- Offset
notes: >