EmpezarEmpieza gratis

Concurso de boosting: Light vs Extreme

Aunque el rendimiento del modelo CatBoost es bastante bueno, probemos otros dos sabores de boosting y veamos cuál funciona mejor: el enfoque "Light" o el "Extreme".

CatBoost es muy recomendable cuando hay variables categóricas. En este caso, todas las variables son numéricas, por lo que alguno de los otros enfoques podría dar mejores resultados.

Como vamos a crear regresores, usaremos un parámetro adicional, objective, que especifica la función de aprendizaje a utilizar. Para aplicar el error cuadrático, estableceremos objective como 'reg:squarederror' para XGBoost y 'mean_squared_error' para LightGBM.

Además, especificaremos el parámetro n_jobs para XGBoost para mejorar el tiempo de cómputo.

OBS: ¡ten cuidado de no usar clasificadores o tu sesión podría expirar!

Este ejercicio forma parte del curso

Ensemble Methods in Python

Ver curso

Instrucciones del ejercicio

  • Crea un XGBRegressor usando los parámetros: max_depth = 3, learning_rate = 0.1, n_estimators = 100 y n_jobs=2.
  • Crea un LGBMRegressor usando los parámetros: max_depth = 3, learning_rate = 0.1 y n_estimators = 100.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Build and fit an XGBoost regressor
reg_xgb = ____.____(____, ____, ____, ____, objective='reg:squarederror', random_state=500)
reg_xgb.fit(X_train, y_train)

# Build and fit a LightGBM regressor
reg_lgb = ____.____(____, ____, ____, objective='mean_squared_error', seed=500)
reg_lgb.fit(X_train, y_train)

# Calculate the predictions and evaluate both regressors
pred_xgb = reg_xgb.predict(X_test)
rmse_xgb = np.sqrt(mean_squared_error(y_test, pred_xgb))
pred_lgb = reg_lgb.predict(X_test)
rmse_lgb = np.sqrt(mean_squared_error(y_test, pred_lgb))

print('Extreme: {:.3f}, Light: {:.3f}'.format(rmse_xgb, rmse_lgb))
Editar y ejecutar código