ML-powered real-time network monitoring and analytics for telecommunications engineers
A full-stack ML application showcasing real-time 5G network performance monitoring with machine learning-powered anomaly detection, coverage classification, and predictive analytics.
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
- 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
- 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
βββ 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
- Docker Option: Docker Desktop
- Manual Option: Python 3.9+, Node.js 18+, npm or yarn
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).
git clone https://github.com/YOUR-USERNAME/telecom-network-monitor.git
cd telecom-network-monitor
# 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
cd frontend
npm install
npm run dev
Visit http://localhost:5173
to see the dashboard!
cd gradio-app
pip install -r requirements.txt
python app.py
Visit http://localhost:7860
for interactive ML analytics!
- 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
- 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%)
- Algorithm: LSTM (2 layers, 64/32 units)
- Target: Throughput & latency forecasting
- MAE: ~2.3 Mbps
- Use Case: Predictive capacity planning
- Source: teamookla/ookla-open-data
- Metrics: Download/upload speed, latency
- Coverage: Global network performance tiles
- Usage: Geographic analysis, baseline performance
- 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
- Framework: React 18 + Vite
- UI: Material-UI (MUI)
- Charts: Chart.js, react-chartjs-2
- Styling: Emotion CSS-in-JS
- ML: scikit-learn, TensorFlow/Keras
- Data: pandas, numpy
- Viz: Plotly, matplotlib
- API: Gradio 4.16
- Dashboard: GitHub Pages (static hosting)
- ML App: HuggingFace Spaces (Gradio SDK)
- CI/CD: GitHub Actions
cd frontend
npm run build
# Deploy dist/ folder to GitHub Pages
- Create new Space at huggingface.co/new-space
- Select Gradio SDK
- Upload:
gradio-app/app.py
gradio-app/requirements.txt
ml/
folderdata/raw/
sample data
- Space will auto-deploy!
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)
MIT License - see LICENSE file
Bita Rahmat Zadeh
- Portfolio: My Portfolio
- LinkedIn: My LinkedIn
- Github: @bitarah
- 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!