A comprehensive portfolio project building a global climate change impact prediction system with advanced machine learning and real-time data pipeline integration.
This project demonstrates end-to-end data science and machine learning engineering skills by:
- Advanced ML Architecture: LSTM time series forecasting + Multi-output deep learning
- Global Scale: Trained on 150+ world capitals with real-time predictions for any location
- Production Ready: Professional code architecture with comprehensive error handling
- Multi-Model Ensemble: 3 specialized ML models working together
# Clone the repository
git clone https://github.com/YOUR_USERNAME/climate-change-impact-predictor.git
cd climate-change-impact-predictor
# Set up virtual environment
python -m venv climate_env
source climate_env/bin/activate # On Windows: climate_env\Scripts\activate
# Install dependencies
pip install -r requirements.txt# Activate the virtual environment
source climate_env/bin/activate
# Start the ML API server (required for predictions)
PYTHONPATH=$(pwd) python app/api_server.py &
# Start the Streamlit web interface
PYTHONPATH=$(pwd) streamlit run app/location_picker.pyThe web interface will be available at: http://localhost:8501 The ML API will be running at: http://localhost:8000
# Single city prediction
PYTHONPATH=$(pwd) python -m tools.day10_advanced_demo Lahore
# Interactive demo
PYTHONPATH=$(pwd) python -m tools.day10_advanced_demo
# Multiple cities
PYTHONPATH=$(pwd) python -m tools.day10_advanced_demo "New York"
PYTHONPATH=$(pwd) python -m tools.day10_advanced_demo "Tokyo"from src.models.enhanced_climate_predictor import EnhancedGlobalClimatePredictor
# Initialize enhanced predictor
predictor = EnhancedGlobalClimatePredictor()
# Basic prediction
result = predictor.predict_climate("London")
# LSTM long-term forecasting
forecast = predictor.predict_long_term("Tokyo", days=30)
# Multi-output comprehensive prediction
comprehensive = predictor.predict_comprehensive("Berlin")
# Ultimate prediction (all models combined)
advanced = predictor.predict_climate_advanced("Paris")| API Source | Data Type | Coverage | Purpose |
|---|---|---|---|
| Open-Meteo | Air Quality & Weather | Global hourly | Real-time pollution monitoring & forecasts |
| NASA POWER | Meteorological | Global daily | Historical weather foundation |
| World Bank CCKP | Climate Projections | Country-level | IPCC CMIP6 future scenarios |
Dataset Scale: 150+ world capitals, 60+ climate features, multi-source validation
- Architecture: Feed-forward neural network
- Training: 144 world capitals
- Capability: Basic climate prediction for any city
- Architecture: Bidirectional LSTM with attention mechanisms
- Training: Enhanced dataset with time series sequences
- Capability: 7-30 day weather forecasting
- Architecture: Multi-head dense networks with shared feature extraction
- Training: Comprehensive multi-target learning
- Capability: Simultaneous prediction of 5+ climate variables
- Outputs: Temperature, precipitation, UV index, air quality, wind
Climate Change Impact Predictor
βββ Global Location Service (any coordinates)
βββ Multi-Source Data Pipeline (3 professional APIs)
βββ Advanced ML Ensemble (3 specialized models)
βββ Enhanced Prediction Engine (production-ready)
βββ REST API Server (FastAPI)
βββ Interactive Web Dashboard (Streamlit)
βββ app/ # Web application
β βββ api_server.py # FastAPI ML prediction server
β βββ location_picker.py # Streamlit web interface
βββ data/ # Multi-source climate datasets
β βββ raw/ # Raw API responses
β βββ processed/ # Processed and integrated data
β βββ capitals/ # World capitals training data
β βββ day10/ # Advanced ML training datasets
βββ models/ # Trained ML models and preprocessors
β βββ global_climate_model.keras
β βββ advanced_lstm_forecaster.keras
β βββ production_multi_output_predictor.keras
βββ notebooks/ # Training and analysis notebooks
βββ src/ # Core system implementation
β βββ api/ # Multi-API integration layer
β βββ core/ # Data management and processing
β βββ features/ # Universal feature engineering
β βββ models/ # ML model implementations
β βββ validation/ # Quality assurance and testing
βββ tools/ # Professional tooling and demos
- Multi-API integration (Open-Meteo, NASA POWER, World Bank CCKP)
- Advanced data processing pipeline with 60+ climate features
- Universal location service supporting any global coordinates
- Adaptive data collection with smart source selection
- Global neural network trained on 144 world capitals
- LSTM Time Series Forecasting for 7-30 day predictions
- Multi-Output Deep Learning for simultaneous predictions
- REST API server for model serving
- Interactive Streamlit dashboard
- Real-time climate predictions
| Endpoint | Method | Description |
|---|---|---|
/health |
GET | Check API health status |
/predict/basic |
POST | Basic climate prediction |
/predict/forecast |
POST | LSTM weather forecast |
/location/search |
GET | Search for locations |
- Python 3.10+
- TensorFlow 2.x
- Streamlit
- FastAPI
- See
requirements.txtfor full dependencies
MIT License - See LICENSE file for details.
This project showcases advanced machine learning engineering skills with real-world climate data and production-ready architecture.