НачатьНачать бесплатно

Настройка max_depth

В этом упражнении вам предстоит настроить параметр max_depth, который определяет максимальную глубину каждого дерева в раунде бустинга. Меньшие значения дают более мелкие деревья, а большие — более глубокие.

Это упражнение является частью курса

Экстремальный градиентный бустинг с XGBoost

Посмотреть курс

Инструкции к упражнению

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