Back to home

Project 06 of 06

NetGuard IDS

Network intrusion detection and data analysis

PythonPandasNumPyMatplotlibSeabornSciPyJupyter
records analysed
488K
records analysed
raw features
80
raw features
peak correlation
0.9951
peak correlation
duplicate rows
28.56%
duplicate rows

Architecture

4 stages
netguard-idssignal flow
Raw IDS CSVPandas EDAStats & VizHypothesis
Readout

Network intrusion detection and data analysis

Overview

1 min read

NetGuard IDS is an end-to-end data science pipeline applied to a real-world intrusion detection dataset of 488,000 network traffic records across 80 features, aimed at distinguishing benign traffic from infiltration attempts. The pipeline starts with a full data wrangling pass: removing NaN values, detecting and handling duplicates (28.56% of the raw dataset), and narrowing the feature set down to 16 key columns most relevant to classification.

Exploratory analysis includes a Pearson correlation heatmap that surfaced a 0.9951 correlation between Packet Length Mean and Average Packet Size, flagging a redundant feature before any modelling began and preventing wasted model capacity downstream. A Welch's t-test on Flow Duration returned a p-value of 0.4736, showing that no single feature could reliably separate the two traffic classes on its own and motivating a multi-feature machine learning approach rather than a naive threshold rule.

The project treats statistical rigor as a prerequisite to modelling: every feature-selection and preprocessing decision is backed by an explicit test rather than intuition.

Highlights

3 items

  1. 01Full data wrangling pipeline: NaN removal, duplicate detection (28.56%), and feature selection down to 16 key columns
  2. 02Pearson correlation heatmap revealing 0.9951 overlap between Packet Length Mean and Average Packet Size, flagging redundant features before modelling
  3. 03Welch's t-test on Flow Duration (p=0.4736) showing single-feature classification is insufficient, motivating a multi-feature ML approach