Evaluatie van voorspellingen & experimenteren
In deze oefening evalueer je de prestaties van het voorspellingsmodel om de use-cases van experimenteren te verkennen.
De samengevoegde voorspelling (fc), met zowel voorspellingen als werkelijke testresultaten, is al ingeladen. Evaluatiefuncties (mape, rmse, coverage) en pandas (als pd) staan ook klaar. Hier is een korte referentie van de functies:
def mape(y, yhat):
mape = mean(abs(y - yhat) / y)
return mape
def rmse(y, yhat):
rmse = (mean((y - yhat) ** 2)) ** 0.5
return rmse
def coverage(y, lower, upper):
coverage = sum((y <= upper) & (y >= lower)) / len(y)
return coverage
Bereken eerst de prestatiecijfers voor het model. Beantwoord daarna een vraag over de doelen van experimenteren bij forecasting.
Deze oefening maakt deel uit van de cursus
Forecasting-pijplijnen ontwerpen voor productie
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
performance_metrics = []
# Loop through models and calculate metrics
for model in ["LGBMRegressor", "XGBRegressor", "LinearRegression"]:
performance_metrics.append({
"model": model,
"mape": ____(fc["y"], fc[model]),
"rmse": ____(fc["y"], fc[____]),
"coverage": ____(fc["y"], fc[f"{model}-lo-95"], fc[f"{model}-hi-95"])
})
# Create DataFrame and sort by RMSE
fc_performance = pd.DataFrame(performance_metrics).sort_values("____")
print(fc_performance)