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

Eta'yı ayarlama

Diğer XGBoost hiperparametrelerini kararlılıkla ayarlayıp bunların model performansına etkisini gözlemleme zamanı! "eta" (öğrenme hızı) ile başlayacaksın.

XGBoost'ta öğrenme hızı 0 ile 1 arasında olabilir; "eta" değeri yükseldikçe özellik ağırlıklarına daha güçlü ceza uygulanır ve düzenlileştirme daha da artar.

Bu egzersiz

XGBoost ile Aşırı Gradyan Artırma

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

Egzersiz talimatları

  • Aşağıdaki "eta" değerlerini saklamak için eta_vals adlı bir liste oluştur: 0.001, 0.01 ve 0.1.
  • eta_vals listen üzerinde bir for döngüsüyle yinele.
  • Her yinelemede params sözlüğünün "eta" anahtarını curr_val değerine ayarla. Ardından erken durdurma (5 tur), 10 artırma turu, "rmse" metriği ve 123 seed ile 3 katlı çapraz doğrulama yap. Çıktının bir DataFrame olduğundan emin ol.
  • Son turdaki RMSE'yi best_rmse listesine ekle.

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 (boosting round)
params = {"objective":"reg:squarederror", "max_depth":3}

# Create list of eta values and empty list to store final round rmse per xgboost model
____ = [____, ____, ____]
best_rmse = []

# Systematically vary the eta 
for curr_val in ____:

    params["___"] = curr_val
    
    # Perform cross-validation: cv_results
    cv_results = ____
    
    
    
    # Append the final round rmse to best_rmse
    ____.____(____["____"].tail().values[-1])

# Print the resultant DataFrame
print(pd.DataFrame(list(zip(eta_vals, best_rmse)), columns=["eta","best_rmse"]))
Kodu Düzenle ve Çalıştır