Machine learning-based solar energy forecasting system using the Anikannal Solar Power Generation Dataset.
- Time-series forecasting with weather data
- Model comparison (Linear Regression vs Random Forest)
- Interactive Streamlit web interface
- Temporal feature engineering (lag, rolling mean)
- Source: Anikannal Solar Power Generation Dataset (Plant 1)
- Generation Data: 15-minute intervals
- Weather Data: Hourly measurements
- Merge Strategy: Time-aware merge using
merge_asof
pip install -r requirements.txtpython train_model.pystreamlit run app.py- MAE: ~16.80
- RMSE: ~32.10
- MAE: ~16.75
- RMSE: ~32.04
new_aiml/
├── app.py # Streamlit web app
├── train_model.py # Model training script
├── requirements.txt # Dependencies
├── linear_model.pkl # Trained Linear Regression
├── random_forest_model.pkl # Trained Random Forest
├── feature_names.pkl # Feature list
└── README.md # Documentation
- Weather Features: Ambient Temperature, Module Temperature, Irradiation
- Temporal Features: Hour, Month, Day of Week
- Lag Features: Previous AC Power (lag_1)
- Rolling Features: 3-period rolling mean
- Data Preprocessing: Time-aware merge, remove night periods (AC_POWER = 0)
- Feature Engineering: Extract temporal features + lag/rolling features
- Train-Test Split: 80-20 chronological split (no shuffle)
- Model Training: Linear Regression + Random Forest
- Evaluation: MAE & RMSE metrics
Deploy on Streamlit Cloud:
- Push to GitHub
- Connect repository to Streamlit Cloud
- Deploy with one click
Built for AI/ML Course Project
Educational Project