Configura una regresión lineal
Una regresión lineal univariante identifica la relación entre una sola característica y el tensor objetivo. En este ejercicio, usaremos el tamaño de la parcela de una propiedad y su precio. Tal como comentamos en el vídeo, tomaremos los logaritmos naturales de ambos tensores, disponibles como price_log y size_log.
En este ejercicio, definirás el modelo y la función de pérdida. Después evaluarás la función de pérdida para dos valores distintos de intercept y slope. Recuerda que los valores predichos vienen dados por intercept + features*slope. Además, ten en cuenta que keras.losses.mse() está disponible para ti. Asimismo, slope e intercept se han definido como variables.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Define una función que devuelva los valores predichos para una regresión lineal usando
intercept,featuresyslope, y sin usaradd()nimultiply(). - Completa
loss_function()añadiendo las variables del modelo,interceptyslope, como argumentos. - Calcula el error cuadrático medio usando
targetsypredictions.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define a linear regression model
def linear_regression(intercept, slope, features = size_log):
return ____
# Set loss_function() to take the variables as arguments
def loss_function(____, ____, features = size_log, targets = price_log):
# Set the predicted values
predictions = linear_regression(intercept, slope, features)
# Return the mean squared error loss
return keras.losses.____
# Compute the loss for different slope and intercept values
print(loss_function(0.1, 0.1).numpy())
print(loss_function(0.1, 0.5).numpy())