Varianter av gradient boosting

Ensemblemetoder i Python

Román de las Heras

Data Scientist, Appodeal

Varianter av gradient boosting

Gradient boosting-algoritm

  • Extreme Gradient Boosting
  • Light Gradient Boosting Machine
  • Categorical Boosting

Implementation

  • XGBoost
  • LightGBM
  • CatBoost
Ensemblemetoder i Python

Extreme gradient boosting (XGBoost)

Några egenskaper:

  • Optimerad för distribuerad databehandling
  • Parallell träning som standard
  • Skalbar, portabel och träffsäker
import xgboost as xgb

clf_xgb = xgb.XGBClassifier(
   n_estimators=100,
   learning_rate=None,
   max_depth=None,
   random_state
)
clg_xgb.fit(X_train, y_train)
pred = clf_xgb.predict(X_test)
Ensemblemetoder i Python

Light gradient boosting machine

Några egenskaper:

  • Lanserades av Microsoft (2017)
  • Snabbare träning och högre effektivitet
  • Lägre minnesbehov
  • Optimerad för parallell bearbetning och GPU
  • Lämpad för stora datamängder med krav på hastighet eller minne
import lightgbm as lgb

clf_lgb = lgb.LGBMClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=-1,
   random_state
)
clf_lgb.fit(X_train, y_train)
pred = clf_lgb.predict(X_test)
Ensemblemetoder i Python

Categorical boosting

Några egenskaper:

  • Öppet publicerades av Yandex (april 2017)
  • Inbyggd hantering av kategoriska särdrag
  • Träffsäker och robust
  • Snabb och skalbar
  • Användarvänligt API
import catboost as cb

clf_cat = cb.CatBoostClassifier(
   n_estimators=None,
   learning_rate=None,
   max_depth=None,
   random_state
)
clf_cat.fit(X_train, y_train)
pred = clf_cat.predict(X_test)
Ensemblemetoder i Python

Nu kör vi en övning!

Ensemblemetoder i Python

Preparing Video For Download...