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

early_stopping kullanarak otomatik boosting turu seçimi

Artık en iyi boosting turu sayısını tek tek seçmeye çalışmak yerine, xgb.cv() içinde XGBoost’un senin için otomatik olarak boosting turu sayısını seçmesini kolayca sağlayabilirsin. Bu, early stopping adı verilen bir teknikle yapılır.

Early stopping, her boosting turundan sonra XGBoost modelini bir hold-out veri kümesine karşı test ederek çalışır ve eğer hold-out metriği (bizim durumda "rmse") belirli sayıda tur boyunca iyileşmezse ek boosting turlarının oluşturulmasını durdurur (böylece eğitimi erken bitirir). Burada xgb.cv() içinde early_stopping_rounds parametresini, mümkün olan yüksek bir boosting turu sayısı (50) ile birlikte kullanacaksın. Unutma, eğer hold-out metriği num_boost_rounds değerine kadar sürekli iyileşirse early stopping tetiklenmez.

Burada DMatrix ve parametre sözlüğü senin için oluşturuldu. Görevin, early stopping ile çapraz doğrulama yapmak. Hadi başla!

Bu egzersiz

XGBoost ile Aşırı Gradyan Artırma

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Early stopping ile 3 katlı çapraz doğrulama yap ve metriğin "rmse" olsun. 10 early stopping turu ve 50 boosting turu kullan. seed olarak 123 belirt ve çıktının bir pandas DataFrame olduğundan emin ol. dtrain, params ve metrics gibi diğer parametreleri de belirtmeyi unutma.
  • cv_results değerini yazdır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create your housing DMatrix: housing_dmatrix
housing_dmatrix = xgb.DMatrix(data=X, label=y)

# Create the parameter dictionary for each tree: params
params = {"objective":"reg:squarederror", "max_depth":4}

# Perform cross-validation with early stopping: cv_results
cv_results = ____

# Print cv_results
print(____)
Kodu Düzenle ve Çalıştır