LoslegenKostenlos loslegen

Multiple lineare Regression

In den meisten Fällen liefert eine univariate lineare Regression kein Modell, das für präzise Vorhersagen wirklich hilfreich ist. In dieser Übung führst du eine multiple Regression durch, die mehr als ein Feature verwendet.

Du verwendest price_log als Zielvariable und size_log sowie bedrooms als Features. Jeder dieser Tensoren ist bereits definiert und verfügbar. Außerdem wechselst du von der Loss-Funktion „mean squared error“ zur „mean absolute error“-Loss: keras.losses.mae(). Schließlich werden die vorhergesagten Werte wie folgt berechnet: params[0] + feature1*params[1] + feature2*params[2]. Beachte, dass wir einen Vektor von Parametern params als Variable definiert haben, anstatt drei einzelne Variablen zu verwenden. Dabei ist params[0] der Achsenabschnitt (Intercept) und params[1] sowie params[2] sind die Steigungen.

Diese Übung ist Teil des Kurses

Einführung in TensorFlow mit Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere ein lineares Regressionsmodell, das die vorhergesagten Werte zurückgibt.
  • Setze loss_function() so, dass der Parametervektor als Eingabe übergeben wird.
  • Verwende die „mean absolute error“-Loss.
  • Vervollständige die Minimierungsoperation.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen