Lineaire regressie

Introductie tot TensorFlow in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Wat is lineaire regressie?

Deze afbeelding toont een spreidingsdiagram van de natuurlijke logaritme van huisoppervlak in square feet tegen de natuurlijke logaritme van huizenprijs in dollars.

Introductie tot TensorFlow in Python

Wat is lineaire regressie?

Deze afbeelding toont een regressielijn op een spreidingsdiagram van de natuurlijke logaritme van huisoppervlak in square feet tegen de natuurlijke logaritme van huizenprijs in dollars.

Introductie tot TensorFlow in Python

Het lineaire regressiemodel

  • Een lineair regressiemodel veronderstelt een lineair verband:
    • $price = intercept + size*slope + error$
  • Dit is een voorbeeld van univariate regressie.
    • Er is maar één feature, size.
  • Meervoudige regressie heeft meerdere features.
    • Bijv. size en location
Introductie tot TensorFlow in Python

Lineaire regressie in TensorFlow

# Define the targets and features
price = np.array(housing['price'], np.float32)
size = np.array(housing['sqft_living'], np.float32)

# Define the intercept and slope
intercept = tf.Variable(0.1, np.float32)
slope = tf.Variable(0.1, np.float32)
# Define a linear regression model
def linear_regression(intercept, slope, features = size):
    return intercept + features*slope
# Compute the predicted values and loss
def loss_function(intercept, slope, targets = price, features = size):
    predictions = linear_regression(intercept, slope)
    return tf.keras.losses.mse(targets, predictions)
Introductie tot TensorFlow in Python

Lineaire regressie in TensorFlow

# Define an optimization operation
opt = tf.keras.optimizers.Adam()
# Minimize the loss function and print the loss
for j in range(1000):
    opt.minimize(lambda: loss_function(intercept, slope),\
    var_list=[intercept, slope])
    print(loss_function(intercept, slope))
tf.Tensor(10.909373, shape=(), dtype=float32)
...
tf.Tensor(0.15479447, shape=(), dtype=float32)
# Print the trained parameters
print(intercept.numpy(), slope.numpy())
Introductie tot TensorFlow in Python

Laten we oefenen!

Introductie tot TensorFlow in Python

Preparing Video For Download...