Regresión lineal múltiple
En la mayoría de los casos, hacer una regresión lineal univariante no dará un modelo útil para hacer predicciones precisas. En este ejercicio, harás una regresión múltiple, que utiliza más de una característica.
Usarás price_log como tu objetivo y size_log y bedrooms como tus características. Cada uno de estos tensores ya está definido y disponible. También cambiarás de la función de pérdida de error cuadrático medio a la de error absoluto medio: keras.losses.mae(). Por último, los valores predichos se calculan así: params[0] + feature1*params[1] + feature2*params[2]. Ten en cuenta que hemos definido un vector de parámetros, params, como una variable, en lugar de usar tres variables. Aquí, params[0] es la intersección (término independiente) y params[1] y params[2] son las pendientes.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Define un modelo de regresión lineal que devuelva los valores predichos.
- Haz que
loss_function()reciba el vector de parámetros como entrada. - Usa la pérdida de error absoluto medio.
- Completa la operación de minimización.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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)