Skip to content

DDoS-Detector v4.0 — Genetic Algorithm Feature Selection and Analysis Expansion

Choose a tag to compare

@BrenoFariasdaSilva BrenoFariasdaSilva released this 22 Dec 11:30
· 2348 commits to main since this release

Version v4.0 significantly expands DDoS-Detector’s feature-analysis capabilities by introducing a Genetic Algorithm–based feature selection pipeline. This release completes the evolution started in v3.0, moving beyond deterministic feature ranking (RFE) into stochastic, population-based optimization using DEAP.

With the addition of genetic_algorithm.py, the project now supports multiple, complementary feature-selection strategies under a unified experimental framework. The GA pipeline integrates dataset preprocessing, fitness evaluation with multi-metric outputs, result consolidation, visualization, and optional external notifications, reinforcing the project’s focus on reproducible and extensible research workflows.

In parallel, this release consolidates documentation quality across all major modules (main.py, dataset_descriptor.py, rfe.py) and extends the Makefile to expose the new GA workflow as a first-class execution target.

Changelog

Added

Genetic Algorithm Feature Selection (genetic_algorithm.py)

  • DEAP-based binary-mask Genetic Algorithm for feature selection
  • End-to-end pipeline:
    • Safe CSV loading and numeric feature filtering
    • Feature scaling and GA population initialization
    • Fitness evaluation using RandomForest (default)
  • Multi-metric fitness evaluation:
    • Accuracy, precision, recall, F1-score
    • False Positive Rate (FPR) and False Negative Rate (FNR)
  • Consolidated results export to:
    • Feature_Analysis/Genetic_Algorithm_Results.csv
  • Automatic generation of feature statistics and boxplots
  • Optional runtime monitoring and Telegram progress notifications
  • Designed for extensibility (population sweeps, multiple runs)

RFE Module Completion (rfe.py)

  • Finalized functional implementation:
    • Safe path handling and filename sanitization
    • Top-feature analysis utilities
    • Unified execution via run_rfe
  • Optional sound feedback on completion
  • Fully documented public API

Improved / Refactored

  • Standardized and expanded function-level documentation in:
    • main.py
    • dataset_descriptor.py
    • rfe.py
  • Improved consistency in module structure and comments
  • Makefile extended with:
    • genetic_algorithm execution rule
  • Documentation cleanup and alignment with current project scope

Project Evolution

  • Feature selection elevated to a core research dimension:
    • Deterministic approach: Recursive Feature Elimination (RFE)
    • Stochastic approach: Genetic Algorithm (GA)
  • Clear separation of concerns across modules:
    • main.py: model training, evaluation, explainability
    • dataset_descriptor.py: dataset inspection and compatibility analysis
    • rfe.py: deterministic feature ranking
    • genetic_algorithm.py: evolutionary feature optimization
  • Foundation laid for comparative studies between feature-selection strategies

v4.0 marks a major milestone for DDoS-Detector, transforming it into a feature-selection experimentation platform capable of supporting advanced research in DDoS detection, model optimization, and dataset analysis.

Full Changelog: v3.0-rfe.py...v4.0-genetic_algorithm.py