Gradient boosting

Metode de ansamblu în Python

Román de las Heras

Data Scientist, Appodeal

Introducere în gradient boosting

Funcție obiectiv

  1. Model inițial (estimator slab): $y\sim f_1(X)$
  2. Model nou ajustat pe reziduuri: $y-f_1(X)\sim f_2(X)$
  3. Model aditiv nou: $y\sim f_1(X)+f_2(X)$
  4. Repetați de $n$ ori sau până când eroarea este suficient de mică
  5. Model aditiv final: $$y\sim f_1(X)+f_2(X)+ ... +f_n(x)=\sum_{i=1}^{n} f_i(X)$$
Metode de ansamblu în Python

Echivalența cu coborârea pe gradient

Funcție reziduuri

Coborâre pe gradient:

Funcție de pierdere

Funcție gradient

Reziduuri = Gradient negativ

Funcție gradient negativ

Metode de ansamblu în Python

Clasificator gradient boosting

Clasificator Gradient Boosting

from sklearn.ensemble import GradientBoostingClassifier
clf_gbm = GradientBoostingClassifier(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
  • n_estimators
    • Implicit: 100
  • learning_rate
    • Implicit: 0.1
  • max_depth
    • Implicit: 3
  • min_samples_split
  • min_samples_leaf
  • max_features
Metode de ansamblu în Python

Regressor gradient boosting

Regressor Gradient Boosting

from sklearn.ensemble import GradientBoostingRegressor
reg_gbm = GradientBoostingRegressor(
   n_estimators=100,
   learning_rate=0.1,
   max_depth=3,
   min_samples_split,
   min_samples_leaf,
   max_features
)
Metode de ansamblu în Python

Timp să aplicăm!

Metode de ansamblu în Python

Preparing Video For Download...