Возвращаемся к регрессии со стекингом
В главе 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)))