Servicio de machine learning que predice lluvia en 7 días (clasificación binaria) y precipitación acumulada en 3 días (regresión) para Sídney, usando datos históricos de Open-Meteo. Desplegado como API REST containerizada en Render con Docker.

Proyecto de ML como servicio construido como parte de la materia de Aplicaciones Avanzadas de Machine Learning en UTS, que entrega dos modelos de predicción climática para Sídney como API REST de producción. El modelo de clasificación (lluvia o no en 7 días) usa un Stacking Classifier personalizado que combina Regresión Logística, MLPClassifier y DecisionTreeClassifier. El modelo de regresión (precipitación total en 3 días) usa ElasticNet tras evaluar Ridge, Lasso, modelos basados en árboles y enfoques neuronales. Ambos modelos se entrenaron con 12.784 registros de datos diarios y horarios de la API Open-Meteo que abarcan de 1990 a 2024. La ingeniería de características incluye categorización de códigos climáticos, características de lag temporal (1, 2, 3, 7 y 14 días), sumas de precipitación acumulada y términos de interacción atmosférica. Todas las transformaciones se implementaron como transformadores personalizados de scikit-learn integrados en el pipeline de ML para garantizar consistencia entre entrenamiento e inferencia. La API está construida con FastAPI, containerizada con Docker y desplegada en Render. También publiqué un paquete de Python reutilizable (dskit_uts25609227) que encapsula utilidades de preprocesamiento compartidas.