Comece agoraComece grátis

Ajustando eta

É hora de praticar o ajuste de outros hiperparâmetros do XGBoost de verdade e observar o efeito deles no desempenho do modelo! Você vai começar ajustando o "eta", também conhecido como taxa de aprendizado.

A taxa de aprendizado no XGBoost é um parâmetro que pode variar entre 0 e 1. Valores mais altos de "eta" penalizam mais fortemente os pesos das features, impondo uma regularização bem mais intensa.

Este exercicio faz parte do curso

Extreme Gradient Boosting com XGBoost

Ver curso

Instruções do exercicio

  • Crie uma lista chamada eta_vals para armazenar os seguintes valores de "eta": 0.001, 0.01 e 0.1.
  • Faça um loop for sobre a sua lista eta_vals.
  • Em cada iteração do for, defina a chave "eta" de params como igual a curr_val. Em seguida, execute uma validação cruzada com 3 folds e early stopping (em 5 rounds), 10 rounds de boosting, métrica "rmse" e seed igual a 123. Garanta que a saída seja um DataFrame.
  • Adicione o RMSE da última iteração à lista best_rmse.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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 e Executar Código