nids-deployment / README.md
Alaudeen's picture
Update ML Intern artifact metadata
2616304 verified

A newer version of the Gradio SDK is available: 6.14.0

Upgrade
metadata
title: Network Intrusion Detection System
colorFrom: blue
colorTo: red
sdk: gradio
sdk_version: 4.0.0
app_file: app.py
pinned: false
license: mit
tags:
  - ml-intern

πŸ›‘οΈ Network Intrusion Detection System (NIDS)

Real-time network intrusion detection using ML & Deep Learning models trained on the NSL-KDD dataset.

Models

  • XGBoost (best) β€” Accuracy 76.18%, AUC-ROC 95.75%
  • Random Forest β€” Accuracy 73.10%, AUC-ROC 95.34%
  • MLP β€” Deep learning baseline
  • Autoencoder β€” Unsupervised anomaly detection
  • LSTM β€” Sequential feature modeling
  • Transformer β€” FlowTransformer-style architecture

Dataset

NSL-KDD β€” 185K records, 41 features, binary classification (normal/anomaly)

Usage

REST API (FastAPI)

pip install fastapi uvicorn
uvicorn api:app --host 0.0.0.0 --port 8000

Endpoints:

  • GET /health β€” Health check
  • GET /models β€” List models
  • POST /predict β€” Single flow detection
  • POST /predict/batch β€” Batch detection
  • GET /stats β€” Usage statistics

Gradio UI

python app.py

API Example

curl -X POST http://localhost:8000/predict \
  -H "Content-Type: application/json" \
  -d '{"features":[0,1,45,0,491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,2,2,0,0,0,0,1,0,0,0,0.17], "model":"XGBoost"}'

Results

Model Accuracy Macro F1 AUC-ROC Type
XGBoost 76.18% 76.04% 95.75% Supervised
RandomForest 73.10% 73.05% 95.34% Supervised
MLP 73.28% 73.21% 89.33% Supervised
Autoencoder 71.84% 71.34% 73.60% Unsupervised
LSTM 70.65% 70.58% 87.80% Unsupervised
Transformer 57.94% 57.26% 80.29% Supervised
IsolationForest 56.55% 55.96% 65.24% Unsupervised

Project Structure

nids_project/
β”œβ”€β”€ api.py           # FastAPI REST API
β”œβ”€β”€ app.py           # Gradio web UI (this Space)
β”œβ”€β”€ data_loader.py   # Dataset loading
β”œβ”€β”€ ml_models.py     # ML implementations
β”œβ”€β”€ dl_models.py     # DL implementations
β”œβ”€β”€ realtime.py      # Real-time pipeline
β”œβ”€β”€ realtime_batch.py # Batch throughput benchmark
β”œβ”€β”€ Dockerfile       # Container image
└── requirements.txt # Dependencies