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
Egzersiz talimatları
max_depth = 3,learning_rate = 0.1,n_estimators = 100ven_jobs=2parametreleriyle birXGBRegressoroluştur.max_depth = 3,learning_rate = 0.1ven_estimators = 100parametreleriyle birLGBMRegressoroluş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))