Machine learning service predicting rain in Sydney 7 days ahead (binary classification) and cumulative precipitation over 3 days (regression), trained on 34 years of Open-Meteo historical data and deployed as a REST API on Render.

Built as part of the Advanced Machine Learning Applications subject at UTS, this project simulates a real-world ML-as-a-Service scenario for a weather forecasting company. Two models were trained on 12,784 records covering Sydney weather from 1990 to 2024. The classification model uses a Stacking Classifier combining Logistic Regression, MLPClassifier, and DecisionTreeClassifier to predict whether it will rain in the next 7 days.
The regression model uses ElasticNet to estimate cumulative precipitation over the next 3 days. Both pipelines include feature engineering with lag and rolling features, temporal variables, and atmospheric indicators, all implemented as custom scikit-learn transformers for consistent inference. The final models were containerised with Docker and deployed as a FastAPI REST API on Render, making predictions available via live endpoints.