Model stacking II
Bene, ecco cosa hai fatto finora nell’implementazione dello stacking:
- Hai diviso i dati di training in due parti
- Hai addestrato più modelli sulla Parte 1
- Hai generato predizioni sulla Parte 2
- Hai generato predizioni sui dati di test
Ora, il tuo obiettivo è creare un modello di secondo livello usando come caratteristiche le predizioni dai passaggi 3 e 4. Quindi, questo modello viene addestrato sui dati della Parte 2 e poi puoi effettuare predizioni di stacking sui dati di test.
I DataFrame part_2 e test sono già disponibili nel tuo workspace. Le predizioni di Gradient Boosting e Random Forest sono salvate in questi DataFrame rispettivamente con i nomi "gb_pred" e "rf_pred".
Questo esercizio fa parte del corso
Vincere una competizione Kaggle con Python
Istruzioni dell'esercizio
- Addestra un modello di Regressione Lineare sui dati della Parte 2 usando come caratteristiche le predizioni dei modelli Gradient Boosting e Random Forest.
- Genera predizioni sui dati di test usando come caratteristiche le predizioni dei modelli Gradient Boosting e Random Forest.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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_)