R&D · Research noteComplete

Network Intrusion Detection Model

Machine learning intrusion detection system, a full web application that classifies network traffic and flags attacks in real time.

CybersecurityMLIDSResearch
ScopeResearch
DomainCybersecurity
StatusComplete

Key metrics

2

Inference paths

Batch upload + ad hoc JSON

CSE-CIC

Dataset format

IDS2018-compatible features

API + UI

Delivery

Flask classifier + React dashboard

Research question

Detecting network intrusions and DoS attacks from raw traffic means classifying patterns across a large, imbalanced feature set. Most academic IDS projects stop at a notebook with an accuracy number; few wrap the model in something a security analyst could actually operate.

Method

A trained classifier on CSE-CIC-IDS2018-format traffic is served through a Flask API with two prediction paths: batch file upload (CSV/Parquet, with preprocessing for column cleaning, type coercion, and missing-value handling) and manual JSON for ad hoc checks.

A React dashboard shows attack distribution, severity breakdown, and live model status. An operable surface, not a notebook demo.

Architecture

  1. 01

    Jupyter training pipeline on CSE-CIC-IDS2018-format traffic features

  2. 02

    joblib-serialized scikit-learn classifier with saved feature-order metadata

  3. 03

    Flask REST API with preprocessing for messy real-world inputs

  4. 04

    React dashboard for attack distribution, severity, and live model status

Findings

  • Two independent prediction paths (file upload + JSON) aligned to the model's trained feature order via saved metadata
  • Preprocessing handles messy input: column cleaning, numeric coercion, inf/NaN handling, memory downcasting
  • Visual analytics dashboard (attack distribution, threat-level summary) on top of the classifier, not just a JSON response

Method details

Task
Network traffic classification, attack type detection
Dataset
CSE-CIC-IDS2018-compatible traffic features
Model
scikit-learn classifier (joblib-serialized), trained via Jupyter notebook pipeline
Delivery
Flask REST API + React dashboard

Stack

AI / ML
scikit-learnpandasNumPyimbalanced-learn
Backend
FlaskFlask-CORS
Frontend
React 18RechartsAxios

References

  • CSE-CIC-IDS2018 traffic feature format
  • scikit-learn + imbalanced-learn training stack

Applying this method in production?

Talk research → product