Spaces:
Runtime error
Runtime error
| import sys, json, joblib | |
| import numpy as np | |
| import pandas as pd | |
| # Load latest hour from results/hourly.csv, predict next 6h rain | |
| df = pd.read_csv("results/hourly.csv", parse_dates=["time"]) | |
| row = df.iloc[-1:].copy() | |
| for col in ["temp_c","humidity","cloudcover","pressure","wind_speed","precip_mm","rain_mm"]: | |
| row[f"d_{col}"] = df[col].diff().iloc[-1] | |
| row[f"ma3_{col}"] = df[col].rolling(3).mean().iloc[-1] | |
| features = ["temp_c","humidity","cloudcover","pressure","wind_speed","precip_mm","rain_mm"] | |
| features += [f"d_{c}" for c in features] | |
| features += [f"ma3_{c}" for c in ["temp_c","humidity","cloudcover","pressure","wind_speed","precip_mm","rain_mm"]] | |
| # Load model + meta | |
| clf = joblib.load("models/rain_classifier_hourly.joblib") | |
| meta = json.load(open("models/rain_model_meta.json")) | |
| X = row[meta["features"]].values | |
| proba = float(clf.predict_proba(X)[0,1]) | |
| thr_r = meta["thresholds"]["high_recall"] | |
| thr_p = meta["thresholds"]["high_precision"] | |
| print(f"Latest hour: {row['time'].iloc[0]}") | |
| print(f"P(rain next {meta['horizon_hours']}h) = {proba:.3f}") | |
| print(f"High-Recall mode: {'RAIN' if proba>=thr_r else 'No rain'} (thr={thr_r:.2f})") | |
| print(f"High-Precision mode:{'RAIN' if proba>=thr_p else 'No rain'} (thr={thr_p:.2f})") | |