We’ve already covered the basics and some of the theory or regression. So now, let’s do a practical example of linear regression in python.
Let’s mock up some practice data. We’ll create a simple predictor X, that just takes all the values between 0 and 20 in steps of 0.1, and a response Y, which a depends on X linearly via Y = 5X + 3 + (random noise). We generate this in python like so
import numpy as np
X = np.arange(0, 20, 0.1)
Y = 5 * X + 3 + np.random(200)/10
Now we can create a linear model and fit it with scikit-learn
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(X.reshape(-1,1),Y)
We need to reshape the X array, because the fit method expects a two dimensional array, the outer dimension for the samples and the inner dimension is the predictors.
We can see the coefficients of this model with
model.coef_,model.intercept_
Which should give something like
(array([5.00041147]), 3.0461878369249646)
Then, if we would like to forecast values, say for the X value 11.34, we can use the predict method on our model
model.predict(np.array(11.34).reshape(-1,1))