ÎncepețiÎncepe gratuit

Regresia liniară multiplă

În cele mai multe cazuri, o regresie liniară univariată nu produce un model suficient de precis pentru predicții utile. În acest exercițiu, vei realiza o regresie multiplă, care folosește mai mult de o caracteristică.

Vei utiliza price_log ca variabilă țintă și size_log și bedrooms ca variabile de intrare. Fiecare dintre acești tensori a fost deja definit și este disponibil. Vei trece, de asemenea, de la funcția de pierdere bazată pe eroarea pătratică medie la cea bazată pe eroarea absolută medie: keras.losses.mae(). În final, valorile prezise se calculează astfel: params[0] + feature1*params[1] + feature2*params[2]. Rețineți că am definit un vector de parametri, params, ca variabilă, în loc să folosim trei variabile separate. Aici, params[0] este interceptul, iar params[1] și params[2] sunt pantele.

Acest exercițiu face parte din cursul

Introducere în TensorFlow în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un model de regresie liniară care returnează valorile prezise.
  • Configurează loss_function() să primească vectorul de parametri ca intrare.
  • Folosește funcția de pierdere bazată pe eroarea absolută medie.
  • Completează operația de minimizare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul