Стекінг моделей II
Отже, що ви вже зробили під час реалізації стекінгу:
- Розбили тренувальні дані на дві частини
- Натренували кілька моделей на Частині 1
- Зробили передбачення для Частини 2
- Зробили передбачення для тестових даних
Тепер ваша мета — створити модель другого рівня, використовуючи передбачення з кроків 3 і 4 як ознаки. Тобто ця модель навчається на даних Частини 2, а потім ви можете робити стекінг-передбачення для тестових даних.
Датафрейми part_2 і test уже доступні у вашому робочому середовищі. Передбачення Gradient Boosting і Random Forest збережено в цих датафреймах під назвами «gbpred» і «rfpred» відповідно.
Ця вправа є частиною курсу
Як перемагати в змаганнях Kaggle за допомогою Python
Інструкції до вправи
- Натренуйте модель лінійної регресії на даних Частини 2, використовуючи передбачення моделей Gradient Boosting і Random Forest як ознаки.
- Зробіть передбачення для тестових даних, використовуючи передбачення моделей Gradient Boosting і Random Forest як ознаки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
from sklearn.linear_model import LinearRegression
# Create linear regression model without the intercept
lr = LinearRegression(fit_intercept=False)
# Train 2nd level model on the Part 2 data
lr.____(part_2[['gb_pred', '____']], part_2.fare_amount)
# Make stacking predictions on the test data
test['stacking'] = lr.____(test[['gb_pred', '____']])
# Look at the model coefficients
print(lr.coef_)