How sanjayshettigar/anomaly_detection_in_solarpowerproduction works
This repository provides solar-production anomaly detection, with both a fixed-dataset dashboard and a CSV-upload web application. The principal workflow is to load solar time-series data, preprocess and engineer temporal features, train anomaly models, combine predictions, evaluate them, and present metrics and plots. The README documents FFNN, LSTM, LSTM Autoencoder, Isolation Forest, and an XGBoost meta-ensemble; the sampled implementation excerpts do not expose every model’s wiring, so those internal links are represented only at the documented pipeline level. The graph also shows the upload app as a separate entry point; unsampled UI and route details are omitted.
Main entry points: anomaly_detector.py Anomaly models · app.py Fixed-data API · web_app_upload.py Upload API · index.html Dashboard page
Components 20
Web interfaces
- Dashboard page
frontend/index.html - Fixed-data API
backend/app.py - Upload page templates
backend/templates - Upload API
backend/web_app_upload.py
Detection workflow
- Load data
backend/anomaly_detector.py - Preprocess features
backend/anomaly_detector.py - Anomaly models
backend/anomaly_detector.py - FFNN
backend/anomaly_detector.py - LSTM
backend/anomaly_detector.py - LSTM Autoencoder
backend/anomaly_detector.py - Isolation Forest
backend/anomaly_detector.py - XGBoost ensemble
backend/anomaly_detector.py - Upload analysis
backend/web_app_upload.py
Evaluation and plots
- Metrics evaluation
backend/anomaly_detector.py - Visualizations
backend/anomaly_detector.py - Generated plots
backend/plots
Input data
- Solar dataset
data/wind_solar.csv - Uploaded datasets
backend/uploads
Other components
- Dashboard user
- CSV uploader
Connections 22
- Dashboard user → Dashboard page: opens
- Dashboard page → Fixed-data API: requests
- Fixed-data API → Load data: runs analysis
- Fixed-data API → Metrics evaluation: requests metrics
- Fixed-data API → Visualizations: requests plots
- Load data → Solar dataset: reads
- Load data → Preprocess features: prepares data
- Preprocess features → Anomaly models: provides features
- Anomaly models → FFNN: trains
- Anomaly models → LSTM: trains
- Anomaly models → LSTM Autoencoder: trains
- Anomaly models → Isolation Forest: trains
- Anomaly models → XGBoost ensemble: combines predictions
- Anomaly models → Metrics evaluation: provides predictions
- Metrics evaluation → Visualizations: summarizes results
- Visualizations → Generated plots: writes
- Fixed-data API → Generated plots: serves
- CSV uploader → Upload API: uploads CSV
- Upload API → Upload page templates: renders
- Upload API → Uploaded datasets: stores upload
- Upload API → Upload analysis: preprocesses and trains
- Upload analysis → Metrics evaluation: evaluates predictions