├── README.md └── Task_1_Data_Analytics.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Prediction-using-Supervised-ML 2 | Data Science and Business Analytics Task-1 (Predict the percentage of an student based on the no. of study hours) 3 | Using simple linear regression model, forecasting the marks of a student based on the numbers of hours studied per day. 4 | Tool(s) Used - Python (Jupyter Notebook) 5 | -------------------------------------------------------------------------------- /Task_1_Data_Analytics.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# **THE SPARKS FOUNDATION**\n", 8 | "\n", 9 | "## **TASK 1 - Prediction using Supervised ML**\n", 10 | "To Predict the percentage of marks of the students based on the number of hours they studied\n", 11 | "\n", 12 | "### *Author - Krishna Bansal*" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 51, 18 | "metadata": {}, 19 | "outputs": [], 20 | "source": [ 21 | "# importing the required libraries\n", 22 | "import pandas as pd\n", 23 | "import numpy as np\n", 24 | "import matplotlib.pyplot as plt \n", 25 | "import seaborn as sns\n", 26 | "from sklearn.model_selection import train_test_split\n", 27 | "from sklearn.linear_model import LinearRegression\n", 28 | "from sklearn.metrics import mean_absolute_error" 29 | ] 30 | }, 31 | { 32 | "cell_type": "code", 33 | "execution_count": 52, 34 | "metadata": {}, 35 | "outputs": [ 36 | { 37 | "data": { 38 | "text/html": [ 39 | "
\n", 40 | "\n", 53 | "\n", 54 | " \n", 55 | " \n", 56 | " \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 | "
HoursScores
02.521
15.147
23.227
38.575
43.530
\n", 89 | "
" 90 | ], 91 | "text/plain": [ 92 | " Hours Scores\n", 93 | "0 2.5 21\n", 94 | "1 5.1 47\n", 95 | "2 3.2 27\n", 96 | "3 8.5 75\n", 97 | "4 3.5 30" 98 | ] 99 | }, 100 | "execution_count": 52, 101 | "metadata": {}, 102 | "output_type": "execute_result" 103 | } 104 | ], 105 | "source": [ 106 | "# Reading the Data \n", 107 | "data = pd.read_csv('http://bit.ly/w-data')\n", 108 | "data.head(5)" 109 | ] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "execution_count": 53, 114 | "metadata": {}, 115 | "outputs": [ 116 | { 117 | "data": { 118 | "text/plain": [ 119 | "False" 120 | ] 121 | }, 122 | "execution_count": 53, 123 | "metadata": {}, 124 | "output_type": "execute_result" 125 | } 126 | ], 127 | "source": [ 128 | "# Check if there any null value in the Dataset\n", 129 | "data.isnull == True" 130 | ] 131 | }, 132 | { 133 | "cell_type": "markdown", 134 | "metadata": {}, 135 | "source": [ 136 | "**There is no null value in the Dataset so, we can now visualize our Data.**" 137 | ] 138 | }, 139 | { 140 | "cell_type": "code", 141 | "execution_count": 54, 142 | "metadata": {}, 143 | "outputs": [ 144 | { 145 | "data": { 146 | "image/png": "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\n", 147 | "text/plain": [ 148 | "
" 149 | ] 150 | }, 151 | "metadata": {}, 152 | "output_type": "display_data" 153 | } 154 | ], 155 | "source": [ 156 | "sns.set_style('darkgrid')\n", 157 | "sns.scatterplot(y= data['Scores'], x= data['Hours'])\n", 158 | "plt.title('Marks Vs Study Hours',size=20)\n", 159 | "plt.ylabel('Marks Percentage', size=12)\n", 160 | "plt.xlabel('Hours Studied', size=12)\n", 161 | "plt.show()" 162 | ] 163 | }, 164 | { 165 | "cell_type": "markdown", 166 | "metadata": {}, 167 | "source": [ 168 | "**From the above scatter plot there looks to be correlation between the 'Marks Percentage' and 'Hours Studied', Lets plot a regression line to confirm the correlation.**" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 55, 174 | "metadata": {}, 175 | "outputs": [ 176 | { 177 | "data": { 178 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEaCAYAAADzDTuZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeWBU5bn48e+ZPZNkEkL2hC1CQGRLgoAKuCLuiOIWRC9el+vSVq+1cFtFf2qLVrRqN67Wtl5kEWUR24IoFrCgFEhANkWRLRsQsieznJk5vz8mGRIyyUxCMkng+fyDOXPmnCcB58l53/d5XkXTNA0hhBDnNF1XByCEEKLrSTIQQgghyUAIIYQkAyGEEEgyEEIIgSQDIYQQgKGrAxA91/Lly/mf//mfgK+ZTCZiY2MZMWIEDzzwAKNGjQpzdN1HQUEBV155JVdeeSV/+MMfuiSGGTNm8O9//7vZcaPRSGxsLKNGjeL+++9v8vc0e/ZsVqxYwcqVKzn//PPbdd+//e1vjBw5kj59+rQ7dhEekgzEGRszZgxjxoxpcqyqqoqvv/6azz77jPXr1/Puu+8yevToLoqwa9lsNh577DEyMjK6OhTuuecebDab/2tVVTl06BCfffYZ//znP/njH//IxIkTO+Rer7zyCn/6059YuXJlh1xPdC5JBuKMjRkzhh/96EcBX3vjjTf4wx/+wLx581iyZEmYI+sebDZbiz+fcLv33ntJT09vdvzjjz/mpz/9KS+++CJr167tkHudPHmyQ64jwkPmDESnevjhhzEajeTn52O327s6HNGCG264geTkZA4fPszBgwe7OhzRBSQZiE5lMpmIiooCwOVyNXntyy+/ZObMmeTk5DBq1CjuuOMO1qxZE/A6a9asYdq0aWRlZTFhwgTmzZvH5s2bGTx4MMuXL/efN3jwYGbPns38+fMZPXo0o0eP5q9//av/9dWrV3PnnXeSlZVFdnY29957L1999VWz++3atYuHHnqI8ePHM3z4cCZPnsy8efOoqalp83kFBQUMHjyYRx55pMl7jx8/zpw5c7j00ksZNmwYl156KXPmzOH48eNNzvvtb3/L4MGDOXDgAK+99hqXXXYZw4YN4/rrr2fx4sWt/PRDpygKiYmJAFRUVLR67qZNm5g5cybZ2dmMGDGCqVOnsnDhQrxer/+cK664ghUrVgBw8803c8UVV3RInKLzyDCR6FS7d++mvLyc1NRUYmJi/Mc/+OADnnnmGeLi4rjuuuuwWq2sW7eOn/zkJzzxxBP813/9l//cd999l1/96lckJCQwZcoUVFXlvffeazFxfPHFF3z66adMnTqV0tJSRo4cCZwaskpLS2Pq1KkoisKaNWuYOXMmL730ElOmTAHg4MGDzJw5E51OxzXXXIPNZiM/P5+3336bXbt28e6777bpvECOHDnCXXfdRWlpKRdffDHXXnst3377Le+//z6ff/45ixcvbjbp+tRTT1FUVMTVV1+NwWBg1apVPPfcc1itVn/s7eX1eikoKAAgKSmpxfMWLFjAiy++SHR0NJMmTcJqtfLFF1/w/PPPs23bNl577TUUReGee+5hxYoVfPPNN9xxxx3dYr5EBKEJ0U7Lli3TMjMztTfffLPJca/Xq1VWVmrr16/XrrrqKi0zM1P74IMP/K8XFxdrw4YN06699lqtrKzMf9xut2t33HGHNmTIEO3bb7/1nztixAjtqquu0k6cOOE/d8+ePdoFF1ygZWZmasuWLfMfz8zM1DIzM7V169Y1iWnnzp3a4MGDtbvvvlurq6vzHy8rK9MmTZqkjRw5Ujt58qSmaZr20ksvaZmZmdqXX37Z5BoPPviglpmZqe3fv79N5x09elTLzMzUHn74Yf8599xzj5aZmaktXbq0yXsXLlyoZWZmavfcc4//2JtvvqllZmZql19+uT9GTdO07du3a5mZmVpubq4WzN13361lZmZqR48eDfj6X/7yFy0zM1ObOnWq/9isWbO0zMxMbe/evZqmadqRI0e0oUOHapdddpl25MgR/3m1tbX+72fFihUtvl90b/JkIM7Y7373O373u98FfC06OprZs2czbdo0/7FVq1bhcrn48Y9/TK9evfzHLRYLP/7xj5k5cyYrVqxg1qxZrF69GofDwUMPPUR8fLz/3KFDhzJ16lSWLl3a7J4Wi4VLL720ybEPP/wQTdP42c9+RkREhP94r169eOCBB3j66adZvXo106dP9w935OXlMW7cOP+5c+fOBSAuLg4g5PNOV1JSwldffcXo0aO57bbbmryWm5vL8uXL+eqrrygoKGgy2Xvrrbc2uWZ2djY2m41Dhw4FvE8g7777bpPVRHa7nV27dvHvf/8bq9XKc8891+J7V61ahdvt5tFHH23y1GK1Wnn66ae54YYbWLZsGTfffHPI8YjuQ5KBOGONl5bW1NSwZs0aSkpKuOmmm3jhhRewWCxNzt+9ezfgmzP47rvvmrxWV1cHwDfffAP4xuQBRowY0ey+2dnZAZNBcnIyer2+ybE9e/YAsHbtWtavX9/ktZKSEgD27dsHwNSpU1m8eDFvvPEG77//PhMnTmTixIlccsklWK1W//tCPe90e/fuBWhxqW12dja7du3im2++aZIMBgwY0OzcqKioZvMYrfm///u/Jl9bLBYSExOZNm0a9913H+edd16L7234O7nwwgubvTZo0CBsNpv/HNHzSDIQZ+z0paU/+clPePDBB1m1ahXR0dHMmTOnyfnV1dUArS41raysBKC8vBygyVNBg4YJz9Odnnwa3/Ott94Kes8hQ4awdOlS5s+fz4YNG1i6dClLly7FarVyzz338Pjjj6MoSsjnna7hwzs6OjpgHA3fl8PhaHLcZDI1O1dRFLQ2bEmybt26gEtLQxFK3IcPH27XtUXXk2QgOpzVauX1119nypQpLFy4kMzMTO68884mrwN89tlnQStTG1Yi1dbWNht2actvxFarFb1ez86dOzEajUHPHzJkCK+//joul4v8/Hw2btzI8uXLmT9/PklJSeTm5rbpvMYiIyMBmq0aalBVVQVAbGxsyN9fODSOO9AQWGVlZbeLWYROlpaKThEfH+8ff37ppZf8K1XAt/wTTg0BNXbo0CFefvllPv/8cwAuuOACAL7++utm5+7cuTPkeAYPHozH4/EPBTWWn5/PvHnz2LZtGwArV67khRdeQNM0TCYTY8eO5amnnuK3v/0tANu3b2/TeadraO3QcL/Tbd26FUVRGDhwYMjfXzgMGTIECBz34cOHOXHiBIMGDfIfC/RUJLovSQai00yaNImrr74au93eZGLypptuQq/X8/rrr3PixAn/cbfbzQsvvMCf//xn/1r3G2+8EaPRyPz58ykrK/Of+9133wWcL2jJ1KlTAfjVr37V5ImipqaG5557jrfffhuPxwPAjh07eO+991i9enWTazQktNTU1Dadd7rU1FTGjh3Lnj17mtUJfPDBB+Tl5TF27FiSk5ND/v7CYcqUKRgMBubPn8/Ro0f9x+vq6nj++ef95zQwGHwDD6qqhjdQ0S4yTCQ61dNPP83mzZv54osv+Nvf/sYNN9xA//79eeqpp3jppZe44YYbuOKKK4iJiWHjxo0cOHCAyy+/nJtuugmAtLQ0fvzjH/Pqq68yZcoUrrzyShwOB5988glmsxkAnS747zTjxo1jxowZLFiwgOuvv55LL70Uk8nEZ599RnFxMXfeeSdjx44F4P7772f16tX89Kc/Zc2aNfTr14/CwkLWrl1LQkICd999d5vOC+T5559n+vTpPPfcc6xdu5bBgwezf/9+Nm3aRGJiIi+88MKZ/ug7XJ8+fZg1axa//OUvmTp1KldddRVWq5WNGzdy9OhRrr/++iYriRrqFV566SUuvvhiHnvssa4KXYRAkoHoVElJSTzxxBO88MIL/OpXv2LChAnExMQwc+ZMMjIy+POf/8zatWvxer306dOH2bNnM336dP9vlQAPPvggvXv35t1332XZsmXExsZy7733EhcXxy9/+csmS0Vb8/TTTzN8+HAWL17MqlWr0Ov1DBgwgB/96Ef+JweA9PR0Fi9ezB/+8Afy8vL4/PPP6dWrFzfddBOPPfaY/0Mu1PMC6d+/P8uWLeP3v/8969evZ+vWrSQmJjJjxgwefvhhevfu3c6feOe655576N+/P++88w5r165F0zTOO+88HnrooSbLh8G3TDYvL49t27Zx4MABZs6c6Z93EN2PorVlKYIQYVZeXo7H4wm4mujNN9/k97//PR988EHApadCiNDJnIHo1rZs2cIll1zSrKitrKyMFStWEBMT45/YFEK0nwwTiW5twoQJpKWl8fvf/55du3aRmZlJZWUln332GeXl5bz00ksB198LIdpGholEt3f8+HH+9Kc/sX79ekpKSrBarQwbNoz//M//5KKLLurq8IQ4K0gyEEII0TOHibxeLx5P98pher3S7WIKpCfEKTF2nJ4Qp8TYcYLFaTTqW3ytU5PBzp07mTdvHgsWLODw4cPMnj0bRVEYNGgQzz77LDqdjqVLl7JkyRIMBgMPP/wwl19+edDrejwaFRV1nRl6m8XGWrtdTIH0hDglxo7TE+KUGDtOsDgTEgL3lYJOXE309ttv8/TTT+N0OgFfW9/HH3+cRYsWoWka69at48SJEyxYsIAlS5bwzjvv8NprrzXbDUsIIUTn67Rk0LdvX3+PFvC1EG5oczxx4kQ2b97M119/TVZWFiaTiejoaPr27SstcIUQogt02jDR5MmTmzQn0zTN37gqMjKS6upqampqmrTDjYyMDKkTpV6vEBvbcr/4rqDX67pdTIH0hDglxo7TE+KUGDvOmcQZtgnkxv1jamtrsdlsREVFUVtb2+R4S73SG5M5g/brCXFKjB2nJ8QpMXacbjlncLqhQ4eyZcsWADZu3Mjo0aMZMWIE27dvx+l0Ul1dzYEDB8jMzAxXSEIIIeqF7clg1qxZPPPMM7z22mtkZGQwefJk9Ho9M2bMIDc3F03TeOKJJ/ydKIUQQoRPjyw6U1VPt3tkO1seI7sDibHj9IQ4JcaO0yOGiYQQQnRfkgyEEOIc0dpAkCQDIYQ4y3k0jXK7ireVZNAjexMJIcS5bPPBMhZsPUpRpYPUGAszLuzDxQPimp2nAbUuN5V2N26Pt9VrypOBEEL0IJsPlvHrdd9TWuvCZjFQWuvi1+u+Z/PBMv85igIOt5dj1U5O1riCJgKQZCCEED3Kgq1HMeoVIox6FMX3p1GvsGDrUQBUr5fSWhfHqx04VU/I15VhIiGE6EGKKh3YLE0/uq1GPQ63h5O1Tkoqna3ODbREkoEQQvQgqTEWSmtdvicDINKsR6fToUOjyu5uVyIAGSYSQogeZcaFfVA9GooCvaNMON1ejpys44pBCWd0XUkGQgjRg1w8II6fXz2IZJuFgydq8Xo17hvXl6z0mDO6rgwTCSFED+EFqp1uUmwWHrmkf8jv0zSNH07WkdXK04MkAyGE6AFqVQ8VdWpIy0Qb23+8hoXbC9lTUs20i/q3eJ4kAyGE6KYUBeyqlwq72qZlogBHK+ws3l7Iv49UhHS+JAMhhOiG3F6NSodKrdNNWxYInahxsjS/iA0HTuKtf19GbyvTc9JafZ8kAyGE6EYa5gWq7Cpeb+hZoMqhsmhHMat2FuGuf1+Kzcxd2WmM698LXf22wy2RZCCEEN1Ee+YF7KqHv+05xqrdJdhV3/t6RRi5PSuVywf1xqALbdGoJAMhhOhC7Z0XUD1ePv32BMt2FlPpcAMQZTYwZVgS1w1NxGzQtykOSQZCCNFF2jMv4PFqbDpYxpK8Qo7XuAAw6XVcPzSRuy/uj+ZytysWSQZCCBFm7ZkX0DSN7QWVLNpeyJFyOwA6Ba7KTGDaqBTirCaiLUaqJBkIIUT31555gX3Hqlm4rZBvjtf4j108oBd3ZaWREmMJ+v78gko+3l3Mb3pFcl5iVMBzJBkIIUQna9hfoLxOxaV6CHWN0KGyOhZtLySvoNJ/bFSajdzsNDLiI0O6Rn5BJW9/eRizQUGva3lFkSQDIYToRO2ZFzhW7eT9/EK+OFDmTxwD4yO5e3Qaw1Jsbbr/R7uKMeqVoBPKkgyEEKITaJyaF/CEOC9QYVdZtrOYT7894a8VSIuxcFd2GmP7xaIEqRUI5Hi1kyizAaup9Y97SQZCiHNWqHsJt41Gneql0q7icoc2L1Dn8rBqdwl/23MMR/17elt9tQKXDYxvdXgnmAHxVjQUjHrFn2ACkWQghDgnNewlbNQrTfYS/tmVA9udEFxejYo6FYfLHdK8gMvt5ZNvj7N8ZwnVzoZaAT23jkhh8pBETIb27zKg1ylERxi5Z0xf5q07gIaG1so4lSQDIcQ5o/GTQLXTjdWox2YxARBh1AMeFmw92uZk4NE0qhxuahwqoYwIebwaGw6cZGl+EaW1vloBi0HH9RckcdOwJCKDDOm0xqDXEWUxEGXSo1cUxvTtxeOXZbBg69FWh6skGQghzgmnPwkcq3FhVz2YDDqizL6PQotBR1GlI+RrakCty02l3R3SUlFN0/j3kQoWby+koP4+Bp3CpMEJ3DoyhdgIY7u+N/AlgVirkRg9zfoQXTwgjosHxJGQEN3y+9t9ZyGE6EEWbD2KUa/UPwGAWa/D5fFwslb1JwOH20tqCOv2T7WQcOFUQ5sX2F1cxcLthXx3otZ3DWB8Rhx3ZqeRFG1u3zeFLwlE1z8J9LKaqJCiMyGEaFlRpQOb5dRHXpzVwLFqL063B03TcLi9qB6NGRf2afU6qtdLpd1NnSu0paI/nKxj0fYCdhRW+Y9lp8eQm5NG/zhru78ffxIwGzpk/2JJBkKIc0JqjIXSWpf/ySDaYsTl8WJXvVQ53EFXE3mBaodKld2NN4QsUFzlYHFeIZsPlvuPDU6MZHpOOkOTWx6uCcag12GLMBBp6pgk4L9uB15LCCG6rRkX9uHX674HPFgMOhxuL0a9nl9cPTjohHGVQ6W40hHSvEBZnYsPdxSzbn8pnvqk0Tc2gtycNHL6xLSrVgA6Lwn4r98J1xRCiG7n4gFx/OzKgSHXFSgKON0a5XYXJrcWNBHUOt2s3FXC3/cex1V/bmKUiTuy0hifEdfuWgGDXkdMhK9orDOSgP8+nXhtIYToVhpW1QTj9mpUOd3U1i8VNbUyp+x0e1i97zgrvy6hxuXbj8BmMXDryBSuHpyAUd++j/BwJQH//cJwDyGE6BE0oMblprIueAsJj1fj8+9K+WBHEWV1KgARRh03DUvmhguS/HMTbRXuJOC/bxjvJYQQ3ZSGXdWodARfKurVNL46VM6SvEKKqpyAr1Zg8pAEbhmZwg+ldbz82Xccr3aSGG1myvAUstJjgkbQkAQiTQba33yi/SQZCCHOaWp9Cwl7CC0kdhZWsnB7IT+crAN8m8tcel5vbs9KJSHK7G8XbdQrRJkNlNtV3v7yMA9c1K/FhNDVScAfRxfeWwghukxbWkh8W1LNWxsPsKu42n/swr6x3JWdRt9eEf5jp7eL9v3p4aNdxc2SQXdJAg3CmgxUVWX27NkUFhai0+l44YUXMBgMzJ49G0VRGDRoEM8++yw6XThHyoQQ5xJNgxrVTVUILSQKK321Al8dOlUrMDQpiumj0xkcYMewhnbRjZn1Oo5XO/1fGxstEe0OSaBBWJPBhg0bcLvdLFmyhE2bNvH666+jqiqPP/44Y8eOZc6cOaxbt45JkyaFMywhxDkh9NbSJ2tdLN1RxD+/K/U/NfSPi2B6Tjqj0mwt1gokRpspt6tNNpJxerwk28yYDDpsFiNWk75bJYEGYU0GAwYMwOPx4PV6qampwWAwsGPHDsaMGQPAxIkT2bRpkyQDIUSHcnk0KuwuHK7Wt5ysdrhZsauY1fuOo3p8ZyZFm7nvkv5kJUc1awB3uinDU3j7y8OAB7Neh9urEWU2cP/F/UmOttDOerOwCGsysFqtFBYWcu2111JeXs78+fPZunWrP8tGRkZSXV0d5Cqg1yvExra/p0dn0Ot13S6mQHpCnBJjx+kJcXZmjKrbS7ldpc7txmgxYWyhXsCueliRX8jS7QXU1dcKxFmNTB/bl2suSMZs0uP1BG9BcenQCCKsJpblFeBweRiSEMVtOemMHxjfkd9Wi87kZxnWZPDXv/6V8ePH8+STT1JcXMy9996Lqqr+12tra7HZgu/v6fFoVFTUdWaobRYba+12MQXSE+KUGDtOT4izM2JsqBcINi+gerys21/KhzuLqLD7un1ajXqmDE/m+qGJWIx67LVOjPoIqqrsQe+rACOTIhk/dRhW46nhoHD9HQT7WXabFtY2mw2j0devOyYmBrfbzdChQ9myZQtjx45l48aNjBs3LpwhCSHOIqG2lvZqGpt+KGNJfhHH6id3jXqF685P5ObhKURb2vbRqAAmo29OIMLYPecEgglrMviP//gPfv7zn5Obm4uqqjzxxBMMGzaMZ555htdee42MjAwmT54czpCEEGeJUFpLa5pGfmEVi7YXcKjM95u+ToHLB8Zze1YqvSNNbbqnLwnosVkMWNtZcdxdhDUZREZG8sYbbzQ7/t5774UzDCHEWSTU1tL7j9fw3vYC9pbU+I+N69+Lu7JSSYuNaPF9gTQkgRiLkQjj2bEUXorOhBA9Vq3qoaJObXVe4Gi5nUV5hWw9UuE/Njwlmuk56QxMiGzT/RQFzPVJwGJQoEcOCAUmyUAIERaNN6MP1j66NYri256yvE7Fpba8VPREjZP384vY8P1J/zkZva3cPTqdEanBF6o0uSdgMZ2dSaCBJAMhRKc7fTP60loXv173PT+7ciDXZYW+FNLj1ahwqNQ6W54XqHSoLN9ZzCffnMBdXzGWajNzV04a4/r1atPmMg1PAgnRZlQDnI1JoIEkAyFEpzt9M3rfnx4WbD3KdVnpQd/vBWqcbqrsLbeWtqsePt59jFW7S3DUVxjHWY3cNiqVKwbFt2lzGUUBi9GAzWLAYlCINBuosLtCfn9rOuoJqaNJMhBCdLrTN6MHsBh0FFU6grxTo1b1UlmnorYwL6B6vKz99gTLdhZT5fDVCkSa9Ewdkcy15ydhNoQ+wds4CUQYdSFteN8WrT0hdXVCkGQghOh0p29GD75x/9SYwCXBDfMCFXYVZwstJDxejS9+OMn7+UWcqPH91m7S67h+aCJThic3axjXmoYkEBNhwGLwJYGOTgTQ+hOSJAMhxFkv0Gb0qkdjxoV9mp2rer1UOdwtzgtomsb2o5Us2l7IkQpfrYBeUbhqcDzTRqbQyxp6rYCigNVkINrSuUmgQfufkDqfJAMhRKcLZTN6r+bbd7i6lXqBvSXVLNpeyDfHT9UKjM+I446sVFJsrWxUfJpwJ4EGbX1CCidJBkKIsGhpM3qvV/PtO9xKH6FDZXUs2l5IXkGl/9ioNBu5Oelk9A59NZJOgQiTAZvFiNmghC0JNGjLE1K4BU0GtbW1zJs3jx9++IE33niD1157jVmzZhEZ2bZiDSGEaKyhj1BNlYOTNYFX6hyrdrI4r5BNP5T55w0GJUQyPSeNYSmh1wro/E8CXZMEGoTyhNRVgiaDF198kcTERE6ePInZbKampoY5c+bw6quvhiM+IcRZqHEfoejo5q0gKuwqH+4o4tNvS/HUf2qnx1jIzUnjwr6xIdcK+JNAhBGzvuuSQGMtPSF1taDJYN++fcydO5cNGzYQERHBvHnzuOGGG8IRmxDiLBOsj1Cty82q3cf4+55j/lqB+EgTd2SlMvG83iHXCugUsJrrnwS6SRLo7oImg9P3I/Z4PLJHsRCiTTSgzuWhwh64j5DL7eWTb46z/OsSqp2+WoFos4FbRiQzeUgiphBrBRqSgM1ixCRJoE2CJoMLL7yQV155BYfDwRdffMHChQsZO3ZsOGITQvRwp/YXUHGqnmave7waa/aU8O7mQ5ys8210ZTHouOGCJG4clkSkKbQ1LjpFwWr2tZI26cO3OuhsEvQn/dOf/pS33nqL6OhofvOb3zBhwgQeeeSRcMQmhOjBXF6NKrsacH8BTdP495EKFm8vpKB+jb1BpzBpcAK3jkwhNsIY0j10ikKkxUC0WY+xfsRCkkD7BE0GRqORRx99lEcffTQc8QghejiPplHlcFPjUAnURmh3cRXvbSvk+9JawNf6bcJ5vbkjK5WkaHNI9wiUBMSZCZoMrrjiiiYz94qiEBERwaBBg5g9ezaJiYmdGqAQomfQ8E0At1QvcKC0lkXbC9lZVOU/ltMnhgcmnEe8OdQ5AYUoi4Go+iTQXZu+9URBk8FVV11FbW0t06dPR6fT8eGHH1JbW8vgwYOZM2cO8+fPD0ecQohuKti+w8WVDhbnFbL5ULn/2JDEKKaPTuP8pGhstuCbzTckgWizAUP9iqLu3PStJwqaDLZt28by5cv9Xz/99NNMmzaNuXPnsmzZsk4NTgjRvbW273BZnYsPdhSzbv8J/3BR39gIckenkZMeE1KtgE6nEGVumgQadOembz1RSBXINTU1REVFAVBTU4PD0fVNlYQQXcft1ah2uqlxNK8XqHG6WbmrhH/sPY6rfrgoIcrEnVlpjM+IC6lWQKdTiLYYiDYZWjy/Ozd964mCJoNbb72V22+/nWuuuQZN01i7di233XYbCxYsICMjIxwxCiG6CS9Q7XRTHWCTGafbwz/2HmflrhJqXb5lpDaLgWkjU5g0OAGjPvi8gF5XPydgav4kcLru3PStJwqaDB588EHOP/98Nm7ciMFg4JlnnmHcuHHs3r2bqVOnhiNGIcQZOtOJ1taKxtxeL//87iQf7CiirL5WIMKo46ZhydxwQVKTD+uW6OufBCJDSAINunPTt55I0bTgq3IrKiqw2+1omobH4+HIkSNccskl4YgvIFX1UFFR12X3DyQ21trtYgqkJ8QpMXac2Fgr/8gv8E+0Nv7QDGWitbWiMa+m8dWhchbnFVJc5QR8tQLXnp/I1BHJ2CzBawX0OoWUhCg0pzvkJNBYuFYT9aS/79biTEiIbvG1oE8Gb7zxBm+99ZbvZIMBl8vFwIED+fjjj9sRqhAi3No70drSJjOaprGzqIpF2wv54aTvg0enwKXn9eb2rFQSooLXCq15F9MAACAASURBVDR+EugdaaYiQHVyKLpr07eeKGgy+Oijj/jnP//JSy+9xM9+9jO++uorNmzYEI7YhBAdoK0TrV7NNzkcqJncdydqWLitkN0l1f5jY/rGcldOGn1im3cfPV17hoNEeARNBnFxcSQmJpKRkcE333zDzTffzNtvvx2O2IQQHSDUidbW5gUKKuwszitky+EK/7GhyVHcnZNOZmJU0BgakkCU2YA+xPbTIryCJgODwcCRI0fIyMhg27ZtjB8/HqfTGY7YhBAdINhEa2vzAqU1LpbuKGL996X+WoH+cRHcPTqdkam2oLUCkgR6jqDJ4KGHHuKZZ57hj3/8I2+88QYrV67ksssuC0NoQoiO0NLuWpdkxOF0a1TYVRxq03mBaoeb5V8Xs+ab46ge3wvJ0WbuzE7l4gFx6IJ8sBv0uvolonpJAj1E0GQwdOhQ3n33XQBWrlzJ4cOHZT8DIXqY0yda3V6N0loXdU53k2ZyDtXD3/ce46Ndx6irf0qIjTBy26gUrsyMxxDk/32DXud7EjDpgyYM0b20mAwqKnxjgw888AALFiygYQVqfHw8d999N2vWrAlPhEKIDtNQNFZlV/E2ygKqx8tn+0tZtrOICrtvcxmrSc/U4clce34iliC1Aga9DluEb2JYflXsmVpMBk8++SSbNm0CaLKZjcFgYPLkyZ0fmRCiw7Q0OezVNDb9UMaS/CKOVfvmAk16X63AzSNSiDa3Pnhg0OuIiTBglSTQ47X4N/3OO+8A8D//8z/MnTs3bAEJITqWw928o6imaeQXVLJweyGHy30dQ3UKXDkonmmjUukdaWr1mg1JINJkQAaDzg5B5wzmzp1LYWEhlZWVNC5WvuCCCzo1MCFE6E6vxP2PsX3J6hNLcaWdE9WOJpPD3xyrZuH2QvYdq/EfG9e/F3dlp5EWpK+PsdFwkCSBs0vQZPDmm2/yzjvv0Lt3b/8xRVFYt25dpwYmhAhN477+8VEmUODtL48wpdrJ+CFJ/kRwpNzOou0FbDta6X/viFQbuTlpDIyPbPUeRr2OmAgjVpNeksBZKmgyWLlyJWvXriUpKSkc8Qgh2mjB1qNEGHUkRpvR6xTK61TK61ws31nE+CFJHK928n5+ERsPnKThAeG8eCvTc9IZkWpr9dqSBM4dQZNBSkqKJAIhurE6l5uUGAvVDjdVDt9KILNeR0mVgz9sOMDfvi7GXb9yKDXGQm52GmP7xbZaMCZzAueeoMngoosu4te//jVXXnklFsup8USZMxCiq2nUqV56WU0cOlmLUe9b/un1apysc1Hr8rByRxEAcVYjt2elcvnA+FY3l5EloueuoMmgYcvLxnUFZzJn8L//+798/vnnqKrKXXfdxZgxY5g9ezaKojBo0CCeffZZKWoT55S2tmFuaB9R6VBxujxcNjCet788jMfrxunWKLer/kKyaLOBm4cnc835iZgNLf9/5S8WM0sSOFcFTQaff/55h91sy5Yt5Ofns3jxYux2O3/+85+ZO3cujz/+OGPHjmXOnDmsW7eOSZMmddg9hejO2rqpe6A9h0ek2hjbrxdr9h1Hrc8CRp3CjcOSuPviAXidaov3l4ph0SDoLwG1tbU8//zz3HvvvVRUVDBnzhxqa2vbdbN//etfZGZm8uijj/Jf//VfXHbZZezZs4cxY8YAMHHiRDZv3tyuawvREzXea0BRfH8a9QoLth5tcp7b6/uNv6TS6d9fQNM0th6p4Kcf7eHjPcdQvRp6RWHykAT+cNtwcnPSiWqhaMyg1xEbaSLFZsZmNkgiEMGfDF588UUSExM5efIkZrOZmpoa5syZw6uvvtrmm5WXl1NUVMT8+fMpKCjg4YcfRtM0/0RWZGQk1dXVQa4Cer1CbKy1zffvTHq9rtvFFEhPiPNcirGk2kVMhKHJZG6kTqGk2kVsrBW3xzccVOtwg9FAlNH3v+zXhZX8edNB9haf+v/l8swE7rmoH2mN9hXQ6RVstlNf63UQZTZisxgwhLAncTicS3/fne1M4gyaDPbt28fcuXPZsGEDERERzJs3jxtuuKFdN4uNjSUjIwOTyURGRgZms5mSkhL/67W1tdhsrS91A/B4tG63Bd3Zsi1ed3AuxZgcbWq214DL7SUzwcrR41VU2d1N2kccKqtj4bYC8gur/Mey0mzclZNORm/fh0BVld3/ms0WQVWV/VQXUb0eneqmRnWfcewd5Vz6++5sZ7LtZdBfDU6fzPV4PO2e4M3JyeGLL75A0zSOHTuG3W7noosuYsuWLQBs3LiR0aNHt+vaQvREMy7sg+rRsKse0DSMeoVYq4nLM+Mpq3H5E0FJlYPXN/zAUx/t9SeCzIRI/t+1g/nF1Zn+RHA6vQ7/cFCMDAeJVgR9Mrjwwgt55ZVXcDgcfPHFF7z33ntNGte1xeWXX87WrVuZNm0amqYxZ84c0tPTeeaZZ3jttdfIyMiQJnjinNKw18CynUXUuDxEmvRcel5vzk/0/QZXXqfy4c4iPvu2FE/9jHGfWAu5OemM7hPTYq1Aw6YyqTER1FQH3t5SiMYUTTttk9PTqKrKW2+9xfr16/F4PEyYMIFHHnkEszn4ptedRVU93e6R7Wx5jOwOzrUYXV6NKrvaZIVQrcvNql3H+NveYzjdvqeD+EgTd2alMuG83i3WCugUhSiLAZvZgF6nnHM/y87SE2KEMxsmCvpkYDQaGTNmDI8++igVFRVs27atSxOBEGcLt1ejyumm1nGqLsDp9rJm33FW7CqmxunbXMZmNnDLyBSuHpyAqYVaAZ2iEGkxEG3WY5Q6HdEOQZPBb37zG/Ly8liwYAEOh4O33nqL/fv388gjj4QjPiHOOl6gpn6DGU99FvB4NdZ/X8rS/CJO1vnqAiwGHTcOS+LGC5KxmgJvLiNJQHSUoMlg3bp1rFixAoDk5GTee+89brnlFkkGQrSRBtSpHirrVNT6iWFN09hyuIJFeYUUVfrG9g06hasHJ3DryBRiIowBr9UwHBRtNmBopb2EEKEKmgxUVcVoPPUP0mg0ttrgSghxOg27qlHpaLrBzNdFVSzaXsD3pb4xXgWYcF5v7sxKJTE68FCsJAHRWYImg+zsbJ588kmmTZuGoiisXLmSkSNHhiM2IXo0RWnYZczXQ6hhpcaB0loWbi/k66JTtQI5fWLIzU6jX1zgJaKSBERnC5oMnnnmGd58803mzp2LwWDgoosu4rHHHgtHbEKEXVubxrVE9XqpsrupbbRCqLjSweK8QjYfKvefNyQpirtz0hiSFHiVhyQBES5Bk8Ef//hHZs+eHY5YhOhSbW0aF4hH06hyuKlxuPHWZ4GyOhcf7Chm3f4T/lVDfXtFMD0njez0wLUCOp1ClFmSgAifoMlg/fr1PPnkk+GIRYgu1bhpHFD/p4cFW48GTQYaUONyN2kfUeN0s3JXCf/YewyXx5cFEqNM3JmdxviMuIDVwJIERFcJmgzS09O57777yM7OJjLy1D6pM2fO7NTAhAi3okoHNkvT/yUsBp1/lU8ggVYIOd0e/rH3OCt3lVDr8tUKxFgMTBuZylWD4zEGaBB3erGYEOEWNBnExsYCUFhY2OnBCNGVUmMszZrGOdxeUmMsAc/3Tw6rvg98t9fLuv2lfLijmHK7r1YgwqhjyrBkrr8gqcl1GzTUCdjkSUB0saDJYO7cuQBUVVWF1FFUiJ5qxoV9+PW67wEPFoMOh9uL6tGYcWGfJue5vBrFlXZOVDvQNPBqGl8eLGdxXiEl1U4AjHqFa4YkMnVEMjZL81oBnQJWswGbxSDFYqJbCPqv8ODBg1x33XVcf/31HDt2jGuvvZYDBw6EIzYhwqqhaVx8pIkqh5v4SFOTyWO3V6PMrnKs0o5D9eL1auworGT2x/v4zYYfKKl2olPgikHx/PaW4dw7pk+zRKAoEGk2kBQTQXykSRKB6DaCPhm88MIL/OIXv+CVV14hKSmJu+++mzlz5rBw4cJwxCdEWF08IK7ZZLFX06h2uqlyuPHWLwfaV1LF2xt+YHfJqc1lxvSNJTcnjfRGm8s0UBSwGA3ERBiwGHT1O5V17vciRFsETQYVFRVccsklvPLKKwBMnz6dpUuXdnpgQnQ1DV/30MpGK4QKKuwszitky+EK/3kXJEczfXQamQlRza6hKGA26omxGIkwShIQ3VfQZADgdDr9a6FPnDiB1+sN8g4herZa1UOVXcVV3z76RI2TD3YUs/77Un+twIA4K9NHpzEy1dasVkABTEY9sRFGLAYFUCQJiG4taDLIzc3lP//zPzl58iSvvvoqf//737n//vvDEZsQYdbQQ0jFpfraR1Q5VFZ8XcKab46j1tcKJEebuW/8AEYlRTarFfAlAR02ixFrgNVDQnRXQZPBtGnT6NevH+vXr8ftdvPCCy9wySWXhCM2IcJCUcCu+jaeb+ghZFc9/H3PMVbtPkZd/dLR2Agjt41K4crMeOJiI5vsNSxJQPR0rSaD/fv3c+jQIUaOHMlTTz0VrpiECAtFAadbo9KuYld9PYRUj5fPvi3lw51FVDp8m8ZHmvTcPDyZ64YmYjY0/aCXJCDOFi0mg2XLlvHyyy/Tr18/jhw5wquvvsr48ePDGZsQnUb1eqlyuKlzuvHW1wr864cyluQVcrzGBYBJr3Dd0CSmDE8m2tz8fxWzJAFxFmkxGSxYsICPP/6YpKQk8vPz+c1vfiPJQPR4nvplotV2XyM5TdPIK6hk0fZCDpf7hn10ClyZmcC0kSn0jjQ1eX/Dk0B8lBmPQSqGxdmj1WGipKQkALKysigvL2/tVCG6tUBbTX5zrJqF2wvZd6zGf97F/XtxZ3ZawBYUJoOOmAjfk0C0xUCFwxWu8IXodC0mg9OXyun18igseh4NqHN5qLCr/lqBw2V1LM4rZNvRSv95I1Jt5OakMTA+stk19DoFW4SRaLOB058FOmr/AyG6Wkh1BtA8OQjRvWnUqV6qHKp/q8lj1U7ezy/iiwMn/buODYy3kpuTzojU5n23gnUS7Yj9D4ToLlpMBt9++y3Z2dn+rx0OB9nZ2WiahqIo5OXlhSVAIdoi0DLRSrvKsp3FrP32BO76IaLUGAu52WmM7Rfb7BedUHcXO5P9D4ToblpMBp9++mk44xDijDTsN1ztcFNXv9VkncvDx3tK+Hj3MRz1lcS9rUZuz0rjsoG9m/2239ZOou3Z/0CI7qrFZJCWlhbOOIRoF0UBp0ejyq76k4Dq8fLJNydYvrOYKqevViDKrOeWESlMHpKI2aBrdg2ryYAtwohZH3rbiLbufyBEdxbynIEQ3c3ptQIer8bGAyd5P7+I0lrfSh+zQcf1QxOZMjyZSFPTf+6N+we1p4lcqPsfCNETSDIQPY7Hq1HlPLXpvKZpbD1SwaK8QgoqfEM0ekVh0uB4bh2ZSi9r881lTi8Ya08TuYb9D2Q1kTgbtCkZuFwuSktLSU1N7ax4hGhRw74C1Q63v1ZgT0k1C7cVsP9Erf+88Rlx3JmVSrKt+XCNQa8jJsJApNFARyyQC7T/gRA9UdBk8Omnn/LVV1/xxBNPcNNNN1FdXc1jjz3GvffeG474hPAXjFU7Tu0r8MPJOhZtL2BHYZX/vKw0G7k56QzobW12Db1OIbp+hdDpnUaFECEkg//93//ll7/8JWvXrmXUqFE8//zz3HPPPZIMRKcLtLlMcZWDJXlFbDpY5j8vMyGS6aPTuSA5utk1gtUKCCF8giYDTdMYPHgwb7/9NhMnTiQqKgpNdukQncjj1ah1eai0q6j1SaC8zsWHO4v57NtSPPX//vrEWsjNSWd0n5gAtQKy4bwQbRE0Geh0Ov7xj3/wr3/9i1mzZrFhwwapRj4HdEWbBQ2oUz1UV9gpq3ECUOt089HuEv6+9zjO+lqBhCgTd4xKZcJ5zWsFFAUijAZiIoyYDbK7mBChCpoMZs2axe9+9zv++7//m4SEBP74xz/y9NNPhyM20UXC3WbBnwTqW0fYbBE43V7W7DvOiq+LqXH5NpexmQ3cOjKFq4ckYNQ3/23ffAbLRIU41wVNBhdccAF//etf/V8vWbKEHTt2dGZMoouFq83C6UkAfENEq3eX8O6XhyirUwFfVe+Nw5K4aVhykwKvBka9jhirkcgAy0SlkZwQoQmaDB555BHefvttDAYDHo+HN998kyVLlrBly5ZwxCe6QDjaLNSpniZN5DRNY8thX61Aw30MOoXJQxK4ZUQKMRHNawUMeh22CANRpubdREEayQnRFkGTwaBBg/jv//5vfvSjHzFr1ixiYmJYsWJFOGITXaTz2iw033Ae4OuiKhZuL+BAaR3gqwyeeF5v7shKJTHa3OwqoS4TlUZyQoQu6DKLn//85yQkJHDzzTdz66238pe//OWMi85OnjzJpZdeyoEDBzh8+DB33XUXubm5PPvss3i93jO6tjhzMy7sg+rRsKseNM3355m0WWhoInesxsWJagfO+kTwfWktz3/yLc9/st+fCEb3iWH+9Gx+NHFAs0SgUyDKYiDZZiHGYgxaL1BU6cByWh8iaSQnRGAtPhn85S9/8f93amoqvXr1Ii8vD5fL1/Nl5syZ7bqhqqrMmTMHi8X3W+bcuXN5/PHHGTt2LHPmzGHdunVMmjSpXdcWHaOj2iwE2nAeoLDSwZK8Qr48dGr3vPOTopiek86QpChstgiqquxNrmMxGoiNMGLSh76STRrJCRG6FpPB/v37m3w9YcKEgMfb6uWXX+bOO+/krbfeAmDPnj2MGTMGgIkTJ7Jp0yZJBt3AmbZZOL2JHMDJWhcf7Cji8+9K/cf69Ypgek4aWenNawUaN5KzGJT6I6GTRnJChK7FZDB37lwAXn31VZ588skOudny5cuJi4tjwoQJ/mTQsFkOQGRkJNXV1UGvo9crxMY2bznQlfR6XbeLKZDOjtPp9hWL1Xk0dCYjUSYjVQ6VpdsKWLmjCFd9EVlKjIV7x/XjssEJzYZ7dHqFuFgrMdb6rSbbWddyXZaVyEgzf/rXQQrK7aT3iuD+8QO4NDPhjL9P+fvuOBJjxzmTOBUtSDnxjTfeyMcff9yui59u+vTpKIqCoijs27eP/v37s3fvXvbu3QvAZ599xubNm5kzZ06r11FVDxUVdR0SU0eJjbV2u5gC6aw43fWdRGvrO4kCOFQP/9h3nJW7SqirrxWIjTAwbWQqV2bGB6wVMOh1pCVGoznUDmkk11nO9b/vjiQxdpxgcSYkNG/Z0iDoaqL09HTuu+8+srOziYw8tVl4e+YMFi5c6P/vGTNm8Nxzz/HKK6+wZcsWxo4dy8aNGxk3blybryu6jtvr6yRa0ygJuL1e1u0v5YMdxVTYfbUCVqOeKcOTuH5oEpYAtQI6nW/5Z7TZNzdQ4VTD+n0Ica4LmgxiY2MBKCws7JQAZs2axTPPPMNrr71GRkYGkydP7pT7iI51+p4C4GsxvflgOUvyCimp9rWTMOoVrhmSyC0jUoi2NP/nplMg0mLEFmS/YSFE5wo6TNQdyTBR+51pnB5No8bppsrhxls/C6xpGjsKfbUCh8p8q4B0Clw2MJ7bR6USH2Vqdp3GW02aTksCPeFn2RNihJ4Rp8TYcTp1mCg/P5+33nqLuro6NE3D6/VSUFDA+vXr2xWs6JkC7SkAsP94DQu3F7Kn5NTE/9h+sdyVnUZ6bESz6zQsE42JMGAx6KR/kBDdRNBk8PTTTzNlyhQ++eQT7rzzTtatW8fVV18djthEN6ABdS4PFXa1SRI4WmFn8fZC/n2kwn9sWHI0uaPTyEyICngtaSQnRPcVNBkoisKDDz5IeXk5GRkZ3Hjjjdx6663hiE10oYYmclV2FZf7VBI4UeNk6Y4iNnx/0l8rkNHbSm5OGiNTbQGXgTY0krMa9ShIEhCiOwqaDBpWEPXt25fvvvuOnJwcdLJZyFnt9CZyAFUOleVfl7Bm33Hc9VkgxWbmruw0xvXvFbA1hF6nYIswEmU2oEM6iArRnQVNBsOHD+fxxx/nJz/5CQ899BCHDh3CYAj6NtHjaDjcGhX2pk3k7KqHv+05xqrdJdjrk0Oc1ci0kalckdkbQ4BfDPxbTVoM6OuThHQQFaJ7C/qp/otf/IKdO3cyYMAAfv7zn7N582ZeffXVcMQmwkBRwK56qXSovgZy9VlA9Xj59NsTLNtZTKXDDUCkSc/Nw5O5bmgiZkPzWgFFgcgWtpqUDqJCdG8tJoOKilMTg/3796eiooJRo0YxatSosAQmOldDJ9FKuxtHoyZyHq/GpoNlLMkr5HiNrymhSa/j+qGJTBmeTJS5+T+Zxo3kWtpqMhx7JAgh2q/FZDBu3Lgmk4GNyxEa2kmInsnl0ahyqNS5TiUBTdPYXlDJou2FHCk/VStw5aB4bstKJc7avFYATq0Qamgk19LksHQQFaJ7azEZ3HzzzeTn53PFFVdw6623MnDgwHDGJTqYooDTo1FS5eB4lb3Jh/a+Y9Us3FbIN8dr/McuHtCLu7LSSGnhw9pk0GGLOLVCKBjpICpE99ZiMnjppZew2+2sXbuWX/7yl9TV1XHTTTdx4403YrPZwhmjOEOqt/5JwOkmKjrCnwgOl9WxKK+Q7Ucr/eeOTLWRm5PGefGRAa9l0OuIiTAQ2cJWky3pqD0ShBCdI+R2FCUlJXz00UesXr2a/v378/rrr3d2bC2SdhShCbSngM0WwXeFFbyfX8QXB076Vw0NjI9kek4aw1MDJ/rGjeSC7TB2prrjz/J0PSFG6BlxSowdp1PbUTQoKyujrKyM8vJyevfu3bYIRVgFaicNUGFXWZBXxN93FftrBdJiLOTmpDGmb2zAgjFpJCfEuaHVZFBcXMyqVav46KOP0Ov13HTTTSxdupSkpKRwxSfaIFA7afC1k1i1u4S/7TmGo76auLfVyO1ZaVw2sDf6AB/yCmAxGYi1Nm8kJ4Q4+7SYDGbMmMHBgwe57rrrmDdvHkOHDg1nXKIN3F6NGpeviVxDJ1EAl9vLJ98eZ/nOEqqdvlqBaIuBW4YnM3lIIiZD4Epys1FHjMVEhLHtW00KIXqmFpPB1q1bMZvNfPDBB3z44Yf+4w3bVObl5YUlwHNRsLYNmw+WsSSvgFqXhySbhUv6xzEs5dRYoMerseHASZbmF1Fa66sVMBt03DA0ibsv7o+nhY1jDHodsRFGrKbgK4SktYQQZ5cWk8G6devCGYeoF6xtw1eHynjnqyNYjDo0r8be4ip2FlTywEX9GJVmY+uRChblFVJQ4SvmMugUJg1O4JYRKfSyGok0G6g6LRnodQrREb79hkPpOiWtJYQ4+7SYDNLS0sIZh6jXUtuGJXkFjO3fi4/3HMPp9lBTP+zjawvhYdH2Aj7YoWP/iVrAN7gzPiOOO7PTSIo2B7yXTlGIjvCtENK3YYWQtJYQ4uwjHee6mdPbNhj1CrERZhxujeJKBzuOVvhaQtR/eDvdXsrqVH8TOYDs9Bhyc9LoH2cNeA+dAtYWegi1J0aQ1hJC9HSSDLqZhrYN0WYDUWYDRr3C8RonBkXB49VIjDZTblfRKQpldSq1Lo//vYMTI5mek87Q5MBriX09hHRExkRg1rfcOiLUGKW1hBBnD9mYoJu5Z0wfoswGrGYDdpebH0prKatVmTI8BYArMhMoq1U5WuHwJwK9TuG2USm8eN2QFhOB2agnMdpCSkwEJl37EwH4WkuoHg276kHTfH9KawkhejZJBt2IFxiWauP2rFTqHCpFlQ5iI4w8cFE/MhMiWbi9gPmbDmOvrxXQKZAWY+ZnV5zHHVlpLe4yFh9tJjnajKWFpaRt1dBaIj7SRJXDTXykSSaPhejhZJioG9CAWpebSrtvs/mhSdE8e+0QwDcnsHrfMd7Y8AM19U8CNrOBW0emcPWQBIz6wB/wuvpdxtqyQqgtS0UvHhAnH/5CnEUkGXShljabB1+twOfflfLBjiLK6nxLQS0GHVOGJ3PDBUlNxusba9hgJsZiDLl9hCwVFUJIMugCmubbZ7jSrqKelgQ0TeOrw+Uszivyr84x6BQmD0nglpEpxFiMLV7XbNQRG2Eiwqhr05yALBUVQkgyCCON+s3m7Sout7fZ618XVbFwewEHSn1dB3UKXHpeb27PSiUhKnCtADRvK93WyWFZKiqEkGQQBsGSwPcnalm4vYBdxdX+Yxf2jSU3O40+vSKanZ9fUMlHu4qpdrjJTI7m5uHJpMX0and8slRUCCHJoBM1JIFqh4pTbZ4ECisdLM4r5KtD5f5jQ5OimD46ncGJUQGvmV9QyV//fYTEaDN9e1s5UlbHr9Z+d0bj+7ILmRBCkkEnCJYETta6WLqjiH9+V+rfdKZ/XAS5OelkpdkCLhFtsP5AKem9rHi8XkprXOgUBaNeOaPxfdmFTAghyaCNWluCGSwJVDvdrPy6mNX7juPy+LJAUrSZu7JTuXhAXKs7iOnrl4qW13ch1Rr1Fe2I8X1ZKirEuU2SQRsEWoI57/PvmT1pEBdZTByrduBSvZw+f+tQPfx973E+2l1CXX2tQGyEkdtGpXDFoPgWawXg1E5jMWYDep2C1WSQ8X0hRIeTZNAGjZdgKkBClAmdTsfivAIGpcY2expQPV7W7S/lw51FVNh9XUatRj1Thidz/dBELC3UCkCjncYijJj0p54CZHxfCNEZJBm0QcMSzEiTnkizgVqXh7IaJ5X2pvsDeDWNTT+UsSS/iGPVTgBMeoVrz0/k5uEpRFta/7Eb9DpirUYijTpO32lMxveFEJ1BkkEbDEyIxOnxomlQUuVA9Wg43R4S6/cL0DSN/MIqFm0v4FCZHfAN81w+MJ7bs1LpHWlq9fo6BaIjjNgsxlZbSMj4vhCio0kyCIGigNOjccOwZH674Qe8moZZr8Pp8Q3RTBmewt7iKt7acIC9x2r87xvXrxd3ZaeSFtu8VuD061tNBmIijBhl83khRBeQZBCE6vVS5XBT53STEWflngv78NGuYo5XO0mMNnPxK9oJ/gAAEGhJREFUgDjWfnuCrUcq/O8ZnhJNbk4agxIC1wo0UACzSU+MxdikhYTsLyyECDdJBi1wezWqnG5qHW68jfo7ZKXHkJUew4kaJ0vzi/jTV0f8tQIZva3cPTqdEam2oNc36nXENJoXaJwIpGmcECLcJBmcxu3VqHG5qXa48XqbN/mpdKgs31nMJ9+cwF3/eqrNzH3jBzAyMbLVgjHw7Ttss7bcWlqaxgkhukJYk4Gqqvz85z+nsLAQl8vFww8/zMCBA5k9ezaKojBo0CCeffZZdO3YlzdULQ3BNCSBGocbT4AkYFc9fLz7GKt2l+Co7y8UZzVy26hUrhgUT69YK1VV9hbve2peoPV9h6VpnBCiK4Q1GaxatYrY2FheeeUVysvLmTp1KkOGDOHxxx9n7NixzJkzh3Xr1jFp0qROuf/pQzDVTjd/3nIEj6YxIM4aMAmoHi9rvz3Bsp3FVDl8tQJRJj1TR6RwzfmJmEPYPcxk8LWWtpqCt5aWpnFCiK4Q1mRwzTXXMHnyZP/Xer2ePXv2MGbMGAAmTpzIpk2bOi0ZNAzBxEYYiTIbQIFjVQ7+/OVhnqvfWayBx6vxxQ8neT+/iBM1vhYQJr2O64cmcvPwZCLNwX90Br0OW4SBqDa0lpaiMiFEVwhrMoiMjASgpqaGH//4xzz++OO8/PLL/nH2yMhIqqurW7sEAHq9Qmystc33L7e76RNnRVGg0q5S5/KgoXCiVsVm8y3/1DSNrw6W8ZfNhzh00revgF6ncO0FyUwf27fFWgGdXvFfo2G3sViLEWMb9x2+LstKZKSZP/3rIAXldtJ7RXD/+AFcmpnQ5u83EL1e166fXThJjB2nJ8QpMXacM4kz7BPIxcXFPProo+Tm5nLjjTfyyiuv+F+rra3FZgu+Esfj0aioqGvTfd1ejQFxERwur6Px5mJOt4eESCNVVXb2llSzaHsh3xw/VStw8YBe3JWdRorNAh5Pi/MCNlsE1dX2U/MCbg+1NZ42xdhgZGIkv71lWJNjbf1+WxIba+2wa3UWibHj9IQ4JcaOEyzOhIToFl8LazIoLS3lvvvuY86cOVx00UUADB06lC1btjB27Fg2btzIuHHjOvSejVcHje3Xi6+LqjDqlSZFY+P6x/GrT78jr6DS/75RaTZyc9LJ6B1aljUZdCRGW9q85aQQQnQHiqaF76PrxRdfZPXq1WRkZPiP/eIXv+DFF19EVVUyMjJ48cUX0etbbuAGsK+4imeWf91qMZbbq1FbnwQaTww37BJ2vNrpawJn0LOnpNrfaXRQQiTTc9IYlhL8CQXq+whFGEmJj2p1NVF30RN+w5EYO05PiFNi7Dhn8mQQ1mTQUfaXVPPg/21F9WjNirGCLREFqLCrLNtZzKffnqoVSI+xkJuTxoV9Y4PWCoCvXiDKYiDGYkCnKGfNP5buQGLsOD0hTomx4/SYYaIOozQvxvJoGjXO5k8CjdW63KzafYy/7znmrxWIjzRxe1Yql57XG30IfYEUBSKMBmKt0kdICHH26JnJoF60WY/T7aXSobaaBFxuL2u+Oc7yr4upcXrq32vglpHJTB6ciCnEFT9mo44YS2j1AkII0ZP0yGSgAL2sRtxeDQWNijo14Hker8b670tZml/EyfpzLAYdNw5L4sYLkrGaWp+baKDXKcRYjUQZDShKaPUCQgjRk/TIZKDXKZTbVcpqXNx/Ub9mr2uaxpbDFSzOK6Swvo2DQacwaXACt45MITbCGNJ9FAWiLEZsZgMGGRISQpzFemQy8GoaJp3C/Rf1I+v/t3f/MVXWfx/HnweOCKh4pJQRYUFfI6PtvpV7zbGDa0W/XBhBBMXAtDSZLctpChGm6IxcP4gtIY3lUEFQAmsLomBl1MivtzW+pClqTcExDKYdPLecw+H+wzzFl0OCtu/h4Ovxl+dc57p4n82d13V9rs/1/tw8ecC2f505z45/ttF6tge4dBURc9sNJM+6iaDfF6EZjvHjvJniPw5fo4aERGTs88gwmG7yI+fBiAELz58428POg2380H7e+V5U6GSenB3CrYHDfyLvjyUnLw0hKQhE5HrgkWHwZ+3n/o+y/23jm5+7ne/dMW0iqf8TwsygoadR/Tsvg4FJfkYCxl+aKioicj3x2DDoutBL+fdn+OJop3NxmekmP56KCiEqdPKwnhWA4beWFhEZyzwyDDotvSzb8y96f28yNG2iD8mzQjCHBw7rWYHLNFVUROQSjwyDXy/00tvnIMDXyOP/Fcz9EVMZ5z38s3pna2lNFRURATw0DLwNBpJn3cQjkUEDFoG5ksstJAJ8jXjrvoCIiJNHhsE/pk7gif++ieGe0P9xX0AtJEREXPHIMBjJz7nuC4iIXJlHhsFweHsZCPAbx6Txw19yUkTkejXmwuDPS06OZGaRiMj1bEyFwfhx3pj8xmm1MRGRERoTYXB5tTF/H28NCYmIXAWPDgOv37uKXl5tTEREro7HhoHveG9Mfj746L6AiMg188gwMBgMTJvgw8gmmYqIyFA8uDObgkBE5O/iwWEgIiJ/F4WBiIgoDERERGEgIiIoDEREBIWBiIigMBARERQGIiICGPr71dZNROR6pysDERFRGIiIiMJARERQGIiICAoDERFBYSAiIigMREQED13pbDSx2WxkZWXR1tZGb28vGRkZ3Hfffe4ua4C+vj6ys7M5efIk3t7ebNq0ienTp7u7LJd+/fVXEhISKC4u5rbbbnN3OS7Fx8czadIkAG6++WY2bdrk5ooGKyoqor6+HpvNxpNPPklSUpK7SxqksrKSjz76CICLFy9y+PBhGhsbCQgIcHNlf7DZbKxZs4a2tja8vLzIzc0ddf8ve3t7yczM5NSpU0ycOJGcnBxuvfXWER9HYXCN9u3bh8lkYvPmzXR3d/PYY4+NujBoaGgAoKysjKamJjZt2sSWLVvcXNVgNpuNnJwcfH193V3KkC5evAhASUmJmysZWlNTE4cOHaK0tBSr1UpxcbG7S3IpISGBhIQEANatW0diYuKoCgKAL7/8ErvdTllZGY2NjbzzzjsUFBS4u6wBysvL8ff3p7y8nBMnTpCbm8sHH3ww4uNomOgaPfTQQyxfvtz52tvb243VuBYbG0tubi4A7e3t3HjjjW6uyLW8vDxSUlKYNm2au0sZ0pEjR7BarSxatIj09HS+//57d5c0yNdff83tt9/OsmXLWLp0Kffcc4+7S/pLzc3NtLa2kpyc7O5SBgkLC6Ovrw+Hw4HFYsFoHH3nz62trcydOxeA8PBwjh8/flXHGX3fzMNMmDABAIvFwgsvvMCLL77o5opcMxqNrF69mrq6Ot599113lzNIZWUlgYGBxMTE8P7777u7nCH5+vryzDPPkJSUxM8//8zixYupqakZVT8S3d3dtLe3U1hYyOnTp8nIyKCmpgaDYXSuG15UVMSyZcvcXYZL/v7+tLW18fDDD9Pd3U1hYaG7Sxpk5syZNDQ0EBsbyw8//EBHRwd9fX0jPjHVlcHf4MyZM6Snp/Poo48SFxfn7nKGlJeXR21tLa+++ioXLlxwdzkD7N27l2+++Ya0tDQOHz7M6tWr6ezsdHdZg4SFhTF//nwMBgNhYWGYTKZRV6fJZMJsNuPj40N4eDjjx4+nq6vL3WW5dP78eU6cOMGcOXPcXYpLH374IWazmdraWqqrq1mzZo1zqHC0SExMZOLEiaSnp9PQ0EBkZORVjVAoDK7R2bNnWbRoEatWreLxxx93dzkuVVVVUVRUBICfnx8Gg2HUDWft3LmTHTt2UFJSwsyZM8nLy2Pq1KnuLmuQPXv28PrrrwPQ0dGBxWIZdXVGRUWxf/9++vv76ejowGq1YjKZ3F2WSwcOHCA6OtrdZQwpICDAOVlg8uTJ2O12+vr63FzVQM3NzURFRVFSUkJsbCyhoaFXdRx1Lb1GGzZs4NNPPyU8PNz53tatW0fVTdALFy6QmZnJ2bNnsdvtLF68mNjYWHeXNaS0tDRee+21UTdrA/6YudHe3o7BYGDlypXMnj3b3WUN8sYbb9DU1ER/fz8vvfQSMTEx7i7JpW3btmE0Gnn66afdXYpLPT09ZGVl0dnZic1mIz09fdRd/Xd1dbFixQqsViuTJk1i48aNBAUFjfg4CgMREdEwkYiIKAxERASFgYiIoDAQEREUBiIigsJAPFhERMSgh6kqKyt57rnn/uO1WCwWsrOziYuLY/78+cTHx1NRUeHcXlFRwc6dO0d83EceeYSmpiY6OjpISUm56v1FrmT0PEMv4sHefPNN/P392bdvHwaDgY6ODpKTkwkODsZsNnPw4EFmzJhx1ccPCgqirKzsb6xYZCCFgYxZv/32G+vWrePIkSMYDAZiYmJYsWIFRqORiIgIvv32WwIDAwGcr48dO8bGjRvx9/enp6eHXbt28corr/DLL7/g5eVFZGQk69evx8tr4EV1Z2cnN9xwAzabDR8fH4KCgigoKMBkMlFXV0d9fT2NjY34+vrS1dVFd3c3OTk5ABQUFDhft7a2kpWVhdVqJTw83Nk25PTp08TFxXHo0CEAtmzZwmeffYbD4SAkJIS1a9cSFBQ05P4iV6IwEI+2YMGCAT/M586dIyIiArj0dLjJZOLjjz/GZrORkZFBcXExS5Ys+ctjHjt2jM8//5yQkBCqqqro6emhurqavr4+1q5dy6lTp7jlllsG7PP888+zfPly5syZw6xZs5g9ezbz5s0jNDSU0NBQvvjiC2bMmEFqaupftkBeuXIlqampJCUlcfDgQVJTUwd9pqqqiqNHj1JRUYHRaGT37t1kZ2ezdevWYe0v4orCQDza9u3bnWf3cOmeQW1tLQBfffUVpaWlGAwGfHx8SElJYfv27VcMg+DgYEJCQoBLfX7efvtt0tLSiI6OZsGCBYOCAOCOO+6gpqaGlpYWDhw4QGNjI4WFheTn53PvvfcO67t0d3fz008/ER8f7/zbroaWGhoaaG5uJjExEQCHw4HVah32/iKu6AayjFkOh2NA22aHw4Hdbh/0ud7e3gGv/f39nf8ODQ2lrq6OJUuWYLFYWLhwIfX19QM+b7fbycnJ4dy5c9x1110sXLiQbdu2kZGRwe7duwf9PYPBwJ+7wNhstgHb/7zNVWtsh8PBs88+S3V1NdXV1ezdu5fS0tJh7y/iisJAxiyz2cyOHTvo7++nt7eX8vJyZ4fMwMBAmpubAfjkk0+GPMauXbvIzMzEbDazatUqzGYzP/7444DPGI1GTp48yXvvvef8Ybfb7Rw/fpw777wTuLTo0eUgmjJlCi0tLfT392OxWJwr0U2ZMoXIyEjnLKSWlhaOHj3q8nvt2bMHi8UCQH5+Pi+//PKw9xdxRacNMmZlZ2ezYcMG4uLisNlsxMTEsHTpUue29evXExAQQHR09JBtqOPj4/nuu++YN28efn5+BAcHk5aWNuhz+fn5bN68mQcffBA/Pz8cDgf333+/c9GWuXPnOltfP/XUU+zfv58HHniAoKAg7r77bufZ/FtvvUVmZiZlZWVMnz59QDfcy5KSkujo6OCJJ57AYDAQHBzsPPZw9hdxRV1LRUREw0QiIqIwEBERFAYiIoLCQEREUBiIiAgKAxERQWEgIiLA/wODwdVDLK/f1gAAAABJRU5ErkJggg==\n", 179 | "text/plain": [ 180 | "
" 181 | ] 182 | }, 183 | "metadata": {}, 184 | "output_type": "display_data" 185 | }, 186 | { 187 | "name": "stdout", 188 | "output_type": "stream", 189 | "text": [ 190 | " Hours Scores\n", 191 | "Hours 1.000000 0.976191\n", 192 | "Scores 0.976191 1.000000\n" 193 | ] 194 | } 195 | ], 196 | "source": [ 197 | "sns.regplot(x= data['Hours'], y= data['Scores'])\n", 198 | "plt.title('Regression Plot',size=20)\n", 199 | "plt.ylabel('Marks Percentage', size=12)\n", 200 | "plt.xlabel('Hours Studied', size=12)\n", 201 | "plt.show()\n", 202 | "print(data.corr())" 203 | ] 204 | }, 205 | { 206 | "cell_type": "markdown", 207 | "metadata": {}, 208 | "source": [ 209 | "**It is confirmed that the variables are positively correlated.**" 210 | ] 211 | }, 212 | { 213 | "cell_type": "markdown", 214 | "metadata": {}, 215 | "source": [ 216 | "## Training the Model\n", 217 | "### 1) Splitting the Data" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 56, 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [ 226 | "# Defining X and y from the Data\n", 227 | "X = data.iloc[:, :-1].values \n", 228 | "y = data.iloc[:, 1].values\n", 229 | "\n", 230 | "# Spliting the Data in two\n", 231 | "train_X, val_X, train_y, val_y = train_test_split(X, y, random_state = 0)" 232 | ] 233 | }, 234 | { 235 | "cell_type": "markdown", 236 | "metadata": {}, 237 | "source": [ 238 | "### 2) Fitting the Data into the model" 239 | ] 240 | }, 241 | { 242 | "cell_type": "code", 243 | "execution_count": 57, 244 | "metadata": {}, 245 | "outputs": [ 246 | { 247 | "name": "stdout", 248 | "output_type": "stream", 249 | "text": [ 250 | "---------Model Trained---------\n" 251 | ] 252 | } 253 | ], 254 | "source": [ 255 | "regression = LinearRegression()\n", 256 | "regression.fit(train_X, train_y)\n", 257 | "print(\"---------Model Trained---------\")" 258 | ] 259 | }, 260 | { 261 | "cell_type": "markdown", 262 | "metadata": {}, 263 | "source": [ 264 | "## Predicting the Percentage of Marks" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 58, 270 | "metadata": {}, 271 | "outputs": [ 272 | { 273 | "data": { 274 | "text/html": [ 275 | "
\n", 276 | "\n", 289 | "\n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \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 | "
HoursPredicted Marks
01.516.844722
13.233.745575
27.475.500624
32.526.786400
45.960.588106
53.839.710582
61.920.821393
\n", 335 | "
" 336 | ], 337 | "text/plain": [ 338 | " Hours Predicted Marks\n", 339 | "0 1.5 16.844722\n", 340 | "1 3.2 33.745575\n", 341 | "2 7.4 75.500624\n", 342 | "3 2.5 26.786400\n", 343 | "4 5.9 60.588106\n", 344 | "5 3.8 39.710582\n", 345 | "6 1.9 20.821393" 346 | ] 347 | }, 348 | "execution_count": 58, 349 | "metadata": {}, 350 | "output_type": "execute_result" 351 | } 352 | ], 353 | "source": [ 354 | "pred_y = regression.predict(val_X)\n", 355 | "prediction = pd.DataFrame({'Hours': [i[0] for i in val_X], 'Predicted Marks': [k for k in pred_y]})\n", 356 | "prediction" 357 | ] 358 | }, 359 | { 360 | "cell_type": "markdown", 361 | "metadata": {}, 362 | "source": [ 363 | "## Comparing the Predicted Marks with the Actual Marks" 364 | ] 365 | }, 366 | { 367 | "cell_type": "code", 368 | "execution_count": 59, 369 | "metadata": {}, 370 | "outputs": [ 371 | { 372 | "data": { 373 | "text/html": [ 374 | "
\n", 375 | "\n", 388 | "\n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | "
Actual MarksPredicted Marks
02016.844722
12733.745575
26975.500624
33026.786400
46260.588106
53539.710582
62420.821393
\n", 434 | "
" 435 | ], 436 | "text/plain": [ 437 | " Actual Marks Predicted Marks\n", 438 | "0 20 16.844722\n", 439 | "1 27 33.745575\n", 440 | "2 69 75.500624\n", 441 | "3 30 26.786400\n", 442 | "4 62 60.588106\n", 443 | "5 35 39.710582\n", 444 | "6 24 20.821393" 445 | ] 446 | }, 447 | "execution_count": 59, 448 | "metadata": {}, 449 | "output_type": "execute_result" 450 | } 451 | ], 452 | "source": [ 453 | "compare_scores = pd.DataFrame({'Actual Marks': val_y, 'Predicted Marks': pred_y})\n", 454 | "compare_scores" 455 | ] 456 | }, 457 | { 458 | "cell_type": "markdown", 459 | "metadata": {}, 460 | "source": [ 461 | "## Visually Comparing the Predicted Marks with the Actual Marks" 462 | ] 463 | }, 464 | { 465 | "cell_type": "code", 466 | "execution_count": 60, 467 | "metadata": {}, 468 | "outputs": [ 469 | { 470 | "data": { 471 | "image/png": "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\n", 472 | "text/plain": [ 473 | "
" 474 | ] 475 | }, 476 | "metadata": {}, 477 | "output_type": "display_data" 478 | } 479 | ], 480 | "source": [ 481 | "plt.scatter(x=val_X, y=val_y, color='blue')\n", 482 | "plt.plot(val_X, pred_y, color='Black')\n", 483 | "plt.title('Actual vs Predicted', size=20)\n", 484 | "plt.ylabel('Marks Percentage', size=12)\n", 485 | "plt.xlabel('Hours Studied', size=12)\n", 486 | "plt.show()" 487 | ] 488 | }, 489 | { 490 | "cell_type": "markdown", 491 | "metadata": {}, 492 | "source": [ 493 | "## Evaluating the Model" 494 | ] 495 | }, 496 | { 497 | "cell_type": "code", 498 | "execution_count": 61, 499 | "metadata": {}, 500 | "outputs": [ 501 | { 502 | "name": "stdout", 503 | "output_type": "stream", 504 | "text": [ 505 | "Mean absolute error: 4.130879918502486\n" 506 | ] 507 | } 508 | ], 509 | "source": [ 510 | "# Calculating the accuracy of the model\n", 511 | "print('Mean absolute error: ',mean_absolute_error(val_y,pred_y))" 512 | ] 513 | }, 514 | { 515 | "cell_type": "markdown", 516 | "metadata": {}, 517 | "source": [ 518 | "**Small value of Mean absolute error states that the chances of error or wrong forecasting through the model are very less.**" 519 | ] 520 | }, 521 | { 522 | "cell_type": "markdown", 523 | "metadata": {}, 524 | "source": [ 525 | "## What will be the predicted score of a student if he/she studies for 9.25 hrs/ day?" 526 | ] 527 | }, 528 | { 529 | "cell_type": "code", 530 | "execution_count": 62, 531 | "metadata": {}, 532 | "outputs": [ 533 | { 534 | "name": "stdout", 535 | "output_type": "stream", 536 | "text": [ 537 | "Score = 93.893\n" 538 | ] 539 | } 540 | ], 541 | "source": [ 542 | "hours = [9.25]\n", 543 | "answer = regression.predict([hours])\n", 544 | "print(\"Score = {}\".format(round(answer[0],3)))" 545 | ] 546 | }, 547 | { 548 | "cell_type": "markdown", 549 | "metadata": {}, 550 | "source": [ 551 | "**According to the regression model if a student studies for 9.25 hours a day he/she is likely to score 93.89 marks.**" 552 | ] 553 | } 554 | ], 555 | "metadata": { 556 | "kernelspec": { 557 | "display_name": "Python 3", 558 | "language": "python", 559 | "name": "python3" 560 | }, 561 | "language_info": { 562 | "codemirror_mode": { 563 | "name": "ipython", 564 | "version": 3 565 | }, 566 | "file_extension": ".py", 567 | "mimetype": "text/x-python", 568 | "name": "python", 569 | "nbconvert_exporter": "python", 570 | "pygments_lexer": "ipython3", 571 | "version": "3.8.3" 572 | } 573 | }, 574 | "nbformat": 4, 575 | "nbformat_minor": 4 576 | } 577 | --------------------------------------------------------------------------------