ComeçarComece de graça

Ajustando max_depth

Neste exercício, sua tarefa é ajustar max_depth, que é o parâmetro que define a profundidade máxima que cada árvore em uma rodada de boosting pode alcançar. Valores menores levam a árvores mais rasas e valores maiores a árvores mais profundas.

Este exercício faz parte do curso

Extreme Gradient Boosting com XGBoost

Ver curso

Instruções do exercício

  • Crie uma lista chamada max_depths para armazenar os seguintes valores de "max_depth": 2, 5, 10 e 20.
  • Itere sobre sua lista max_depths usando um loop for.
  • Varie sistematicamente "max_depth" em cada iteração do loop for e execute validação cruzada com 2 folds e early stopping (5 rodadas), 10 rodadas de boosting, métrica "rmse" e seed igual a 123. Garanta que a saída seja um DataFrame.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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

# Create the parameter dictionary
params = {"objective":"reg:squarederror"}

# Create list of max_depth values
max_depths = ____
best_rmse = []

# Systematically vary the max_depth
for curr_val in ____:

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

# Print the resultant DataFrame
print(pd.DataFrame(list(zip(max_depths, best_rmse)),columns=["max_depth","best_rmse"]))
Editar e executar o código