To implement univariate Linear Regression to fit a straight line using least squares.
- Hardware – PCs
- Anaconda – Python 3.7 Installation / Moodle-Code Runner
- Get the independent variable X and dependent variable Y.
- Calculate the mean of the X -values and the mean of the Y -values.
- Find the slope m of the line of best fit using the formula.
- Compute the y -intercept of the line by using the formula:
- Use the slope m and the y -intercept to form the equation of the line.
- Obtain the straight line equation Y=mX+b and plot the scatterplot.
import numpy as np
X = np.array(eval(input()))
Y = np.array(eval(input()))
X_mean=np.mean(X)
Y_mean=np.mean(Y)
num=0
denom=0
for i in range (len(X)):
num+=(X[i]-X_mean)*(Y[i]-Y_mean)
denom+=(X[i]-X_mean)**2
m=num/denom
c=Y_mean-m*X_mean
print (m, c)
Y_pred = m*X + c
print(Y_pred)
import matplotlib.pyplot as plt
plt.scatter(X,Y,color='pink')
plt.plot(X,Y_pred,color='blue')
plt.show()
Thus the univariate Linear Regression was implemented to fit a straight line using least squares.