Model stacking II
Oké, dit heb je tot nu toe gedaan in de stacking-implementatie:
- De trainingsdata in twee delen gesplitst
- Meerdere modellen getraind op Deel 1
- Voorspellingen gemaakt op Deel 2
- Voorspellingen gemaakt op de testdata
Je doel is nu om een tweede-niveau model te maken met de voorspellingen uit stap 3 en 4 als features. Dit model wordt dus getraind op de data van Deel 2 en vervolgens kun je stacking-voorspellingen maken op de testdata.
De DataFrames part_2 en test zijn al beschikbaar in je workspace. Voorspellingen van Gradient Boosting en Random Forest zijn in deze DataFrames opgeslagen onder de namen "gb_pred" en "rf_pred".
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Oefeninstructies
- Train een Linear Regression-model op de data van Deel 2 met de voorspellingen van de Gradient Boosting- en Random Forest-modellen als features.
- Maak voorspellingen op de testdata met de voorspellingen van de Gradient Boosting- en Random Forest-modellen als features.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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_)