Tahmin performansını değerlendirme
Bu egzersizde, önceki egzersizde oluşturduğun tahmin modelinin performansını değerlendirecek ve görselleştireceksin.
test veri kümesi, ml_forecast sonuçları ve plot_series önceden yüklendi; ayrıca değerlendirme fonksiyonları (mape, rmse, coverage, aşağıda gösteriliyor) ve pandas da pd olarak yüklendi.
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
Önce modelin performansını değerlendirelim, ardından tahmini görselleştirelim.
Bu egzersiz
Üretim için Tahmin (Forecasting) Hatları Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
ml_forecastvetestveri kümelerini birleştirerekfcoluştur.- Sağlanan
rmse()özel fonksiyonunu kullanarak, argümanlara sıraylafc["y"]vefc[model]geçir; for döngüsü içinderadlı bir değişkende sakla. - Değerlendirmeyi,
fc_performance'ı artan sırada rmse'ye göre sıralayarak tamamla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Combine the data
fc = ml_forecast.____(____, how="left", on="ds")
fc_performance = None
for model in ["LGBMRegressor", "XGBRegressor", "LinearRegression"]:
m = mape(y=fc["y"], yhat=fc[model])
# Calculate RMSE
r = ____(y=fc["____"], yhat=fc[____])
c = coverage(y=fc["y"], lower=fc[model + "-lo-95"], upper=fc[model + "-hi-95"])
perf = {"model": model, "mape": m, "rmse": r, "coverage": c}
if fc_performance is None:
fc_performance = pd.DataFrame([perf])
else:
fc_performance = pd.concat([fc_performance, pd.DataFrame([perf])])
# Sort the performance metrics by rmse
print(fc_performance.____("____"))