Model stacking II
Bien, esto es lo que has hecho hasta ahora en la implementación de stacking:
- Dividir los datos de entrenamiento en dos partes
- Entrenar varios modelos en la Parte 1
- Hacer predicciones sobre la Parte 2
- Hacer predicciones sobre los datos de prueba
Ahora, tu objetivo es crear un modelo de segundo nivel usando como características las predicciones de los pasos 3 y 4. Es decir, este modelo se entrena con los datos de la Parte 2 y luego puedes hacer predicciones de stacking sobre los datos de prueba.
Los DataFrames part_2 y test ya están disponibles en tu espacio de trabajo. Las predicciones de Gradient Boosting y Random Forest están guardadas en estos DataFrames con los nombres "gb_pred" y "rf_pred", respectivamente.
Este ejercicio forma parte del curso
Cómo ganar una competición de Kaggle con Python
Instrucciones del ejercicio
- Entrena un modelo de regresión lineal en los datos de la Parte 2 usando como características las predicciones de los modelos Gradient Boosting y Random Forest.
- Haz predicciones sobre los datos de prueba usando como características las predicciones de los modelos Gradient Boosting y Random Forest.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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_)