This project implements an advanced electric load forecasting system using machine learning techniques. It combines preprocessing, clustering, and machine learning models to predict electrical load patterns and consumption.
Main dashboard showing load forecasting predictions and analytics
Visualization of load pattern clusters
Predicted vs actual load values
Project documentation and implementation details
Located in /Preprocessing/:
-
preprocessing1.ipynb: Initial data cleaning and transformation- Data loading and validation
- Missing value handling
- Feature engineering
- Basic statistical analysis
-
preprocessing2.ipynb: Advanced data processing- Feature selection
- Time series decomposition
- Data normalization
- Dataset preparation for modeling
-
Clustering&ML_Training.ipynb: Model training and evaluation- Clustering analysis for load pattern identification
- Random Forest model implementation
- Model evaluation and validation
- Performance metrics analysis
Located in /frontend/:
- React-based web interface
- Interactive visualizations
- Real-time prediction display
- User-friendly dashboard for data analysis
- Time series analysis of electrical load data
- Pattern recognition using clustering techniques
- Machine learning-based load prediction
- Interactive web interface for result visualization
- Scalable preprocessing pipeline
The following trained models are used in this project but not included in the repository due to size constraints:
rf_model.joblib: Random Forest model for load predictionkmeans.joblib: K-means clustering model for pattern identificationpca.joblib: PCA transformation modelscaler.joblib: Data scaling model
- Python 3.x
- Node.js and npm (for frontend)
- Required Python packages:
numpy pandas scikit-learn joblib matplotlib seaborn
-
Clone the repository:
git clone https://github.com/Salman1205/Electric-load-forecasting.git cd Electric-load-forecasting -
Set up the Python environment:
pip install -r requirements.txt
-
Set up the frontend:
cd frontend npm install npm start
-
Run the preprocessing notebooks in sequence:
- Start with
preprocessing1.ipynb - Follow with
preprocessing2.ipynb - Finally, run
Clustering&ML_Training.ipynb
- Start with
-
Access the web interface:
- Launch the frontend application
- Navigate to
http://localhost:3000 - Use the dashboard to visualize and analyze results
The project includes several visualization outputs:
- Cluster visualization plots
- Feature importance graphs
- Forecast accuracy plots
- Load pattern analysis charts
Contributions to improve the project are welcome. Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
For access to the trained models or any queries, please contact:
- GitHub: @Salman1205
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who helped in developing this project
- Special thanks to the open-source community for providing essential tools and libraries