Gradient Boosting (GB)

Aprendizado de máquina com modelos baseados em árvores em Python

Elie Kawerk

Data Scientist

Gradient Boosted Trees

  • Correção sequencial dos erros do anterior.

  • Não ajusta pesos das instâncias de treino.

  • Cada preditor é treinado usando os resíduos do anterior como rótulos.

  • Gradient Boosted Trees: usa CART como base learner.

Aprendizado de máquina com modelos baseados em árvores em Python

Gradient Boosted Trees para regressão: treino

Treino de GBT

Aprendizado de máquina com modelos baseados em árvores em Python

Redução (shrinkage)

Taxa de aprendizado do GBT

Aprendizado de máquina com modelos baseados em árvores em Python

Gradient Boosted Trees: predição

  • Regressão:

    • $y_{pred} = y_1 + \eta r_1 + ... + \eta r_N$
    • No sklearn: GradientBoostingRegressor.
  • Classificação:

    • No sklearn: GradientBoostingClassifier.
Aprendizado de máquina com modelos baseados em árvores em Python

Gradient Boosting no sklearn (auto)

# Import models and utility functions
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error as MSE

# Set seed for reproducibility
SEED = 1

# Split dataset into 70% train and 30% test
X_train, X_test, y_train, y_test = train_test_split(X,y, 
                                                    test_size=0.3, 
                                                    random_state=SEED)
Aprendizado de máquina com modelos baseados em árvores em Python
# Instantiate a GradientBoostingRegressor 'gbt'
gbt = GradientBoostingRegressor(n_estimators=300, max_depth=1, random_state=SEED)

# Fit 'gbt' to the training set gbt.fit(X_train, y_train) # Predict the test set labels y_pred = gbt.predict(X_test) # Evaluate the test set RMSE rmse_test = MSE(y_test, y_pred)**(1/2) # Print the test set RMSE print('Test set RMSE: {:.2f}'.format(rmse_test))
Test set RMSE: 4.01
Aprendizado de máquina com modelos baseados em árvores em Python

Vamos praticar!

Aprendizado de máquina com modelos baseados em árvores em Python

Preparing Video For Download...