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ırEgzersiz talimatları
- Aşağıdaki
"eta"değerlerini saklamak içineta_valsadlı bir liste oluştur:0.001,0.01ve0.1. eta_valslisten üzerinde birfordöngüsüyle yinele.- Her yinelemede
paramssözlüğünün"eta"anahtarınıcurr_valdeğerine ayarla. Ardından erken durdurma (5tur),10artırma turu,"rmse"metriği ve123seedile 3 katlı çapraz doğrulama yap. Çıktının bir DataFrame olduğundan emin ol. - Son turdaki RMSE'yi
best_rmselistesine 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"]))