Forecast solar or photovoltaic power output using an end-to-end, reproducible machine learning pipeline combining traditional regression, deep learning (LSTM), and hybrid modeling approaches.
- Flexible data preprocessing and feature engineering
- Supports Random Forest, LSTM, and hybrid ensemble modeling
- Detailed evaluation: MAE, RMSE, (Adjusted) R², and per-epoch error tracking
- Modular source code for clarity and maintainability
- Jupyter/Colab notebook for step-by-step demonstration
- Well-documented datasets and sample files for quick starts
Photovoltaic-Power-Forecasting-using-Hybrid-Model/
├── data/ # Organized datasets (train/test/raw) + README
├── notebook/ # Jupyter/Colab notebooks (main workflow)
├── requirements/ # Python dependencies (requirements.txt, README)
├── results/ # Model metrics (results.json), key error plots, README
├── samples/ # Example input/output files for quick testing, README
├── src/ # Core code: preprocessing, feature engineering, training, utils
├── .gitignore
├── LICENSE
├── README.md
Install all dependencies in a fresh environment:
pip install -r requirements/requirements.txt
See results/
for:
- Summary table (
results.json
): adjusted R² for Random Forest, LSTM, hybrid models - Convergence/error plots:
mae_vs_epoch.png
,rmse_vs_epoch.png
,r2_vs_epoch.png
- Example result:
Model Adjusted R² RandomForest 0.99976 LSTM 0.99869 HybridModel 0.99970
See data/README.md
for folder and file organization, sample columns, and preparation notes.
(Note: Large/full datasets are not tracked in git. Use provided samples for testing.)
data/
— All datasets (train, test, raw, combined)notebook/
— Demo notebook (with Colab link)requirements/
— Dependency file(s)results/
— Metrics, plots, and performance summariessamples/
— Example input/output filessrc/
— Modular Python code for the ML pipeline
Distributed under the MIT License.
Kamal-Shirupa
Contributions and feedback are welcome!
Create an issue or a pull request for suggestions, improvements, or questions.