Network Intrusion Detection Model
Machine learning intrusion detection system, a full web application that classifies network traffic and flags attacks in real time.
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
- 01
Jupyter training pipeline on CSE-CIC-IDS2018-format traffic features
- 02
joblib-serialized scikit-learn classifier with saved feature-order metadata
- 03
Flask REST API with preprocessing for messy real-world inputs
- 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
References
- CSE-CIC-IDS2018 traffic feature format
- scikit-learn + imbalanced-learn training stack