ПочатиПочніть безкоштовно

Налаштування max_depth

У цій вправі ви налаштовуватимете max_depth — параметр, що визначає максимально можливу глибину кожного дерева в бустинговому раунді. Менші значення дають більш мілкі дерева, а більші — глибші.

Ця вправа є частиною курсу

Екстремальний градієнтний бустинг з XGBoost

Переглянути курс

Інструкції до вправи

  • Створіть список під назвою max_depths, щоб зберегти такі значення "max_depth": 2, 5, 10 і 20.
  • Пройдіться по списку max_depths за допомогою циклу for.
  • Систематично змінюйте "max_depth" у кожній ітерації циклу for і виконуйте 2-кратну перехресну перевірку з ранньою зупинкою (5 раундів), 10 бустинговими раундами, метрикою "rmse" і seed 123. Переконайтеся, що результат — це 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"]))
Редагувати та запускати код