Aan de slagGa gratis aan de slag

Model stacking II

Oké, dit heb je tot nu toe gedaan in de stacking-implementatie:

  1. De trainingsdata in twee delen gesplitst
  2. Meerdere modellen getraind op Deel 1
  3. Voorspellingen gemaakt op Deel 2
  4. 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

Cursus bekijken

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_)
Code bewerken en uitvoeren