Задание 1. Расчёт количества экспериментов Grid Search

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

max_depth = [2, 3, 4, 5]

learning_rate = [0.01, 0.05, 0.1]

cv_folds = 5

Необходимо:

  1. Определить количество комбинаций гиперпараметров.
  2. Рассчитать количество обучений при пятикратной перекрёстной проверке.
  3. Реализовать вычисления на Python.
  4. Создать GridSearchCV для модели GradientBoostingRegressor.
  5. Объяснить, почему тестовая выборка не должна участвовать в подборе гиперпараметров.

Задание 2. Сравнение Grid Search и Random Search

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

  1. Создать 300 наблюдений с 6 признаками.
  2. Разделить данные на обучающую и тестовую выборки.
  3. Подготовить значения max_depth=[2, 3, 4, 5, 6].
  4. Подготовить значения min_samples_leaf=[1, 2, 3, 4].
  5. Выполнить Grid Search с cv=5.
  6. Выполнить Random Search с n_iter=8 и cv=5.
  7. Вывести лучшие гиперпараметры и точность обеих моделей на тестовых данных.
  8. Сравнить количество проверенных конфигураций.

Задание 3. Интерпретация и устойчивость модели

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

  1. Создать 400 наблюдений с 5 признаками.
  2. Разделить данные на обучающую и тестовую выборки.
  3. Обучить RandomForestClassifier.
  4. Вычислить исходную точность модели.
  5. Определить важность признаков с помощью permutation_importance.
  6. Добавить небольшой случайный шум к тестовым признакам.
  7. Повторно вычислить точность модели.
  8. Сравнить показатели и объяснить, что результаты говорят об устойчивости модели.
  9. Объяснить, почему важность признаков не является доказательством причинности.