From e200e03b1c2133381692f379915cd1e5758f4529 Mon Sep 17 00:00:00 2001 From: Urtzi Alfaro Date: Wed, 30 Jul 2025 09:15:14 +0200 Subject: [PATCH] Start fixing forecast service 20 --- services/forecasting/app/services/prediction_service.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/forecasting/app/services/prediction_service.py b/services/forecasting/app/services/prediction_service.py index 1500dd87..071c0579 100644 --- a/services/forecasting/app/services/prediction_service.py +++ b/services/forecasting/app/services/prediction_service.py @@ -235,6 +235,7 @@ class PredictionService: df['humidity'] = float(features.get('humidity', 60.0)) df['wind_speed'] = float(features.get('wind_speed', 5.0)) df['pressure'] = float(features.get('pressure', 1013.0)) + df['temp_category'] = self._get_temp_category(df['temperature'].iloc[0]) # Extract date information for temporal features forecast_date = pd.to_datetime(features['date']) @@ -296,8 +297,6 @@ class PredictionService: df['is_cold_day'] = int(df['temperature'].iloc[0] < 10) df['is_hot_day'] = int(df['temperature'].iloc[0] > 25) df['is_pleasant_day'] = int(10 <= df['temperature'].iloc[0] <= 25) - df['is_rainy_day'] = int(df['precipitation'].iloc[0] > 0.1) - df['is_very_rainy_day'] = int(df['precipitation'].iloc[0] > 5.0) # Humidity features df['humidity_squared'] = df['humidity'].iloc[0] ** 2 @@ -317,6 +316,10 @@ class PredictionService: # Precipitation features df['precip_squared'] = df['precipitation'].iloc[0] ** 2 df['precip_log'] = float(np.log1p(df['precipitation'].iloc[0])) + df['is_rainy_day'] = int(df['precipitation'].iloc[0] > 0.1) + df['is_very_rainy_day'] = int(df['precipitation'].iloc[0] > 5.0) + df['is_heavy_rain'] = int(df['precipitation'].iloc[0] > 10) + df['rain_intensity'] = self._get_rain_intensity(df['precipitation'].iloc[0]) # ✅ FIX: Add ALL traffic-based derived features if df['traffic_volume'].iloc[0] > 0: