Задание 1. Вычисление корректировки прогноза

Для модели градиентного бустинга известны следующие значения:

Необходимо:

  1. Вычислить остаток y − F₀(x).
  2. Определить новый прогноз, предполагая, что дерево выдаёт корректировку, равную остатку.
  3. Реализовать вычисление на Python.
  4. Объяснить роль скорости обучения в обновлении прогноза.

Начальный код:

actual = 25

prediction = 19

learning_rate = 0.3

Задание 2. Сравнение скорости обучения

Используя make_regression и GradientBoostingRegressor, необходимо:

  1. Создать 300 наблюдений с 5 признаками.
  2. Разделить данные на обучающую и тестовую выборки.
  3. Обучить модели с learning_rate=0.1 и learning_rate=0.01.
  4. Использовать для каждой скорости обучения 50 и 200 деревьев.
  5. Рассчитать MSE.
  6. Сравнить полученные результаты.
  7. Объяснить связь между скоростью обучения и количеством деревьев.

Задание 3. Глубина деревьев и ранняя остановка

Используя GradientBoostingRegressor, необходимо:

  1. Создать набор данных из 400 наблюдений с 6 признаками.
  2. Разделить данные на обучающую и тестовую выборки.
  3. Обучить модель с max_depth=2.
  4. Обучить модель с max_depth=4.
  5. Для обеих моделей включить раннюю остановку с n_iter_no_change=10.
  6. Сравнить количество фактически использованных деревьев и MSE.
  7. Объяснить, как глубина деревьев и ранняя остановка влияют на сложность модели.