Data-Wrangling-for-ML / Covid Data Example / Polynomial_Regression_Data_Wrangling.ipynb
Polynomial_Regression_Data_Wrangling.ipynb
Raw
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "l0M4HuawOF_h"
   },
   "source": [
    "## Data Wrangling for a polynomial regression model\n",
    "Data wrangled from Excel file `BrazilCOVIDData.xlsx`\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "4GKRT-8TebAe"
   },
   "source": [
    "# Model based on:\n",
    "\n",
    "David N. Prata, Waldecy Rodrigues, Paulo H. Bermejo. Temperature significantly\n",
    "changes COVID-19 transmission in (sub)tropical cities of Brazil. Science of The Total\n",
    "Environment. Volume 729. 2020. 138862. ISSN 0048-9697.\n",
    "https://doi.org/10.1016/j.scitotenv.2020.138862."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Rvjw5z_Ogw6K"
   },
   "source": [
    "# Model Parameters:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "IyMe-xDxgoeF"
   },
   "source": [
    "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAADKCAYAAADAQ7j1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAHLWSURBVHhe7d0JvHVT+QfwbWg2FypDElFEA0qDqTJlyhSFEMqUBpkyDwkNlCGZX/ObRmORpCSRypAGlUgKGfMnYf/3d71nvW37nnvvue65957z3uf3+dzPPWefvdde61lrPeNaz5qprFAEAoFAIBAI1DBz638gEAgEAoHAdISCEAgEAoFAYABCQQgEAoFAIDAAoSAEAoFAIBAYgFAQAoFAIBAIDEAoCIFAIBAIBAYgFIRAIBAIBAIDEApCIBAIBAKBAQgFIRAIBAKBwACEghAIBAKBQGAAQkEIBAKBQCAwAKEgBAKBQCAQGIBQEAKBQCAQCAxAnOYY6Gk8/vjjxZ577lm8+c1vLu68887ib3/7W/HVr361eMELXtC6o7fxf//3f8WOO+5YvO1tbysefvjh4p577imOPPLIvql/YPzw5JNPFp/85CeL17zmNcXznve84sYbb0xjfbbZZmvdEQiML0JBGAKPPPJI8cADDxSLLLJI68pzx0033VQsvfTSxcwzh9NmJMA00W655ZYrHnrooeINb3hDcd111xWvfOUrW3f0Nv7zn/8U3//+94v11luveOyxx4plllmm+N73vlcstdRSrTsCgWl46qmniksvvbRYa621illnnbV4y1veUnzxi18sVlllldYdgcD4ou+lFatyp512KnbbbbfWle7g9NNPL7bYYoukIIwWzzzzTHHNNdcU6667bvHHP/6xdXVswVL99re/Xdx6662tK+OHJ554orjyyiuLH/zgB0nAjwbPf/7zk3Jw//33F1/4wheKrbbaqph//vlbv44N9Pl3v/vd4oYbbmhdee7gKaAcwF133VXMPvvsxSte8Yr0fazAU3HhhRcW1157betKf+HBBx9M9acIDme/3HbbbcU3vvGNtn8UM3NvLPGXv/wlzbM//elPrSud4+mnny7OPvvsYpNNNimuv/76pBTgEf6bv7xniy22WOvu7gJdf/nLXxbf+c53nhOPU/fDDz+82GyzzYq///3vratji8zTbrnllmHHRaA76HsFYeGFFy6WXXbZxAy6hSlTpiQBccEFFyTX9mjBa8DN/PnPf754//vfn4TdWMHEOeGEE4oPfOADSVBsvfXWiQmMF37/+98XK620UhKuF198cbH55puPmknfd999xcc//vHisssuK1784hePGXNQ7je/+c1i9dVXT0xzr732Ko477rjWr6MDofepT32q+PrXv17MM888ravdBxqtvPLKiWaHHnpoGnP9BN4V9L/33nuL/fffvzjmmGNav7THEUccUZx22mlJYB1//PHFsccem66fddZZxZe//OVipplmSt+7De878MADi1122SXNM4KdQjMSzDLLLMW73/3upAxRHDOEpYz3o48+ulhwwQVbV7sH5asvI0jI7h3veEfyzo0E6i5sZrzNO++8ratjB/Mm87QPf/jD48rTJjUqptj3qAZ6ucQSS7S+jQ6VNly+5jWvKStLv3WluzjggAPKnXbaqfWt+7jiiivKV7/61eXdd9+dvldWd/nBD34wfX4uuPLKK8u11lqr9W1oPPbYY+Ub3/jG8pRTTknfK4u5XGCBBabXZbSohHb5yle+sqysrdaV7uLWW28tX/ayl5WVkpO+n3/++eW73vWu9Hk0QJctttiivPHGG1tXOkdlpZWVIGp9GxqVFVvON9985a9+9av0/dJLLy0r5Tl9nihUClZZKUatb0PjtttuK1/xileUv/71r9P3b33rW+Xyyy9fVgpm+t7Ef/7zn3KNNdYoK2UifV9hhRXKSiFKn88777zys5/9bPrcKVZZZZXy2muvbX0bGpUCUr7+9a8vH3300fR9t912K3fffff0eSS45ppryoUWWqh84okn0vcnn3yyrIyJNO86xb///e/Uz53Os+22266shGz67H2VEVRedNFF6ftI8LWvfa18z3ve0/o2Mmy55Zbl2Wef3fo2NNDiVa96VVkpM+l7pTiVm2yySfo81qiUqcTT/vznP7euTC7MsAFx8V5eBZ4A1kgdVbuTe63ujrzkkkvSbzRTi4T81fGHP/yhqCZRihMCL4DnfvKTn6TvnYKL/IwzziiqSd260j3897//TVbXDjvsMD1Gz3ofi3e1A8+LkEI1+dN3dBaDV6+hwEWpn7hUoWK6yZJUb5b8l770pdSOF77whcVLX/rSMQsx7LfffsWmm25avPa1r03fO6XdP//5z1T/fK92+M7aQQN9UgmT1K7DDjus+OlPf5ru6zYOOeSQZH3zqEGn9f/Xv/6V6J2tSH3o+3NxPY8G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YKayQutzX+HMM88snnnmmda3/sQjjzxSzDbbbMXMM4eeFggEApMJ//d//1d84AMfKOaZZ57Wld5D3yoIhx9+eLH99tu3vvUnpkyZUmy00UbFS17yktaVQCAQCEwGnHvuucUGG2xQLLTQQq0rvYe+VRC+/OUvF5/85Cdb3/oTX//614sPfvCDyYsQCAQCgcmD0047rXjve99bLLjggq0rvYfwbQcCgUAgEBiAGUJBuPLKK4t3vvOdxeyzz17suOOOxdlnn10cccQRxeKLL1785je/KX76058mN84iiyzSemL88cQTTxT//ve/W98G4ve//33x0Y9+NLVhueWWK04++eTiIx/5SPGJT3yi+Nvf/ta6q/t46qmniq222qp4+9vfnj4PhyeffLJ4+OGH0+fzzjuvWHjhhYsbb7wxfQ8EAoHAjIMZQkFYbbXVkoAjgN/ylrcUH/rQh4o99tij+OIXv1iIoFAeXvziFxePPfZY64nxhTp85StfKX7729+2rgzEEksskdYjaMOcc86ZlIOjjjqq+OEPf1isvfbaxT//+c/Wnd3FTDPNVLziFa8oXvWqV6XPQ0E7Tj311OLnP/95+j7XXHOl52INRSAQCMx4mGFCDHXhZnXoz372s2LNNddMgrcd/vOf/xT33HNP8eijj6bvdhTcfffdxb333pusfb8px06J++67r/jXv/6VBCT4z4p2z3//+9/0nQD3vHIeeOCB4v7770/XPf+d73ynOOCAA1LZ2fruBFa3brbZZsXNN99cHH/88a2rRfHQQw8V//jHP9K7wTu83/XHH388XfNuCpE6eafvfvdd3XgCPOOej3/848UXvvCFdM/f//736e3QvgcffHB6Oy6++OJizz33TPRQxjLLLDPdiwCZVvW65TooK9PV/0AgEAj0Nma4NQiEzze/+c0UWnj+859fvOhFL2r98j8Q1Jtvvnnx4x//uNh0002Ti5wbnzLBvX/kkUcWb33rW4v3vOc9xde+9rVi2223LZZccslkOROWl19+ebHzzjsnwf/hD384CVPbLi02ef/735/CHK997WuLq666KglH4Q71Oumkk4rvf//7rVp0BkIYrrjiivT/W9/6VrH77rsXU6dOTe+m6PCUnHDCCcU3vvGN4nOf+1y671e/+lX6XbiFV+W6665LYQx11GaLPNVR+GXVVVdN1wnzz3/+8+nz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HRXtWacGygOQMyjWIa2xcglYmQbVU1ZG5xJIaSxbpAORsgeBEPdOC0+d3OhsBc9ccMEFaRGn+jprQPrmrGDU4fwEZTkXwXHOntUWyYxkF1SXekpjkKnQ+9SRl8Z6CO8V2nGvJFHaMWXKlJQ4SspmdHeIlAOR0NpvTUinjG6BQCDQ96iYfV+iEjCtT93BM888U1aCpNx5553LSgiVV199dbnSSiul33yvrMP0uZuohHb56KOPtr79D+qx+uqrt75NQyVUyznmmKO88cYby0pYl5U1XP7ud79L3w899NBUTiXgygUXXLCshHbrqbKsBH652WablZVwK2+99dbyqKOOKuedd97y/vvvL/fee++yEnLpvmuvvbZcdNFF07Onn356ucQSS5SVMpLKnGeeecpLLrmk/P3vf18utdRS6X5YfPHFyzvvvDN93njjjcuLLroofV511VXLu+++O9X55S9/ebp2/fXXl8suu2yiY2Wdl5VQTrQGdKiUj/S5svrLBRZYoLztttvSuytLvPzpT3+ars8999zPahvcfvvtiVaV0E5lv+c97ykrAZ1++8EPflCut9566XMdlWJUrr/++okGDz/8cPn6178+vQ990PXee+9N5S255JLlLbfckp6ZOnVqalelfKSxstdeeyXaNlEpEolWgUAgMBQqo6i86667Wt96E+FBaKGiRbI+ufRZhs7uz5agMwEcGzzR4P52BoKzAcBZApUwSv95PaxjcICP+zLkWJCIiefAmQq2hgoJOLhJog4nKYLFeVz+PCfSSvNaWPfgoCPphHkuPNcJWPS8E86waLezwXvqWSnF7HkjwHulheYJcQiTMxLU3XVnLTTDPrwMzhdwRoN283A4xXEo6E/1EgZw9oOzEZwb4VyEwXJSrLvuusl7IWuhtMbO7GjeywuBrhOdXTEQCAS6gVAQWiBcudF33XXXpAyIIzvgR1zZ6vajjz66dWdvgVAiuCuLOK1VcNyvg4YGg3utdyCkhRPqrnfCsnlsMThkqK50DAVClMve4Unve9/72pbXhBAD1z2I/wu1tHuu3ToMzwpzUPCAcjPcO9FM6EHfgmf1/1CgDOy2227phE+KlQWlTThACW1j/UEgEJgREApCC4QKAeQAHgvUrHoXKydIxegtPhsvEFji3O3i7U1ItCGu7/hlQtlaAzH4JvLpgbwNrHKeA54B1rb3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)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "id": "pVHGRY2NOltD"
   },
   "outputs": [],
   "source": [
    "# ignoring warning to ensure proper execution\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "id": "-julks0ELUEp"
   },
   "outputs": [],
   "source": [
    "# Common Imports\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "id": "SrDIcMtMbIRi"
   },
   "outputs": [],
   "source": [
    "#creating an Excel File object\n",
    "xls = pd.ExcelFile('BrazilCOVIDData.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "id": "jXshi-DsOF_k"
   },
   "outputs": [],
   "source": [
    "#Creating Data Frames for each sheet of Brazil Covid Data\n",
    "#this is the largest excel file, so it's seperated from the others\n",
    "brazil_covid = pd.read_excel(xls, 'Brazil Covid-19 data')\n",
    "brazil_covid = brazil_covid.applymap(lambda s: s.upper() if type(s) == str else s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "id": "HnUW4xhtQgyd"
   },
   "outputs": [],
   "source": [
    "#reading the rest of the relevant data sheets from the file\n",
    "temp_by_state = pd.read_excel(xls, \"Temperature by State\")\n",
    "brazil_states = pd.read_excel(xls, \"Brazil State Stats\",header =4)\n",
    "city_area = pd.read_excel(xls, \"City area\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "id": "bVY0kcUKmV6e"
   },
   "outputs": [],
   "source": [
    "#setting all string data to uppercase to allow for easier data wrangling\n",
    "temp_by_state = temp_by_state.applymap(lambda s: s.upper() if type(s) == str else s)\n",
    "brazil_states = brazil_states.applymap(lambda s: s.upper() if type(s) == str else s)\n",
    "city_area = city_area.applymap(lambda s: s.upper() if type(s) == str else s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "id": "QK1UmpUZNgxG"
   },
   "outputs": [],
   "source": [
    "# Dropping unnecessary header data and resting the index to 0 through n-1\n",
    "#renaming abbreviation column for easier merging with temperature data\n",
    "#renaming Population to pop\n",
    "brazil_states = brazil_states.drop([0,1]).reset_index(drop=True).rename(columns = {\"Common Two Letter\":\"STATE_ABBR\"})\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "id": "zvm1B5LlQwCZ"
   },
   "outputs": [],
   "source": [
    "# removing non-capitol cities from Temperature data and renaming the annual temperature to temp\n",
    "temp_by_state = temp_by_state.loc[temp_by_state.IS_CAPITOL == 'Y'].reset_index(drop=True).rename(columns={\"ANNUAL\":\"temp\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "id": "2bV43QJfl2D-"
   },
   "outputs": [],
   "source": [
    "#creating a list of the Capitol Cities from the filtered Temp Data\n",
    "capitol_cities = temp_by_state.CITY"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "id": "ZTE4l4-tCnQL"
   },
   "outputs": [],
   "source": [
    "#creating a dataframe of Capitol Cities and their respective state\n",
    "#renaming columns for easier merging with brazil covid data\n",
    "capitol_state_combo = temp_by_state[[\"CITY\",\"STATE_ABBR\"]].rename(columns ={\"CITY\":\"Municipality\",\"STATE_ABBR\":\"State\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "id": "t-TUkCBUfIgI"
   },
   "outputs": [],
   "source": [
    "#inner joining the brazil_states data with the temperature data\n",
    "capitol_data = brazil_states.merge(temp_by_state, on = 'STATE_ABBR', how = 'inner')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "id": "xraCGucIm97z"
   },
   "outputs": [],
   "source": [
    "#reducing the Brazil Covid Data to only the Capital Cities\n",
    "#merging with capitol state combo to ensure only capitol cities with the correct state label are included\n",
    "#data is sorted first by State in alphabetical order then dates sequentially\n",
    "brazil_covid_reduced = brazil_covid.copy()\n",
    "brazil_covid_reduced = brazil_covid_reduced.merge(capitol_state_combo).sort_values(by=['State','Date'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "8BGeRifhB5xT",
    "outputId": "51128509-95e1-4644-f954-38ae4fe5dd88"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Region</th>\n",
       "      <th>State</th>\n",
       "      <th>State-code</th>\n",
       "      <th>Municipality-code</th>\n",
       "      <th>Health-region-code</th>\n",
       "      <th>Health-region-name</th>\n",
       "      <th>Date</th>\n",
       "      <th>Week #</th>\n",
       "      <th>Population as of 2019</th>\n",
       "      <th>Accumulated cases</th>\n",
       "      <th>New cases</th>\n",
       "      <th>Accumulated deaths</th>\n",
       "      <th>New deaths</th>\n",
       "      <th>New Recoveries</th>\n",
       "      <th>New followups (?)</th>\n",
       "      <th>Interior/Metropolitan</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Municipality</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ARACAJU</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BELO HORIZONTE</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BELÉM</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BOA VISTA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BRASÍLIA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CAMPO GRANDE</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CUIABÁ</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CURITIBA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FLORIANÓPOLIS</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FORTALEZA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GOIÂNIA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>JOÃO PESSOA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MACAPÁ</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MACEIÓ</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MANAUS</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NATAL</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PALMAS</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PORTO ALEGRE</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PORTO VELHO</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RECIFE</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RIO BRANCO</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RIO DE JANEIRO</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SALVADOR</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SÃO LUÍS</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SÃO PAULO</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TERESINA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>VITÓRIA</th>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>151</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>151</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Region  State  State-code  Municipality-code  \\\n",
       "Municipality                                                   \n",
       "ARACAJU            151    151         151                151   \n",
       "BELO HORIZONTE     151    151         151                151   \n",
       "BELÉM              151    151         151                151   \n",
       "BOA VISTA          151    151         151                151   \n",
       "BRASÍLIA           151    151         151                151   \n",
       "CAMPO GRANDE       151    151         151                151   \n",
       "CUIABÁ             151    151         151                151   \n",
       "CURITIBA           151    151         151                151   \n",
       "FLORIANÓPOLIS      151    151         151                151   \n",
       "FORTALEZA          151    151         151                151   \n",
       "GOIÂNIA            151    151         151                151   \n",
       "JOÃO PESSOA        151    151         151                151   \n",
       "MACAPÁ             151    151         151                151   \n",
       "MACEIÓ             151    151         151                151   \n",
       "MANAUS             151    151         151                151   \n",
       "NATAL              151    151         151                151   \n",
       "PALMAS             151    151         151                151   \n",
       "PORTO ALEGRE       151    151         151                151   \n",
       "PORTO VELHO        151    151         151                151   \n",
       "RECIFE             151    151         151                151   \n",
       "RIO BRANCO         151    151         151                151   \n",
       "RIO DE JANEIRO     151    151         151                151   \n",
       "SALVADOR           151    151         151                151   \n",
       "SÃO LUÍS           151    151         151                151   \n",
       "SÃO PAULO          151    151         151                151   \n",
       "TERESINA           151    151         151                151   \n",
       "VITÓRIA            151    151         151                151   \n",
       "\n",
       "                Health-region-code  Health-region-name  Date  Week #  \\\n",
       "Municipality                                                           \n",
       "ARACAJU                        151                 151   151     151   \n",
       "BELO HORIZONTE                 151                 151   151     151   \n",
       "BELÉM                          151                 151   151     151   \n",
       "BOA VISTA                      151                 151   151     151   \n",
       "BRASÍLIA                       151                 151   151     151   \n",
       "CAMPO GRANDE                   151                 151   151     151   \n",
       "CUIABÁ                         151                 151   151     151   \n",
       "CURITIBA                       151                 151   151     151   \n",
       "FLORIANÓPOLIS                  151                 151   151     151   \n",
       "FORTALEZA                      151                 151   151     151   \n",
       "GOIÂNIA                        151                 151   151     151   \n",
       "JOÃO PESSOA                    151                 151   151     151   \n",
       "MACAPÁ                         151                 151   151     151   \n",
       "MACEIÓ                         151                 151   151     151   \n",
       "MANAUS                         151                 151   151     151   \n",
       "NATAL                          151                 151   151     151   \n",
       "PALMAS                         151                 151   151     151   \n",
       "PORTO ALEGRE                   151                 151   151     151   \n",
       "PORTO VELHO                    151                 151   151     151   \n",
       "RECIFE                         151                 151   151     151   \n",
       "RIO BRANCO                     151                 151   151     151   \n",
       "RIO DE JANEIRO                 151                 151   151     151   \n",
       "SALVADOR                       151                 151   151     151   \n",
       "SÃO LUÍS                       151                 151   151     151   \n",
       "SÃO PAULO                      151                 151   151     151   \n",
       "TERESINA                       151                 151   151     151   \n",
       "VITÓRIA                        151                 151   151     151   \n",
       "\n",
       "                Population as of 2019  Accumulated cases  New cases  \\\n",
       "Municipality                                                          \n",
       "ARACAJU                           151                151        151   \n",
       "BELO HORIZONTE                    151                151        151   \n",
       "BELÉM                             151                151        151   \n",
       "BOA VISTA                         151                151        151   \n",
       "BRASÍLIA                          151                151        151   \n",
       "CAMPO GRANDE                      151                151        151   \n",
       "CUIABÁ                            151                151        151   \n",
       "CURITIBA                          151                151        151   \n",
       "FLORIANÓPOLIS                     151                151        151   \n",
       "FORTALEZA                         151                151        151   \n",
       "GOIÂNIA                           151                151        151   \n",
       "JOÃO PESSOA                       151                151        151   \n",
       "MACAPÁ                            151                151        151   \n",
       "MACEIÓ                            151                151        151   \n",
       "MANAUS                            151                151        151   \n",
       "NATAL                             151                151        151   \n",
       "PALMAS                            151                151        151   \n",
       "PORTO ALEGRE                      151                151        151   \n",
       "PORTO VELHO                       151                151        151   \n",
       "RECIFE                            151                151        151   \n",
       "RIO BRANCO                        151                151        151   \n",
       "RIO DE JANEIRO                    151                151        151   \n",
       "SALVADOR                          151                151        151   \n",
       "SÃO LUÍS                          151                151        151   \n",
       "SÃO PAULO                         151                151        151   \n",
       "TERESINA                          151                151        151   \n",
       "VITÓRIA                           151                151        151   \n",
       "\n",
       "                Accumulated deaths  New deaths  New Recoveries  \\\n",
       "Municipality                                                     \n",
       "ARACAJU                        151         151               0   \n",
       "BELO HORIZONTE                 151         151               0   \n",
       "BELÉM                          151         151               0   \n",
       "BOA VISTA                      151         151               0   \n",
       "BRASÍLIA                       151         151               0   \n",
       "CAMPO GRANDE                   151         151               0   \n",
       "CUIABÁ                         151         151               0   \n",
       "CURITIBA                       151         151               0   \n",
       "FLORIANÓPOLIS                  151         151               0   \n",
       "FORTALEZA                      151         151               0   \n",
       "GOIÂNIA                        151         151               0   \n",
       "JOÃO PESSOA                    151         151               0   \n",
       "MACAPÁ                         151         151               0   \n",
       "MACEIÓ                         151         151               0   \n",
       "MANAUS                         151         151               0   \n",
       "NATAL                          151         151               0   \n",
       "PALMAS                         151         151               0   \n",
       "PORTO ALEGRE                   151         151               0   \n",
       "PORTO VELHO                    151         151               0   \n",
       "RECIFE                         151         151               0   \n",
       "RIO BRANCO                     151         151               0   \n",
       "RIO DE JANEIRO                 151         151               0   \n",
       "SALVADOR                       151         151               0   \n",
       "SÃO LUÍS                       151         151               0   \n",
       "SÃO PAULO                      151         151               0   \n",
       "TERESINA                       151         151               0   \n",
       "VITÓRIA                        151         151               0   \n",
       "\n",
       "                New followups (?)  Interior/Metropolitan  \n",
       "Municipality                                              \n",
       "ARACAJU                         0                    151  \n",
       "BELO HORIZONTE                  0                    151  \n",
       "BELÉM                           0                    151  \n",
       "BOA VISTA                       0                    151  \n",
       "BRASÍLIA                        0                    151  \n",
       "CAMPO GRANDE                    0                    151  \n",
       "CUIABÁ                          0                    151  \n",
       "CURITIBA                        0                    151  \n",
       "FLORIANÓPOLIS                   0                    151  \n",
       "FORTALEZA                       0                    151  \n",
       "GOIÂNIA                         0                    151  \n",
       "JOÃO PESSOA                     0                    151  \n",
       "MACAPÁ                          0                    151  \n",
       "MACEIÓ                          0                    151  \n",
       "MANAUS                          0                    151  \n",
       "NATAL                           0                    151  \n",
       "PALMAS                          0                    151  \n",
       "PORTO ALEGRE                    0                    151  \n",
       "PORTO VELHO                     0                    151  \n",
       "RECIFE                          0                    151  \n",
       "RIO BRANCO                      0                    151  \n",
       "RIO DE JANEIRO                  0                    151  \n",
       "SALVADOR                        0                    151  \n",
       "SÃO LUÍS                        0                    151  \n",
       "SÃO PAULO                       0                    151  \n",
       "TERESINA                        0                    151  \n",
       "VITÓRIA                         0                    151  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#ensuring only 151 days of data for each city\n",
    "brazil_covid_reduced.groupby(\"Municipality\").count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "id": "e3RS29Umu0Jj"
   },
   "outputs": [],
   "source": [
    "#creating a days since outbreak column\n",
    "brazil_covid_reduced[\"days\"] = np.nan"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "id": "T7QUaL1mn0l4"
   },
   "outputs": [],
   "source": [
    "# for each city, adding values to the days column\n",
    "data_grouped = brazil_covid_reduced.groupby(\"Municipality\")\n",
    "for name, group in data_grouped:\n",
    "  brazil_covid_reduced[\"days\"].loc[group.index[:151]] = range(151)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "id": "yisUEpb-xvUP"
   },
   "outputs": [],
   "source": [
    "# filtering out the irrelevant columns and renaming for an easier merge\n",
    "brazil_covid_reduced = brazil_covid_reduced[[\"State\",'Population as of 2019','Accumulated cases','days']].rename(columns={\"State\":\"STATE_ABBR\", \"Population as of 2019\":\"pop\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "id": "0YgDTFdc035y"
   },
   "outputs": [],
   "source": [
    "#merging all the data\n",
    "full_merge = brazil_covid_reduced.merge(capitol_data,how='inner', on =\"STATE_ABBR\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "id": "_LudGI2A6uym"
   },
   "outputs": [],
   "source": [
    "#changing population column from string to float\n",
    "full_merge[\"pop\"] = pd.to_numeric(full_merge[\"pop\"], downcast = \"float\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "id": "a_1g9ZpB1TVl"
   },
   "outputs": [],
   "source": [
    "# adding the days cubes, days square, population density and population density squared feature columns\n",
    "full_merge[\"days_cube\"] = full_merge[\"days\"]**3.0\n",
    "full_merge[\"days_sq\"] = full_merge[\"days\"]**2.0\n",
    "full_merge[\"pop_dense\"]=full_merge['pop']/full_merge['Size']\n",
    "full_merge[\"pop_dense_sq\"] = full_merge.pop_dense**2.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "id": "gzD1kunjOF_l"
   },
   "outputs": [],
   "source": [
    "#taking the relevant features columns from full_merge\n",
    "features = full_merge[[\"days_cube\",\"days_sq\",\"days\",\"temp\",\"pop_dense_sq\",\"pop_dense\",\"pop\"]]\n",
    "\n",
    "# taking the Accumulated cases column from full merge as the training response\n",
    "response = full_merge[[\"Accumulated cases\"]]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "S86pqaveVrwA"
   },
   "source": [
    "## Featrues for the model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 206
    },
    "id": "jP5FUR9zOF_m",
    "outputId": "4951ed22-7bfd-4cfb-b828-b6eb9e2eb74e"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>days_cube</th>\n",
       "      <th>days_sq</th>\n",
       "      <th>days</th>\n",
       "      <th>temp</th>\n",
       "      <th>pop_dense_sq</th>\n",
       "      <th>pop_dense</th>\n",
       "      <th>pop</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>76.6</td>\n",
       "      <td>7.126371</td>\n",
       "      <td>2.669526</td>\n",
       "      <td>407319.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>76.6</td>\n",
       "      <td>7.126371</td>\n",
       "      <td>2.669526</td>\n",
       "      <td>407319.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>76.6</td>\n",
       "      <td>7.126371</td>\n",
       "      <td>2.669526</td>\n",
       "      <td>407319.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>27.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>76.6</td>\n",
       "      <td>7.126371</td>\n",
       "      <td>2.669526</td>\n",
       "      <td>407319.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>64.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>76.6</td>\n",
       "      <td>7.126371</td>\n",
       "      <td>2.669526</td>\n",
       "      <td>407319.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   days_cube  days_sq  days  temp pop_dense_sq pop_dense       pop\n",
       "0        0.0      0.0   0.0  76.6     7.126371  2.669526  407319.0\n",
       "1        1.0      1.0   1.0  76.6     7.126371  2.669526  407319.0\n",
       "2        8.0      4.0   2.0  76.6     7.126371  2.669526  407319.0\n",
       "3       27.0      9.0   3.0  76.6     7.126371  2.669526  407319.0\n",
       "4       64.0     16.0   4.0  76.6     7.126371  2.669526  407319.0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "features.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "6gqpkrjpV5FA"
   },
   "source": [
    "## Responses for the training set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 206
    },
    "id": "M3CH9awgOF_m",
    "outputId": "5268df43-fcc0-4271-f139-8e52e218e88e"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Accumulated cases</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Accumulated cases\n",
       "0                  0\n",
       "1                 25\n",
       "2                 31\n",
       "3                 35\n",
       "4                 34"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "response.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qXuF8srTCqXx"
   },
   "source": [
    "## Sample Implementation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "id": "UehWZEwhAezA"
   },
   "outputs": [],
   "source": [
    "#creating a test and training set\n",
    "from sklearn.model_selection import train_test_split\n",
    "features_train, features_test, response_train, response_test = train_test_split(features, response, test_size = 0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "lg5A0P_1_OqZ",
    "outputId": "89ff873a-c661-4f10-d47e-83c5814a03da"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression()"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Logistic Regression Model Fitting\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "log_reg = LogisticRegression()\n",
    "log_reg.fit(features_train,response_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "id": "CygFoFFiB95H"
   },
   "outputs": [],
   "source": [
    "# Finding the model predictions for the test set\n",
    "cases_predictions = log_reg.predict(features_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "1CAOSweWBr2j",
    "outputId": "62127d26-3d70-459e-a05f-3bc38042c4f4"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "53495.134803921566"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Evaluating model with mean_absolute_error\n",
    "from sklearn.metrics import mean_absolute_error\n",
    "\n",
    "log_mae = mean_absolute_error(response_test, cases_predictions)\n",
    "log_mae"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cr_ce7yXDruv"
   },
   "source": [
    "Quite a large error.  The model is underfitted.  Features may not be representative enough and/or the model is not powerful enough among other potential reasons."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "Polynomial_data_wrangling.ipynb",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}