Vícenásobná lineární regrese
Ve většině případů univariátní lineární regrese nestačí k vytvoření modelu, který by dokázal přesně předpovídat hodnoty. V tomto cvičení se zaměříš na vícenásobnou regresi, která pracuje s více než jedním příznakem.
Jako cílovou proměnnou použiješ price_log a jako příznaky size_log a bedrooms. Všechny tyto tenzory jsou již definované a připravené k použití. Také přejdeš ze ztráty střední kvadratické chyby na ztrátu střední absolutní chyby: keras.losses.mae(). Předpovídané hodnoty se vypočítají takto: params[0] + feature1*params[1] + feature2*params[2]. Všimni si, že parametry jsou tentokrát definované jako vektor params, nikoli jako tři samostatné proměnné. Zde params[0] představuje úsek a params[1] a params[2] jsou směrnice.
Toto cvičení je součástí kurzu
Úvod do TensorFlow v Pythonu
Pokyny k cvičení
- Definuj model lineární regrese, který vrátí předpovídané hodnoty.
- Nastav
loss_function()tak, aby přijímala vektor parametrů jako vstup. - Použij ztrátu střední absolutní chyby.
- Dokonči operaci minimalizace.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)