Skip to content

bitarah/telecom-network-monitor

Repository files navigation

πŸ›œ 5G Network Monitor - ML Analytics Platform

ML-powered real-time network monitoring and analytics for telecommunications engineers

Live Demo ML Models License

A full-stack ML application showcasing real-time 5G network performance monitoring with machine learning-powered anomaly detection, coverage classification, and predictive analytics.

🎯 Project Overview

This project demonstrates end-to-end ML engineering skills for the telecommunications industry:

  • Real Network Data: Uses Ookla Open Data + synthetic 5G KPIs (RSRP, RSRQ, SINR, CQI)
  • Production ML Models: Anomaly detection, coverage classification, time-series forecasting
  • Dual Platform Deployment: React dashboard (GitHub Pages) + Gradio ML app (HuggingFace Spaces)
  • Interactive Visualizations: Real-time charts, geographic heatmaps, performance analytics

✨ Key Features

πŸ“Š React Dashboard

  • Real-time Metrics: Live throughput, latency, signal strength, network quality
  • Time-Series Analysis: Interactive Chart.js visualizations of network performance
  • Geographic Coverage: City-by-city network performance mapping
  • Hourly Analytics: Performance trends by time of day
  • Dark Mode: Professional UI with Material-UI

πŸ€– ML Analytics (Gradio)

  • Anomaly Detection: Isolation Forest model detecting network issues (5% contamination threshold)
  • Coverage Classifier: Random Forest predicting signal quality (99.95% accuracy)
  • KPI Prediction: LSTM forecasting throughput/latency (MAE: 2.3 Mbps)
  • Interactive Demos: Try ML models with custom network parameters

πŸ—οΈ Architecture

β”œβ”€β”€ frontend/              # React + Vite dashboard
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/   # Chart components, metrics cards
β”‚   β”‚   └── App.jsx       # Main dashboard
β”‚   └── public/           # Data files (JSON)
β”‚
β”œβ”€β”€ gradio-app/           # ML analytics app
β”‚   β”œβ”€β”€ app.py           # Gradio interface
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ ml/                   # Machine learning models
β”‚   β”œβ”€β”€ anomaly_detector.py    # Isolation Forest
β”‚   β”œβ”€β”€ coverage_classifier.py # Random Forest
β”‚   β”œβ”€β”€ kpi_predictor.py       # LSTM predictor
β”‚   └── models/               # Trained models (.pkl)
β”‚
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ raw/              # Original datasets
β”‚   └── processed/        # Cleaned data
β”‚
└── scripts/              # Data processing utilities

πŸš€ Quick Start

Prerequisites

  • Docker Option: Docker Desktop
  • Manual Option: Python 3.9+, Node.js 18+, npm or yarn

Option A: Docker (Recommended - Easiest Setup)

Just run one command to start everything:

./start.sh

This will:

  • Build and start the React dashboard at http://localhost:5173
  • Build and start the Gradio ML app at http://localhost:7860
  • Show backend logs in the terminal

To stop:

./stop.sh

Note: ML models and data must be generated first (see step 2 in Manual Setup below if starting fresh).


Option B: Manual Setup

1. Clone Repository

git clone https://github.com/YOUR-USERNAME/telecom-network-monitor.git
cd telecom-network-monitor

2. Generate Data & Train Models

# Install Python dependencies
pip install -r requirements.txt

# Generate synthetic network data
python scripts/create_synthetic_data.py

# Train ML models
python ml/anomaly_detector.py
python ml/coverage_classifier.py
python ml/kpi_predictor.py

# Prepare data for frontend
python scripts/prepare_frontend_data.py

3. Run React Dashboard

cd frontend
npm install
npm run dev

Visit http://localhost:5173 to see the dashboard!

4. Run Gradio ML App

cd gradio-app
pip install -r requirements.txt
python app.py

Visit http://localhost:7860 for interactive ML analytics!

πŸ“Š Machine Learning Models

Anomaly Detection

  • Algorithm: Isolation Forest
  • Features: RSRP, RSRQ, SINR, CQI, throughput, latency, packet loss
  • Performance: Detects 5% of samples as anomalies
  • Use Case: Real-time network health monitoring

Coverage Classifier

  • Algorithm: Random Forest (100 trees)
  • Classes: Excellent, Good, Fair, Poor
  • Accuracy: 99.95%
  • F1 Score: 0.9995
  • Top Features: RSRQ (41%), SINR (25%), RSRP (19%)

KPI Predictor

  • Algorithm: LSTM (2 layers, 64/32 units)
  • Target: Throughput & latency forecasting
  • MAE: ~2.3 Mbps
  • Use Case: Predictive capacity planning

πŸ“ˆ Datasets

Ookla Open Data

  • Source: teamookla/ookla-open-data
  • Metrics: Download/upload speed, latency
  • Coverage: Global network performance tiles
  • Usage: Geographic analysis, baseline performance

5G Synthetic Dataset

  • Based on: Irish 5G Dataset schema
  • Samples: 50,000 time-series points over 30 days
  • Metrics: RSRP, RSRQ, SINR, CQI, throughput, latency, packet loss
  • Scenarios: Excellent, Good, Fair, Poor, Anomaly

🎨 Technology Stack

Frontend

  • Framework: React 18 + Vite
  • UI: Material-UI (MUI)
  • Charts: Chart.js, react-chartjs-2
  • Styling: Emotion CSS-in-JS

ML/Backend

  • ML: scikit-learn, TensorFlow/Keras
  • Data: pandas, numpy
  • Viz: Plotly, matplotlib
  • API: Gradio 4.16

Deployment

  • Dashboard: GitHub Pages (static hosting)
  • ML App: HuggingFace Spaces (Gradio SDK)
  • CI/CD: GitHub Actions

πŸ“¦ Deployment

GitHub Pages (React Dashboard)

cd frontend
npm run build
# Deploy dist/ folder to GitHub Pages

HuggingFace Spaces (Gradio App)

  1. Create new Space at huggingface.co/new-space
  2. Select Gradio SDK
  3. Upload:
    • gradio-app/app.py
    • gradio-app/requirements.txt
    • ml/ folder
    • data/raw/ sample data
  4. Space will auto-deploy!

πŸŽ“ Skills Demonstrated

For ML/AI Roles in Telecom:

  • βœ… Real 5G network data analysis
  • βœ… Time-series forecasting (LSTM)
  • βœ… Anomaly detection (unsupervised learning)
  • βœ… Multi-class classification
  • βœ… Feature engineering for telecom KPIs
  • βœ… Model deployment (HuggingFace, web apps)
  • βœ… Full-stack ML engineering
  • βœ… Data visualization & dashboards
  • βœ… Domain knowledge (3GPP standards)

πŸ“ License

MIT License - see LICENSE file

πŸ‘€ Author

Bita Rahmat Zadeh

πŸ™ Acknowledgments

  • Ookla for open network performance data
  • IEEE DataPort for 5G datasets
  • HuggingFace for Spaces hosting
  • Gradio for ML app framework

⭐ Star this repo if you find it useful for your telecom ML projects!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published