1+ {
2+ "nbformat" : 4 ,
3+ "nbformat_minor" : 0 ,
4+ "metadata" : {
5+ "colab" : {
6+ "name" : " linear_regression.ipynb" ,
7+ "provenance" : [],
8+ "authorship_tag" : " ABX9TyNaZdToYxAxpJ5ZzH6yGJvE" ,
9+ "include_colab_link" : true
10+ },
11+ "kernelspec" : {
12+ "name" : " python3" ,
13+ "display_name" : " Python 3"
14+ }
15+ },
16+ "cells" : [
17+ {
18+ "cell_type" : " markdown" ,
19+ "metadata" : {
20+ "id" : " view-in-github" ,
21+ "colab_type" : " text"
22+ },
23+ "source" : [
24+ " <a href=\" https://colab.research.google.com/github/AjayKadoula/Mtech_Lab_1/blob/main/linear_regression.ipynb\" target=\" _parent\" ><img src=\" https://colab.research.google.com/assets/colab-badge.svg\" alt=\" Open In Colab\" /></a>"
25+ ]
26+ },
27+ {
28+ "cell_type" : " markdown" ,
29+ "metadata" : {
30+ "id" : " ghpIse_IiaiU"
31+ },
32+ "source" : [
33+ " # **Linear Regression**\r\n " ,
34+ " Linear regression is perhaps one of the most well known and well understood algorithms in statistics and machine learning. It is a statistical approach for modelling relationship between a dependent variable with a given set of independent variables.\r\n " ,
35+ " \r\n " ,
36+ " **Simple Linear Regression :** Simple linear regression is an approach for predicting a response using a single feature.\r\n " ,
37+ " \r\n " ,
38+ " **Multiple linear regression :** Multiple linear regression attempts to model the relationship between two or more features and a response by fitting a linear equation to observed data.\r\n " ,
39+ " \r\n "
40+ ]
41+ },
42+ {
43+ "cell_type" : " code" ,
44+ "metadata" : {
45+ "colab" : {
46+ "base_uri" : " https://localhost:8080/" ,
47+ "height" : 330
48+ },
49+ "id" : " 5F7oEdB0jlMq" ,
50+ "outputId" : " b3d8e2d2-3fcd-4974-bf88-e0bf4f6d3859"
51+ },
52+ "source" : [
53+ " import numpy as np \r\n " ,
54+ " import matplotlib.pyplot as plt \r\n " ,
55+ " \r\n " ,
56+ " def estimate_coef(x, y): \r\n " ,
57+ " \t\r\n " ,
58+ " \t n = np.size(x) \r\n " ,
59+ " \r\n " ,
60+ " \r\n " ,
61+ " \t m_x, m_y = np.mean(x), np.mean(y) \r\n " ,
62+ " \r\n " ,
63+ " \t\r\n " ,
64+ " \t SS_xy = np.sum(y*x) - n*m_y*m_x \r\n " ,
65+ " \t SS_xx = np.sum(x*x) - n*m_x*m_x \r\n " ,
66+ " \r\n " ,
67+ " \t\r\n " ,
68+ " \t b_1 = SS_xy / SS_xx \r\n " ,
69+ " \t b_0 = m_y - b_1*m_x \r\n " ,
70+ " \r\n " ,
71+ " \t return(b_0, b_1) \r\n " ,
72+ " \r\n " ,
73+ " def plot_regression_line(x, y, b): \r\n " ,
74+ " \t \r\n " ,
75+ " \t plt.scatter(x, y, color = \" m\" , \r\n " ,
76+ " \t\t\t marker = \" o\" , s = 30) \r\n " ,
77+ " \r\n " ,
78+ " \t\r\n " ,
79+ " \t y_pred = b[0] + b[1]*x \r\n " ,
80+ " \r\n " ,
81+ " \r\n " ,
82+ " \t plt.plot(x, y_pred, color = \" g\" ) \r\n " ,
83+ " \r\n " ,
84+ " \r\n " ,
85+ " \t plt.xlabel('x') \r\n " ,
86+ " \t plt.ylabel('y') \r\n " ,
87+ " \r\n " ,
88+ " \r\n " ,
89+ " \t plt.show() \r\n " ,
90+ " \r\n " ,
91+ " def main(): \r\n " ,
92+ " \r\n " ,
93+ " \t x = np.array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) \r\n " ,
94+ " \t y = np.array([22, 24, 26, 28, 20, 28, 28, 34, 30,32]) \r\n " ,
95+ " \r\n " ,
96+ " \r\n " ,
97+ " \t b = estimate_coef(x, y) \r\n " ,
98+ " \t print(\" Estimated coefficients:\\ n b_0 = {} \\\r\n " ,
99+ " \\ n b_1 = {}\" .format(b[0], b[1])) \r\n " ,
100+ " \r\n " ,
101+ " \r\n " ,
102+ " \t plot_regression_line(x, y, b) \r\n " ,
103+ " \r\n " ,
104+ " if __name__ == \" __main__\" : \r\n " ,
105+ " \t main() \r\n "
106+ ],
107+ "execution_count" : 10 ,
108+ "outputs" : [
109+ {
110+ "output_type" : " stream" ,
111+ "text" : [
112+ " Estimated coefficients:\n " ,
113+ " b_0 = 11.381818181818183 \n " ,
114+ " b_1 = 1.0909090909090908\n "
115+ ],
116+ "name" : " stdout"
117+ },
118+ {
119+ "output_type" : " display_data" ,
120+ "data" : {
121+ "image/png": "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\n",
122+ "text/plain" : [
123+ " <Figure size 432x288 with 1 Axes>"
124+ ]
125+ },
126+ "metadata" : {
127+ "tags" : [],
128+ "needs_background" : " light"
129+ }
130+ }
131+ ]
132+ }
133+ ]
134+ }
0 commit comments