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

Boosting yarışı: Light vs Extreme

CatBoost modelinin performansı fena değil; yine de boosting’in iki farklı türünü deneyip hangisinin daha iyi sonuç verdiğine bakalım: "Light" mı, yoksa "Extreme" yaklaşım mı.

Kategorik özellikler olduğunda CatBoost güçlü bir öneridir. Bu durumda tüm özellikler sayısal, dolayısıyla diğer yaklaşımlardan biri daha iyi sonuç verebilir.

Regresör kurduğumuz için, kullanılacak öğrenme fonksiyonunu belirleyen ek bir objective parametresi kullanacağız. Kare hatayı uygulamak için XGBoost’ta objective değerini 'reg:squarederror', LightGBM’de ise 'mean_squared_error' olarak ayarlayacağız.

Buna ek olarak, XGBoost için hesaplama süresini iyileştirmek adına n_jobs parametresini belirleyeceğiz.

NOT: Sınıflandırıcıları kullanmamaya dikkat et, yoksa oturumun zaman aşımına uğrayabilir!

Bu egzersiz, kursun bir parçasıdır

Python'da Ensemble Yöntemleri

Kursa Göz Atın

Egzersiz talimatları

  • max_depth = 3, learning_rate = 0.1, n_estimators = 100 ve n_jobs=2 parametreleriyle bir XGBRegressor oluştur.
  • max_depth = 3, learning_rate = 0.1 ve n_estimators = 100 parametreleriyle bir LGBMRegressor oluştur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Build and fit an XGBoost regressor
reg_xgb = ____.____(____, ____, ____, ____, objective='reg:squarederror', random_state=500)
reg_xgb.fit(X_train, y_train)

# Build and fit a LightGBM regressor
reg_lgb = ____.____(____, ____, ____, objective='mean_squared_error', seed=500)
reg_lgb.fit(X_train, y_train)

# Calculate the predictions and evaluate both regressors
pred_xgb = reg_xgb.predict(X_test)
rmse_xgb = np.sqrt(mean_squared_error(y_test, pred_xgb))
pred_lgb = reg_lgb.predict(X_test)
rmse_lgb = np.sqrt(mean_squared_error(y_test, pred_lgb))

print('Extreme: {:.3f}, Light: {:.3f}'.format(rmse_xgb, rmse_lgb))
Kodu Düzenle ve Çalıştır