@Kapil3sh/

Linear Regression in Py

Python

Linear Regression

fork
loading
Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import numpy as np
import matplotlib.pyplot as plt


def esti_coef(x,y):
  n = np.size(x)
  m_x, m_y = np.mean(x), np.mean(y)
  
  SS_x = np.sum(y*x) - n*m_y*m_x
  SS_y = np.sum(x*x) - n*m_y*m_x

  b_1 = SS_x/SS_y
  b_0 = m_y - b_1*m_x


  return (b_0,b_1)

def plot_regression_line(x,y,b) :
  plt.scatter(x, y, color = 'm', marker = 'o', s = 30 )
  y_pred = b[0] + b[1]*x
  plt.plot (x, y_pred, color = 'g' )

  plt.xlabel('x')
  plt.ylabel('y')

  plt.show()

def main(): 
    # observations 
    x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 
    y = np.array([1, 3, 2, 5, 7, 8, 8, 10, 10, 12]) 
  
    # estimating coefficients 
    b = esti_coef(x, y) 
    print("Estimated coefficients:\nb_0 = {}  \ \nb_1 = {}".format(b[0], b[1])) 
  
    # plotting regression line 
    plot_regression_line(x, y, b) 
  
if __name__ == "__main__": 
    main()