Kom igångKom igång gratis

Multipel linjär regression

I de flesta fall räcker det inte med en univariat linjär regression för att bygga en modell som ger noggranna förutsägelser. I den här övningen utför du en multipel regression, som använder fler än ett särdrag.

Du använder price_log som målvariabel och size_log samt bedrooms som särdrag. Dessa tensorer är redan definierade och tillgängliga. Du byter också förlustfunktion – från medelkvadratfelet till medelabsolutfelet: keras.losses.mae(). De förutsagda värdena beräknas enligt följande: params[0] + feature1*params[1] + feature2*params[2]. Observera att vi har definierat en parametervektor, params, som en variabel i stället för att använda tre separata variabler. Här är params[0] intercept och params[1] samt params[2] är lutningarna.

Den här övningen är en del av kursen

Introduktion till TensorFlow i Python

Visa kurs

Övningsinstruktioner

  • Definiera en linjär regressionsmodell som returnerar de förutsagda värdena.
  • Ange att loss_function() ska ta parametervektorn som indata.
  • Använd medelabsolutfelet som förlustfunktion.
  • Slutför minimeringsoperationen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod