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

Возвращаемся к регрессии со стекингом

В главе 1 мы рассматривали рейтинги приложений как задачу регрессии, предсказывая значение на интервале от 1 до 5. В этой главе мы работали с ней как с задачей классификации, округляя рейтинг до ближайшего целого числа. Чтобы отработать использование StackingRegressor, вернёмся к регрессионному подходу. Как обычно, входные признаки уже стандартизированы с помощью StandardScaler().

В качестве метрики используется MAE (средняя абсолютная ошибка). В главе 1 MAE составил около 0.61. Посмотрим, удастся ли ансамблевому методу стекинга снизить эту ошибку.

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

Ансамблевые методы в Python

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

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

  • Создайте экземпляр регрессора на основе дерева решений с параметрами: min_samples_leaf = 11 и min_samples_split = 33.
  • Создайте экземпляр линейной регрессии с настройками по умолчанию.
  • Создайте экземпляр модели Ridge-регрессии с random_state = 500.
  • Постройте и обучите StackingRegressor, передав ему regressors и meta_regressor.

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

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

# Instantiate the 1st-layer regressors
reg_dt = ____(____, ____, random_state=500)
reg_lr = ____
reg_ridge = ____

# Instantiate the 2nd-layer regressor
reg_meta = LinearRegression()

# Build the Stacking regressor
reg_stack = ____
reg_stack.____

# Evaluate the performance on the test set using the MAE metric
pred = reg_stack.predict(X_test)
print('MAE: {:.3f}'.format(mean_absolute_error(y_test, pred)))
Редактировать и запускать код