Consideremos ahora todas las características predictivas, volviendo a seleccionar solo las casas con menos de 40 años. A continuación dividamos el dataset en bloques de entrenamiento y prueba:
X = pd.DataFrame(df.data, columns = df.feature_names)
X["target"] = df.target
X = X[X.AGE < 40]
y = X.pop("target")
y = y.values.reshape(-1, 1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.10, random_state = 1)
Instanciemos el algoritmo, entrenémoslo y mostremos la predicción junto a la variable objetivo:
model = LinearRegression()
model.fit(X_train, y_train)
prediction = model.predict(X_test)
pd.DataFrame({"target": y_test.ravel(), "prediction": prediction.ravel()}, index = range(len(y_test)))
Por último, evaluemos el modelo:
model.score(X_test, y_test)
Comprobamos que se ha producido una clara mejora en el resultado al incluir todas las características predictivas en el análisis.