Skip to content

Commit 44e3cd7

Browse files
committed
Created using Colaboratory
1 parent b27e1f3 commit 44e3cd7

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed

linear_regression.ipynb

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
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+
"\tn = np.size(x) \r\n",
59+
"\r\n",
60+
"\r\n",
61+
"\tm_x, m_y = np.mean(x), np.mean(y) \r\n",
62+
"\r\n",
63+
"\t\r\n",
64+
"\tSS_xy = np.sum(y*x) - n*m_y*m_x \r\n",
65+
"\tSS_xx = np.sum(x*x) - n*m_x*m_x \r\n",
66+
"\r\n",
67+
"\t\r\n",
68+
"\tb_1 = SS_xy / SS_xx \r\n",
69+
"\tb_0 = m_y - b_1*m_x \r\n",
70+
"\r\n",
71+
"\treturn(b_0, b_1) \r\n",
72+
"\r\n",
73+
"def plot_regression_line(x, y, b): \r\n",
74+
"\t \r\n",
75+
"\tplt.scatter(x, y, color = \"m\", \r\n",
76+
"\t\t\tmarker = \"o\", s = 30) \r\n",
77+
"\r\n",
78+
"\t\r\n",
79+
"\ty_pred = b[0] + b[1]*x \r\n",
80+
"\r\n",
81+
"\r\n",
82+
"\tplt.plot(x, y_pred, color = \"g\") \r\n",
83+
"\r\n",
84+
" \r\n",
85+
"\tplt.xlabel('x') \r\n",
86+
"\tplt.ylabel('y') \r\n",
87+
"\r\n",
88+
" \r\n",
89+
"\tplt.show() \r\n",
90+
"\r\n",
91+
"def main(): \r\n",
92+
"\r\n",
93+
"\tx = np.array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) \r\n",
94+
"\ty = np.array([22, 24, 26, 28, 20, 28, 28, 34, 30,32]) \r\n",
95+
"\r\n",
96+
"\r\n",
97+
"\tb = estimate_coef(x, y) \r\n",
98+
"\tprint(\"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+
"\tplot_regression_line(x, y, b) \r\n",
103+
"\r\n",
104+
"if __name__ == \"__main__\": \r\n",
105+
"\tmain() \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

Comments
 (0)