Налаштування max_depth
У цій вправі ви налаштовуватимете max_depth — параметр, що визначає максимально можливу глибину кожного дерева в бустинговому раунді. Менші значення дають більш мілкі дерева, а більші — глибші.
Ця вправа є частиною курсу
Екстремальний градієнтний бустинг з XGBoost
Інструкції до вправи
- Створіть список під назвою
max_depths, щоб зберегти такі значення"max_depth":2,5,10і20. - Пройдіться по списку
max_depthsза допомогою циклуfor. - Систематично змінюйте
"max_depth"у кожній ітерації циклуforі виконуйте 2-кратну перехресну перевірку з ранньою зупинкою (5раундів),10бустинговими раундами, метрикою"rmse"іseed123. Переконайтеся, що результат — це DataFrame.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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"]))