Establece una regresión lineal
Una regresión lineal univariante identifica la relación entre un único rasgo y el tensor objetivo. En este ejercicio, utilizaremos el tamaño del lote y el precio de una propiedad. Tal y como comentamos en el vídeo, tomaremos los logaritmos naturales de ambos tensores, que están disponibles como price_log
y size_log
.
En este ejercicio, definirás el modelo y la función de pérdida. A continuación, evaluarás la función de pérdida para dos valores diferentes de intercept
y slope
. Recuerda que los valores previstos vienen dados por intercept + features*slope
. Además, ten en cuenta que keras.losses.mse()
está a tu disposición. Además, se han definido como variables slope
y intercept
.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones de ejercicio
- Define una función que devuelva los valores predichos de una regresión lineal utilizando
intercept
,features
, yslope
, y sin utilizaradd()
nimultiply()
. - Completa el
loss_function()
añadiendo las variables del modelo,intercept
yslope
, como argumentos. - Calcula el error cuadrático medio utilizando
targets
ypredictions
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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())