BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz talimatları

  • ml_forecast ve test veri kümelerini birleştirerek fc oluştur.
  • Sağlanan rmse() özel fonksiyonunu kullanarak, argümanlara sırayla fc["y"] ve fc[model] geçir; for döngüsü içinde r adlı 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.____("____"))
Kodu Düzenle ve Çalıştır