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))`