diff --git a/2-Regression/3-Linear/notebook.ipynb b/2-Regression/3-Linear/notebook.ipynb index 5d114acb..38e53549 100644 --- a/2-Regression/3-Linear/notebook.ipynb +++ b/2-Regression/3-Linear/notebook.ipynb @@ -16,7 +16,10 @@ }, { "cell_type": "code", + "execution_count": 2, + "execution_count": 3, + "metadata": {}, "outputs": [ { @@ -214,7 +217,11 @@ "[5 rows x 26 columns]" ] }, + + "execution_count": 2, + "execution_count": 3, + "metadata": {}, "output_type": "execute_result" } @@ -233,14 +240,22 @@ }, { "cell_type": "code", + + "execution_count": 3, + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ + + "C:\\Users\\Paskal Sunari\\AppData\\Local\\Temp\\ipykernel_7488\\2637987050.py:9: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + "C:\\Users\\user\\AppData\\Local\\Temp\\ipykernel_22516\\2637987050.py:9: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)\n" ] }, @@ -351,7 +366,11 @@ "74 15.0 13.636364 " ] }, + + "execution_count": 3, + "execution_count": 4, + "metadata": {}, "output_type": "execute_result" } @@ -392,16 +411,27 @@ }, { "cell_type": "code", + + "execution_count": 4, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ + + "" + ] + }, + "execution_count": 4, + "" ] }, "execution_count": 6, + "metadata": {}, "output_type": "execute_result" }, @@ -423,16 +453,27 @@ }, { "cell_type": "code", + + "execution_count": 5, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ + + "" + ] + }, + "execution_count": 5, + "" ] }, "execution_count": 8, + "metadata": {}, "output_type": "execute_result" }, @@ -454,6 +495,35 @@ }, { "cell_type": "code", + + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Paskal Sunari\\AppData\\Local\\Temp\\ipykernel_7488\\3995499251.py:1: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)\n" + ] + } + ], + "source": [ + "day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-0.14878293554077535\n", + "-0.16673322492745407\n" + "execution_count": 10, "metadata": {}, "outputs": [ @@ -471,18 +541,26 @@ "text": [ "C:\\Users\\user\\AppData\\Local\\Temp\\ipykernel_22516\\2521659294.py:1: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", " day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)\n" + ] } ], "source": [ + + "day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)\n", + "print(new_pumpkins['Month'].corr(new_pumpkins['Price']))\n", "print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))" ] }, { "cell_type": "code", + + "execution_count": 14, + "execution_count": 11, + "metadata": {}, "outputs": [ { @@ -501,12 +579,20 @@ "colors = ['red', 'blue', 'green', 'yellow']\n", "for i, var in enumerate(new_pumpkins['Variety'].unique()):\n", " df = new_pumpkins[new_pumpkins['Variety'] == var]\n", + + " ax = df.plot.scatter('DayOfYear', 'Price', ax=ax, c=colors[i], label=var)\n" + " ax = df.plot.scatter('DayOfYear', 'Price', ax=ax, color=colors[i], label=var) " + ] }, { "cell_type": "code", + + "execution_count": 15, + "execution_count": 14, + "metadata": {}, "outputs": [ { @@ -515,7 +601,11 @@ "" ] }, + + "execution_count": 15, + "execution_count": 14, + "metadata": {}, "output_type": "execute_result" }, @@ -536,7 +626,11 @@ }, { "cell_type": "code", + + "execution_count": 18, + "execution_count": 21, + "metadata": {}, "outputs": [ { @@ -545,13 +639,19 @@ "" ] }, + "execution_count": 21, + "metadata": {}, "output_type": "execute_result" }, { "data": { + + "image/png": "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eeaZZ2TBggVy9913S9DEUp+ayIwaNcrs/9vf/iabN2+WG2+8MeJ213rRfe+998xrLFmyRF577TW59tprJYhiqdOrrrrKJDivvPKK/P3vf5fx48fLj370I3n77bernkOdVtI7ij/wwAOydetW2bJli0mqL7/8clM3atasWfLXv/5VXnjhBVP3upyK1mcIn/fY61PrTh8PPvigvPvuu6aeli9fbhLpEOrzRHW9R315TdKp2Yifzz77TKe6e+vXr4/Y//bbb3unn36698knn5jj+fn5VceWLl3qNWnSxNuzZ0/VvieeeMJr06aNd+TIES/IaqrPQYMGef/xH/9R6/ds377dfM/mzZur9i1btsxLS0vz/vGPf3hBV1OdtmrVylu4cGHE89q3b+899dRT5v/UaXTt2rXz/vCHP3hffvml17RpU++FF16oOvb++++butuwYYPZ5vMee33W5Pnnn/eaNWvmlZeXm23qMzbV69Rv1yRaZuIs1PzZvn37qn2HDh2SSZMmybx580wzfnXa0tC3b1859dRTq/bl5eWZBcCqZ9JBr8/PPvtMNm3aZJo9f/CDH5g6u+iii+SNN96IqE/tBvne975XtS83N9e03Oj3Bl1N71Gtyz//+c+mWV8XZ33uuedMd8nFF19sjlOnNdO/YLWutJVLm/L1L2Ft+dK6CTnzzDNN94jWoeLzHnt91vb+1a6TjIzKpQWpz+hqqlM/XpN8v9BkMulF4Oabb5bzzz9fzjnnnKr92uysFwtt5quJjlcIf9Oo0LYeC6qa6vODDz4wX++9917T9HzuuefKwoULZcSIEaYZOicnx9SZJjvh9BefXryDXJ/R3qPPP/+8XHnllWach9aV9pPn5+dLdna2OU6dRtKuOL0waMKn42K0rvr06SPbtm2TZs2amcSv+uc5VE983mOvz+q++OIL+dnPfhbRvUl91ixanfrxmkQyE0c6LkEvqOGtBDoGYc2aNRFjD9Dw+tSLsbruuuvk6quvNv8/77zzZPXq1fL000+bwa6oX52qu+66S7788kspKCiQDh06mMGAOmbm9ddfN3+hIZIOSNXERVsJ/vKXv8iUKVPM+BjEtz7DExptFdBxHLpP/5hBw+q0uLjYl9ckkpk40QGooUGROvgqRN80JSUlJ/ylpjMcLrzwQlm3bp1p5tOBrOFCsx9qagIMcn2edtpp5mv1v9rOOussM/o+VGfaHRVOR+FrF0pQ6zNaner787e//a1Jcs4++2yzr3///iaR0WboJ598kjqtRltfQq1WAwYMMIPQH3vsMdO6pYMmNTEM/8zr5zlUT3zeY6/P3/3ud2bfV199ZQb964w8bWFo2rRp1fdSnzWrrU51Vpgfr0mMmWkkndqmFwn9gGni0qNHj4jjs2fPlnfeecdkyKGHeuSRR2T+/Pnm/9oUqE2C4RcLnTGi/cI1NbUGuT7POOMM6dy58wlTiwsLC6V79+5V9akXEx2/EKKvpa06gwYNkqCpq061/1yFzwZT6enpVS1h1Gl0Wg9HjhwxFw290GpLYYi+VzXRDo1X4PMee32GWmR09p1enLWlu0WLFhHPpT5jE6pT316TbI9Adt3111/vZWZmeuvWrTOjwkOPQ4cO1fo91UeOHzt2zDvnnHO8kSNHetu2bfOWL1/unXLKKd6cOXO8oImlPh955BEzql5njBQVFZmZTS1atPCKi4urnjNq1CjvvPPO8zZt2uS98cYbXk5Ojjdx4kQviOqq06NHj3rZ2dnehRdeaOpL6/HBBx80M5VeffXVqtehTivNnj3bzATbuXOn984775htrauVK1ea49OnT/e6devmrVmzxtuyZYs3ZMgQ8wjh8x57fZaVlZnZi3379jXvy/D3r9ajoj5PVNd71I/XJJKZRtI3QU2P+fPnR/2e8DeO+vDDD73Ro0d7LVu29Dp06ODdeuutVVMPgyTW+pw7d67XpUsX76STTjIXitdffz3i+N69e82FtnXr1ibxufrqq72vvvrKC6JY6rSwsNAbP36817FjR1On/fr1O2GqNnVa6ZprrvG6d+9upgfrL/gRI0ZEXCS+/vpr74YbbjBTYbUu/+mf/slcfMPxeY+tPteuXVvr+1cv1CHUZ/3eo368JqXpP7ZbhwAAABqKMTMAAMBpJDMAAMBpJDMAAMBpJDMAAMBpJDMAAMBpJDMAAMBpJDMAAMBpJDMAAMBpJDMAfON//ud/zCrfuj7SuHHjbBcHQJKQzACot6lTp0paWpp5aOJw6qmnyiWXXCJPP/101eKU8aSrfV900UVm1eSTTjpJBg4cKAsWLDjhebfccouce+65snPnTpk1a5Yp2xtvvBHxnIMHD8p3vvMdue222+JeTgB2kMwAaJBRo0bJJ598Ih9++KEsW7ZMhg0bJv/+7/8uP/zhD+XYsWNxi/Ob3/xGLr/8cjn//PNl06ZNZsXff/7nf5bp06efkJCUlJTI8OHDpUuXLib5mTlzpkm8NIEJ+clPfiItW7aUn//85xJvR48ejftrAoiB7cWhALhnypQp3uWXX37C/tWrV5tF65566imz/dBDD5nVd3XBRV0YVFfwDi1OeeDAAe/kk082q5+H0wXv9Pn79+/3Pv74Y69p06beLbfcckKsxx9/3MTauHGjWXSwpoU0ddHHs846y5sxY4b5Hl3JWhff09WsKyoqvF/+8pfeGWecYVZd18U1w8uiKwfrgn2h47169fIeffTRGuvh5z//uXfaaaeZ5wJIPlpmAMSNtor0799fXnrpJbPdpEkTefzxx+W9996TZ555RtasWWNaRlSrVq1MC8v8+fMjXkO3r7jiCtOl9Je//EXKy8tr7BK67rrrpHXr1rJo0SLp2rWraSVq06aNPProo+b/V155pbRo0UIWLlwov//97+Xll1+Wa665Ru68804ZMGCAzJ071xx78sknTfm0W+pf//VfZf369eb1tbtMW3heeOEF2b59u9x9993me59//vmIcqxevVp27Nghq1atMt1hACywkEAB8GnLjLryyitNa0hNtOUjKyuranvTpk1eenq6t3v3brP96aefehkZGd66devM9vTp073MzMxay6GtKaNHj67a1udqi0x1d999t9ekSRNvwIABXnl5uXf48GHT+vPmm29GPG/atGnexIkTa42nLTwTJkyIqIdTTz3VO3LkSK3fAyDxaJkBEFee55mBwaqgoEBGjBghp59+umlpmTx5suzdu1cOHTpkjn//+9+Xs88+27TaqGeffVa6d+8uQ4cOjWuZ7rrrLtPSMnv2bMnIyJDi4mJTBh20rK07oYe21Oi4m5B58+aZVpxTTjnFHNcWno8//jjitXX2VLNmzeJaXgD1QzIDIK7ef/996dGjhxkYrIOB+/XrJy+++KJs3brVJAfVB8r++Mc/rpqZpF1MV199dVUy1KtXLykrK5Pdu3efEEdfQxMPfU5dNIEJ/3rgwAHz9dVXX5Vt27ZVPbQ7Sbu21HPPPWe6t6ZNmyYrV640x7Vs1Qf5ancZALtIZgDEjY6J+fvf/y4TJkwwyYu2hjz00EMyePBgk3TUlJToOJWPPvrIjK3RZGLKlClVx/R1dHq1vkZ1OtZFZylNnDix3uXs06ePNG/e3LSyZGdnRzx0/E3onjU/+MEP5IYbbpDzzjvPHAtvtQGQOir/TAGAejpy5Ijs2bNHKioq5NNPP5Xly5ebQbXaGnPVVVfJu+++awbv6tTqsWPHmuRAE5Dq2rVrJ+PHj5fbb79dRo4caQbdhnTr1k1+/etfy6233moG82o3lSY3OphXB+Pq/kGDBtW77Nrlpa0uOuhXE64LLrjAtABpGXUQsSZUOTk5pttpxYoVpqXpv//7v2Xz5s3m/wBSTBLG5QDwGR34GpoCrQN2TznlFC83N9d7+umnzZTnkIcffthMWW7ZsqWXl5fnLVy40HzPvn37apzS/fzzz9cY7+WXX/YuvPBCr1WrVmaatA7k1VjV1TYAWOnr67TvkOPHj5up1r179zbTv/UctIzr1683x3WQ8NSpU81rtm3b1kwrnz17tte/f/+YBkIDSJ40/cd2QgUg2LTVQ1tJtBuKwbQA6otuJgDW6IwivSfMAw88YO4bQyIDoCEYAAzAGh0Pc+aZZ0qnTp1kzpw5tosDwFF0MwEAAKfRMgMAAJxGMgMAAJxGMgMAAJxGMgMAAJxGMgMAAJxGMgMAAJxGMgMAAJxGMgMAAMRl/w94IF9VS3sQ6AAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAANWJJREFUeJzt3Qt8VOWZ+PEnEAJITIBwv0oJoCCgSykiioApgVoqgp+60CoIXUURF7C04K6utrbYrtZL66W1f0HWLdYbqCgEkJvKRcCyXhcIomBDvEBNCEi4nf/nebMTZkIuQzIz77zn/L6fzxDOeybznPNmJufJezlviud5ngAAADiqnu0DAAAAqAuSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4LRU8bmTJ09KQUGBnH322ZKSkmL7cAAAQBT0NngHDx6Udu3aSb169YKdzGgi07FjR9uHAQAAamHv3r3SoUOHYCcz2iITqoyMjAzbhwMAAKJQXFxsGiNC1/FAJzOhriVNZEhmAABwSzRDRBgADAAAnEYyAwAAnEYyAwAAnOb7MTMAgGDRW3IcPXrU9mGgBg0aNJD69etLLJDMAAB8Q5OY3bt3m4QGya9p06bSpk2bOt8HjmQGAOCbm6zt27fP/LWvU3prutEa7P6sDh8+LF988YXZbtu2bZ1ej2QGAOALx48fNxdIvWPsWWedZftwUIPGjRubr5rQtGrVqk5dTqStAABfOHHihPmalpZm+1AQpVDSeezYMakLkhkAgK+wDl/wflYkMwAAwGlWk5m5c+dK//79zboL2l82evRo2b59e/n+AwcOyLRp06RHjx6mb61Tp05y6623SlFRkc3Dht8V7xApWCpSvNPfMQHAJ6wOAF67dq1MnTrVJDQ6cOv222+X4cOHy4cffihNmjQxK17r47777pOePXvKp59+KlOmTDFlzz//vM1Dhx+VHhBZP15kX96psra5IoMWiqQ1809MAPAZqy0zy5Ytk4kTJ0qvXr2kb9++Mn/+fNmzZ49s3brV7D///PPlhRdekFGjRknXrl1l2LBh8qtf/UpeeeUVk/wAMaVJReHKyDLdfmucv2ICSCp6HdSxI/rQwcvZ2dnyi1/8ovw6t2bNGrPv66+/jtiu7FFYWHja6991111VPj/0yMnJkdzc3NO+99FHHzX3gvnss89Oi9u6dWsZO3asfPzxx+XPP+eccyp9/XvvvTeudZhUU7ND3UfNmzev9jm6+nVqauWHXlpaah7hS4gDUXXzhLeOhHgnysq1+yejm/sxAUT/+SzZJZKenZDP4YgRI2TevHnm+vXaa6+ZXgu9Q+6cOXOq/B4dlqHXw3A6ZKOin/70p6ZXI0R7Q2644Qb5l3/5l/IynU3Uu3dv+eMf/yg33nijKdObD/7sZz+Txx57TDp06CD5+fnlcXV4yM6dO83raIPDu+++Wz61WhOx8NdW+vxAJDN6t8bp06fLoEGDTItMZb766iv55S9/aSqvunE4d999dxyPFL6kv7Sq3Z8f+19oNmICSMqu34YNG5o74aqbbrpJFi1aJC+//HK1yYwmLtpqUpP09HTzCNGkQ5OLULyQhx56SG655RYz3ENbWCZPnmz+f+2111YaV290d+edd8qPfvQjk+jo+FZV2WvHW9LMZtIs9P3335dnnnmm0v3awnLFFVeYsTPaZFYV/cFr603osXfv3jgeNXwjvWsN+7P9EROAE12/Oukl0etLTZgwQS6//HKZNGmS/OEPfzDXZG2piebGd7bXwkqKZEYzwSVLlsjq1atNU1ZFBw8eNE1wmu1ptqpNb9Vlt9rsFv4AapTRveyvr5QKd6DUbS2PRwuJjZgAau761a7eqrp+E3Cb/5UrV0peXp4ZJ1odvV6GWl3S09PN+NO6+tOf/mSSGO0p0f+3bNmyyufq0hE6Qad9+/blrTLq5z//ecRx6eONN96o87ElbTeT/tB06rUmKDqwqEuXLpW2yOigJE1StMmtUaNGVo4VAaDNyPrXV3jzcpucsnI/xQSQdF2/+ge9XvR17IoOuxg/fny1vRBKE4TwsSgNqvlDP1rahaRjZhYvXmxul1JVEhVaW0kn7+hEnfC7Ls+aNcsMag6nCY9vkxntWvrLX/4iL730kvmBhEZhZ2ZmmqYrTWS0v04r7OmnnzbboQG9mi3GaulwwND+8KHLyv760l9aiRj4ZyMmgKTr+h06dKgZaKtJga4tVdUkl3DaABDNmJkzpbGri69JlPZ6aOJT2cDeFi1amBlZiWQ1mdEfnBoyZEhEuY7o1qzunXfekU2bNpmyihWjo6x1gBIQc5pMJDqhsBETQOVdvzpGJryrSbt+tcU0jp9RvbdaohOA2opXEuV0N1N1NMmp6TkAAASx61dXmz5y5EhEWVZWVky6m+pCx7lWvN+NLigZzzGsSTM1GwAA6xzq+g0fdBuyYcMGueiii8Qmna6tj3A6Dufxxx+PW8wUz+dNHzrGRsfghG62BwDwJ22l0CEI2g3CZBH3f2Zncv1OiqnZAAAAtUUyAwAAnEYyAwAAnEYyAwDwFZ8PBfUVL0Y/K5IZAIAvhG6kanudIERPb4qr6jqdnKnZAABf0LvW6v1MvvzyS3NxrFePv9eTVWg5BL1Xjt6Ar6539CeZAQD4QkpKirRt29ZM9f30009tHw6ioIlMmzZtpK5IZgAAvqFrG3Xr1o2uJgdo61ms1lgkmQEA+Ip2L3HTvGChQxEAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADiNZAYAADgt1fYBAEhixTtESnaJpGeLZHTzb0xbcTlXf8YN0rkmCZIZAKcrPSCyfrzIvrxTZW1zRQYtFElr5p+YtuJyrpyrH+ImEbqZAJxOfzEWrows0+23xvkrpq24nCvn6oe4SYRkBsDpTdX6F553IrJct7W8eKc/YtqKy7lyrn6Im2RIZgBE0j73avfn+yOmrbica3xj2oobpHNNQiQzACKld61hf7Y/YtqKy7nGN6atuEE61yREMgMgUkb3ssGDKfUjy3Vby+MxS8JGTFtxOVfO1Q9xkwzJDIDT6SyINjmRZbqt5X6KaSsu58q5+iFuEknxPM8THysuLpbMzEwpKiqSjIwM24cDuEUHD2qfe0Lv0WEhpq24nKs/4wbpXJPk+k0yAwAAnL5+080EAACcRjIDAACcRjIDAACcRjIDAACcZjWZmTt3rvTv31/OPvtsadWqlYwePVq2b98e8ZwjR47I1KlTJSsrS9LT02Xs2LHy+eefWzvmwNJbZhcsTeytsW3EtBkXAOBeMrN27VqTqGzcuFFWrFghx44dk+HDh8uhQ4fKnzNjxgx55ZVX5LnnnjPPLygokDFjxtg87GDR1VhXjxBZ0kNkzfdElnQv2z76D3/FtBkXAFAnSTU1+8svvzQtNJq0DB482EzHatmypfzlL3+Rq6++2jznf//3f+W8886TDRs2yEUXXVTjazI1u470Yq6rr4YvYqZ3ltQbMg1d5p+YNuMCAPwzNVsPWDVv3tx83bp1q2mtyck5dWfDc889Vzp16mSSmcqUlpaaCgh/oJZYeTZwK88CgIuSJpk5efKkTJ8+XQYNGiTnn3++KSssLJS0tDRp2rRpxHNbt25t9lU1DkczudCjY8eOCTl+X2Ll2fjHBQD4J5nRsTPvv/++PPPMM3V6nTlz5pgWntBj7969MTvGwGHl2fjHBQD4I5m55ZZbZMmSJbJ69Wrp0KFDeXmbNm3k6NGj8vXXX0c8X2cz6b7KNGzY0PSthT9QS6w8G7iVZwHARVaTGR17rInMokWLZNWqVdKlS5eI/f369ZMGDRrI66+/Xl6mU7f37NkjAwcOtHDEAcTKs4FaeRYAXGR1NtPNN99sZiq99NJL0qNHj/JyHevSuHFj8/+bbrpJXnvtNZk/f75pZZk2bZopX79+fVQxmM0UI6w8CwBIIGdWzU5JSam0fN68eTJx4sTym+bddtttsnDhQjNTKTc3Vx599NEqu5kqIpkBAMA9ziQziUAyAwCAe5y9zwwAAMCZIpkBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOI5kBAABOS7V9AHBE8Q6Rkl0i6dkiGd38GzOauPE4LhsxY3FcfolpK26QzhWII5IZVK/0gMj68SL78k6Vtc0VGbRQJK2Zf2JGEzcex2UjZiyOyy8xbcUN0rkCCUA3E6qnv/gKV0aW6fZb4/wVM5q48TguGzFjcVx+iWkrbpDOFUgAkhlUTZui9S8470RkuW5refFOf8SMJm7B8tgfl42YsTiuIP3cOVfACSQzqJr2qVe7P98fMaOJu39j7I/LRsxo8HOPb9wgnSuQICQzqFp61xr2Z/sjZjRxsy6K/XHZiBkNfu7xjRukcwUShGQGVcvoXjY4MKV+ZLlua3k8ZkHYiBlN3HbDY39cNmLG4riC9HPnXAEnkMygejrLoU1OZJlua7mfYkYTNx7HZSNmLI7LLzFtxQ3SuQIJkOJ5nic+VlxcLJmZmVJUVCQZGRm2D8ddOjhQ+9QTeg8OCzGjiRuP47IRMxbH5ZeYtuIG6VyBOF6/SWYAAIDT12+6mQAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNIZgAAgNNSbR+A04p3iJTsEknPFsno5t+YtuJyrgCAKJDM1EbpAZH140X25Z0qa5srMmihSFoz/8S0FZdzjf+5AoCP0M1UG3rxKVwZWabbb43zV0xbcTnX+J8rAPgIyUxtugP0r2jvRGS5bmt58U5/xLQVl3ON/7kCgM+QzJwpHddQ7f58f8S0FZdzjW9MAPAhq8nMunXrZNSoUdKuXTtJSUmRxYsXR+wvKSmRW265RTp06CCNGzeWnj17yuOPPy5WpXetYX+2P2Laisu5xjcmAPiQ1WTm0KFD0rdvX3nkkUcq3T9z5kxZtmyZPP300/LRRx/J9OnTTXLz8ssvizUZ3csGaKbUjyzXbS2Px0wUGzFtxeVc43+uAOAzVpOZkSNHyj333CNXXXVVpfvXr18vEyZMkCFDhsg555wjN9xwg0l+3n77bbFKZ5q0yYks020t91NMW3E51/ifKwD4SFJPzb744otNK8ykSZNMV9SaNWtkx44d8sADD1T5PaWlpeYRUlxcHPsD0ymzQ5eVDdDUcQ2JuDeIjZi24nKu8Y0JAD6T1MnM73//e9Mao2NmUlNTpV69evLEE0/I4MGDq/yeuXPnyt13352YA9SLTqIvPDZi2orLuQIAXJ/NpMnMxo0bTevM1q1b5f7775epU6fKypUV7ssRZs6cOVJUVFT+2Lt3b0KPGQAAJFbStsx88803cvvtt8uiRYvkiiuuMGV9+vSRbdu2yX333Sc5ORXGGfyfhg0bmgcAAAiGpG2ZOXbsmHlo11K4+vXry8mTJ60dFwAASC5WW2b0PjL5+aduDLZ7927T8tK8eXPp1KmTXHbZZTJr1ixzj5nOnTvL2rVrZcGCBfK73/3O5mEDAIAkkuJ5nmcruM5OGjp06GnlOh17/vz5UlhYaMbALF++XA4cOGASGh0QPGPGDHOTvWjobKbMzEwzfiYjIyMOZwEAAGLtTK7fVpOZRCCZAQDA39fvpB0zAwAAEA2SGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSSGQAA4DSrq2Y7r3iHSMkukfRskYxuto/Gf2zVr424vJcAoNZIZmqj9IDI+vEi+/JOlbXNFRm0UCStmc0j8wdb9WsjLu8lAKgzuplqQy8+hSsjy3T7rXG2jshfbNWvjbi8lwCgzkhmatMdoH9Feyciy3Vby4t32joyf7BVvzbi8l4CgJggmTlTOq6h2v35iToSf7JVvzbi8l4CgJggmTlT6V1r2J+dqCPxJ1v1ayMu7yUAiAmSmTOV0b1sgGZK/chy3dZyZqK4Wb824vJeAoCYIJmpDZ1p0iYnsky3tRzu1q+NuLyXAKDOUjzP88THiouLJTMzU4qKiiQjIyPGL76zbFwD9waJD1v1ayMu76VTuL+QP+NyLyXE8fpNMgMgOXB/Ic4VqOX1m24mAMmB+wtxrkAtkcwAsI/7C3GuQB2QzACwj/sLxTemrbjcSwkJQjIDwD7uLxTfmLbici8lJAjJDAD7uL8Q5wrUAckMgOTA/YU4V6CW6jQ1++jRo7J7927p2rWrpKamSjJiajbgGO4v5M+43EsJyXafmcOHD8u0adPkqaeeMts7duyQb33rW6asffv2Mnv2bEkWJDMAALgn7veZmTNnjvzP//yPrFmzRho1alRenpOTI3/9619r85IAAAC1Uqu+ocWLF5uk5aKLLpKUlJTy8l69esmuXTVMxQMAAIihWrXMfPnll9KqVavTyg8dOhSR3AAAACRlMvPtb39bXn311fLtUALz5z//WQYOHBi7owMAAIhHN9Ovf/1rGTlypHz44Ydy/Phxeeihh8z/169fL2vXrq3NSwIAACSuZeaSSy6Rbdu2mUSmd+/esnz5ctPttGHDBunXr1/tjgQAACDR95lxAVOzAQBwT9ynZr/22muSl5d3WrmWLV26tDYvCQAAUCu1Smb0pngnTlRY0l1Xdfe8pLphHgAA8L9aJTM7d+6Unj17nlZ+7rnnSn4+S7oDAIAkT2a0D+vjjz8+rVwTmSZNmsTiuFCV4h0iBUvL1jnxe9z8/yey/lqR/PmSUAV5Iu/9QqRgReLqoqbXDNLPHQASMTX7yiuvlOnTp8uiRYvMIpOhROa2226TH/zgB7V5SdSk9IDI+vEi+8LGKrXNLVt5Nq2Zv+Lu3yqyfKCId6xs+5OnRTbfIJL7tkjzCyRuDu4SWT5ApHT/qbKGWSK5m0XSu8SnLmp6zSD93AEgkbOZdGTxiBEjZMuWLdKhQwdT9tlnn8mll14qL774ojRt2lSShW9mM60eIVK4UsQLG6uUUl+kTY7I0GX+irsw7VQiEy6lgci4oxI3L7SITGTCE5qxX8WnLmp6zSD93AGgltfvWrXM6IvrDfJWrFhhFpxs3Lix9OnTRwYPHlybl0M0Tf3hfyGH6IVGy7ULIKObP+Jq11JliYyJe6ysyyl7osSla6myREZpef682NdFTfVbsDw4P3cAqINaJTOhJQyGDx9uHoizkhoW7yzJj8/FxUbcL9bUsP/1+CQz+zfVEHdV7OuipvrdvzH2MZP5/QYA8U5mHn74YbnhhhukUaNG5v/VufXWW2t7PKhMetca9mf7J26rIWVjZKrcf7nERdaA6ve3Glb9cdWmLmqq36yLgvNzB4BEjJnp0qWLGSOTlZVl/l/lC6akVDrTyRbGzDgYlzEzjJkBEHjFZ3D9ZjkDVxz9h8hb4xI/u8RG3APbRPK+E5nQaCIT79lMJbtF8vpXPZspHnVR02sG6ecePmZHu7q0BSiR3Vm24gJIfDJz7Ngxc3O8JUuWyHnnnSfJzjfJTIgOvtQxCwn/RW8hrg721TEy2rUUj3EyVdH7y+zfIJI1UKTddxNTFzW9ZqLr38bUbKahA0hky0z79u1l5cqVJDOAX9noZqJLDUAiF5qcOnWq/OY3v5Hjx4/X5tsBJLPQ1Ozwi3vFqdl+iGkzLoCYqlUys3nzZnNzvE6dOklubq6MGTMm4hGtdevWyahRo6Rdu3Zm4PDixYtPe85HH31k7iqs2ZkuldC/f3/Zs2dPbQ4bQKymZvshps24AOzfZ0bv8Dt27Ng6Bz906JD07dtXJk2aVGkStGvXLrnkkktk8uTJcvfdd5tmpg8++MBMDwcg/pmaHaTbDwCwm8ycPHlS/vM//1N27NghR48elWHDhsldd91l7gBcGyNHjjSPqvzbv/2bfO9735Pf/va35WWhtaAAa7NabMx60Tsj6w0FEzEYOqN72QDYqsaRxOOcbcS0GReAvW6mX/3qV3L77bdLenq6GQSsN8/T8TPxoInTq6++Kt27dzddWa1atZIBAwZU2hUVrrS01AwaCn8AUc9q0cGgS3qIrPmeyJLuZds6TTma/fFadFPvu/P2T8pu2vf29WXbOn09ns77uYh3MrJMt3ve7q+YSmctaeISTre1HID/kpkFCxbIo48+Knl5eSapeOWVV+S///u/TeIRa1988YWUlJTIvffeaxa1XL58uVx11VWmO2rt2rVVft/cuXPN+JrQo2PHjjE/NviUTs/Vv9DD6bbebyWa/fEQvnp4iG7rfXjiaXWuBqpQ6ImsyvFXTKXTr3XW0vd3iAx5reyrbjMtG/BnMqMDb7XbJyQnJ8cM3C0oKIj5gYUSpCuvvFJmzJghF1xwgcyePVu+//3vy+OPP17l982ZM8dM4wo99u7dG/Njgw/VNKsltOhjIme9RLPoZjzYiGvrXMNpl1K7kXQtAX5PZnQqdsXBtw0aNDA30ou1Fi1aSGpqqvTs2TOiXO9tU91spoYNG5qBwuEPICGLPsZaNItuxoONuLbOFUDwBgDr/fUmTpxoEoaQI0eOyJQpU8y06RCdtl1XaWlpZhr29u3bI8p18HHnzp3r/PpA0i/6aGvRTRtxbZ0rgOAlMxMmTDit7Mc//nGtg+uYmPz8U3/R7t69W7Zt2ybNmzc397CZNWuWXHPNNTJ48GAZOnSoLFu2zIzTWbOmhr/igFjPamk3PPGzXrIni2y+qepFN+M1q8lGXFvnCsAXrC40qUmJJimVJU3z55f1kT/55JNmUO9nn30mPXr0MPeb0XE00WI5Azi96KOtRTdtxLV1rgCSEqtmhyGZgfOLPtpcdNNGXFvnCiCpkMyEIZkBAMA9cV9oEgAAIFmQzAAAAKeRzAAAAKeRzAAAAKeRzAC1ufX++msTc4v9kII8kfd+IVKwInExbcW1da5bZoi82ldk60/9HVO99yuRlcNE3r/X358bW3H5vCYcs5mAM1nBuuLCj/G+D8rBXSLLB4iU7j9V1jBLJHezSHqX+MS0FdfWue5ZLPLmVaeXD14i0uEK/8RU+1aJrNaFO8N/7aeIXL5GpPVg/3xubMXl8yqxjMnU7DAkM4iZhWlV36F23NH4xHyhReQvi/BfGmO/ik9MW3FtnetfUqreN97zT0wTVxvjK3v9FJHxZYv7+uJzYysun1eJZUymZgN+WNVZm28r+2WhtDxezbo24to6V+3mqU48un9sxAx1LVWayCgvPl1OQVr5nc9r/M+1GiQzQLKu6rx/Uw37N8Q+pq24ts7181XV7y9c4Y+YJm4N79HC5bGPGaSV3/m8xv9cq0EyA0S7qnO1++OwqnPWgBr2D4x9TFtxbZ1r62HV72/zXX/ENHFreI+2Ge6Pz42tuHxe43+u1WDMDBAt+uCd74OvFGNmGDMTK3xehTEzQLLTWRD6izBcaHZE3GJuLvvlEC40YyCebMS1da46g+hMyl2NqXTWkiYuEf5vNpOfPje24vJ5lbifaxVomQFcWNVZB9RpP7Q237aLUzdEssS1da468FbHq2g3T7/7/BtT6WBfHSOjXUvnz05MzCCt/M7nNSaYmh2GZAYAAPfQzQQAAAKDZAYAADiNZAYAADiNZAYAADgt1fYBAEBgFe8QKdklkp4tktHN9tEAziKZAYBEKz0gsn68yL68U2Vtc0UGLRRJa2bzyAAn0c0EAImmiUzhysgy3X5rnK0jApxGMgMAie5a0hYZ70RkuW5refFOW0cGOItkBgASScfIVLs/P1FHAvgGyQwAJFJ61xr2ZyfqSADfIJkBgETK6F422DelfmS5bms5s5qAM0YyAwCJprOW2uRElum2lgM4Y0zNBoBE0+nXQ5eVDfbVMTLcZwaoE5IZALBFExiSGKDO6GYCAABOI5kBAABOI5kBAABOI5kBAABOYwAwUFFBnsj+TSJZA0Xafde/MQHAJ0hmgJCDu0SWDxAp3X+qrGGWSO5mkfQu/okJAD5DNxMQUjGpULqd199fMQHAZ0hmgFA3T8WkIkTLC1b4IyYA+BDJDKB0vEq1+zf4IyYA+BDJDKCyBtSwf6A/YgKAD5HMAKpdbtnA28poeTxmGNmICQA+RDIDhOgMoorJRWhmkZ9iAoDPMDUbCNGp0GO/Kht4q+NVEnHPFxsxAcBnUjzP88THiouLJTMzU4qKiiQjI8P24QAAgBhfv+lmAgAATiOZAQAATiOZAQAATiOZAQAATmM2E3CmgrSqNufqv5i24nKu/oxbvEOkZJdIerZIRjexhWQGiFaQVtXmXDlXl2Paihukcy09ILJ+vMi+vFNlbXNFBi0USWsmicbUbCBaL7SofGFI/aWh94rxS0xbcTlXztX1uEE619UjRApXingnTpWl1BdpkyMydFmwpmavW7dORo0aJe3atZOUlBRZvHhxlc+dMmWKec6DDz6Y0GMEAreqNuca37ica3xj2oobpHMt3lHWIhOeyCjd1vLinZJoVpOZQ4cOSd++feWRRx6p9nmLFi2SjRs3mqQHsCJIq2pzrvGNy7nGN6atuEE615JdNezPl0CNmRk5cqR5VOfvf/+7TJs2TfLy8uSKK66o8TVLS0vNI7yZCqizIK2qzbnGNy7nGt+YtuIG6VzTu9awP1sSLamnZp88eVKuvfZamTVrlvTq1Suq75k7d67pYws9OnbsGPfjRAAEaVVtzjW+cTnX+Ma0FTdI55rRvWywr46RCafbWm5hVlNSJzO/+c1vJDU1VW699daov2fOnDlmsFDosXfv3rgeIwIkSKtqc66cq8sxbcUN0rkOWlg22Decbmu5BUkzm0kH9+rYmNGjR5vtrVu3mm6ld955p3yszDnnnCPTp083j2gxmwkxZ2OFa1uranOu/otpKy7n6s+4xTvLxsjE4T4zZ3L9TtpkRmctzZw5U+rVO9V4dOLECbOtXUeffPJJVK9LMgMAgHvO5PqdtDfN07EyOTmRTVi5ubmm/Prrr7d2XAAAILlYTWZKSkokP//UFK7du3fLtm3bpHnz5tKpUyfJyorsA2zQoIG0adNGevToYeFoAQBAMrKazGzZskWGDh1avq3dSmrChAkyf/58i0cGAABcYTWZGTJkiJzJkJ1ox8kAzi2sliSLtSXFcdmqiyCdK+AzSTtmBkg68VhYLckWa7N6XLbqIkjnCvhUUt9nBkgqevHRhdXC6fZb45LrNWPBxnHZqosgnSvgUyQzgK2F1ZJwsTZrx2WrLoJ0roCPkcwAthZWS8LF2qwdl626CNK5Aj5GMgPYWlgtCRdrs3ZctuoiSOcK+BjJDGBrYbUkXKzN2nHZqosgnSvgYyQzgM2F1ZJssTarx2WrLoJ0ruHjdgqWJnZ8jo2YQTvXAEuatZnihbWZ4MTCanFcrM2547JVF0E41yBNQw/SufqUkwtNxgvJDAD8n9UjyqaAh8+k0u4tbRUausw/MYN2rj51JtdvupkAIAiCNA09SOcKg2QGAIIgSNPQg3SuMEhmACAIgjQNPUjnCoNkBgCCIEjT0IN0rjBIZgAgKII0DT1I5wpmMwFA4ARhGrrNuMl6qwXHMDU7DMkMAADuYWo2AAAIDJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNJIZAADgNKvJzLp162TUqFHSrl07SUlJkcWLF5fvO3bsmPz85z+X3r17S5MmTcxzrrvuOikoKLB5yAAAIMlYTWYOHTokffv2lUceeeS0fYcPH5Z33nlH7rjjDvP1xRdflO3bt8sPfvADK8cKAACSU4rneZ4kAW2ZWbRokYwePbrK52zevFm+853vyKeffiqdOnWK6nWLi4slMzNTioqKJCMjI4ZHDAAA4uVMrt+p4hA9IU16mjZtWuVzSktLzSO8MgAAgH85MwD4yJEjZgzNuHHjqs3Q5s6dazK50KNjx44JPU4AAJBYTiQzOhj4hz/8oWiP2GOPPVbtc+fMmWNacEKPvXv3Juw4AcRA8Q6RgqUixTttHwkAR6S6ksjoOJlVq1bV2G/WsGFD8wDgmNIDIuvHi+zLO1XWNldk0EKRtGY2jwxAkqvnQiKzc+dOWblypWRlZdk+JADxoolM4crIMt1+a5ytIwLgCKstMyUlJZKfn1++vXv3btm2bZs0b95c2rZtK1dffbWZlr1kyRI5ceKEFBYWmufp/rS0NItHDiDmXUvhLTIh3omycu1yyuhm48gAOMBqMrNlyxYZOnRo+fbMmTPN1wkTJshdd90lL7/8stm+4IILIr5v9erVMmTIkAQfLYC4KdlVw/58khkAyZnMaEJS3W1ukuQWOADiLb1rDfuzE3UkAByU1GNmAARERveywb4p9SPLdVvLaZUBUA2SGQDJQWcttcmJLNNtLQcAl6dmAwgInX49dFnZYF8dI6NdS7TIAIgCyQyA5KIJDEkMgDNANxMAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHAayQwAAHBaqu0DAICkUJAnsn+TSNZAkXbf9W9MVbxDpGSXSHq2SEa3xMUF4oRkBkCwHdwlsnyASOn+U2UNs0RyN4ukd/FPTFV6QGT9eJF9eafK2uaKDFooktYsfnGBOKObCUCwVUwqlG7n9fdXTKWJTOHKyDLdfmtcfOMCcUYyAyC4tJunYlIRouUFK/wRM9S1pC0y3onIct3W8uKd8YkLJADJDIDg0vEq1e7f4I+YSsfIVLs/Pz5xgQQgmQEQXFkDatg/0B8xVXrXGvZnxycukAAkMwCCq11u2cDbymh5PGYY2YipMrqXDfZNqR9ZrttazqwmOIxkBkCw6QyiislFaGaRn2IqnbXUJieyTLe1HHBYiud5nvhYcXGxZGZmSlFRkWRkZNg+HADJSgfe6niVhN5nxkJMpYN9dYwM95mBT67fJDMAAMDp6zfdTAAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGkkMwAAwGmptg8g3kKrNehtkQEAgBtC1+1oVl3yfTJz8OBB87Vjx462DwUAANTiOq5rNAV6ocmTJ09KQUGBnH322ZKSkmI9y9Skau/evSx6GQPUZ+xRp7FFfcYW9RmsOvU8zyQy7dq1k3r16gW7ZUYroEOHDpJM9A2TbG8al1GfsUedxhb1GVvUZ3DqNLOGFpkQBgADAACnkcwAAACnkcwkUMOGDeU//uM/zFfUHfUZe9RpbFGfsUV9xl5Dn9Sp7wcAAwAAf6NlBgAAOI1kBgAAOI1kBgAAOI1kBgAAOI1kpo7mzp0r/fv3N3cYbtWqlYwePVq2b99e6XN1rPXIkSPNnYgXL14csW/Pnj1yxRVXyFlnnWVeZ9asWXL8+HEJmmjrc8OGDTJs2DBp0qSJudHT4MGD5Ztvvinff+DAAfnRj35k9jVt2lQmT54sJSUlEkTR1GlhYaFce+210qZNG1On//RP/yQvvPBCxHOo0zKPPfaY9OnTp/wmYwMHDpSlS5eW7z9y5IhMnTpVsrKyJD09XcaOHSuff/55xGvweY+uPvU9N23aNOnRo4c0btxYOnXqJLfeeqsUFRVFvAb1eWbvUT9ek0hm6mjt2rXmF9fGjRtlxYoVcuzYMRk+fLgcOnTotOc++OCDlS6pcOLECfOmOXr0qKxfv16eeuopmT9/vtx5550SNNHUpyYyI0aMMOVvv/22bN68WW655ZaI213rRfeDDz4wr7FkyRJZt26d3HDDDRJE0dTpddddZxKcl19+Wd577z0ZM2aM/PCHP5S//e1v5c+hTsvoHcXvvfde2bp1q2zZssUk1VdeeaWpGzVjxgx55ZVX5LnnnjN1r8upaH2G8HmPvj617vRx3333yfvvv2/qadmyZSaRDqE+T1fTe9SX1ySdmo3Y+eKLL3Squ7d27dqI8r/97W9e+/btvX379pn9ixYtKt/32muvefXq1fMKCwvLyx577DEvIyPDKy0t9YKssvocMGCA9+///u9Vfs+HH35ovmfz5s3lZUuXLvVSUlK8v//9717QVVanTZo08RYsWBDxvObNm3tPPPGE+T91Wr1mzZp5f/7zn72vv/7aa9Cggffcc8+V7/voo49M3W3YsMFs83mPvj4r8+yzz3ppaWnesWPHzDb1GZ2Kdeq3axItMzEWav5s3rx5ednhw4dl/Pjx8sgjj5hm/Iq0paF3797SunXr8rLc3FyzAFjFTDro9fnFF1/Ipk2bTLPnxRdfbOrssssukzfffDOiPrUb5Nvf/nZ5WU5Ojmm50e8Nusreo1qXf/3rX02zvi7O+swzz5jukiFDhpj91Gnl9C9YrStt5dKmfP1LWFu+tG5Czj33XNM9onWo+LxHX59VvX+16yQ1tWxpQeqzepXVqR+vSb5faDKR9CIwffp0GTRokJx//vnl5drsrBcLbearjI5XCH/TqNC27guqyurz448/Nl/vuusu0/R8wQUXyIIFC+Tyyy83zdDdunUzdabJTjj9xacX7yDXZ3Xv0WeffVauueYaM85D60r7yRctWiTZ2dlmP3UaSbvi9MKgCZ+Oi9G66tmzp2zbtk3S0tJM4lfx8xyqJz7v0ddnRV999ZX88pe/jOjepD4rV12d+vGaRDITQzouQS+o4a0EOgZh1apVEWMPUPv61IuxuvHGG+X66683/7/wwgvl9ddflyeffNIMdsWZ1am644475Ouvv5aVK1dKixYtzGBAHTPzxhtvmL/QEEkHpGrioq0Ezz//vEyYMMGMj0Fs6zM8odFWAR3HoWX6xwxqV6f5+fm+vCaRzMSIDkANDYrUwVch+qbZtWvXaX+p6QyHSy+9VNasWWOa+XQga7jQ7IfKmgCDXJ9t27Y1Xyv+1XbeeeeZ0fehOtPuqHA6Cl+7UIJan9XVqb4///CHP5gkp1evXqasb9++JpHRZujHH3+cOq1AW19CrVb9+vUzg9Afeugh07qlgyY1MQz/zOvnOVRPfN6jr88//vGPpuzgwYNm0L/OyNMWhgYNGpR/L/VZuarqVGeF+fGaxJiZOtKpbXqR0A+YJi5dunSJ2D979mx59913TYYceqgHHnhA5s2bZ/6vTYHaJBh+sdAZI9ovXFlTa5Dr85xzzpF27dqdNrV4x44d0rlz5/L61IuJjl8I0dfSVp0BAwZI0NRUp9p/rsJng6n69euXt4RRp9XTeigtLTUXDb3QakthiL5XNdEOjVfg8x59fYZaZHT2nV6ctaW7UaNGEc+lPqMTqlPfXpNsj0B23U033eRlZmZ6a9asMaPCQ4/Dhw9X+T0VR44fP37cO//8873hw4d727Zt85YtW+a1bNnSmzNnjhc00dTnAw88YEbV64yRnTt3mplNjRo18vLz88ufM2LECO/CCy/0Nm3a5L355ptet27dvHHjxnlBVFOdHj161MvOzvYuvfRSU19aj/fdd5+ZqfTqq6+Wvw51Wmb27NlmJtju3bu9d99912xrXS1fvtzsnzJlitepUydv1apV3pYtW7yBAweaRwif9+jrs6ioyMxe7N27t3lfhr9/tR4V9Xm6mt6jfrwmkczUkb4JKnvMmzev2u8Jf+OoTz75xBs5cqTXuHFjr0WLFt5tt91WPvUwSKKtz7lz53odOnTwzjrrLHOheOONNyL279+/31xo09PTTeJz/fXXewcPHvSCKJo63bFjhzdmzBivVatWpk779Olz2lRt6rTMpEmTvM6dO5vpwfoL/vLLL4+4SHzzzTfezTffbKbCal1eddVV5uIbjs97dPW5evXqKt+/eqEOoT7P7D3qx2tSiv5ju3UIAACgthgzAwAAnEYyAwAAnEYyAwAAnEYyAwAAnEYyAwAAnEYyAwAAnEYyAwAAnEYyAwAAnEYyA8A33nrrLbPKt66PNHr0aNuHAyBBSGYAnLGJEydKSkqKeWji0Lp1a/nud78rTz75ZPnilLGkq31fdtllZtXks846S/r37y/z588/7XkzZ86UCy64QHbv3i0zZswwx/bmm29GPOfQoUPyrW99S37605/G/DgB2EEyA6BWRowYIfv27ZNPPvlEli5dKkOHDpV//dd/le9///ty/PjxmMX5/e9/L1deeaUMGjRINm3aZFb8/ed//meZMmXKaQnJrl27ZNiwYdKhQweT/EybNs0kXprAhPzsZz+Txo0byz333COxdvTo0Zi/JoAo2F4cCoB7JkyY4F155ZWnlb/++utm0bonnnjCbN9///1m9V1dcFEXBtUVvEOLU5aUlHhnn322Wf08nC54p88vLi729uzZ4zVo0MCbOXPmabEefvhhE2vjxo1m0cHKFtLURR/PO+88b+rUqeZ7dCVrXXxPV7M+ceKE9+tf/9o755xzzKrrurhm+LHoysG6YF9of/fu3b0HH3yw0nq45557vLZt25rnAkg8WmYAxIy2ivTt21defPFFs12vXj15+OGH5YMPPpCnnnpKVq1aZVpGVJMmTUwLy7x58yJeQ7evvvpq06X0/PPPy7FjxyrtErrxxhslPT1dFi5cKB07djStRBkZGfLggw+a/19zzTXSqFEjWbBggfzpT3+Sl156SSZNmiS333679OvXT+bOnWv2Pf744+b4tFvqxz/+saxdu9a8vnaXaQvPc889Jx9++KHceeed5nufffbZiON4/fXXZfv27bJixQrTHQbAAgsJFACftsyoa665xrSGVEZbPrKyssq3N23a5NWvX98rKCgw259//rmXmprqrVmzxmxPmTLFy8zMrPI4tDVl5MiR5dv6XG2RqejOO+/06tWr5/Xr1887duyYd+TIEdP6s379+ojnTZ482Rs3blyV8bSFZ+zYsRH10Lp1a6+0tLTK7wEQf7TMAIgpz/PMwGC1cuVKufzyy6V9+/ampeXaa6+V/fv3y+HDh83+73znO9KrVy/TaqOefvpp6dy5swwePDimx3THHXeYlpbZs2dLamqq5Ofnm2PQQcvauhN6aEuNjrsJeeSRR0wrTsuWLc1+beHZs2dPxGvr7Km0tLSYHi+AM0MyAyCmPvroI+nSpYsZGKyDgfv06SMvvPCCbN261SQHFQfK/uQnPymfmaRdTNdff315MtS9e3cpKiqSgoKC0+Loa2jioc+piSYw4V9LSkrM11dffVW2bdtW/tDuJO3aUs8884zp3po8ebIsX77c7NdjqzjIV7vLANhFMgMgZnRMzHvvvSdjx441yYu2htx///1y0UUXmaSjsqREx6l8+umnZmyNJhMTJkwo36evo9Or9TUq0rEuOktp3LhxZ3ycPXv2lIYNG5pWluzs7IiHjr8J3bPm4osvlptvvlkuvPBCsy+81QZA8ij7MwUAzlBpaakUFhbKiRMn5PPPP5dly5aZQbXaGnPdddfJ+++/bwbv6tTqUaNGmeRAE5CKmjVrJmPGjJFZs2bJ8OHDzaDbkE6dOslvf/tbue2228xgXu2m0uRGB/PqYFwtHzBgwBkfu3Z5aauLDvrVhOuSSy4xLUB6jDqIWBOqbt26mW6nvLw809L0X//1X7J582bzfwBJJgHjcgD4jA58DU2B1gG7LVu29HJycrwnn3zSTHkO+d3vfmemLDdu3NjLzc31FixYYL7nH//4R6VTup999tlK47300kvepZde6jVp0sRMk9aBvBqroqoGACt9fZ32HXLy5Ekz1bpHjx5m+reegx7j2rVrzX4dJDxx4kTzmk2bNjXTymfPnu317ds3qoHQABInRf+xnVABCDZt9dBWEu2GYjAtgDNFNxMAa3RGkd4T5t577zX3jSGRAVAbDAAGYI2Ohzn33HOlTZs2MmfOHNuHA8BRdDMBAACn0TIDAACcRjIDAACcRjIDAACcRjIDAACcRjIDAACcRjIDAACcRjIDAACcRjIDAADEZf8f7v8zNPHTvz8AAAAASUVORK5CYII=", + "text/plain": [ "
" ] @@ -562,12 +662,40 @@ ], "source": [ "pie_pumpkins = new_pumpkins[new_pumpkins['Variety'] == 'PIE TYPE']\n", + + "pie_pumpkins.plot.scatter('DayOfYear', 'Price', c='red', label='PIE TYPE')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Correlation between Day of Year and Price for PIE TYPE: -0.2669192282197318\n" + ] + } + ], + "source": [ + "#Calculating the Correlation\n", + "pie_pumpkins = new_pumpkins[new_pumpkins['Variety'] == 'PIE TYPE']\n", + "correlation = pie_pumpkins['DayOfYear'].corr(pie_pumpkins['Price'])\n", + "print('Correlation between Day of Year and Price for PIE TYPE:', correlation)" + "pie_pumpkins.plot.scatter('DayOfYear', 'Price', color='orange', label='PIE TYPE')\n" + ] }, { "cell_type": "code", + + "execution_count": 20, + "execution_count": 22, + "metadata": {}, "outputs": [ { @@ -595,7 +723,11 @@ "name": "stderr", "output_type": "stream", "text": [ + + "C:\\Users\\Paskal Sunari\\AppData\\Local\\Temp\\ipykernel_7488\\3144308612.py:1: SettingWithCopyWarning: \n", + "C:\\Users\\user\\AppData\\Local\\Temp\\ipykernel_22516\\3144308612.py:1: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -610,11 +742,166 @@ }, { "cell_type": "code", + + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Coefficients: [-0.01751876]\n", + "Intercept: 21.133734359909326\n", + "Score on test set: 0.10220539781539772\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn.model_selection import train_test_split\n", + "x = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1, 1)\n", + "y = pie_pumpkins['Price']\n", + "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)\n", + "lin_reg = LinearRegression()\n", + "lin_reg.fit(X_train, y_train)\n", + "print('Coefficients:', lin_reg.coef_)\n", + "print('Intercept:', lin_reg.intercept_)\n", + "print(\"Score on test set:\", lin_reg.score(X_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean error: 2.77 (17.2%)\n" + ] + } + ], + "source": [ + "pred = lin_reg.predict(X_test)\n", + "\n", + "mse = np.sqrt(mean_squared_error(y_test,pred))\n", + "print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model determination: 0.04460606335028361\n" + ] + } + ], + "source": [ + "score = lin_reg.score(X_train,y_train)\n", + "print('Model determination: ', score)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X_test, y_test, color='blue', label='Actual Prices')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "execution_count": null, + "metadata": {}, "outputs": [ { "data": { + + "text/plain": [ + "" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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dFKHDh3kL3/5i9s2XdftnixevNi0n7mWo0eP+uAZAACAkAwx4eHhZjj1oUOH3LYfPnxYunbt6vG422+/XXbv3u227b333jPbPWndurXpAFR7AYBGq6oSyc4W2by5+lHXATTv5iTt81JYWFizXlxcLPn5+dK+fXvp0qWLpKWlmdFGI0eOlNGjR8vOnTtl+/btZri1y7Rp06RTp06mSUjNmzfPNDX9+te/lvHjx8uWLVskLy9Pfvvb3/rqeQLA9954Q994RI4d+35b584ia9aIpKYG8soAeMPppffff1+HZF+yTJ8+vabM888/7+zZs6czIiLCmZCQ4MzKynI7x5133ulWXr322mvO3r17O8PDw5233HKLc8eOHV5dV2lpqbkOfQQAj7ZtczodDp1bwn3RbbrofgB+czWf31c1T0wwYZ4YAJelTUbdurnXwNTmcFTXyBQXi7Rs6e+rA0JSWbDMEwMAQW3PHs8BRunfdDpIQMsBCHqEGACh48QJ35YDEFCEGACho2NH35YDEFCEGAChY8SI6j4v2velPro9Lq66HICgR4gBEDq0s64Oo1Z1g4xrffVqOvUCliDEAAgtOg/M1q0inTq5b9caGt3OPDFAaH53EgBYQYNKcnL1KCTtxKt9YLQJiRoYwCqEGAChSQPLqFGBvgoAV4HmJAAAYCVCDAAAsBIhBgAAWIkQAwAArESIAQAAViLEAAAAKxFiAACAlQgxAADASoQYAABgJUIMAACwEiEGAABYiRADAACsRIgBAABWIsQAQKCUl4tMmiQycGD1o64DaLSwxhcFAPjM3/2dyIED369/+qnItdeKDBki8tFHgbwywBrUxABAoANMbbpd9wO4LEIMAPiTNhl5CjAuup+mJeCyCDEA4E/33efbckAII8QAgD8VFfm2HBDCCDEA4E89evi2HBDCCDEA4E+vvOLbckAII8QAgD9dc031MOqG6H4tB6BBhBgA8DedB8ZTkGGeGKDpQkxubq5MmDBBYmNjxeFwSFZWltv++++/32yvvSQlJTV4zqqqKlmyZIl0795d2rRpIz169JDly5eL0+n09vIAwA4aVM6dE0lJEYmPr37UdQIM0HQz9lZUVEhCQoLMmDFDUlNT6y2joeXFF1+sWW/dunWD53zqqadk3bp18tJLL8ktt9wieXl58sADD0hUVJTMnTvX20sEADtok1Fm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PQj+e6AxRD+3Y2NjpUWLFqFZE6NP3PVVBQ6Hwzzqi8U/2sDiHgQe9yDwuAeBxz0I7nvgbQ2MCx17AQCAlQgxAADASs0yxOhXHDz++ON8QWQAcQ8Cj3sQeNyDwOMeNO970Gw69gIAgNDSLGtiAABA80eIAQAAViLEAAAAKxFiAACAlawJMenp6TJkyBAzI29MTIykpKTIoUOH6i2rfZXHjRtnJr3Lyspy21dSUiLjx4+Xtm3bmvOkpaXJ3/72Nz89C7s19h7s379ffvjDH0q7du3MxEYjR46UCxcu1Oz/61//Kvfee6/Zd91118nMmTOlvLzcz8+m+d6DkydPyn333ScdOnQw9+AHP/iBbNu2za0M9+DKrVu3TgYOHFgzcdftt98u77zzTs3+r7/+WmbPni033HCDXHPNNfLjH/9Y/vKXv7idg/ehprsH+m/7Zz/7mfTp00fatGkjXbp0kblz50ppaanbObgHTfv/wF+fx9aEmJycHPPG8MEHH8h7770n3377rYwdO1YqKiouKbt69eqaWXtrq6qqMi/YN998I/v27ZOXXnpJNm7cKEuXLvXTs7BbY+6BBpikpCSz/aOPPpIDBw7InDlz3KaS1g/PP//5z+Ycb731luTm5sq//uu/BuhZNb97MG3aNBNs3nzzTfn0008lNTVV/umf/kk++eSTmjLcgyunM4OvWLFCPv74Y8nLyzOBPTk52byeasGCBbJ9+3Z5/fXXzf3Sr0PRe+DC+1DT3gN9vXV5+umn5bPPPjOv7c6dO01Qd+EeNP3/A799HjstderUKR0a7szJyXHb/sknnzg7derkPHHihNmfmZlZs+/tt992tmjRwnny5MmabevWrXNGRkY6Kysr/Xr9zUF992Do0KHOxx57zOMx//u//2uOOXDgQM22d955x+lwOJzHjx9v8msOhXvQrl0758svv+xWrn379s4NGzaYn7kHvnf99dc7f/e73znPnj3rbNWqlfP111+v2Xfw4EHzeu/fv9+s8z7UtPegPq+99pozPDzc+e2335p17oF/7oE/Po+tqYmpy1U12L59+5pt58+fl5/85CeSkZFhqtLr0lqC+Ph4uemmm2q2JSYmmi+nqpse4f09OHXqlHz44YemWvCOO+4wr/Odd94pe/fudbsH2nxx22231Wy76667TE2NHour/3+gr/2rr75qqtX1i1G3bNlimjhGjRpl9nMPfEf/mtTXV2vCtDpd/yrV2jF9PV369u1rmjT0dVe8DzXtPfD0/0SbPMLCqr8ukHvQ9PfAX5/HVn4BpL4xz58/X4YNGyYDBgyo2a7VuPoGrlVa9dG+ArVfMOVa1324unvwxRdfmMdf/OIXpip30KBB8vLLL8uYMWNMtW6vXr3M66whpzZ9Y9EPYe6Bb/4fvPbaazJ58mTTJ0NfW21vzszMlJ49e5r93IOrp810+mat4VD7vejr279/f8nPz5fw8HATEuu+z7heW96HmvYe1HX69GlZvny5W3Mp96Dp74G/Po+tDDHaJ0A/FGv/ha/t/3/84x/d2v3h33ugH6rqpz/9qTzwwAPm58GDB8vu3bvlhRdeMJ1S0bT3QC1ZskTOnj0rf/jDHyQ6Otp0ptM+MXv27DF/+eDqaadRDSz6F/7WrVtl+vTppv8LAn8PagcZ/ate+13oNv3jCv65B4WFhX77PLYuxGgnUVdHRO1Y5KIvWFFR0SV/AenIgBEjRkh2drap0tLOprW5Rg3UV90F7+5Bx44dzWPdv4b69etneqG7XmdtdqpNe6Nr0wf34Orvgf4fWLt2rQk3t9xyi9mWkJBgAoxW665fv5574ANa2+Kq2br11ltNB/Y1a9aYGjDtqKghsvZ7kb7PuF5b3oea9h785je/MdvOnTtnBhnoSD6tIWjVqlXNsdyDpr0HOirMX5/H1vSJ0WFa+sat/xg1sHTv3t1t/6JFi6SgoMCkQteinn32WXnxxRfNz1rtpdVftd/AdXSGtpXWVw0J7+5Bt27dJDY29pIhv4cPH5auXbvW3AN9g9e+Ay56Lq3FGTp0qJ+eSfO9B9oOrWqPBlMtW7asqSnjHvievnaVlZXmjVw/LLX20UX/P2iId/UV4H2oae+BqwZGR+3ph6zW0kdERLiV5R407T3w6+ex0xKzZs1yRkVFObOzs01PZ9dy/vx5j8fU7Q39t7/9zTlgwADn2LFjnfn5+c6dO3c6b7zxRufixYv99Czs1ph78Oyzz5re5To64/PPPzcjlSIiIpyFhYU1ZZKSkpyDBw92fvjhh869e/c6e/Xq5Zw6dWqAnlXzugfffPONs2fPns4RI0aY11df96efftqMPNqxY0fNebgHV27RokVmNFhxcbGzoKDArOvru2vXLrP/3/7t35xdunRx/vGPf3Tm5eU5b7/9drO48D7UtPegtLTUjJKMj483//5r/z/R115xD5r+/4G/Po+tCTH6AtS3vPjiiw0eU/tFU0eOHHGOGzfO2aZNG2d0dLTz3//932uG3cE39yA9Pd3ZuXNnZ9u2bc2b9549e9z2nzlzxnxgXnPNNSbwPPDAA85z5875+dk033tw+PBhZ2pqqjMmJsbcg4EDB14y5Jp7cOVmzJjh7Nq1qxmyq2+6Y8aMcXvjvnDhgvPBBx80w0319Z80aZL5AK2N96Gmuwfvv/++x/8n+oHrwj1o2v8H/vo8dnx3cgAAAKtY0ycGAACgNkIMAACwEiEGAABYiRADAACsRIgBAABWIsQAAAArEWIAAICVCDEAAMBKhBgAAGAlQgwAALASIQYAAFiJEAMAAMRG/w/OKMRLGF2xCgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X_test, pred, color='red', label='Predicted Prices')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##Polynomial Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Score on test set: 0.12719946902474621\n" + ] + } + ], + "source": [ + "from sklearn.preprocessing import PolynomialFeatures\n", + "from sklearn.pipeline import make_pipeline\n", + "\n", + "pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())\n", + "\n", + "pipeline.fit(X_train,y_train)\n", + "print(\"Score on test set:\", pipeline.score(X_test, y_test))\n", + "pred = pipeline.predict(X_test)" + "text/html": [ "