Поиск по сетке
В предыдущем уроке мы создали базовую модель на основе градиентного бустинга. Теперь ваша задача — найти оптимальное значение гиперпараметра 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)