Regresión lineal múltiple
En la mayoría de los casos, realizar una regresión lineal univariante no producirá un modelo útil para hacer predicciones precisas. En este ejercicio, realizarás una regresión múltiple, que utiliza más de una característica.
Utilizarás price_log
como objetivo y size_log
y bedrooms
como características. Cada uno de estos tensores se ha definido y está disponible. También pasarás de utilizar la pérdida de error cuadrático medio a la pérdida de error absoluto medio: keras.losses.mae()
. Por último, los valores predichos se calculan del siguiente modo: params[0] + feature1*params[1] + feature2*params[2]
. Observa que hemos definido un vector de parámetros, params
, como variable, en lugar de utilizar tres variables. Aquí, params[0]
es el intercepto y params[1]
y params[2]
son las pendientes.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones de ejercicio
- Define un modelo de regresión lineal que devuelva los valores predichos.
- Configura
loss_function()
para que tome el vector de parámetros como entrada. - Utiliza la pérdida de error medio absoluto.
- Completa la operación de minimización.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
return params[0] + feature1*____ + feature2*____
# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
# Set the predicted values
predictions = linear_regression(params, feature1, feature2)
# Use the mean absolute error loss
return keras.losses.____(targets, predictions)
# Define the optimize operation
opt = keras.optimizers.Adam()
# Perform minimization and print trainable variables
for j in range(10):
opt.minimize(lambda: loss_function(____), var_list=[____])
print_results(params)