Regressão linear múltipla
Na maioria dos casos, fazer uma regressão linear univariada não gera um modelo útil para previsões precisas. Neste exercício, você fará uma regressão múltipla, que usa mais de uma feature.
Você usará price_log como seu alvo e size_log e bedrooms como suas features. Cada um desses tensores já foi definido e está disponível. Você também vai trocar da função de perda de erro quadrático médio para a de erro absoluto médio: keras.losses.mae(). Por fim, os valores previstos são calculados assim: params[0] + feature1*params[1] + feature2*params[2]. Observe que definimos um vetor de parâmetros, params, como uma variável, em vez de usar três variáveis. Aqui, params[0] é o intercepto e params[1] e params[2] são as inclinações.
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções do exercício
- Defina um modelo de regressão linear que retorne os valores previstos.
- Configure
loss_function()para receber o vetor de parâmetros como entrada. - Use a função de perda de erro absoluto médio.
- Complete a operação de minimização.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)