├── .gitattributes
├── student_scores.csv
├── .ipynb_checkpoints
└── linear-checkpoint.ipynb
└── linear.ipynb
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/student_scores.csv:
--------------------------------------------------------------------------------
1 | Hours,Scores
2 | 2.5,21
3 | 5.1,47
4 | 3.2,27
5 | 8.5,75
6 | 3.5,30
7 | 1.5,20
8 | 9.2,88
9 | 5.5,60
10 | 8.3,81
11 | 2.7,25
12 | 7.7,85
13 | 5.9,62
14 | 4.5,41
15 | 3.3,42
16 | 1.1,17
17 | 8.9,95
18 | 2.5,30
19 | 1.9,24
20 | 6.1,67
21 | 7.4,69
22 | 2.7,30
23 | 4.8,54
24 | 3.8,35
25 | 6.9,76
26 | 7.8,86
27 |
--------------------------------------------------------------------------------
/.ipynb_checkpoints/linear-checkpoint.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [],
8 | "source": [
9 | "import numpy as np\n",
10 | "import matplotlib.pyplot as plt\n",
11 | "%matplotlib inline"
12 | ]
13 | },
14 | {
15 | "cell_type": "code",
16 | "execution_count": 6,
17 | "metadata": {},
18 | "outputs": [
19 | {
20 | "data": {
21 | "text/plain": [
22 | "(25, 2)"
23 | ]
24 | },
25 | "execution_count": 6,
26 | "metadata": {},
27 | "output_type": "execute_result"
28 | }
29 | ],
30 | "source": [
31 | "dataset = pd.read_csv('student_scores.csv')\n",
32 | "dataset.shape"
33 | ]
34 | },
35 | {
36 | "cell_type": "code",
37 | "execution_count": 7,
38 | "metadata": {},
39 | "outputs": [
40 | {
41 | "data": {
42 | "text/html": [
43 | "
\n",
44 | "\n",
57 | "
\n",
58 | " \n",
59 | " \n",
60 | " | \n",
61 | " Hours | \n",
62 | " Scores | \n",
63 | "
\n",
64 | " \n",
65 | " \n",
66 | " \n",
67 | " | 0 | \n",
68 | " 2.5 | \n",
69 | " 21 | \n",
70 | "
\n",
71 | " \n",
72 | " | 1 | \n",
73 | " 5.1 | \n",
74 | " 47 | \n",
75 | "
\n",
76 | " \n",
77 | " | 2 | \n",
78 | " 3.2 | \n",
79 | " 27 | \n",
80 | "
\n",
81 | " \n",
82 | " | 3 | \n",
83 | " 8.5 | \n",
84 | " 75 | \n",
85 | "
\n",
86 | " \n",
87 | " | 4 | \n",
88 | " 3.5 | \n",
89 | " 30 | \n",
90 | "
\n",
91 | " \n",
92 | "
\n",
93 | "
"
94 | ],
95 | "text/plain": [
96 | " Hours Scores\n",
97 | "0 2.5 21\n",
98 | "1 5.1 47\n",
99 | "2 3.2 27\n",
100 | "3 8.5 75\n",
101 | "4 3.5 30"
102 | ]
103 | },
104 | "execution_count": 7,
105 | "metadata": {},
106 | "output_type": "execute_result"
107 | }
108 | ],
109 | "source": [
110 | "dataset.head()"
111 | ]
112 | },
113 | {
114 | "cell_type": "code",
115 | "execution_count": 8,
116 | "metadata": {},
117 | "outputs": [
118 | {
119 | "data": {
120 | "text/html": [
121 | "\n",
122 | "\n",
135 | "
\n",
136 | " \n",
137 | " \n",
138 | " | \n",
139 | " Hours | \n",
140 | " Scores | \n",
141 | "
\n",
142 | " \n",
143 | " \n",
144 | " \n",
145 | " | count | \n",
146 | " 25.000000 | \n",
147 | " 25.000000 | \n",
148 | "
\n",
149 | " \n",
150 | " | mean | \n",
151 | " 5.012000 | \n",
152 | " 51.480000 | \n",
153 | "
\n",
154 | " \n",
155 | " | std | \n",
156 | " 2.525094 | \n",
157 | " 25.286887 | \n",
158 | "
\n",
159 | " \n",
160 | " | min | \n",
161 | " 1.100000 | \n",
162 | " 17.000000 | \n",
163 | "
\n",
164 | " \n",
165 | " | 25% | \n",
166 | " 2.700000 | \n",
167 | " 30.000000 | \n",
168 | "
\n",
169 | " \n",
170 | " | 50% | \n",
171 | " 4.800000 | \n",
172 | " 47.000000 | \n",
173 | "
\n",
174 | " \n",
175 | " | 75% | \n",
176 | " 7.400000 | \n",
177 | " 75.000000 | \n",
178 | "
\n",
179 | " \n",
180 | " | max | \n",
181 | " 9.200000 | \n",
182 | " 95.000000 | \n",
183 | "
\n",
184 | " \n",
185 | "
\n",
186 | "
"
187 | ],
188 | "text/plain": [
189 | " Hours Scores\n",
190 | "count 25.000000 25.000000\n",
191 | "mean 5.012000 51.480000\n",
192 | "std 2.525094 25.286887\n",
193 | "min 1.100000 17.000000\n",
194 | "25% 2.700000 30.000000\n",
195 | "50% 4.800000 47.000000\n",
196 | "75% 7.400000 75.000000\n",
197 | "max 9.200000 95.000000"
198 | ]
199 | },
200 | "execution_count": 8,
201 | "metadata": {},
202 | "output_type": "execute_result"
203 | }
204 | ],
205 | "source": [
206 | "dataset.describe() "
207 | ]
208 | },
209 | {
210 | "cell_type": "code",
211 | "execution_count": null,
212 | "metadata": {},
213 | "outputs": [],
214 | "source": []
215 | }
216 | ],
217 | "metadata": {
218 | "interpreter": {
219 | "hash": "2be5faf79681da6f2a61fdfdd5405d65d042280f7fba6178067603e3a2925119"
220 | },
221 | "kernelspec": {
222 | "display_name": "Python 3 (ipykernel)",
223 | "language": "python",
224 | "name": "python3"
225 | },
226 | "language_info": {
227 | "codemirror_mode": {
228 | "name": "ipython",
229 | "version": 3
230 | },
231 | "file_extension": ".py",
232 | "mimetype": "text/x-python",
233 | "name": "python",
234 | "nbconvert_exporter": "python",
235 | "pygments_lexer": "ipython3",
236 | "version": "3.9.7"
237 | }
238 | },
239 | "nbformat": 4,
240 | "nbformat_minor": 2
241 | }
242 |
--------------------------------------------------------------------------------
/linear.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [],
8 | "source": [
9 | "import pandas as pd\n",
10 | "import numpy as np\n",
11 | "import matplotlib.pyplot as plt\n",
12 | "%matplotlib inline"
13 | ]
14 | },
15 | {
16 | "cell_type": "code",
17 | "execution_count": 6,
18 | "metadata": {},
19 | "outputs": [
20 | {
21 | "data": {
22 | "text/plain": [
23 | "(25, 2)"
24 | ]
25 | },
26 | "execution_count": 6,
27 | "metadata": {},
28 | "output_type": "execute_result"
29 | }
30 | ],
31 | "source": [
32 | "dataset = pd.read_csv('student_scores.csv')\n",
33 | "dataset.shape"
34 | ]
35 | },
36 | {
37 | "cell_type": "code",
38 | "execution_count": 7,
39 | "metadata": {},
40 | "outputs": [
41 | {
42 | "data": {
43 | "text/html": [
44 | "\n",
45 | "\n",
58 | "
\n",
59 | " \n",
60 | " \n",
61 | " | \n",
62 | " Hours | \n",
63 | " Scores | \n",
64 | "
\n",
65 | " \n",
66 | " \n",
67 | " \n",
68 | " | 0 | \n",
69 | " 2.5 | \n",
70 | " 21 | \n",
71 | "
\n",
72 | " \n",
73 | " | 1 | \n",
74 | " 5.1 | \n",
75 | " 47 | \n",
76 | "
\n",
77 | " \n",
78 | " | 2 | \n",
79 | " 3.2 | \n",
80 | " 27 | \n",
81 | "
\n",
82 | " \n",
83 | " | 3 | \n",
84 | " 8.5 | \n",
85 | " 75 | \n",
86 | "
\n",
87 | " \n",
88 | " | 4 | \n",
89 | " 3.5 | \n",
90 | " 30 | \n",
91 | "
\n",
92 | " \n",
93 | "
\n",
94 | "
"
95 | ],
96 | "text/plain": [
97 | " Hours Scores\n",
98 | "0 2.5 21\n",
99 | "1 5.1 47\n",
100 | "2 3.2 27\n",
101 | "3 8.5 75\n",
102 | "4 3.5 30"
103 | ]
104 | },
105 | "execution_count": 7,
106 | "metadata": {},
107 | "output_type": "execute_result"
108 | }
109 | ],
110 | "source": [
111 | "dataset.head()"
112 | ]
113 | },
114 | {
115 | "cell_type": "code",
116 | "execution_count": 8,
117 | "metadata": {},
118 | "outputs": [
119 | {
120 | "data": {
121 | "text/html": [
122 | "\n",
123 | "\n",
136 | "
\n",
137 | " \n",
138 | " \n",
139 | " | \n",
140 | " Hours | \n",
141 | " Scores | \n",
142 | "
\n",
143 | " \n",
144 | " \n",
145 | " \n",
146 | " | count | \n",
147 | " 25.000000 | \n",
148 | " 25.000000 | \n",
149 | "
\n",
150 | " \n",
151 | " | mean | \n",
152 | " 5.012000 | \n",
153 | " 51.480000 | \n",
154 | "
\n",
155 | " \n",
156 | " | std | \n",
157 | " 2.525094 | \n",
158 | " 25.286887 | \n",
159 | "
\n",
160 | " \n",
161 | " | min | \n",
162 | " 1.100000 | \n",
163 | " 17.000000 | \n",
164 | "
\n",
165 | " \n",
166 | " | 25% | \n",
167 | " 2.700000 | \n",
168 | " 30.000000 | \n",
169 | "
\n",
170 | " \n",
171 | " | 50% | \n",
172 | " 4.800000 | \n",
173 | " 47.000000 | \n",
174 | "
\n",
175 | " \n",
176 | " | 75% | \n",
177 | " 7.400000 | \n",
178 | " 75.000000 | \n",
179 | "
\n",
180 | " \n",
181 | " | max | \n",
182 | " 9.200000 | \n",
183 | " 95.000000 | \n",
184 | "
\n",
185 | " \n",
186 | "
\n",
187 | "
"
188 | ],
189 | "text/plain": [
190 | " Hours Scores\n",
191 | "count 25.000000 25.000000\n",
192 | "mean 5.012000 51.480000\n",
193 | "std 2.525094 25.286887\n",
194 | "min 1.100000 17.000000\n",
195 | "25% 2.700000 30.000000\n",
196 | "50% 4.800000 47.000000\n",
197 | "75% 7.400000 75.000000\n",
198 | "max 9.200000 95.000000"
199 | ]
200 | },
201 | "execution_count": 8,
202 | "metadata": {},
203 | "output_type": "execute_result"
204 | }
205 | ],
206 | "source": [
207 | "dataset.describe() "
208 | ]
209 | },
210 | {
211 | "cell_type": "code",
212 | "execution_count": 9,
213 | "metadata": {},
214 | "outputs": [
215 | {
216 | "data": {
217 | "image/png": "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PyWJPffck+bm5nKHYmZtmLt0Fd/51fOs3rCFIf0auPjEA5kyrjNTUXSfqk38gJN+Ef8tzCrX3KWr+MadT7Pl7aTi96oNW/jGnU8DlCX5u3PXzCxn3/nV8+8k/YItb2/nO796vizxOPHvpCuvvJJDDjmEww47jLFjx/LYY4+VOyQzqzCrN2zp1Pq8VXVTT2fk0b7229/+lnvuuYclS5awyy678Morr/DWW291+Xjbtm2jZ8+6+U9iVjeG9GtgVStJfki/hjJEUydX/IX2tVUbthC82742d+mqDvdtz5o1axgwYAC77JJMjjRgwACGDBnC448/ztFHH83hhx/O+PHj2bRpE1u3buXcc89lzJgxjBs3jgceeACAG264gTPPPJNTTz2VE044gTfeeIPPf/7zHHHEEYwbN467774bgGeffZbx48czduxYDjvsMJYvX75TsZtZ6Vx84oE09Oqxw7qGXj24+MT2JmnLT11cXrbXvrYzV/0nnHACV1xxBR/84AeZPHkyU6dOZcKECUydOpVbb72VI444go0bN9LQ0MAPfvADAJ5++mmee+45TjjhBF544QUg+eXw1FNP0b9/fy699FKOPfZYrr/+ejZs2MD48eOZPHkyP/nJT7jwwgs555xzeOutt9i+vVPTwppZGRXyjEf1lFBe7Wu77bYbixcv5uGHH+aBBx5g6tSpfPOb32Tw4MEcccQRAPTt2xeARx55hBkzZgBw0EEHse+++76T+I8//nj69+8PwH333ce8efP47neTqWO3bt3KihUrmDBhAldeeSUrV67kjDPOYNSoUTsVu5mV1pRxQ8uW6Fuqi8SfZ/tajx49mDRpEpMmTWLMmDFcc801rQ6tbG/Cmz59+uyw3R133MGBB+74E3D06NEceeSRzJ8/nxNPPJFrr72WY489dqfjN7P6Uxdt/Hm1rz3//PM7tLU/8cQTjB49mtWrV/P4448DsGnTJrZt28YxxxzDTTfdBMALL7zAihUr3pPcAU488USuvvrqd74oli5NZsF78cUX2W+//bjgggs47bTTeOqpp3YqdjOrX3VxxZ9X+9rmzZuZMWMGGzZsoGfPnhxwwAHMnj2bc889lxkzZrBlyxYaGhq4//77+epXv8p5553HmDFj6NmzJzfccMM7ncLF/uEf/oGLLrqIww47jIhgxIgR3HPPPdx6663ceOON9OrVi7333pvLLrtsp2I3s/pVFXPuNjY2RsuJWJYtW8bo0aPLFFFl8t/EzIpJWhwRjS3X10VTj5mZvSvXxC/pQknPSHpW0kXpuv6SFkhanj7vkWcMZma2o9wSv6RDgS8B44HDgVMkjQJmAgsjYhSwMH3dJdXQTFUq/luYWVZ5XvGPBh6NiDcjYhvwEPBJ4HRgTrrNHGBKVw7eu3dv1q9f74THu/X4e/fuXe5QzKwK5Dmq5xngSkl7AluAk4EmYK+IWAMQEWskDWptZ0nTgekAw4cPf8/7w4YNY+XKla5BnyrMwGVm1pHcEn9ELJP0bWABsBl4EtjWif1nA7MhGdXT8v1evXp5tikzsy7IdRx/RFwHXAcg6Z+BlcBaSYPTq/3BwLo8YzAzq0Z5ztiV96ieQenzcOAM4BZgHjAt3WQacHeeMZiZVZu8KgoX5D2O/w5Jvwd+CZwfEa8Bs4DjJS0Hjk9fm5lZKu8Zu/Ju6vloK+vWA8fleV4zs2qW94xdvnPXzKzCtFU5uLtm7HLiN7OqN3fpKibOWsTImfOZOGtRt7WFl0veM3bVRXVOM6tdhY7QQpt4oSMUqJiJTzor7xm7nPjNrKrlNbVqueU5Y5cTv5lVneIx7m0VbemujtBa5MRvZlWlZdNOW7qrI7QWuXPXzKpKa007LXVnR2gt8hW/mVWV9ppwBN3eEVqLnPjNrKoM6dfAqlaS/9B+DfzXzGPLEFH1cVOPmVWVvMe41wNf8ZtZVcl7jHs9cOI3s6qT5xj3euCmHjOzOuPEb2ZWZ9zUY2ZWJM+ZryqFE7+ZWaoWC761Ju+pF78m6VlJz0i6RVJvSf0lLZC0PH3eI88YzMyyynvmq0qRW+KXNBS4AGiMiEOBHsBZwExgYUSMAhamr83Myi7vma8qRd6duz2BBkk9gV2B1cDpwJz0/TnAlJxjMDPLJO+ZrypFbok/IlYB3wVWAGuA1yPiPmCviFiTbrMGGNTa/pKmS2qS1NTc3JxXmGZm76iXu4LzbOrZg+TqfiQwBOgj6TNZ94+I2RHRGBGNAwcOzCtMM7N3TBk3lKvOGMPQfg2IpP7PVWeMqamOXch3VM9k4I8R0Qwg6U7gaGCtpMERsUbSYGBdjjGYmXVKPdwVnGcb/wrgKEm7ShJwHLAMmAdMS7eZBtydYwxmZtZCblf8EfGYpNuBJcA2YCkwG9gNuE3SF0i+HM7MKwYzM3uvXG/giojLgctbrP4LydW/mZmVgWv1mJnVGZdsMLMuq4e6NrXIid/MuqRe6trUIjf1mFmX1Etdm1rkK34z65J6qWtTrFaatnzFb2ZdUi91bQoKTVurNmwheLdpa+7SVeUOrdOc+M2sS+qlrk1BLTVtuanHzLqk0MRRC00fWdRS05YTv5l1WT3UtSkY0q+BVa0k+Wps2nJTj5lZBrXUtOUrfjOzDGqpacuJ38wso1pp2nJTj5lZncmU+CV9RNK56fJASSPzDcvMzPLSYeKXdDlwCfCNdFUv4MY8gzIzs/xkueL/JHAa8AZARKwGds8zKDMzy0+WxP9WRAQQAJL6ZDmwpAMlPVH02CjpIkn9JS2QtDx93mNnPoCZmXVOlsR/m6R/A/pJ+hJwP/DTjnaKiOcjYmxEjAU+DLwJ3AXMBBZGxChgYfrazMxKpN3hnOkk6bcCBwEbgQOByyJiQSfPcxzwh4h4WdLpwKR0/RzgQZI+BDMzK4F2E39EhKS5EfFhoLPJvthZwC3p8l4RsSY9/hpJg3biuGZWI2ql5HE1yNLU86ikI7p6AknvJ+kc/kUn95suqUlSU3Nzc1dPb2ZVoJZKHleDLIn/YyTJ/w+SnpL0tKSnOnGOk4AlEbE2fb1W0mCA9HldaztFxOyIaIyIxoEDB3bidGZWbWqp5HE1yFKy4aSdPMfZvNvMAzAPmAbMSp/v3snjm1mVq6WSx9Wgwyv+iHgZ6Aecmj76pes6JGlX4HjgzqLVs4DjJS1P35vVyZjNrMbU22xe5Zblzt0LgZuAQenjRkkzshw8It6MiD0j4vWidesj4riIGJU+v9rV4M0sMXfpKibOWsTImfOZOGtR1bWN11LJ42qQpannC8CREfEGgKRvA78Frs4zMDPLptAxWmgjL3SMAlUzKqaWSh5XgyyJX0Bxr8v2dJ2ZVYD2OkarKXHWSsnjapAl8f8MeEzSXenrKcB1uUVkZp3ijlHrrA4Tf0R8T9KDwEdIrvTPjYileQdmZtnU0lywVhpZOnePApZHxA8j4gfAf0s6Mv/QzCwLd4xaZ2W5gevHwOai12+k68ysAkwZN5SrzhjD0H4NCBjar4Grzhjj9nJrU6bO3bQsMwAR8VdJnqvXrIK4Y9Q6I8sV/4uSLpDUK31cCLyYd2BmZpaPLIn/POBoYFX6OBKYnmdQZmaWnyyjetaRlFU2M7Ma0OYVv6QvSRqVLkvS9ZJeTyt0fqh0IZqZWXdqr6nnQuCldPls4HBgP+DrwA/yDcvMzPLSXlPPtoh4O10+Bfj3iFgP3C/p/+YfmpkV8wxV1l3au+L/q6TBknqTzJl7f9F7viXQrIQ8Q5V1p/YS/2VAE0lzz7yIeBZA0v/AwznNSsozVFl3arOpJyLukbQvsHtEvFb0VhMwNffIzOwdLsRm3andcfwRsa1F0ici3oiIzW3tY2bdzzNUWXfKcgNXl0nqJ+l2Sc9JWiZpgqT+khZIWp4+75FnDGaVpKszZbkQm3WnXBM/ybDPeyPiIJLhoMuAmcDCiBgFLExfm9W8nemgdSE2604qqr/W+gaSgHOA/SLiCknDgb0j4ncd7NcXeDLdL4rWPw9Miog1kgYDD0ZEu5ctjY2N0dTUlO0TmVWoibMWtVo3f2i/Bv5r5rFliMhqnaTFEdHYcn2WK/5/BSaQ3MQFsAm4JsN++wHNwM8kLZV0raQ+wF4RsQYgfR7URsDTJTVJampubs5wOrPK5g5aqxRZEv+REXE+sBUg7ex9f4b9egIfAn4cEeNI6vhnbtaJiNkR0RgRjQMHDsy6m1nFcgetVYosif9tST2AAJA0EPhrhv1WAisj4rH09e0kXwRr0yYe0ud1nY7arAq5g9YqRZbE/0PgLmCQpCuBR4B/7miniPgz8CdJhX/VxwG/B+YB09J104C7Oxu0WTVyB61Vig47dwEkHUSSuEUyImdZpoNLY4FrSZqGXgTOJfmyuQ0YDqwAzoyIV9s7jjt3zcw6r63O3Q7r8UvqT9Icc0vRul5FBdzaFBFPAO85KcmXiJmZlUGWpp4lJKNzXgCWp8t/lLRE0ofzDM7MzLpflsR/L3ByRAyIiD2Bk0iaar5KMtTTzMyqSJbE3xgRvyq8iIj7gGMi4lFgl9wiMzOzXHTYxg+8KukS4Ofp66nAa+kQzyzDOs3MrIJkueL/NDAMmEsy9HJ4uq4H8KncIjMzs1x0eMUfEa8AM9p4+7+7NxwzM8tbluGcA4G/Aw4BehfWR4SrSllN8Fy2Vm+yNPXcBDwHjAT+kWQqxsdzjMmsZDyXrdWjLIl/z4i4Dng7Ih6KiM8DR+Ucl1lJeC5bq0dZRvUU7tBdI+kTwGqSzl6zqudSyVaPsiT+f5L0AeBvgauBvsBFeQZlVipD+jW0OjmKSyVbLcvS1PNaRLweEc9ExMci4sNAu0XVzKqFSyVbPcqS+K/OuM6s6rhUstWjNpt6JE0AjgYGSvp60Vt9SW7eMqsJU8YNdaK3utJeG//7gd3SbXYvWr8R+Js8gzIzs/y0mfgj4iHgIUk3RMTLJYzJzMxylGVUzy6SZgMjirfPcueupJeATcB2YFtENKYTu9yaHu8l4FPpBO5mZlYCWRL/L4CfkEyhuL2DbVvzsbTeT8FMkukbZ0mamb6+pAvHNTOzLsiS+LdFxI+78ZynA5PS5TnAgzjxm5mVTJbhnL+U9FVJgyX1LzwyHj+A+yQtljQ9XbdXRKwBSJ8HtbajpOmSmiQ1NTc3ZzydmZl1JMsV/7T0+eKidQHsl2HfiRGxWtIgYIGk57IGFhGzgdkAjY2NkXU/MzNrX5Z6/CO7evCIWJ0+r5N0FzAeWCtpcESskTQYWNfV45uZWed12NQjaVdJf5+O7EHSKEmnZNivj6TdC8vACcAzwDze/RUxjWRWLzMzK5EsTT0/AxaT3MULsJJkpM89Hey3F3CXpMJ5bo6IeyU9Dtwm6QvACuDMrgRuZmZdkyXx7x8RUyWdDRARW5Rm8/ZExIvA4a2sXw8c1+lIzSqAZ+uyWpAl8b8lqYGkQxdJ+wN/yTUqswpUmK2rMHFLYbYuwMnfqkqW4ZyXA/cC+0i6CVhIMgevWV3xbF1WK7KM6lkgaQnJdIsCLmxxJ65ZXfBsXVYrsozq+STJ3bvzI+IeYJukKblHZlZh2pqVy7N1WbXJ1NQTEa8XXkTEBpLmH7O64tm6rFZk6dxt7cshy35mNaXQgetRPVbtsiTwJknfA64hGdkzg2Rcv1nd8WxdVguyNPXMAN4iqaF/G7AFOD/PoMzMLD/tXvFL6gHcHRGTSxSPmZnlrN0r/ojYDrwp6QMlisfMzHKWpY1/K/C0pAXAG4WVEXFBblGZmVlusiT++enDzMxqQJY7d+ektXqGR4TvTa9DLkxmVluy3Ll7KvAESb0eJI2VNC/nuKxCFAqTrdqwheDdwmRzl64qd2hm1kVZhnN+i2TmrA0AEfEE0OVZuay6VGthsrlLVzFx1iJGzpzPxFmL/EVlViRLG/+2iHi9RQl+z4FbJ6qxMJnLJ5u1L8sV/zOSPg30SKddvBr4TdYTSOohaamke9LX/SUtkLQ8fd6ji7FbCVRjYbJq/ZViVipZ79w9hGTylZuB14GLOnGOC4FlRa9nAgsjYhRJbf+ZnTiWlVg1Fiarxl8pZqXUZlOPpN7AecABwNPAhIjY1pmDSxoGfAK4Evh6uvp0YFK6PAd4ELikM8e10qnGwmRD+jWwqpUkX8m/UsxKqb02/jnA28DDwEnAaDp3pQ/wLySzde1etG6viFgDEBFrJA3q5DGtxKqtMNnFJx64Qxs/VP6vFLNSai/xHxwRYwAkXQf8rjMHlnQKsC4iFkua1NnAJE0HpgMMHz68s7tbHavGXylmpdRe4n+7sBAR21qM6sliInCapJOB3kBfSTcCayUNTq/2BwPrWts5ImYDswEaGxs9isg6pdp+pZiVUnudu4dL2pg+NgGHFZYlbezowBHxjYgYFhEjgLOARRHxGWAeMC3dbBpw905+BjMz64Q2r/gjokdb7+2kWcBtkr4ArADOzOk8ZmbWipJMoRgRD5KM3iEi1gPHleK8Zmb2XlnG8ZuZWQ1x4jczqzNO/GZmdcaJ38yszpSkc9eswJO6mJWfE7+VjMslm1UGN/VYybhcslllcOK3knG5ZLPK4MRvJVONk7qY1SInfiuZapzUxawWuXPXSsblks0qgxO/lZTLJZuVn5t6zMzqjBO/mVmdceI3M6szTvxmZnXGid/MrM7kNqpHUm/g18Au6Xluj4jLJfUHbgVGAC8Bn4qI1/KKo5a0V+CsXMXPXHTNrPrkOZzzL8CxEbFZUi/gEUn/DzgDWBgRsyTNBGYCl+QYR01or8AZUJbiZy66ZladcmvqicTm9GWv9BHA6cCcdP0cYEpeMdSS9gqclav4mYuumVWnXNv4JfWQ9ASwDlgQEY8Be0XEGoD0eVAb+06X1CSpqbm5Oc8wq0J7Bc7KVfzMRdfMqlOuiT8itkfEWGAYMF7SoZ3Yd3ZENEZE48CBA3OLsVq0V+CsXMXPXHTNrDqVZFRPRGwAHgQ+DqyVNBggfV5XihiqXXsFzspV/MxF18yqU56jegYCb0fEBkkNwGTg28A8YBowK32+O68YakmWAmelHl3jomtm1UkRkc+BpcNIOm97kPyyuC0irpC0J3AbMBxYAZwZEa+2d6zGxsZoamrKJU4zs1olaXFENLZcn9sVf0Q8BYxrZf164Li8zms7z2PzzWqbyzLbDjw236z2uWSD7cBj881qnxO/7cBj881qnxO/7cBj881qnxN/jZi7dBUTZy1i5Mz5TJy1iLlLV3XpOB6bb1b73LlbA7qzQ9Zj881qnxN/NyvHUMj2OmS7cm5PiG5W25z4u1G5hkK6Q9bMOsNt/N2oXEMh3SFrZp3hxN+NynXl7Q5ZM+sMJ/5uVK4r7ynjhnLVGWMY2q8BAUP7NXDVGWPcTm9mrXIbfze6+MQDd2jjh9JdebtD1syycuLvRh4KaWbVwIm/m/nK28wqnRN/FXG5ZDPrDk78VcLlks2su+Q2qkfSPpIekLRM0rOSLkzX95e0QNLy9HmPvGLoqu6qe9OdXC7ZzLpLnsM5twF/GxGjgaOA8yUdDMwEFkbEKGBh+rpiFK6sV23YQvDulXW5k7/vzjWz7pJb4o+INRGxJF3eBCwDhgKnk8zFS/o8Ja8YuqJSr6x9d66ZdZeS3MAlaQTJ/LuPAXtFxBpIvhyAQW3sM11Sk6Sm5ubmUoQJVO6Vte/ONbPuknvil7QbcAdwUURszLpfRMyOiMaIaBw4cGB+AbZQqVfWvjvXzLpLrqN6JPUiSfo3RcSd6eq1kgZHxBpJg4F1ecbQWeW8+7YjvkfAzLpDnqN6BFwHLIuI7xW9NQ+Yli5PA+7OK4au8JW1mdU6RUQ+B5Y+AjwMPA38NV19KUk7/23AcGAFcGZEvNresRobG6OpqSmXOM3MapWkxRHR2HJ9bk09EfEIoDbePi6v8xb4Llczs9bV5J27vsvVzKxtNVmPv1LH4puZVYKaTPyVOhbfzKwS1GTir9Sx+GZmlaAmE7/vcjUza1tNdu56Jiwzs7bVZOIH3+VqZtaWmmzqMTOztjnxm5nVGSd+M7M648RvZlZnnPjNzOpMbtU5u5OkZuDljJsPAF7JMZyuclzZVWJMUJlxVWJMUJlxVWJMkG9c+0bEe2ayqorE3xmSmlorQ1pujiu7SowJKjOuSowJKjOuSowJyhOXm3rMzOqME7+ZWZ2pxcQ/u9wBtMFxZVeJMUFlxlWJMUFlxlWJMUEZ4qq5Nn4zM2tfLV7xm5lZO5z4zczqTM0kfknXS1on6Zlyx1JM0j6SHpC0TNKzki6sgJh6S/qdpCfTmP6x3DEVSOohaamke8odS4GklyQ9LekJSU3ljqdAUj9Jt0t6Lv33NaHM8RyY/o0Kj42SLipnTAWSvpb+W39G0i2SeldATBem8Txb6r9TzbTxSzoG2Az8e0QcWu54CiQNBgZHxBJJuwOLgSkR8fsyxiSgT0RsltQLeAS4MCIeLVdMBZK+DjQCfSPilHLHA0niBxojoqJu/pE0B3g4Iq6V9H5g14jYUOawgOQLHFgFHBkRWW++zCuWoST/xg+OiC2SbgP+MyJuKGNMhwI/B8YDbwH3Al+JiOWlOH/NXPFHxK+BV8sdR0sRsSYilqTLm4BlQFknCojE5vRlr/RR9isAScOATwDXljuWSiepL3AMcB1ARLxVKUk/dRzwh3In/SI9gQZJPYFdgdVljmc08GhEvBkR24CHgE+W6uQ1k/irgaQRwDjgsTKHUmhSeQJYByyIiLLHBPwL8HfAX8scR0sB3CdpsaTp5Q4mtR/QDPwsbRq7VlKfcgdV5CzglnIHARARq4DvAiuANcDrEXFfeaPiGeAYSXtK2hU4GdinVCd34i8RSbsBdwAXRcTGcscTEdsjYiwwDBif/vQsG0mnAOsiYnE542jDxIj4EHAScH7arFhuPYEPAT+OiHHAG8DM8oaUSJudTgN+Ue5YACTtAZwOjASGAH0kfaacMUXEMuDbwAKSZp4ngW2lOr8Tfwmk7eh3ADdFxJ3ljqdY2jzwIPDx8kbCROC0tD3958Cxkm4sb0iJiFidPq8D7iJply23lcDKol9qt5N8EVSCk4AlEbG23IGkJgN/jIjmiHgbuBM4uswxERHXRcSHIuIYkmbqkrTvgxN/7tKO1OuAZRHxvXLHAyBpoKR+6XIDyf8Yz5Uzpoj4RkQMi4gRJM0EiyKirFdlAJL6pJ3ypE0pJ5D8TC+riPgz8CdJB6arjgPKNmCghbOpkGae1ArgKEm7pv8/HkfS11ZWkgalz8OBMyjh36xmJluXdAswCRggaSVweURcV96ogORK9rPA02mbOsClEfGf5QuJwcCcdOTF+4DbIqJihk9WmL2Au5J8QU/g5oi4t7whvWMGcFPatPIicG6Z4yFtrz4e+HK5YymIiMck3Q4sIWlOWUpllG+4Q9KewNvA+RHxWqlOXDPDOc3MLBs39ZiZ1RknfjOzOuPEb2ZWZ5z4zczqjBO/mVmdceK3qiRpc4vXn5P0oxKe/yhJj6VVKJdJ+la6fpKkTt8cJOkGSX+TLl8r6eBO7DupkqqZWuWrmXH8Zt1BUo+I2J5h0znApyLiyfR+iMKNVJNIqsT+pqsxRMQXu7qvWRa+4reaI2lfSQslPZU+D0/Xv3NVnb7enD5PSudMuJnkRrs+kuan8xU8I2lqK6cZRFLwq1D36PdpEb7zgK+lvwQ+2s45JelHkn4vaX56vMI2D0pqTJdPkPRbSUsk/SKt+YSkjyupw/8IyV2fZpk58Vu1alDRpB/AFUXv/YhkXobDgJuAH2Y43njgmxFxMEndotURcXg6t0Nrd+p+H3he0l2Sviypd0S8BPwE+H5EjI2Ih9s53ydJfiWMAb5EK7VjJA0A/h6YnBaJawK+rmQSkZ8CpwIfBfbO8PnM3uHEb9VqS5pcx6ZVRi8rem8CcHO6/B/ARzIc73cR8cd0+WlgsqRvS/poRLzecuOIuIJkwpj7gE/T+pdDe44Bbkl/LawGFrWyzVHAwcB/pV9u04B9gYNIio4tj+TW+4ooZmfVw4nf6kGhLsk20n/zabGu9xdt88Y7G0e8AHyY5AvgKknFXyoUbfeHiPgxSdGvw9O6Ky21d86O6qWIZK6EwhfcwRHxhYz7mrXJid9q0W9IKnwCnEMy7R7ASyQJHZL67L1a21nSEODNiLiRZAKP95Q7lvSJNJEDjAK2AxuATcDuRZu2dc5fA2elE+IMBj7WSiiPAhMlHZCec1dJHySppDpS0v7pdme39jnM2uJRPVaLLgCul3QxySxVhaqVPwXulvQ7YCFFV/ktjAG+I+mvJJUTv9LKNp8Fvi/pTZKr+nMiYrukXwK3SzqdpHpmW+e8CziW5FfFCyRT7+0gIpolfQ64RdIu6eq/j4gXlMwENl/SKyRfbBUzz7RVPlfnNDOrM27qMTOrM078ZmZ1xonfzKzOOPGbmdUZJ34zszrjxG9mVmec+M3M6sz/B/Gsjpm5tF1KAAAAAElFTkSuQmCC\n",
218 | "text/plain": [
219 | ""
220 | ]
221 | },
222 | "metadata": {
223 | "needs_background": "light"
224 | },
225 | "output_type": "display_data"
226 | }
227 | ],
228 | "source": [
229 | "dataset.plot(x='Hours', y='Scores', style='o')\n",
230 | "plt.title('Hours vs Percentage')\n",
231 | "plt.xlabel('Hours Studied')\n",
232 | "plt.ylabel('Percentage Score')\n",
233 | "plt.show()"
234 | ]
235 | },
236 | {
237 | "cell_type": "code",
238 | "execution_count": 10,
239 | "metadata": {},
240 | "outputs": [],
241 | "source": [
242 | "X = dataset.iloc[:, :-1].values\n",
243 | "y = dataset.iloc[:, 1].values"
244 | ]
245 | },
246 | {
247 | "cell_type": "code",
248 | "execution_count": 12,
249 | "metadata": {},
250 | "outputs": [
251 | {
252 | "data": {
253 | "text/plain": [
254 | "LinearRegression()"
255 | ]
256 | },
257 | "execution_count": 12,
258 | "metadata": {},
259 | "output_type": "execute_result"
260 | }
261 | ],
262 | "source": [
263 | "# Training the LinearRegression Algorithm\n",
264 | "from sklearn.model_selection import train_test_split\n",
265 | "from sklearn.linear_model import LinearRegression\n",
266 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)\n",
267 | "regressor = LinearRegression()\n",
268 | "regressor.fit(X_train, y_train)"
269 | ]
270 | },
271 | {
272 | "cell_type": "code",
273 | "execution_count": 15,
274 | "metadata": {},
275 | "outputs": [
276 | {
277 | "name": "stdout",
278 | "output_type": "stream",
279 | "text": [
280 | "Intercept: -2.018160041434662\n",
281 | "Slope: -[9.91065648]\n"
282 | ]
283 | }
284 | ],
285 | "source": [
286 | "print('Intercept: -{}'.format(regressor.intercept_))\n",
287 | "print('Slope: -{}'.format(regressor.coef_))"
288 | ]
289 | },
290 | {
291 | "cell_type": "code",
292 | "execution_count": 19,
293 | "metadata": {},
294 | "outputs": [
295 | {
296 | "data": {
297 | "text/html": [
298 | "\n",
299 | "\n",
312 | "
\n",
313 | " \n",
314 | " \n",
315 | " | \n",
316 | " Actual | \n",
317 | " Predicted | \n",
318 | "
\n",
319 | " \n",
320 | " \n",
321 | " \n",
322 | " | 0 | \n",
323 | " 20 | \n",
324 | " 16.884145 | \n",
325 | "
\n",
326 | " \n",
327 | " | 1 | \n",
328 | " 27 | \n",
329 | " 33.732261 | \n",
330 | "
\n",
331 | " \n",
332 | " | 2 | \n",
333 | " 69 | \n",
334 | " 75.357018 | \n",
335 | "
\n",
336 | " \n",
337 | " | 3 | \n",
338 | " 30 | \n",
339 | " 26.794801 | \n",
340 | "
\n",
341 | " \n",
342 | " | 4 | \n",
343 | " 62 | \n",
344 | " 60.491033 | \n",
345 | "
\n",
346 | " \n",
347 | "
\n",
348 | "
"
349 | ],
350 | "text/plain": [
351 | " Actual Predicted\n",
352 | "0 20 16.884145\n",
353 | "1 27 33.732261\n",
354 | "2 69 75.357018\n",
355 | "3 30 26.794801\n",
356 | "4 62 60.491033"
357 | ]
358 | },
359 | "execution_count": 19,
360 | "metadata": {},
361 | "output_type": "execute_result"
362 | }
363 | ],
364 | "source": [
365 | "# Making Predictions\n",
366 | "y_pred = regressor.predict(X_test)\n",
367 | "df = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})\n",
368 | "df"
369 | ]
370 | },
371 | {
372 | "cell_type": "code",
373 | "execution_count": 20,
374 | "metadata": {},
375 | "outputs": [
376 | {
377 | "name": "stdout",
378 | "output_type": "stream",
379 | "text": [
380 | "Mean Absolute Error: 4.183859899002982\n",
381 | "Mean Squared Error: 21.598769307217456\n",
382 | "Root Mean Squared Error: 4.647447612100373\n"
383 | ]
384 | }
385 | ],
386 | "source": [
387 | "# Evaluating the Errors\n",
388 | "from sklearn import metrics\n",
389 | "print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))\n",
390 | "print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))\n",
391 | "print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))"
392 | ]
393 | },
394 | {
395 | "cell_type": "code",
396 | "execution_count": null,
397 | "metadata": {},
398 | "outputs": [],
399 | "source": []
400 | },
401 | {
402 | "cell_type": "code",
403 | "execution_count": null,
404 | "metadata": {},
405 | "outputs": [],
406 | "source": []
407 | }
408 | ],
409 | "metadata": {
410 | "interpreter": {
411 | "hash": "2be5faf79681da6f2a61fdfdd5405d65d042280f7fba6178067603e3a2925119"
412 | },
413 | "kernelspec": {
414 | "display_name": "Python 3 (ipykernel)",
415 | "language": "python",
416 | "name": "python3"
417 | },
418 | "language_info": {
419 | "codemirror_mode": {
420 | "name": "ipython",
421 | "version": 3
422 | },
423 | "file_extension": ".py",
424 | "mimetype": "text/x-python",
425 | "name": "python",
426 | "nbconvert_exporter": "python",
427 | "pygments_lexer": "ipython3",
428 | "version": "3.9.7"
429 | }
430 | },
431 | "nbformat": 4,
432 | "nbformat_minor": 2
433 | }
434 |
--------------------------------------------------------------------------------