Set up a linear regression
A univariate linear regression identifies the relationship between a single feature and the target tensor. In this exercise, we will use a property's lot size and price. Just as we discussed in the video, we will take the natural logarithms of both tensors, which are available as price_log
and size_log
.
In this exercise, you will define the model and the loss function. You will then evaluate the loss function for two different values of intercept
and slope
. Remember that the predicted values are given by intercept + features*slope
. Additionally, note that keras.losses.mse()
is available for you. Furthermore, slope
and intercept
have been defined as variables.
This exercise is part of the course
Introduction to TensorFlow in Python
Exercise instructions
- Define a function that returns the predicted values for a linear regression using
intercept
,features
, andslope
, and without usingadd()
ormultiply()
. - Complete the
loss_function()
by adding the model's variables,intercept
andslope
, as arguments. - Compute the mean squared error using
targets
andpredictions
.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# 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())