Gradient Boosting (GB)

Machine learning con modelos basados en árboles en Python

Elie Kawerk

Data Scientist

Gradient Boosted Trees

  • Corrección secuencial de errores previos.

  • No ajusta los pesos de las instancias de entrenamiento.

  • Cada modelo se entrena usando los residuos del anterior como etiquetas.

  • Gradient Boosted Trees: se usa un CART como base.

Machine learning con modelos basados en árboles en Python

Gradient Boosted Trees para regresión: entrenamiento

Entrenamiento de GBT

Machine learning con modelos basados en árboles en Python

Reducción (shrinkage)

Tasa de aprendizaje de GBT

Machine learning con modelos basados en árboles en Python

Gradient Boosted Trees: predicción

  • Regresión:

    • $y_{pred} = y_1 + \eta r_1 + ... + \eta r_N$
    • En sklearn: GradientBoostingRegressor.
  • Clasificación:

    • En sklearn: GradientBoostingClassifier.
Machine learning con modelos basados en árboles en Python

Gradient Boosting en sklearn (conjunto 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)
Machine learning con modelos basados en árboles en 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
Machine learning con modelos basados en árboles en Python

¡Vamos a practicar!

Machine learning con modelos basados en árboles en Python

Preparing Video For Download...