ComenzarEmpieza gratis

Ajuste de eta

¡Es hora de practicar el ajuste de otros hiperparámetros de XGBoost y observar su efecto en el rendimiento del modelo! Empezarás ajustando "eta", también conocida como la tasa de aprendizaje.

La tasa de aprendizaje en XGBoost es un parámetro que puede variar entre 0 y 1; valores más altos de "eta" penalizan con más fuerza los pesos de las características, provocando una regularización mucho más intensa.

Este ejercicio forma parte del curso

Extreme Gradient Boosting con XGBoost

Ver curso

Instrucciones del ejercicio

  • Crea una lista llamada eta_vals para guardar los siguientes valores de "eta": 0.001, 0.01 y 0.1.
  • Recorre tu lista eta_vals usando un bucle for.
  • En cada iteración del bucle for, establece la clave "eta" de params igual a curr_val. Luego, realiza una validación cruzada de 3 particiones con early stopping (5 rondas), 10 rondas de boosting, una métrica de "rmse" y un seed de 123. Asegúrate de que la salida sea un DataFrame.
  • Añade el RMSE de la última ronda a la lista best_rmse.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create your housing DMatrix: housing_dmatrix
housing_dmatrix = xgb.DMatrix(data=X, label=y)

# Create the parameter dictionary for each tree (boosting round)
params = {"objective":"reg:squarederror", "max_depth":3}

# Create list of eta values and empty list to store final round rmse per xgboost model
____ = [____, ____, ____]
best_rmse = []

# Systematically vary the eta 
for curr_val in ____:

    params["___"] = curr_val
    
    # Perform cross-validation: cv_results
    cv_results = ____
    
    
    
    # Append the final round rmse to best_rmse
    ____.____(____["____"].tail().values[-1])

# Print the resultant DataFrame
print(pd.DataFrame(list(zip(eta_vals, best_rmse)), columns=["eta","best_rmse"]))
Editar y ejecutar código