Regresión lineal múltiple

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)

Modelo de regresión lineal

prediction = model.predict(X_test)
pd.DataFrame({"target": y_test.ravel(), "prediction": prediction.ravel()}, index = range(len(y_test)))

Predicción

Por último, evaluemos el modelo:

model.score(X_test, y_test)

Evaluación del modelo

Comprobamos que se ha producido una clara mejora en el resultado al incluir todas las características predictivas en el análisis.