Aan de slagGa gratis aan de slag

Meervoudige lineaire regressie

In de meeste gevallen levert univariate lineaire regressie geen model op dat bruikbaar is voor nauwkeurige voorspellingen. In deze oefening voer je een multiple regression uit, die meer dan één feature gebruikt.

Je gebruikt price_log als je target en size_log en bedrooms als je features. Elk van deze tensors is gedefinieerd en beschikbaar. Je stapt ook over van de mean squared error-loss naar de mean absolute error-loss: keras.losses.mae(). Ten slotte worden de voorspelde waarden als volgt berekend: params[0] + feature1*params[1] + feature2*params[2]. Let op: we hebben een vector met parameters, params, als variabele gedefinieerd in plaats van drie losse variabelen. Hier is params[0] het intercept en zijn params[1] en params[2] de hellingen.

Deze oefening maakt deel uit van de cursus

Introductie tot TensorFlow in Python

Cursus bekijken

Oefeninstructies

  • Definieer een lineair regressiemodel dat de voorspelde waarden teruggeeft.
  • Laat loss_function() de parametervector als invoer nemen.
  • Gebruik de mean absolute error-loss.
  • Maak de minimalisatiebewerking af.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren