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

Поиск по сетке

В предыдущем уроке мы создали базовую модель на основе градиентного бустинга. Теперь ваша задача — найти оптимальное значение гиперпараметра max_depth для этой модели. Данный гиперпараметр ограничивает количество узлов в каждом отдельном дереве. Для оценки локального качества модели при каждом значении гиперпараметра используйте K-блочную кросс-валидацию.

Вам предоставлена функция get_cv_score(), которая принимает обучающую выборку и словарь параметров модели, а возвращает итоговое значение RMSE на валидации по 3-блочной кросс-валидации.

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

Победа в соревновании Kaggle на Python

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

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

  • Задайте сетку возможных значений max_depth: 3, 6, 9, 12 и 15.
  • Передайте каждый кандидат из сетки в словарь параметров модели params.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Possible max depth values
max_depth_grid = [____]
results = {}

# For each value in the grid
for max_depth_candidate in max_depth_grid:
    # Specify parameters for the model
    params = {'max_depth': ____}

    # Calculate validation score for a particular hyperparameter
    validation_score = get_cv_score(train, params)

    # Save the results for each max depth value
    results[max_depth_candidate] = validation_score   
print(results)
Редактировать и запускать код