Empilhamento de modelos II
Certo, aqui está o que você já fez na implementação de stacking:
- Dividiu os dados de treino em duas partes
- Treinou vários modelos na Parte 1
- Fez previsões na Parte 2
- Fez previsões nos dados de teste
Agora, seu objetivo é criar um modelo de segundo nível usando as previsões dos passos 3 e 4 como variáveis. Assim, esse modelo é treinado nos dados da Parte 2 e, depois, você pode gerar previsões de stacking nos dados de teste.
Os DataFrames part_2 e test já estão disponíveis no seu workspace. As previsões de Gradient Boosting e Random Forest estão armazenadas nesses DataFrames com os nomes "gb_pred" e "rf_pred", respectivamente.
Este exercício faz parte do curso
Vencendo uma competição do Kaggle em Python
Instruções do exercício
- Treine um modelo de Regressão Linear nos dados da Parte 2 usando as previsões dos modelos Gradient Boosting e Random Forest como variáveis.
- Faça previsões nos dados de teste usando as previsões dos modelos Gradient Boosting e Random Forest como variáveis.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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_)