├── .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 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | "
HoursScores
02.521
15.147
23.227
38.575
43.530
\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 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | "
HoursScores
count25.00000025.000000
mean5.01200051.480000
std2.52509425.286887
min1.10000017.000000
25%2.70000030.000000
50%4.80000047.000000
75%7.40000075.000000
max9.20000095.000000
\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 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | "
HoursScores
02.521
15.147
23.227
38.575
43.530
\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 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | "
HoursScores
count25.00000025.000000
mean5.01200051.480000
std2.52509425.286887
min1.10000017.000000
25%2.70000030.000000
50%4.80000047.000000
75%7.40000075.000000
max9.20000095.000000
\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/oGLLrqIww47jIhgxIgR3HPPPdx6663ceOON9OrV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\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 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | "
ActualPredicted
02016.884145
12733.732261
26975.357018
33026.794801
46260.491033
\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 | --------------------------------------------------------------------------------