SS
Back to Projects

Weather Prediction System

Built a city-specific weather prediction pipeline using XGBoost and historical weather observations, with preprocessing, lag-based feature engineering, and an application interface for accessing predictions.

PythonXGBoostPandasTime SeriesFastAPIDockerGradio

SYSTEM ARCHITECTURE

SYSTEM ARCHITECTURELarge-scale city-specific ML forecastingHistorical Weather90 GB datasetPreprocessingCleaning + feature engineeringCity-Specific ModelsThousands of locationsXGBoostPer-city forecastingFastAPIPrediction servingForecast OutputTemperature / weather predictionsCity-specific XGBoost models are exposed through an API-oriented serving layer.

City-specific XGBoost models are exposed through an API-oriented serving layer.

Problem

City-level weather prediction requires handling temporal patterns and location-specific observations across a large historical dataset.

Architecture

Historical observations → preprocessing and lag features → city-specific XGBoost models → prediction API and user interface.

Challenges

  • Prepared historical weather observations for modeling
  • Designed lag-based features for time-dependent prediction
  • Organized training around city-specific models
  • Integrated prediction logic with an API and application interface

Benchmarks

The project uses approximately 10 years of historical data across thousands of cities. Retain dataset-size claims only where they match the documented pipeline.

Lessons Learned

  • Feature engineering and temporal validation are important for forecasting
  • Location-specific models can capture local patterns
  • A prediction interface helps make model outputs accessible