DDoS-Detector v9.0 — Feature Selection Consolidation, Stacking Evaluation, and Hyperparameter Optimization Overhaul
Version v9.0 marks a major architectural and experimental milestone for DDoS-Detector, transitioning the project from isolated feature-selection experiments into a fully integrated, reproducible, and scalable machine learning evaluation framework.
This release consolidates Genetic Algorithm (GA), Recursive Feature Elimination (RFE), and Principal Component Analysis (PCA) into a unified workflow and introduces a dedicated hyperparameter optimization pipeline tightly coupled to explainable feature selection. The new architecture enables systematic comparison of individual classifiers, stacking ensembles, and optimized models under strict experimental control, making the framework suitable for thesis-level studies and large-scale benchmarking.
Key highlights of v9.0 include:
-
Stacking-Based Evaluation Pipeline:
- Replacement of legacy combination logic with a dedicated
stacking.pyorchestrator - Unified evaluation of individual classifiers and stacked ensembles
- Seamless integration of GA-, RFE-, and PCA-derived feature subsets
- Replacement of legacy combination logic with a dedicated
-
Hyperparameter Optimization Framework:
- Introduction of a standalone optimization pipeline using GridSearchCV
- Optimization driven by GA-selected feature subsets
- Dataset-isolated results with multi-class weighted F1-score optimization
-
Reproducibility and Performance Improvements:
- Deterministic outputs for GA, PCA, and RFE pipelines
- Standardized CSV schemas enabling downstream automation
- Resource-aware execution with explicit control over threads, processes, and memory usage
Overall, v9.0 lays the foundation for robust experimental studies, ensuring reproducibility, traceability, and extensibility across all stages of DDoS detection model evaluation.
Changelog
Added
stacking.pyimplementing a full Stacking Classifier Evaluation Pipeline- Unified feature ingestion from GA, RFE, and PCA
- Evaluation support for:
- Individual classifiers
- Stacked ensemble classifiers
- PCA-based feature representations
- Hyperparameter Optimization module (
hyperparameter_optimization.py)- GridSearchCV-based optimization
- GA-driven feature selection
- Weighted multi-class F1-score objective
- Per-dataset result isolation
- PCA object serialization and reuse to avoid redundant computation
- Dataset metadata enrichment via
dataset_descriptor.py
Improved
- Standardized CSV output schemas across GA, PCA, RFE, stacking, and optimization pipelines
- Deterministic GA outputs consolidated into a single, reproducible CSV
- Enforced deterministic behavior in RFE by removing multiple-run support
- Modularized pipelines with clearer separation of:
- Data loading and preprocessing
- Feature subset preparation
- Model evaluation
- Result persistence
- Enhanced progress bars with:
- Generation-level updates
- Per-individual tracking
- Dataset-aware descriptions
- Improved PCA handling with:
- Component validation
- Cache path standardization
- Verbose cache-loading feedback
- Removed TelegramBot integration from critical execution paths to improve stability
Fixed
- Missing imports and runtime warnings across GA and stacking pipelines
- Async/sync mismatches and unawaited coroutine warnings
- RFE feature parsing errors caused by CSV string representations
- NumPy-to-Python type serialization issues in CSV outputs
- PCA cache path mismatches between PCA and stacking modules
- Model evaluation failures caused by non-numeric features and undefined variables
Removed / Cleanup
- Deprecated TSNE metrics from dataset descriptors
- Unused libraries, dead code paths, and obsolete visualization logic
- Legacy Makefile targets and redundant dependencies
- Redundant imports and inconsistent code ordering across modules
Breaking Changes
combination.pyfully replaced bystacking.py- RFE no longer supports multiple runs (now strictly deterministic)
- GA, PCA, and RFE outputs must follow new mandatory CSV schemas
- PCA cache directory structure has changed
- TelegramBot notifications are no longer part of the default execution flow
Intended Impact
Release v9.0 transforms DDoS-Detector from a collection of loosely coupled feature-selection scripts into a cohesive, research-grade experimental framework, enabling:
- Academic research with strong reproducibility guarantees
- Large-scale classifier and ensemble benchmarking
- Stacking-based DDoS detection studies
- Hyperparameter optimization grounded in explainable feature selection
This version serves as the architectural backbone for subsequent releases, experimental chapters, and advanced case studies.
v9.0 establishes DDoS-Detector as a robust, extensible platform for cutting-edge DDoS detection research, empowering users to conduct systematic evaluations with confidence in their results.
Full Changelog: v8.0-stacking.py...v9.0-hyperparameters_optimization.py