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
Instruções do exercício
- Crie uma lista chamada
max_depthspara armazenar os seguintes valores de"max_depth":2,5,10e20. - Itere sobre sua lista
max_depthsusando um loopfor. - Varie sistematicamente
"max_depth"em cada iteração do loopfore execute validação cruzada com 2 folds e early stopping (5rodadas),10rodadas de boosting, métrica"rmse"eseedigual a123. 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"]))