def start_linear_regression(training_records, output):
    """
    In this method, we compare the weights calculated using our gradient descent approach with the sklearn's output.

    `Our method`
    >>> regressor = LinearRegression(iterations=NUM_OF_ITERATIONS, learning_rate=LEARNING_RATE)
    >>> weights_table, mse_costs, predicted_outputs = regressor.calculate_weights(training_records, output)

    As you see above there are 3 tables returned from our approach.

    1. weights_table - This is where we store the history of the weights from iteration 0 to the last iteration.
       To access the set of weights in the last iteration simply use `weights_table[-1]`

    2. mse_costs - Table which stores the mean square error for each iteration.

    3. predicted_outputs - This is the predicted output using our machine(i.e weights)

    The following code fragment shows how to invoke sklearn's Linear regression.
    `sklearn's method`
    >>> clf = linear_model.LinearRegression(fit_intercept=False)
    >>> clf.fit(training_records, output)

    Lastly, we just print the weights and it is left to the user to visually compare them.

    :parameter training_records - N X P matrix of training samples.
    :parameter output - N X 1 vector of output.

    :return:
    """
    regressor = LinearRegression(iterations=NUM_OF_ITERATIONS,
                                 learning_rate=LEARNING_RATE)
    print np.shape(training_records)
    print np.shape(output)
    weights_table, mse_costs, predicted_outputs = regressor.calculate_weights(
        training_records, output)

    clf = linear_model.LinearRegression(fit_intercept=False)
    clf.fit(training_records, output)
    print "Starting gradient descent with {0} iterations and a learning rate of {1}".format(
        NUM_OF_ITERATIONS, LEARNING_RATE)
    print "Running..."
    final_weights = [
        weights_table[-1][i] for i in range(0, NUM_OF_FEATURES + 1)
    ]
    print "After %s iterations of Gradient Descent (our implementation), the final weights are : %s" % (
        NUM_OF_ITERATIONS, final_weights)

    print "Using Sklearn's Linear Regression, the weights are : %s" % clf.coef_
    return weights_table, mse_costs