Rehaussement de gradient

Méthodes d'ensemble en Python

Román de las Heras

Data Scientist, Appodeal

Intro au gradient boosting machine

function_objective.png

  1. Modèle initial (estimateur faible) : $y\sim f_1(X)$
  2. Nouveau modèle ajusté aux résidus : $y-f_1(X)\sim f_2(X)$
  3. Nouveau modèle additif : $y\sim f_1(X)+f_2(X)$
  4. Répéter $n$ fois ou jusqu'à une erreur assez faible
  5. Modèle additif final : $$y\sim f_1(X)+f_2(X)+ ... +f_n(x)=\sum_{i=1}^{n} f_i(X)$$
Méthodes d'ensemble en Python

Équivalence avec la descente de gradient

function_residuals.png

Descente de gradient :

function_loss.png

function_gradient.png

Résidus = gradient négatif

function_gradient_negative.png

Méthodes d'ensemble en Python

Classifieur par rehaussement de gradient

Gradient Boosting Classifier

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
    • Par défaut : 100
  • learning_rate
    • Par défaut : 0,1
  • max_depth
    • Par défaut : 3
  • min_samples_split
  • min_samples_leaf
  • max_features
Méthodes d'ensemble en Python

Régression par rehaussement de gradient

Gradient Boosting Regressor

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
)
Méthodes d'ensemble en Python

À vous de booster !

Méthodes d'ensemble en Python

Preparing Video For Download...