Linear Regression in TensorFlow is easy to implement.

In the Linear Regression Model:
The goal is to find a relationship between a scalar dependent variable y and independent variables X.

The model is based on real world data and can be used to make predictions. Of course you can use random data, but it makes more sense to use real world data.

Related Course:
Zero To One - A Beginner Tensorflow Tutorial on Neural Networks

The model

Consider this example:

X: gdp per capita
Y: life expectancy
Predict Y from X

The model is:

Y_predicted = X * w + b

Linear regression with tensorflow

You can create a linear regression prediction model in a few steps.
If you want you can see the graph with TensorBoard.

You can find the complete code and dataset in this repo.

  1. read the data
    This can be a simple text file with tab separated values.
  2. create placeholders for inputs

    X = tf.placeholder(tf.float32, name='X')
    Y = tf.placeholder(tf.float32, name='Y')
  3. create weights and bias

    w = tf.get_variable('weights', initializer=tf.constant(0.0))
    b = tf.get_variable('bias', initializer=tf.constant(0.0))
  4. make model to predict

    Y_predicted = w * X + b
  5. define loss function

    # can use square error as loss function
    loss = tf.square(Y - Y_predicted, name='loss')
  6. create optimizer

    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.0003).minimize(loss)
  7. train model (initialize variables, run optimizer)

  8. plot (optional)