{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "DSfIOT - Machine Learning End to End Tutorial",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "metadata": {
        "id": "BlmQIFSLZDdc",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "# DSfIOT: Machine Learning End to End Tutorial "
      ]
    },
    {
      "metadata": {
        "id": "kSI9uEem9zvX",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "\n",
        "## Aims and Structure of the session\n"
      ]
    },
    {
      "metadata": {
        "id": "NAUFltle9zyP",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### Aims\n",
        "\n",
        "* Provide an overview and end-to-end implementation of a machine learning problem, using supervised learning methods \n",
        "* Provide code and exercises to develop learning \n",
        "* Provide links to further reading and ideas for future exercises that enable you to continue learning\n",
        "* We are limited on time, and therefore *won't* cover:\n",
        "  * *Machine Learning Theory* in any great detail, other than to enable you to understand the code we are implementing \n",
        "  * *Exploratory Data Analysis*, which is often undertaken prior to building models to understand the data and what features might be useful in our model\n",
        "  * *Feature Engineering*, which is about developing new features from the data that might better serve how our model predicts output variable\n",
        "  * *Visualisations* of the modelling and data, which can be helpful in understanding model performance (and are also used for exploratory data analysis)\n",
        "* We can look to cover these topics at future sessions or via Slack with the same or a different dataset - it would be good to understand what your priorities are"
      ]
    },
    {
      "metadata": {
        "id": "WDRYcGBW-jfG",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### Structure of two days \n",
        "\n",
        "* **Day 1: Machine Learning:** \n",
        "  1. Introduction to ML and ML approach, Introduction to problem\n",
        "  2. Load data, preprocess and split data\n",
        "  3. Build model,  train and predict \n",
        "  4. Refine model \n",
        "\n",
        "* **Day 2: Deep Learning** \n",
        "  1. Introduction to Deep Learning and Keras \n",
        "  2. Build DL model, train and predict \n",
        "  3. Refine model \n",
        " "
      ]
    },
    {
      "metadata": {
        "id": "D6AaSHgVAX8P",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "## Day1: Machine Learning \n"
      ]
    },
    {
      "metadata": {
        "id": "SkHyqybY_05Q",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 1. Introduction to Machine Learning, Machine Learning Approach and Introduction to the problem "
      ]
    },
    {
      "metadata": {
        "id": "fC4WN8OfBfKM",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 1.1 Introduction to Machine Learning\n",
        "**Aim:** \n",
        "* To introduce the concept of machine learning \n",
        "* Introduce the different types of machine learning\n",
        "\n",
        "---\n",
        "\n",
        "\n",
        "**Machine Learning**\n",
        "* From ['Python Data Science Handbook'](https://jakevdp.github.io/PythonDataScienceHandbook/) by Jake VanderPlass:\n",
        "\n",
        "*Machine learning is often categorized as a subfield of artificial intelligence, but I find that categorization can often be misleading at first brush. The study of machine learning certainly arose from research in this context, but in the data science application of machine learning methods, it’s more helpful to think of **machine learning as a means of building models of data**.*\n",
        "\n",
        "\n",
        "*Fundamentally, **machine learning involves building mathematical models to help understand data**. “Learning” enters the fray when we give these models tunable parameters that can be adapted to observed data; in this way the program can be considered to be “learning” from the data. Once these models have been fit to previously seen data, they can be used to predict and understand aspects of newly observed data.*\n",
        "\n",
        "* Chapter 2 of *Introduction to Statistical Learning* (available free [here](http://www-bcf.usc.edu/~gareth/ISL/)) has an excellent overview of topics relating to Machine Learning.\n",
        "\n",
        "\n",
        "**Different types of Machine Learning**\n",
        "\n",
        "* *Supervised learning* is about modeling the relationship between features of data and a label associated with the data. Once this model is determined, it can be used to apply labels to new, unknown data. \n",
        "* Supervised learning can either be a *classification* task (where our labels are in discrete categories) or *regression* task (where our labels are continuous quantities). \n",
        "* *Unsupervised learning* models the features of a dataset without reference to any label. These models include tasks such as clustering and dimensionality reduction. We can use unsupervised learning rechnqiues to preprocess data prior to running supervised learning models. \n",
        "* *Semi-supervised learning* can also be used when we only have incomplete labels for our data.\n",
        "* We will cover *deep learning* on Day 2, but it can be thought of as a way of implementimg  *supervised*, *unsupervised* and *semi-supervised* learning. \n"
      ]
    },
    {
      "metadata": {
        "id": "MDCEfRksBe7D",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 1.2 Approaching an ML problem \n",
        "**Aim:** \n",
        "* To introduce an approach to tackling a machine learning problem, which we will then follow in this tutorial. \n",
        "\n",
        "---\n",
        "\n",
        "**Outline approach** \n",
        "\n",
        "* From '*Python Machine Learning*', by Sebastian Raschka (see [here](https://sebastianraschka.com/books.html) for details)\n",
        "\n",
        "![alt text](https://www.safaribooksonline.com/library/view/python-machine-learning/9781787125933/graphics/B07030_01_09.jpg)\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "VnPU_Nu5Ypw9",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 1.3 Introduction to the problem \n",
        "**Aim:** \n",
        "* To introduce how we might structure problem statements for machine learning problems\n",
        "* Determine how we are going to approach this problem \n",
        "\n",
        "\n",
        "---\n",
        "* A problem statement for a machine learning problem might include:\n",
        "  * a problem statement, defining the problem(s) that we are trying to solve\n",
        "  * the dataset and any other inputs we might be able to draw upon (e.g. domain knowledge)\n",
        "  * a solution statement, setting out how we intend to solve the problem using the data and other inputs available \n",
        "  * whether we have a benchmark model to compare our work against\n",
        "  * the evaluation metrics we intend to use to score our models\n",
        "  * we might also define upfront what our target variable is, what platform or hardware considerations need to be taken into account, and any risks we might have to success\n",
        "  \n",
        "* For this tutorial, we have a dataset provided, which is covered in more detail below."
      ]
    },
    {
      "metadata": {
        "id": "0iFv8xiPAEym",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**Black Friday Dataset**\n",
        "* We will work on the Black Friday dataset in this article. The dataset and problem are from Kaggle\n",
        "also adapted from this [post](https://medium.com/analytics-vidhya/build-your-first-neural-network-model-on-a-structured-dataset-using-keras-d9e7de5c6724)\n",
        "* We have been provided with various information about customer demographics (age, gender, marital status, city_type, stay_in_current_city) and product details (product_id and product category). \n",
        "\n",
        "Below is the data dictionary (`Variable`          |                  *Definition*)\n",
        "\n",
        "* `User_ID`       |    *User ID*\n",
        "\n",
        "* `Product_ID` |   *Product ID*\n",
        "    \n",
        "* `Gender` |   *Sex of User*\n",
        "\n",
        "* `Age` |  *Age in bins*\n",
        "\n",
        "* `Occupation` |   *Occupation ( Masked)*\n",
        "\n",
        "* `City_Category` |    *Category of the city (A, B, C)*\n",
        "\n",
        "* `Stay_In_Current_City_Years` |  *Number of years stay in current city*\n",
        "\n",
        "* `Marital_Status` |  *Marital Status*\n",
        "\n",
        "* `Product_Category_1` |   *Product Category (Masked)*\n",
        "\n",
        "* `Product_Category_2` |  *Product may belong to other category also (Masked)*\n",
        "\n",
        "* `Product_Category_3` |  *Product  may belong to other category also (Masked)*\n",
        "\n",
        "* `Purchase` |  *Purchase Amount*\n"
      ]
    },
    {
      "metadata": {
        "id": "lqkIjlq7BswL",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 1.3:** Can you define the problem statement and determine the target variable? What type of machine learning problem is this?\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "\n",
        "\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "Nryq6GB-_srJ",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 2. Load, preprocess and split the data\n",
        "**Aim:** \n",
        "* To undersand the dataset better\n",
        "* To understand why and how we preprocess the data in preparation for it being modelled \n",
        "* To understand why and how we split the data into training and testing sets\n"
      ]
    },
    {
      "metadata": {
        "id": "5y2DGKw5E5j-",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 2.1 Loading the data \n",
        "\n",
        "  \n"
      ]
    },
    {
      "metadata": {
        "id": "t9ALbbpmY9rm",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "\n",
        "# Read Necessary files - because we are loading a provided dataset, we are loading both files \n",
        "fullData = pd.read_csv(\"https://raw.githubusercontent.com/dsiot/wearables/master/course/bf_train.csv\")\n",
        "\n",
        "# there is no need to load the train dataset for this tutorial \n",
        "# test = pd.read_csv(\"https://raw.githubusercontent.com/dsiot/wearables/master/course/bf_test.csv\")\n",
        "\n",
        "# and stitching it back together - we will split the data using sklearn later \n",
        "# fullData = pd.concat([train,test],axis=0)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "xZsHwhBrMYz3",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Get a feel for the data "
      ]
    },
    {
      "metadata": {
        "id": "JoZituJ7McYC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 358
        },
        "outputId": "73e3301d-45d5-4b69-8eb6-65b3929120b0"
      },
      "cell_type": "code",
      "source": [
        "# here we can see the top n lines of the dataset:\n",
        "rows = 5\n",
        "print(\"Top {} lines of dataset:\".format(rows))\n",
        "fullData.head(rows)"
      ],
      "execution_count": 275,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Top 5 lines of dataset:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "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>User_ID</th>\n",
              "      <th>Product_ID</th>\n",
              "      <th>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>City_Category</th>\n",
              "      <th>Stay_In_Current_City_Years</th>\n",
              "      <th>Marital_Status</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "      <th>Purchase</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00069042</td>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>10</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "      <td>8370</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00248942</td>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>10</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>6.0</td>\n",
              "      <td>14.0</td>\n",
              "      <td>15200</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00087842</td>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>10</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>12</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "      <td>1422</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00085442</td>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>10</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>12</td>\n",
              "      <td>14.0</td>\n",
              "      <td>NaN</td>\n",
              "      <td>1057</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1000002</td>\n",
              "      <td>P00285442</td>\n",
              "      <td>M</td>\n",
              "      <td>55+</td>\n",
              "      <td>16</td>\n",
              "      <td>C</td>\n",
              "      <td>4+</td>\n",
              "      <td>0</td>\n",
              "      <td>8</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "      <td>7969</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   User_ID Product_ID Gender   Age  Occupation City_Category  \\\n",
              "0  1000001  P00069042      F  0-17          10             A   \n",
              "1  1000001  P00248942      F  0-17          10             A   \n",
              "2  1000001  P00087842      F  0-17          10             A   \n",
              "3  1000001  P00085442      F  0-17          10             A   \n",
              "4  1000002  P00285442      M   55+          16             C   \n",
              "\n",
              "  Stay_In_Current_City_Years  Marital_Status  Product_Category_1  \\\n",
              "0                          2               0                   3   \n",
              "1                          2               0                   1   \n",
              "2                          2               0                  12   \n",
              "3                          2               0                  12   \n",
              "4                         4+               0                   8   \n",
              "\n",
              "   Product_Category_2  Product_Category_3  Purchase  \n",
              "0                 NaN                 NaN      8370  \n",
              "1                 6.0                14.0     15200  \n",
              "2                 NaN                 NaN      1422  \n",
              "3                14.0                 NaN      1057  \n",
              "4                 NaN                 NaN      7969  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 275
        }
      ]
    },
    {
      "metadata": {
        "id": "dQlj2wv5MLmd",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 94
        },
        "outputId": "efb70f30-24b5-4efb-d824-6944d8196c41"
      },
      "cell_type": "code",
      "source": [
        "# lets get the shape of the data \n",
        "print('The dataset has {} entries'.format(fullData.shape[0]))\n",
        "print('The dataset has {} columns'.format(fullData.shape[1]))"
      ],
      "execution_count": 276,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "The dataset has 550068 entries\n",
            "The dataset has 12 columns\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "D_cVphydX9Ea",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 288
        },
        "outputId": "d6311874-608d-4371-a749-cf87e5027e09"
      },
      "cell_type": "code",
      "source": [
        "# understand what values are missing - here we sum the null values for each column \n",
        "# isnull returns a boolean, which we sum\n",
        "fullData.isnull().sum() "
      ],
      "execution_count": 277,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "User_ID                            0\n",
              "Product_ID                         0\n",
              "Gender                             0\n",
              "Age                                0\n",
              "Occupation                         0\n",
              "City_Category                      0\n",
              "Stay_In_Current_City_Years         0\n",
              "Marital_Status                     0\n",
              "Product_Category_1                 0\n",
              "Product_Category_2            173638\n",
              "Product_Category_3            383247\n",
              "Purchase                           0\n",
              "dtype: int64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 277
        }
      ]
    },
    {
      "metadata": {
        "id": "DqoCZ_gsVNaH",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 306
        },
        "outputId": "b1714567-cd06-4cc7-c766-1a10317e7af9"
      },
      "cell_type": "code",
      "source": [
        "# percentage of entries per column type \n",
        "print('Percentage of Not Null Values per column/feature:')\n",
        "np.around((fullData.notnull().sum() / len(fullData)*100), decimals=1)"
      ],
      "execution_count": 278,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Percentage of Not Null Values per column/feature:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "User_ID                       100.0\n",
              "Product_ID                    100.0\n",
              "Gender                        100.0\n",
              "Age                           100.0\n",
              "Occupation                    100.0\n",
              "City_Category                 100.0\n",
              "Stay_In_Current_City_Years    100.0\n",
              "Marital_Status                100.0\n",
              "Product_Category_1            100.0\n",
              "Product_Category_2             68.4\n",
              "Product_Category_3             30.3\n",
              "Purchase                      100.0\n",
              "dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 278
        }
      ]
    },
    {
      "metadata": {
        "id": "_oAsKavc0Zws",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Get a feel for the target variable"
      ]
    },
    {
      "metadata": {
        "id": "cV5cDgYu0dXf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 218
        },
        "outputId": "be8c19e3-00b4-468d-e2d7-c64be3e8643d"
      },
      "cell_type": "code",
      "source": [
        "# code regarding purchase column\n",
        "fullData['Purchase'].describe()"
      ],
      "execution_count": 279,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "count    550068.000000\n",
              "mean       9263.968713\n",
              "std        5023.065394\n",
              "min          12.000000\n",
              "25%        5823.000000\n",
              "50%        8047.000000\n",
              "75%       12054.000000\n",
              "max       23961.000000\n",
              "Name: Purchase, dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 279
        }
      ]
    },
    {
      "metadata": {
        "id": "mQniHMeOAX_J",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 2.1:** Given our exploration of the data above, do you feel confident there is suitable data to solve your problem statement? Do you have any thoughts about whether some features are better than others? \n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "Hhy6KT6TIjns",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 2.2 Preprocessing the data\n",
        "* We proprocess the data to ensure it is a suitable state for modelling. The sort of things that we do to preprocess the data includes:\n",
        "  * *Dealing with missing values*, where we identify what, if, any missing data we have and how to deal with it. For example, we may replace missing values with the mean value for that feature, or by the average of the neighbouring values. \n",
        "    * `pandas` has a number of options for filling in missing data that is worth exploring\n",
        "    * We can also use `k-nearest neighbour`to help us predict what the missing values should be, or `sklearn Imputer` function (amongst other ways)\n",
        "  * *Treat categorical values*, by converting them into a numerical representation that can be modelled.\n",
        "    * There are a number of different ways to do this in `sklearn` and `pandas`\n",
        "  * *Normalise the data*, for example by ensuring the data is, for example all on the scale (such as within two defined values); normally distributed; has a zero-mean, etc. This is sometimes necessary for the ML models to work, and can also help speed up the time it takes for the models to run.  \n",
        "    * Again, `sklearn` and `pandas` have in-built functions to help you do this."
      ]
    },
    {
      "metadata": {
        "id": "tD-M_cNjKaNU",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Prepare for preprocessing"
      ]
    },
    {
      "metadata": {
        "id": "cz-EyuZkfL44",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 110
        },
        "outputId": "329bb5b2-7fe1-4be7-d903-42f368e7c044"
      },
      "cell_type": "code",
      "source": [
        "# create a new version of dataset\n",
        "fullData_preprocessed = fullData.copy()\n",
        "\n",
        "# check that all is well\n",
        "print(\"Check that the copy dataset has the same shape:\")\n",
        "print('The dataset copy has {} entries'.format(fullData.shape[0]))\n",
        "print('The dataset copy has {} columns'.format(fullData.shape[1]))"
      ],
      "execution_count": 280,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Check that the copy dataset has the same shape:\n",
            "The dataset copy has 550068 entries\n",
            "The dataset copy has 12 columns\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "ahLw72fYAYFl",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "#Identifying ID, Categorical, and numerical data, which we will treat differently \n",
        "ID_col = ['User_ID','Product_ID']\n",
        "cat_cols= ['Gender','Age','City_Category','Stay_In_Current_City_Years']\n",
        "num_cols= ['Marital_Status','Occupation','Product_Category_1','Product_Category_2','Product_Category_3']\n",
        "\n",
        "# Combined numerical and Categorical variables\n",
        "num_cat_cols = num_cols+cat_cols"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "kqdErGmqAlUU",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Dealing with Missing Values"
      ]
    },
    {
      "metadata": {
        "id": "suj30jCQKj_a",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 406
        },
        "outputId": "f51a37d1-ad75-4ca3-d27d-4040b142c003"
      },
      "cell_type": "code",
      "source": [
        "# Look at data before\n",
        "fullData_preprocessed[num_cols][0:10]"
      ],
      "execution_count": 282,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Marital_Status</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>3</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>1</td>\n",
              "      <td>6.0</td>\n",
              "      <td>14.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>12</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>12</td>\n",
              "      <td>14.0</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0</td>\n",
              "      <td>16</td>\n",
              "      <td>8</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0</td>\n",
              "      <td>15</td>\n",
              "      <td>1</td>\n",
              "      <td>2.0</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>8.0</td>\n",
              "      <td>17.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>15.0</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>16.0</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>1</td>\n",
              "      <td>20</td>\n",
              "      <td>8</td>\n",
              "      <td>NaN</td>\n",
              "      <td>NaN</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Marital_Status  Occupation  Product_Category_1  Product_Category_2  \\\n",
              "0               0          10                   3                 NaN   \n",
              "1               0          10                   1                 6.0   \n",
              "2               0          10                  12                 NaN   \n",
              "3               0          10                  12                14.0   \n",
              "4               0          16                   8                 NaN   \n",
              "5               0          15                   1                 2.0   \n",
              "6               1           7                   1                 8.0   \n",
              "7               1           7                   1                15.0   \n",
              "8               1           7                   1                16.0   \n",
              "9               1          20                   8                 NaN   \n",
              "\n",
              "   Product_Category_3  \n",
              "0                 NaN  \n",
              "1                14.0  \n",
              "2                 NaN  \n",
              "3                 NaN  \n",
              "4                 NaN  \n",
              "5                 NaN  \n",
              "6                17.0  \n",
              "7                 NaN  \n",
              "8                 NaN  \n",
              "9                 NaN  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 282
        }
      ]
    },
    {
      "metadata": {
        "id": "Fd3dK7hxWRMh",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# Impute numerical missing values with mean\n",
        "fullData_preprocessed[num_cols] = fullData_preprocessed[num_cols].fillna(fullData[num_cols].mean())"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "6PgEmWvQYOBj",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 406
        },
        "outputId": "978b5f61-bef4-4676-d2bc-ea57c94c7a65"
      },
      "cell_type": "code",
      "source": [
        "# Look at what we have done\n",
        "fullData_preprocessed[num_cols][0:10]"
      ],
      "execution_count": 284,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Marital_Status</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>3</td>\n",
              "      <td>9.842329</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>1</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>14.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>12</td>\n",
              "      <td>9.842329</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0</td>\n",
              "      <td>10</td>\n",
              "      <td>12</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0</td>\n",
              "      <td>16</td>\n",
              "      <td>8</td>\n",
              "      <td>9.842329</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0</td>\n",
              "      <td>15</td>\n",
              "      <td>1</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>8.000000</td>\n",
              "      <td>17.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>15.000000</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>1</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>16.000000</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>1</td>\n",
              "      <td>20</td>\n",
              "      <td>8</td>\n",
              "      <td>9.842329</td>\n",
              "      <td>12.668243</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Marital_Status  Occupation  Product_Category_1  Product_Category_2  \\\n",
              "0               0          10                   3            9.842329   \n",
              "1               0          10                   1            6.000000   \n",
              "2               0          10                  12            9.842329   \n",
              "3               0          10                  12           14.000000   \n",
              "4               0          16                   8            9.842329   \n",
              "5               0          15                   1            2.000000   \n",
              "6               1           7                   1            8.000000   \n",
              "7               1           7                   1           15.000000   \n",
              "8               1           7                   1           16.000000   \n",
              "9               1          20                   8            9.842329   \n",
              "\n",
              "   Product_Category_3  \n",
              "0           12.668243  \n",
              "1           14.000000  \n",
              "2           12.668243  \n",
              "3           12.668243  \n",
              "4           12.668243  \n",
              "5           12.668243  \n",
              "6           17.000000  \n",
              "7           12.668243  \n",
              "8           12.668243  \n",
              "9           12.668243  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 284
        }
      ]
    },
    {
      "metadata": {
        "id": "ZyO94eIDa5H5",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE:** What are the advantages and disadvanatges of the methods used here to deal with missing data? Are you aware of other approaches that might be better suited to this dataset?\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "8CLL_1HkBNbF",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Normalise the data"
      ]
    },
    {
      "metadata": {
        "id": "oFQIvuvdBMkO",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "## again, not sure we need this - run model without this and see what happens. then we can move this to DL section\n",
        "## why dont we normalise the purchase value? do we need to for DL?\n",
        "fullData_preprocessed[num_cols] = fullData_preprocessed[num_cols]/fullData_preprocessed[num_cols].max()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "b1AHUzxaT4qd",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 406
        },
        "outputId": "c2591013-beb2-4893-f3e7-c1b52886cc13"
      },
      "cell_type": "code",
      "source": [
        "fullData_preprocessed[num_cols][0:10]"
      ],
      "execution_count": 286,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Marital_Status</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.50</td>\n",
              "      <td>0.15</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.50</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.333333</td>\n",
              "      <td>0.777778</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.50</td>\n",
              "      <td>0.60</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.50</td>\n",
              "      <td>0.60</td>\n",
              "      <td>0.777778</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.80</td>\n",
              "      <td>0.40</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0.0</td>\n",
              "      <td>0.75</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.111111</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>1.0</td>\n",
              "      <td>0.35</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.444444</td>\n",
              "      <td>0.944444</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>1.0</td>\n",
              "      <td>0.35</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.833333</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>1.0</td>\n",
              "      <td>0.35</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.888889</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>1.0</td>\n",
              "      <td>1.00</td>\n",
              "      <td>0.40</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Marital_Status  Occupation  Product_Category_1  Product_Category_2  \\\n",
              "0             0.0        0.50                0.15            0.546796   \n",
              "1             0.0        0.50                0.05            0.333333   \n",
              "2             0.0        0.50                0.60            0.546796   \n",
              "3             0.0        0.50                0.60            0.777778   \n",
              "4             0.0        0.80                0.40            0.546796   \n",
              "5             0.0        0.75                0.05            0.111111   \n",
              "6             1.0        0.35                0.05            0.444444   \n",
              "7             1.0        0.35                0.05            0.833333   \n",
              "8             1.0        0.35                0.05            0.888889   \n",
              "9             1.0        1.00                0.40            0.546796   \n",
              "\n",
              "   Product_Category_3  \n",
              "0            0.703791  \n",
              "1            0.777778  \n",
              "2            0.703791  \n",
              "3            0.703791  \n",
              "4            0.703791  \n",
              "5            0.703791  \n",
              "6            0.944444  \n",
              "7            0.703791  \n",
              "8            0.703791  \n",
              "9            0.703791  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 286
        }
      ]
    },
    {
      "metadata": {
        "id": "UDOBDTaiA53B",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Treat Categorical Values"
      ]
    },
    {
      "metadata": {
        "id": "2A_q_AxALVUx",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 406
        },
        "outputId": "7ae07912-8efc-4dea-9a53-f24ebe548c8e"
      },
      "cell_type": "code",
      "source": [
        "# see dataset after treating categorical variables\n",
        "fullData_preprocessed[cat_cols][0:10]"
      ],
      "execution_count": 287,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>City_Category</th>\n",
              "      <th>Stay_In_Current_City_Years</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>F</td>\n",
              "      <td>0-17</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>M</td>\n",
              "      <td>55+</td>\n",
              "      <td>C</td>\n",
              "      <td>4+</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>M</td>\n",
              "      <td>26-35</td>\n",
              "      <td>A</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>M</td>\n",
              "      <td>46-50</td>\n",
              "      <td>B</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>M</td>\n",
              "      <td>46-50</td>\n",
              "      <td>B</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>M</td>\n",
              "      <td>46-50</td>\n",
              "      <td>B</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>M</td>\n",
              "      <td>26-35</td>\n",
              "      <td>A</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "  Gender    Age City_Category Stay_In_Current_City_Years\n",
              "0      F   0-17             A                          2\n",
              "1      F   0-17             A                          2\n",
              "2      F   0-17             A                          2\n",
              "3      F   0-17             A                          2\n",
              "4      M    55+             C                         4+\n",
              "5      M  26-35             A                          3\n",
              "6      M  46-50             B                          2\n",
              "7      M  46-50             B                          2\n",
              "8      M  46-50             B                          2\n",
              "9      M  26-35             A                          1"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 287
        }
      ]
    },
    {
      "metadata": {
        "id": "Bf9gH7fRA1ZP",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "#use label encoders for categorical features\n",
        "from sklearn.preprocessing import LabelEncoder\n",
        "\n",
        "for col in cat_cols:\n",
        "    # Encode labels with value between 0 and n_classes-1 \n",
        "    number = LabelEncoder()\n",
        "    # fit_transform fit label encoder and return encoded labels. Here we updated the cat_cols with the new labels\n",
        "    fullData_preprocessed[col] = number.fit_transform(fullData_preprocessed[col])#.astype('str'))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "u5ZiwJ4OTtCF",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 406
        },
        "outputId": "3610e62d-c692-4f24-846e-ad9f29774371"
      },
      "cell_type": "code",
      "source": [
        "# see dataset after treating categorical variables\n",
        "fullData_preprocessed[cat_cols][0:10]"
      ],
      "execution_count": 289,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>City_Category</th>\n",
              "      <th>Stay_In_Current_City_Years</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1</td>\n",
              "      <td>6</td>\n",
              "      <td>2</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>1</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Gender  Age  City_Category  Stay_In_Current_City_Years\n",
              "0       0    0              0                           2\n",
              "1       0    0              0                           2\n",
              "2       0    0              0                           2\n",
              "3       0    0              0                           2\n",
              "4       1    6              2                           4\n",
              "5       1    2              0                           3\n",
              "6       1    4              1                           2\n",
              "7       1    4              1                           2\n",
              "8       1    4              1                           2\n",
              "9       1    2              0                           1"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 289
        }
      ]
    },
    {
      "metadata": {
        "id": "G7uaHU5HgJXG",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Take a view of dataset after preprocessing"
      ]
    },
    {
      "metadata": {
        "id": "-n24k8nRUNoR",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 268
        },
        "outputId": "c8afd0f2-0451-45e4-d77a-785d588377d3"
      },
      "cell_type": "code",
      "source": [
        "fullData_preprocessed.head()"
      ],
      "execution_count": 290,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>User_ID</th>\n",
              "      <th>Product_ID</th>\n",
              "      <th>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>City_Category</th>\n",
              "      <th>Stay_In_Current_City_Years</th>\n",
              "      <th>Marital_Status</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "      <th>Purchase</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00069042</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.15</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>8370</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00248942</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.05</td>\n",
              "      <td>0.333333</td>\n",
              "      <td>0.777778</td>\n",
              "      <td>15200</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00087842</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.60</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>1422</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1000001</td>\n",
              "      <td>P00085442</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0</td>\n",
              "      <td>2</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.60</td>\n",
              "      <td>0.777778</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>1057</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1000002</td>\n",
              "      <td>P00285442</td>\n",
              "      <td>1</td>\n",
              "      <td>6</td>\n",
              "      <td>0.8</td>\n",
              "      <td>2</td>\n",
              "      <td>4</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.40</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>7969</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   User_ID Product_ID  Gender  Age  Occupation  City_Category  \\\n",
              "0  1000001  P00069042       0    0         0.5              0   \n",
              "1  1000001  P00248942       0    0         0.5              0   \n",
              "2  1000001  P00087842       0    0         0.5              0   \n",
              "3  1000001  P00085442       0    0         0.5              0   \n",
              "4  1000002  P00285442       1    6         0.8              2   \n",
              "\n",
              "   Stay_In_Current_City_Years  Marital_Status  Product_Category_1  \\\n",
              "0                           2             0.0                0.15   \n",
              "1                           2             0.0                0.05   \n",
              "2                           2             0.0                0.60   \n",
              "3                           2             0.0                0.60   \n",
              "4                           4             0.0                0.40   \n",
              "\n",
              "   Product_Category_2  Product_Category_3  Purchase  \n",
              "0            0.546796            0.703791      8370  \n",
              "1            0.333333            0.777778     15200  \n",
              "2            0.546796            0.703791      1422  \n",
              "3            0.777778            0.703791      1057  \n",
              "4            0.546796            0.703791      7969  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 290
        }
      ]
    },
    {
      "metadata": {
        "id": "AW2ObG48VUlB",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 306
        },
        "outputId": "c67b7e30-cc75-46fd-f041-c2ddf575715b"
      },
      "cell_type": "code",
      "source": [
        "# percentage of entries per column type \n",
        "print('Percentage of Not Null Values per column/feature after preprocessing:')\n",
        "np.around((fullData_preprocessed.notnull().sum() / len(fullData_preprocessed)*100), decimals=1)"
      ],
      "execution_count": 291,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Percentage of Not Null Values per column/feature after preprocessing:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "User_ID                       100.0\n",
              "Product_ID                    100.0\n",
              "Gender                        100.0\n",
              "Age                           100.0\n",
              "Occupation                    100.0\n",
              "City_Category                 100.0\n",
              "Stay_In_Current_City_Years    100.0\n",
              "Marital_Status                100.0\n",
              "Product_Category_1            100.0\n",
              "Product_Category_2            100.0\n",
              "Product_Category_3            100.0\n",
              "Purchase                      100.0\n",
              "dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 291
        }
      ]
    },
    {
      "metadata": {
        "id": "K8LrxGdT0pFp",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# and finally, we need to drop redudant ID columns\n",
        "fullData_preprocessed = fullData_preprocessed.drop(ID_col,axis=1)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "rxweZ_pCxxa5",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 252
        },
        "outputId": "99653eb3-9d33-45aa-f905-97e65fd12bc3"
      },
      "cell_type": "code",
      "source": [
        "# and a check on the different datatypes we now have \n",
        "fullData_preprocessed.dtypes"
      ],
      "execution_count": 293,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Gender                          int64\n",
              "Age                             int64\n",
              "Occupation                    float64\n",
              "City_Category                   int64\n",
              "Stay_In_Current_City_Years      int64\n",
              "Marital_Status                float64\n",
              "Product_Category_1            float64\n",
              "Product_Category_2            float64\n",
              "Product_Category_3            float64\n",
              "Purchase                        int64\n",
              "dtype: object"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 293
        }
      ]
    },
    {
      "metadata": {
        "id": "OzoIUV1G1rbu",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 364
        },
        "outputId": "634a8176-2af1-4fbe-bfac-8be174e17ffd"
      },
      "cell_type": "code",
      "source": [
        "# summarise the dataset\n",
        "fullData_preprocessed.describe()"
      ],
      "execution_count": 294,
      "outputs": [
        {
          "output_type": "execute_result",
          "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>Gender</th>\n",
              "      <th>Age</th>\n",
              "      <th>Occupation</th>\n",
              "      <th>City_Category</th>\n",
              "      <th>Stay_In_Current_City_Years</th>\n",
              "      <th>Marital_Status</th>\n",
              "      <th>Product_Category_1</th>\n",
              "      <th>Product_Category_2</th>\n",
              "      <th>Product_Category_3</th>\n",
              "      <th>Purchase</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "      <td>550068.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>0.753105</td>\n",
              "      <td>2.496430</td>\n",
              "      <td>0.403835</td>\n",
              "      <td>1.042640</td>\n",
              "      <td>1.858418</td>\n",
              "      <td>0.409653</td>\n",
              "      <td>0.270214</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>9263.968713</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>0.431205</td>\n",
              "      <td>1.353632</td>\n",
              "      <td>0.326133</td>\n",
              "      <td>0.760211</td>\n",
              "      <td>1.289443</td>\n",
              "      <td>0.491770</td>\n",
              "      <td>0.196811</td>\n",
              "      <td>0.233770</td>\n",
              "      <td>0.126213</td>\n",
              "      <td>5023.065394</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.050000</td>\n",
              "      <td>0.111111</td>\n",
              "      <td>0.166667</td>\n",
              "      <td>12.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>0.100000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.050000</td>\n",
              "      <td>0.444444</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>5823.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>0.350000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.250000</td>\n",
              "      <td>0.546796</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>8047.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>0.700000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.400000</td>\n",
              "      <td>0.777778</td>\n",
              "      <td>0.703791</td>\n",
              "      <td>12054.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>1.000000</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>23961.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "              Gender            Age     Occupation  City_Category  \\\n",
              "count  550068.000000  550068.000000  550068.000000  550068.000000   \n",
              "mean        0.753105       2.496430       0.403835       1.042640   \n",
              "std         0.431205       1.353632       0.326133       0.760211   \n",
              "min         0.000000       0.000000       0.000000       0.000000   \n",
              "25%         1.000000       2.000000       0.100000       0.000000   \n",
              "50%         1.000000       2.000000       0.350000       1.000000   \n",
              "75%         1.000000       3.000000       0.700000       2.000000   \n",
              "max         1.000000       6.000000       1.000000       2.000000   \n",
              "\n",
              "       Stay_In_Current_City_Years  Marital_Status  Product_Category_1  \\\n",
              "count               550068.000000   550068.000000       550068.000000   \n",
              "mean                     1.858418        0.409653            0.270214   \n",
              "std                      1.289443        0.491770            0.196811   \n",
              "min                      0.000000        0.000000            0.050000   \n",
              "25%                      1.000000        0.000000            0.050000   \n",
              "50%                      2.000000        0.000000            0.250000   \n",
              "75%                      3.000000        1.000000            0.400000   \n",
              "max                      4.000000        1.000000            1.000000   \n",
              "\n",
              "       Product_Category_2  Product_Category_3       Purchase  \n",
              "count       550068.000000       550068.000000  550068.000000  \n",
              "mean             0.546796            0.703791    9263.968713  \n",
              "std              0.233770            0.126213    5023.065394  \n",
              "min              0.111111            0.166667      12.000000  \n",
              "25%              0.444444            0.703791    5823.000000  \n",
              "50%              0.546796            0.703791    8047.000000  \n",
              "75%              0.777778            0.703791   12054.000000  \n",
              "max              1.000000            1.000000   23961.000000  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 294
        }
      ]
    },
    {
      "metadata": {
        "id": "OC173pELBzxS",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 2.2 Split the data into training and testing sets \n",
        "* In order to train our model and see how well it performs, we need to split our data into training and testing sets.\n",
        "* We can then train our model on the training set, and test how well it has generalised to the data on the test set.\n",
        "* There are a number of options for how we can split the data, and for what proportion of our original data we set aside for the test set.\n"
      ]
    },
    {
      "metadata": {
        "id": "rYDtbZifBvcO",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# here we need to drop our target variable from the X dataset\n",
        "X = fullData_preprocessed.drop(['Purchase'],axis=1)\n",
        "\n",
        "# get our target variable\n",
        "y = fullData_preprocessed['Purchase']"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "rVGYyC7Zu2q0",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 94
        },
        "outputId": "dc983370-617c-4600-e000-79eab0603380"
      },
      "cell_type": "code",
      "source": [
        "print ('X: ', X.shape)\n",
        "print ('y: ', y.shape)"
      ],
      "execution_count": 296,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "X:  (550068, 9)\n",
            "y:  (550068,)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "51LuckaGg6BO",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# \n",
        "from sklearn.model_selection import train_test_split \n",
        "# \n",
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=42)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "vIBpJwa4Geqs",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 200
        },
        "outputId": "524312aa-9fbe-4a27-b134-5a46069ceab8"
      },
      "cell_type": "code",
      "source": [
        "# get shape of test and training sets\n",
        "print('Training Set:')\n",
        "print('Number of datapoints: ', X_train.shape[0])\n",
        "print('Number of features: ', X_train.shape[1])\n",
        "print('\\n')\n",
        "print('Test Set:')\n",
        "print('Number of datapoints: ', X_test.shape[0])\n",
        "print('Number of features: ', X_test.shape[1])"
      ],
      "execution_count": 298,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Training Set:\n",
            "Number of datapoints:  385047\n",
            "Number of features:  9\n",
            "\n",
            "\n",
            "Test Set:\n",
            "Number of datapoints:  165021\n",
            "Number of features:  9\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "4HPTAyhFIUhF",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 2.2:**  Read the documentation for the `train_test_split` function [here](http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) and add comments to the code above to improve your understanding \n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "*Input in to  code cell above*\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "efvCE5NAKTeN",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 3. Build Model, train and predict \n",
        "**Aim:** \n",
        "* To build and compare different machine learning models\n",
        "* To understand the steps required to define, train and use a model to predict values\n",
        "* To introduce the idea of evaluation metrics for assessing how well a model performs\n",
        "\n",
        "\n",
        "---\n",
        "* Building a model in `sklearn` involves:\n",
        "  * defining / instantiating the model we want to use and its parameters\n",
        "  * fitting the model we have developed to our training set \n",
        "* We can then use the model to predict scores against our test set and assess how good it is\n",
        "* To do this, we need to define an evaluation metric. There are a number of different options, and they differ for both regression and classification problems. This score will be what we use to select our best model, and the best parameters. \n"
      ]
    },
    {
      "metadata": {
        "id": "D86YSFiHNtrY",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 3.1 Build a baseline model"
      ]
    },
    {
      "metadata": {
        "id": "6aypVMSdOBbd",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# import model from sklearn\n",
        "from sklearn.linear_model import LinearRegression\n",
        "\n",
        "# instantiate model\n",
        "baseline = LinearRegression()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "ArV6fZq-OBqI",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 76
        },
        "outputId": "2e48cb77-45ee-4091-d5cd-1b69d3bab830"
      },
      "cell_type": "code",
      "source": [
        "# fit model - here we are training our model on our split data, but just the training set\n",
        "baseline = baseline.fit(X_train, y_train)\n",
        "baseline"
      ],
      "execution_count": 300,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 300
        }
      ]
    },
    {
      "metadata": {
        "id": "Xe2o8tQbOHSf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 76
        },
        "outputId": "2e4ff109-1f26-4576-8c03-d5ae2c002838"
      },
      "cell_type": "code",
      "source": [
        "# given our fitted model, how well will it perform - first step, import metrics \n",
        "from sklearn import metrics  \n",
        "\n",
        "# create a prediction of the Purchase value on a new set of input variables, using our model \n",
        "predict_lr = baseline.predict(X_test)\n",
        "\n",
        "# get a score by comparing our predict against actual. We get the square root of the MSE score to give us RSME\n",
        "score_lr = np.sqrt(metrics.mean_squared_error(y_test,predict_lr))\n",
        "\n",
        "# print out the score \n",
        "print('RMSE score for {} is:'.format(baseline.__class__.__name__),np.round((score_lr), decimals=2))"
      ],
      "execution_count": 301,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "RMSE score for LinearRegression is: 4691.3\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "wfiZwLheCDBj",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 3.2 Build a model with Random Forest"
      ]
    },
    {
      "metadata": {
        "id": "6EIZD3_3B_Dt",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 164
        },
        "outputId": "cfdfcc09-d7b2-4d71-f358-f815b7b12ab7"
      },
      "cell_type": "code",
      "source": [
        "#import necessary libraries to build model\n",
        "from sklearn.ensemble import RandomForestRegressor\n",
        "\n",
        "# instantiate model\n",
        "rf = RandomForestRegressor(n_estimators=10)\n",
        "\n",
        "# fit model\n",
        "rf = rf.fit(X_train, y_train)\n",
        "\n",
        "# this method also gives us the parameters of the model fit to the data \n",
        "rf.get_params"
      ],
      "execution_count": 302,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<bound method BaseEstimator.get_params of RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
              "           max_features='auto', max_leaf_nodes=None,\n",
              "           min_impurity_decrease=0.0, min_impurity_split=None,\n",
              "           min_samples_leaf=1, min_samples_split=2,\n",
              "           min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,\n",
              "           oob_score=False, random_state=None, verbose=0, warm_start=False)>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 302
        }
      ]
    },
    {
      "metadata": {
        "id": "59w5xIFWOmhf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 76
        },
        "outputId": "00dc268f-3fcd-4fec-e4e2-d1be7a5c441d"
      },
      "cell_type": "code",
      "source": [
        "# create a prediction of the Purchase value on a new set of input variables, using our model \n",
        "predict_rf = rf.predict(X_test)\n",
        "\n",
        "# get a score by comparing our predict against actual. We get the square root of the MSE score to give us RSME\n",
        "score_rf = np.sqrt(metrics.mean_squared_error(y_test,predict_rf))\n",
        "\n",
        "# print out the score \n",
        "print('RMSE score for {} is:'.format(rf.__class__.__name__),np.round((score_rf), decimals=2))"
      ],
      "execution_count": 303,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "RMSE score for RandomForestRegressor is: 3103.26\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "Mze85juqOzcm",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 3.2:** sklearn models have a number of different methods and attributes associated with them. Look up and call some of the methods and attributes associated with the [RandomForestRegressor](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html)\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "*Use cell below for answer* \n"
      ]
    },
    {
      "metadata": {
        "id": "xk-i-flCPXOz",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "## code here for using methods and attributes  \n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "UvbNCuy9rCyc",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### FOLLOW-UP FROM SESSION: IS THIS A GOOD SCORE? WHAT OTHER METRICS ARE AVAILABLE?\n",
        "* Let's plot the predicted against actual values\n",
        "* Then plot both the predicted and actual values on the same plot\n",
        "* We will need to use a subset of the data to make the plots clearer"
      ]
    },
    {
      "metadata": {
        "id": "LJysg4Vy_4M7",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# lets trim the data points\n",
        "\n",
        "end_value = 1000\n",
        "\n",
        "# the x test data points (known)\n",
        "y_short = y_test[0:end_value]\n",
        "\n",
        "# the first x predictions using LR\n",
        "lr_short = predict_lr[0:end_value]\n",
        "\n",
        "# the first x prediction using RF\n",
        "rf_short = predict_rf[0:end_value]"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "vvO5H08fE98n",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Linear Regression"
      ]
    },
    {
      "metadata": {
        "id": "cnq68h_PrRvH",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 552
        },
        "outputId": "0135f9bc-2eb2-495b-8940-3d6ef942b86e"
      },
      "cell_type": "code",
      "source": [
        "# lets plot the predicted results against the actual for linear regression \n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15,8))\n",
        "\n",
        "ax1.set_title(\"Actual vs Predicted for Linear Regression Model\")\n",
        "ax1.scatter(y_short, lr_short, edgecolors=(0, 0, 0))\n",
        "ax1.plot([y_short.min(), y_short.max()], [y_short.min(), y_short.max()], 'k--', lw=4)\n",
        "ax1.set_xlabel('Actual')\n",
        "ax1.set_ylabel('Predicted')\n",
        "\n",
        "ax2.set_title('Actual and Predicted Values for Linear Regression Model')\n",
        "ax2.scatter(np.arange(0,len(y_short)),y_short, s=10, c='b', marker=\"s\", label='actual')\n",
        "ax2.scatter(np.arange(0,len(y_short)),lr_short, s=10, c='y', marker=\"s\", label='predicted')\n",
        "ax2.legend(loc='upper left');\n",
        "#plt.show()"
      ],
      "execution_count": 305,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAHvCAYAAAAM4hGLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XlcVNX/P/DXMCyGQAKCpGm45FJp\nKpqalqISA+7miksppWYfc8sys9xyF/e11FIzQdE0N1ATUYrMJcultEi/KqCi7LgAw/z+4DfTXJgZ\nBmaGe2fm9Xw8enw+HmbuvO+5d+ae9z3nniNTqVQqEBERERERkd1xEDsAIiIiIiIiEgcTQiIiIiIi\nIjvFhJCIiIiIiMhOMSEkIiIiIiKyU0wIiYiIiIiI7BQTQiIiIiIiIjvFhNAODBo0CD179jT69Tt3\n7jTp81atWoVPP/3UpG3o0rlzZwQGBkKhUCA4OBg9evTAwYMHTd7uvn37MGzYMADARx99hOPHjxt8\n/aFDh5Cbm1uuz7hz5w4aNWqk829Lly5Fhw4dsHv37nJtU9uePXvw9ttv6/ybQqHA/fv3K7ztilq1\nahVatWoFhUKhOWZ9+vRBfHx8pcdijLt376J79+5m296qVavQqFEjXLt2TVCempqKxo0bY9WqVeXa\nnqFzSFvnzp1x9uzZcm2bSMps5Rqm9sILL+D27dulyocNG4YOHTpofi9DQ0OxZcsWkz/v7Nmz6Ny5\nMwAgIiICO3bsMPj6U6dOISUlpdyfo2u/li1bhvHjx5d67fXr19G8eXOD19LTp08jKCio3HGU1/bt\n29G+fXusW7euwtswFOtbb72Fy5cvV3jbFbVnzx40b95ccA3u3r079u7dW+mxGMuc7ZU9e/agUaNG\niIuLE5Q/fvwYLVu2xNSpU8u9TX3fXW3Dhg3Dvn37yr1tsTmKHQBZ1rVr1+Du7o5q1arht99+Q4sW\nLQy+XqlUYtGiRRgwYEAlRVg+ixcvRqtWrQAUX1AGDRqEhg0b4vnnnzfL9hctWlTma1auXImWLVvC\nzc3NLJ956NAhLF68GO3atTPL9kqKiYmxyHaNERwcjLlz52r+/dtvvyE8PBwnTpyAh4eHaHHpUqNG\nDRw4cMCs23zmmWdw4MABTJo0SVN28OBB+Pn5mfVziGyVrV3DyjJlyhT06tULAJCWloaBAweibt26\neP31182y/cmTJ5f5mm+++QbvvfceatasafLn9e3bFz179kRubq7gmrlv3z507drVbNdRUxw5cgQT\nJkxA//79LbJ9cyT1FdW8eXN88803mn9fv34dAwcORNOmTVG/fn3R4tLH3O0V9TU4MDBQUxYXFye5\n9ocUsIfQxn3//fdQKBQ67wrt3bsXwcHBCA4OxpQpU5Cfn48RI0YgJycHCoUCt27dKtXboP3vXbt2\nISQkBG+88QaGDBmC5ORkvXFkZ2ejWbNmSE9P15TNnTsXS5Yswd27d/HWW28hNDQUXbt2xbJly4za\nt7p166Jt27ZITEwEADRq1AgbNmxAcHAwlEol/vnnHwwdOlTTm3jx4kUAQFFREWbPno1OnTqhX79+\n+OuvvzTb1L6zc/LkSXTr1g3BwcEYPXo0MjMz8cknn+D69esYNmwYzp49i+zsbEyZMgXBwcHo0qWL\noJcvOjoagYGB6NGjB3744Qed+zB58mSkpqZi2rRp2LlzJzIzMzF+/HjN3eEvv/xS89qS+2esRo0a\n4c6dOzh9+jQGDhyIiIgIhISEoHPnzvj1118BAPn5+fjiiy8QHByMzp07Y/369Zr3//bbb+jbty8U\nCgVCQ0Px888/AwBu376NDh06YN68eRg6dKhRsbRo0QKurq64ceMGAODcuXN48803ERQUhAEDBuDW\nrVsAgCdPnmD8+PF47bXXMHLkSCxZskRzN2/YsGFYtmwZQkJCcP78eYPHYNmyZZpzfPjw4bh7967e\n8tu3b+OFF14AUHyOLFu2THNnderUqXj48KHm87/++msMHjwYr732GiZNmgSVSqVzfzt06IBDhw4J\nyg4dOoRXX31V829Dx1zfOaRSqbB69WoEBwcjMDAQX3zxRbnOCSJrIZVrGFD8uzBr1izN7+SUKVNQ\nUFAAAJg6dSpWrlyJESNGIDAwECNGjMCjR48AAPHx8QgKCkJISAg2btxo9L77+PhAoVDgp59+0sSu\n/t6npKTgzp07GDNmjKYOtEdfrF27Fh07dkTv3r01v9nqONeuXQsAuHTpEvr27Yvg4GAMHToUt27d\nwvLly/HLL79gypQpOHTokMFrgzH79dxzz+GFF14o1dDfv38/+vbtC0D/NUabdtwl/63vWp+Xl4f3\n338fISEh6NKlC6ZPn645XmqLFi3ChQsXsGLFCqxatQpPnjzB559/juDgYISEhGDBggWa39aS9W8s\n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\nPvs7GhsbkZqaGuR7RS6z2aR2FTSPbeQd28g7thH5KjTfkd14bTpie/TENukp0tvEaU1GAEByciLM\nZtc/H+ntEQil2yTsAsKUlBTU1tba/l1dXQ2zuysKwKlTzUEf02w2oampA1FR8aipORP0+0Uis9nE\ntvGCbeQd28g7tpFneu9IqPEdKeG16Yjt0RPbpCc9tElSElBUJDiViXA1eEEP7eEvudrE0/dj2A0Z\nnTBhAj788EMAwIEDB5CSkoLExEQvv0VERBT5+B1JRFojbc9i/x9XGNWWsMsQXnjhhTj33HORm5sL\nQRDw4IMPql0lIiIiTeB3JBER+SvsAkIAWLJkidpVICIi0iR+RxIRkT/CbsgoERERERERyYMBIRER\nERERkU4xICQiIiIiItIpBoREREREREQ6xYCQiIiIiIhIpxgQEhERERER6RQDQiIiIiIiIp1iQEhE\nRERERKRTDAiJiIiIiIh0igEhERERERGRTjEgJCIiIiIi0ikGhERERERERDrFgJCIiIiIiEinGBAS\nERERERHplCCKoqh2JYiIiIiIiCj0mCEkIiIiIiLSKQaEREREREREOsWAkIiIiIiISKcYEBIRERER\nEekUA0IiIiIiIiKdYkBIRERERESkU0a1K6B1q1evRnFxMQRBQEFBAcaMGaN2lUJm3759WLhwIYYP\nHw4AyMnJwR133IFly5bBarXCbDbjiSeeQExMDN5991386U9/QlRUFKZPn45p06ahvb0dK1asQEVF\nBQwGAx555BEMGjRI5bOSz6FDhzB//nzcdtttyMvLw8mTJ4Numx9++AGrVq0CAIwYMQIPPfSQuicZ\nJOc2WrFiBQ4cOIA+ffoAAObMmYNJkybpuo0ef/xxfP311+jo6MC8efMwevRoXkcUVvT8PRnM/RvJ\nWltbccMNN2D+/PkYP3687tvk3XffxYYNG2A0GnHPPfdgxIgRum0Ti8WC5cuXo6GhAe3t7cjPz4fZ\nbHb5nbVhwwbs2rULgiBgwYIFuOyyy1SsufyU6EcGTCS39u3bJ86dO1cURVEsKSkRp0+frnKNQmvv\n3r3i3Xff7VC2YsUK8f333xdFURSffPJJ8dVXXxUtFot41VVXiY2NjWJLS4t4/fXXi6dOnRLffPNN\ncdWqVaIoiuLnn38uLly4MOTnoBSLxSLm5eWJK1euFLds2SKKojxtk5eXJxYXF4uiKIr33Xef+Omn\nn6pwdvJw1UbLly8XP/nkkx4/p9c2KioqEu+44w5RFEWxvr5evOyyy3gdUVjR8/dksPdvJHvqqafE\nqVOnijt37tR9m9TX14tXXXWVeObMGbGqqkpcuXKlrttky5Yt4po1a0RRFMXKykrx6quvdvmdVVZW\nJt58883i2bNnxbq6OvHqq68WOzo61Ky6rJTqRwaKQ0Y9KCoqwhVXXAEAyM7ORkNDA5qamlSulbr2\n7duHyy+/HAAwefJkFBUVobi4GKNHj4bJZEJcXBwuvPBC7N+/H0VFRbjyyisBABdffDH279+vZtVl\nFRMTg5dffhkpKSm2smDbpq2tDeXl5ban69J7hCtXbeSKntto7NixWLt2LQAgKSkJLS0tvI4orOj5\nezLY+zdSlZaWoqSkBJMmTQLg33djJCoqKsL48eORmJiIlJQUPPzww7puk759++L06dMAgMbGRvTp\n08fld9a+ffswceJExMTEIDk5GRkZGSgpKVGz6rJSoh8ZDAaEHtTW1qJv3762fycnJ6OmpkbFGoVe\nSUkJ7rzzTsycORN79uxBS0sLYmJiAAD9+vVDTU0NamtrkZycbPsdqZ3sy6OioiAIAtra2lQ5D7kZ\njUbExcU5lAXbNrW1tUhKSrL9rPQe4cpVGwHA1q1bMXv2bNx7772or6/XdRsZDAbEx8cDAHbs2IFL\nL72U1xGFFT1/TwZ7/0aqxx57DCtWrLD9W+9tcuLECbS2tuLOO+/ErFmzUFRUpOs2uf7661FRUYEr\nr7wSeXl5WLZsmcvvrEhvDyX6kcH0sTmH0A+iKKpdhZDKysrCggULcO211+L48eOYPXs2rFar7XV3\n7eFveSSSo20isb1+/etfo0+fPhg5ciTWr1+PdevW4YILLnD4GT220d/+9jfs2LEDmzZtwlVXXWUr\n53VE4UaP15tc928kePvtt/Gzn/3M7VwmPbYJAJw+fRrr1q1DRUUFZs+e7XC+emuTd955B+np6di4\ncSN++OEH5Ofnw2Qy2V7XW3u4E+o+NjOEHqSkpKC2ttb27+rqapjNZhVrFFqpqam47rrrIAgCMjMz\n0b9/fzQ0NKC1tRUAUFVVhZSUFJftJJVLT3Pa29shiqLtyUckio+PD6ptzGazbRiF/XtEkvHjx2Pk\nyJEAgClTpuDQoUO6b6PPP/8cL774Il5++WWYTCZeRxRW9P49Gcz9G4k+/fRTfPzxx5g+fTq2b9+O\n559/Xvdt0q9fP1xwwQUwGo3IzMxEQkICEhISdNsm+/fvxyWXXAIAOOecc3D27FmcOnXK9rq79tDD\nd1mw3//B9LEZEHowYcIEfPjhhwCAAwcOICUlBYmJiSrXKnTeffddbNy4EQBQU1ODuro6TJ061dYm\nH330ESZOnIjzzz8f//rXv9DY2AiLxYL9+/fjoosuwoQJE7Br1y4AwN///nf88pe/VO1cQuHiiy8O\nqm2io6MxdOhQfPXVVw7vEUnuvvtuHD9+HEDXWPnhw4fruo3OnDmDxx9/HC+99JJt5VVeRxRO9Pw9\nGez9G4meeeYZ7Ny5E2+88QamTZuG+fPn675NLrnkEuzduxednZ04deoUmpubdd0mgwcPRnFxMQCg\nvLwcCQkJyM7O7vGdNW7cOHz66adoa2tDVVUVqqurMWzYMDWrrrhgv/+DIYh6y8H6ac2aNfjqq68g\nCAIefPBBnHPOOWpXKWSampqwZMkSNDY2or29HQsWLMDIkSOxfPlynD17Funp6XjkkUcQHR2NXbt2\nYePGjRAEAXl5efjVr34Fq9WKlStX4ujRo4iJicGjjz6KAQMGqH1asvj+++/x2GOPoby8HEajEamp\nqVizZg1WrFgRVNuUlJTggQceQGdnJ84//3zcf//9ap9qwFy1UV5eHtavX49evXohPj4ejzzyCPr1\n66fbNiosLMSzzz6LIUOG2MoeffRRrFy5ktcRhQ29fk8Ge/9GumeffRYZGRm45JJLfO43RKrXX38d\nO3bsAADcddddGD16tG7bxGKxoKCgAHV1dejo6MDChQthNptdfmdt2bIF7733HgRBwKJFizB+/HiV\nay8fpfqRgWJASEREREREpFMcMkpERERERKRTDAiJiIiIiIh0igEhERERERGRTjEgJCIiIiIi0ikG\nhERERERERDrFgJBI46qrqzFq1CisX7/e68++8847AR9nxIgR6OjoCPj3iYiIiCj8MCAk0ri3334b\n2dnZePPNNz3+XFVVFV5//fUQ1YqIiIiIIgEDQiKN27lzJwoKCtDS0oL9+/cDAIqLizFjxgzk5eUh\nPz8fTU1NWLx4MQ4dOoRly5Zh3759mDlzpu09VqxYge3btwMA1q5di9zcXOTm5mLRokVob29X5byI\niIiISH0MCIk07Msvv0RHRwfGjRuHm266yZYlXLp0KR5++GFs3boVY8eOxWeffYa7774bOTk5ePzx\nx92+X0dHB3r16oVt27bh9ddfx5kzZ7B79+5QnQ4RERERaYxR7QoQkXs7duzAzTffDEEQMHXqVEyd\nOhXz589HY2MjcnJyAAC33XYbAGDfvn1e389oNCIqKgqzZqfhe4EAAAGTSURBVM2C0WjEkSNHcOrU\nKSVPgYiIiIg0jAEhkUY1NTXho48+woABA/DXv/4VANDZ2Yl9+/ZBFEWPvysIgsO/pWGhX3/9NXbu\n3ImdO3ciPj4e99xzjzKVJyIiIqKwwICQSKP+/Oc/Y+zYsQ6ri7733nvYvn07+vTpg++++w5jxozB\npk2bEBsbi5ycHNsqoYmJiaiqqoIoimhtbUVxcTHGjRuHuro6ZGRkID4+HuXl5fj2229x8cUXq3WK\nRERERKQyQfSWaiAiVdx6663Iz8/H5MmTbWVtbW2YPHkyXnjhBaxevRpGoxEmkwlPPPEE2tvbccst\nt2Dw4MHYuHEj8vPzcfLkSWRmZiI2Nha/+MUvcN1112HOnDkQBAHDhw/H6NGj8dxzz2Hz5s245ppr\ncODAARiNfE5EREREpBcMCImIiIiIiHSKq4wSERERERHpFANCIiIiIiIinWJASEREREREpFMMCImI\niIiIiHSKASEREREREZFOMSAkIiIiIiLSKQaEREREREREOsWAkIiIiIiISKf+D04iNa9d9m0OAAAA\nAElFTkSuQmCC\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fc55f2a9978>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "X5S1vrKhFHeh",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Metrics:"
      ]
    },
    {
      "metadata": {
        "id": "uE0cF-5DJuit",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 88
        },
        "outputId": "6a4a7a96-8709-48cc-dcd3-e314ff8cb1bd"
      },
      "cell_type": "code",
      "source": [
        "print('With sklearn...')\n",
        "mse_lr_short = metrics.mean_squared_error(y_short,lr_short)\n",
        "rmse_lr_short = np.sqrt(metrics.mean_squared_error(y_short,lr_short))\n",
        "mae_lr_short = metrics.mean_absolute_error(y_short,lr_short)\n",
        "\n",
        "print('MSE: ', mse_lr_short)\n",
        "print('RMSE: ', rmse_lr_short)\n",
        "print('MAE: ', mae_lr_short)"
      ],
      "execution_count": 306,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "With sklearn...\n",
            "MSE:  22603377.782584835\n",
            "RMSE:  4754.300977282027\n",
            "MAE:  3640.085476443343\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "6sOPaJSREfr1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 88
        },
        "outputId": "b7b21b2d-3a0b-4eea-f22b-f59921452a6f"
      },
      "cell_type": "code",
      "source": [
        "print('By hand...')\n",
        "print('MSE: ', np.sum(np.square(np.abs(y_short - lr_short)))/len(y_short))\n",
        "print('RMSE: ', np.sqrt(np.sum(np.square(np.abs(y_short - lr_short))/len(y_short))))\n",
        "print('MAE: ',np.sum(np.abs(y_short - lr_short))/len(y_short))"
      ],
      "execution_count": 307,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "By hand...\n",
            "MSE:  22603377.782584835\n",
            "RMSE:  4754.300977282027\n",
            "MAE:  3640.085476443343\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "7NFXjEa5E6vS",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Random Forest"
      ]
    },
    {
      "metadata": {
        "id": "tuCrH_LQsZ79",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 512
        },
        "outputId": "ed96fe48-8669-4138-e55f-9fd6575293e8"
      },
      "cell_type": "code",
      "source": [
        "# lets do it again for random forest \n",
        "\n",
        "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15,8))\n",
        "\n",
        "ax1.set_title(\"Actual vs Predicted for Random Forest Model\")\n",
        "ax1.scatter(y_short, rf_short, edgecolors=(0, 0, 0))\n",
        "ax1.plot([y_short.min(), y_short.max()], [y_short.min(), y_short.max()], 'k--', lw=4)\n",
        "ax1.set_xlabel('Actual')\n",
        "ax1.set_ylabel('Predicted')\n",
        "\n",
        "ax2.set_title('Actual and Predicted Values for Random Forest Model')\n",
        "ax2.scatter(np.arange(0,len(y_short)),y_short, s=10, c='b', marker=\"s\", label='actual')\n",
        "ax2.scatter(np.arange(0,len(y_short)),rf_short, s=10, c='y', marker=\"s\", label='predicted')\n",
        "ax2.legend(loc='upper left');\n",
        "#plt.show()"
      ],
      "execution_count": 308,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nn/PVEKypoXK+b2m4rHtqtS0j74YYi2k2juuUCkL5By8z5LI7WSpcOlOJWCHldrtxzTX/gc7O4wAA\nkiSxZs1qWK02fOMb54aPuef2H+CmO9ZhKFgCnbEinEylzLYEgx37oVRr4eZwA01WSIsVlemI8wSm\nxsEvN27Gp34tBjsOoHbJv7GS5vR99TaWLft+Vo8Rqent7U3LM5BJHR6PBz//+c9x1llnhbc999xz\nuP7663HppZfi6aefxptvvonvfve7eOGFF/Dmm29CrVbjqquuwsUXX4wPP/wQRqMRGzZswEcffYQN\nGzZg48aNeOyxx7Bu3TosXLgQd999N/7v//4P5513XgbvNHk3rESLpGs0dbBat7MSyvT11UChCP0O\npmMClmrBNl3c9fhI9PlLAW1Z6+6emribzRTq69M7cefqg9dec0OhmGrn9dfreT/v6eGuEMB13qYm\nN6xWCiQJdHcTMJspURUGMi1wMuV+nuh9Z3Jc85EydXAy/eBlG6ks3ZAuaJfOdJKICBUjpEiSxG23\nrcTnn3/OOPa6627E8uXnMLapVCq8/PzjeHT9/+CD3R+jpHohAGCwY384wyaXG2i0kDYajXA6nfD5\nfKIXAcSIyoqKSuSDTwA7JE3o4vF4cLh7EsaSmZhwDHC65eYXchewz3aSWfCoqqpKeaytTGrRaDTY\nsmULtmzZEt726aefhhc4L7jgArz00kuora3FggULYDAYAABLly7Fvn37sHv3bnz3u98FAJx99tlY\nt24dfD4furu7sXDhwvA5du/enfHfR6GJWirFEkEoodGwa5k2Nupht4d+GdMxAZNasEk58U7nJJ6+\n1ugoMDJCSHYtKe8hevGis5PAuecuRDDIPFmmJ+4AcN11+qQ+56OxkX2cQrEQJtORsFgEQtY3r/dY\neJ/OTgLnnBPqK4WChMnUythfylg8rmdeVcVffkXseYJBtvANBkOLApFUV1Po6gpt6+wkWH3GNT6i\nr9XZmX1l/FImCE+mH7xsQnYni59kLaqRQspN5gHubixqKMXl3/o23G43Hn54HXbs+DvjmPPOuwDr\n1z8bXnmjBUJJSSm2vLodnSMqVM08C+6xPpB+L8rrTsWEcwBqjR5LBNxANRoNtv/jXwndixjrrE6n\nQ2C8CzA2sARwYNwu6diirZGEewQFxdxJEjRGc05ZxOixdqBlGGNuCkV6AosbSuKy3kvhIiyTWVQq\n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\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fc55f2a9240>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "M0m5U3pDPdyL",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### Metrics"
      ]
    },
    {
      "metadata": {
        "id": "G67YGIrWL6Id",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 88
        },
        "outputId": "fabe412d-015d-4616-9f5a-32ce07b24256"
      },
      "cell_type": "code",
      "source": [
        "print('With sklearn...')\n",
        "mse_rf_short = metrics.mean_squared_error(y_short,rf_short)\n",
        "rmse_rf_short = np.sqrt(metrics.mean_squared_error(y_short,rf_short))\n",
        "mae_rf_short = metrics.mean_absolute_error(y_short,rf_short)\n",
        "\n",
        "print('MSE: ', mse_rf_short)\n",
        "print('RMSE: ', rmse_rf_short)\n",
        "print('MAE: ', mae_rf_short)"
      ],
      "execution_count": 309,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "With sklearn...\n",
            "MSE:  9418698.90033233\n",
            "RMSE:  3068.989882735414\n",
            "MAE:  2253.335318971645\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "tIfVzEcOI2jl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 88
        },
        "outputId": "0ad64b30-ea95-4b5d-9663-cc034f16c96d"
      },
      "cell_type": "code",
      "source": [
        "print('By hand...')\n",
        "print('MSE: ', np.sum(np.square(np.abs(y_short - rf_short)))/len(y_short))\n",
        "print('RMSE: ', np.sqrt(np.sum(np.square(np.abs(y_short - rf_short))/len(y_short))))\n",
        "print('MAE: ',np.sum(np.abs(y_short - rf_short))/len(y_short))"
      ],
      "execution_count": 310,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "By hand...\n",
            "MSE:  9418698.90033233\n",
            "RMSE:  3068.989882735414\n",
            "MAE:  2253.335318971645\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "9oP1LAVLP_5y",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### MAE..."
      ]
    },
    {
      "metadata": {
        "id": "TT-9hhu7P_UA",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1092
        },
        "outputId": "c61219cd-4586-4fe5-811a-809f70b72215"
      },
      "cell_type": "code",
      "source": [
        "# with MAE, we get the absolute values of the error\n",
        "np.abs(y_short - rf_short)"
      ],
      "execution_count": 311,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "84432      5336.353333\n",
              "72724       147.094949\n",
              "197032     1209.850000\n",
              "353704     1345.818333\n",
              "91198     10893.850000\n",
              "263977     1180.914324\n",
              "340456     4124.102887\n",
              "24094      3453.584208\n",
              "157277     2419.636667\n",
              "531759     3643.091667\n",
              "140977     1877.727486\n",
              "414535     1395.814286\n",
              "504520     3423.237778\n",
              "197149      146.073333\n",
              "241974     1948.776160\n",
              "532759     1975.024103\n",
              "490181     4222.575000\n",
              "261405      898.366667\n",
              "345359     1017.933333\n",
              "127565      300.233333\n",
              "396797     4054.890275\n",
              "220547     1784.400000\n",
              "361288     3273.043750\n",
              "217635     4927.721667\n",
              "397197     2506.782040\n",
              "153385     3642.875000\n",
              "380341     2346.000000\n",
              "401168      100.066667\n",
              "325026     4001.515000\n",
              "436361      575.135001\n",
              "              ...     \n",
              "244506     1579.685267\n",
              "505624     2407.253760\n",
              "156809     1636.832501\n",
              "155807      819.566439\n",
              "509891     2400.247411\n",
              "291716        1.141667\n",
              "343422     2261.946667\n",
              "82263      1649.303172\n",
              "384741    12617.300000\n",
              "181802       74.371667\n",
              "538914      798.200000\n",
              "104799     1461.897500\n",
              "308722      951.513087\n",
              "280526    11276.043611\n",
              "369086      296.775000\n",
              "400131     2966.700000\n",
              "274076      479.635107\n",
              "361575     2805.342876\n",
              "438511     1083.338343\n",
              "219408     1481.569524\n",
              "243751     4325.946667\n",
              "182409     2235.716496\n",
              "282610      518.011111\n",
              "8922       2311.447619\n",
              "2519        915.014841\n",
              "349436     4061.097619\n",
              "46400       990.600000\n",
              "315421     2175.946542\n",
              "471410     2588.934689\n",
              "255123     2779.354524\n",
              "Name: Purchase, Length: 1000, dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 311
        }
      ]
    },
    {
      "metadata": {
        "id": "1Eg0p8nzRzqm",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "d2055b00-c978-462b-9acc-352137ec1139"
      },
      "cell_type": "code",
      "source": [
        "# sum them up \n",
        "np.sum(np.abs(y_short - rf_short))"
      ],
      "execution_count": 312,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2253335.318971645"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 312
        }
      ]
    },
    {
      "metadata": {
        "id": "OZHpx1HARz6w",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "fe4c4a64-995f-4c49-f55a-643e69f49cf0"
      },
      "cell_type": "code",
      "source": [
        "# then divide by the total number of predictions/actual values\n",
        "np.sum(np.abs(y_short - rf_short))/len(y_short)"
      ],
      "execution_count": 313,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "2253.335318971645"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 313
        }
      ]
    },
    {
      "metadata": {
        "id": "alOIoHnbRuPQ",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "##### RMSE...."
      ]
    },
    {
      "metadata": {
        "id": "HuHmSN9hNCpg",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1092
        },
        "outputId": "f068a592-c076-44b1-c4b2-21f722bcc65f"
      },
      "cell_type": "code",
      "source": [
        "# with RMSE, we get the absolute values of the error\n",
        "np.abs(y_short - rf_short)"
      ],
      "execution_count": 314,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "84432      5336.353333\n",
              "72724       147.094949\n",
              "197032     1209.850000\n",
              "353704     1345.818333\n",
              "91198     10893.850000\n",
              "263977     1180.914324\n",
              "340456     4124.102887\n",
              "24094      3453.584208\n",
              "157277     2419.636667\n",
              "531759     3643.091667\n",
              "140977     1877.727486\n",
              "414535     1395.814286\n",
              "504520     3423.237778\n",
              "197149      146.073333\n",
              "241974     1948.776160\n",
              "532759     1975.024103\n",
              "490181     4222.575000\n",
              "261405      898.366667\n",
              "345359     1017.933333\n",
              "127565      300.233333\n",
              "396797     4054.890275\n",
              "220547     1784.400000\n",
              "361288     3273.043750\n",
              "217635     4927.721667\n",
              "397197     2506.782040\n",
              "153385     3642.875000\n",
              "380341     2346.000000\n",
              "401168      100.066667\n",
              "325026     4001.515000\n",
              "436361      575.135001\n",
              "              ...     \n",
              "244506     1579.685267\n",
              "505624     2407.253760\n",
              "156809     1636.832501\n",
              "155807      819.566439\n",
              "509891     2400.247411\n",
              "291716        1.141667\n",
              "343422     2261.946667\n",
              "82263      1649.303172\n",
              "384741    12617.300000\n",
              "181802       74.371667\n",
              "538914      798.200000\n",
              "104799     1461.897500\n",
              "308722      951.513087\n",
              "280526    11276.043611\n",
              "369086      296.775000\n",
              "400131     2966.700000\n",
              "274076      479.635107\n",
              "361575     2805.342876\n",
              "438511     1083.338343\n",
              "219408     1481.569524\n",
              "243751     4325.946667\n",
              "182409     2235.716496\n",
              "282610      518.011111\n",
              "8922       2311.447619\n",
              "2519        915.014841\n",
              "349436     4061.097619\n",
              "46400       990.600000\n",
              "315421     2175.946542\n",
              "471410     2588.934689\n",
              "255123     2779.354524\n",
              "Name: Purchase, Length: 1000, dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 314
        }
      ]
    },
    {
      "metadata": {
        "id": "MIOn6cOCRQhJ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1092
        },
        "outputId": "aa9bf67c-88b1-494a-f7a5-01e73e692b93"
      },
      "cell_type": "code",
      "source": [
        "# then square them - giving even higher values to larger errors\n",
        "np.square(np.abs(y_short - rf_short))"
      ],
      "execution_count": 315,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "84432     2.847667e+07\n",
              "72724     2.163692e+04\n",
              "197032    1.463737e+06\n",
              "353704    1.811227e+06\n",
              "91198     1.186760e+08\n",
              "263977    1.394559e+06\n",
              "340456    1.700822e+07\n",
              "24094     1.192724e+07\n",
              "157277    5.854642e+06\n",
              "531759    1.327212e+07\n",
              "140977    3.525861e+06\n",
              "414535    1.948298e+06\n",
              "504520    1.171856e+07\n",
              "197149    2.133742e+04\n",
              "241974    3.797729e+06\n",
              "532759    3.900720e+06\n",
              "490181    1.783014e+07\n",
              "261405    8.070627e+05\n",
              "345359    1.036188e+06\n",
              "127565    9.014005e+04\n",
              "396797    1.644214e+07\n",
              "220547    3.184083e+06\n",
              "361288    1.071282e+07\n",
              "217635    2.428244e+07\n",
              "397197    6.283956e+06\n",
              "153385    1.327054e+07\n",
              "380341    5.503716e+06\n",
              "401168    1.001334e+04\n",
              "325026    1.601212e+07\n",
              "436361    3.307803e+05\n",
              "              ...     \n",
              "244506    2.495406e+06\n",
              "505624    5.794871e+06\n",
              "156809    2.679221e+06\n",
              "155807    6.716891e+05\n",
              "509891    5.761188e+06\n",
              "291716    1.303403e+00\n",
              "343422    5.116403e+06\n",
              "82263     2.720201e+06\n",
              "384741    1.591963e+08\n",
              "181802    5.531145e+03\n",
              "538914    6.371232e+05\n",
              "104799    2.137144e+06\n",
              "308722    9.053772e+05\n",
              "280526    1.271492e+08\n",
              "369086    8.807540e+04\n",
              "400131    8.801309e+06\n",
              "274076    2.300498e+05\n",
              "361575    7.869949e+06\n",
              "438511    1.173622e+06\n",
              "219408    2.195048e+06\n",
              "243751    1.871381e+07\n",
              "182409    4.998428e+06\n",
              "282610    2.683355e+05\n",
              "8922      5.342790e+06\n",
              "2519      8.372522e+05\n",
              "349436    1.649251e+07\n",
              "46400     9.812884e+05\n",
              "315421    4.734743e+06\n",
              "471410    6.702583e+06\n",
              "255123    7.724812e+06\n",
              "Name: Purchase, Length: 1000, dtype: float64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 315
        }
      ]
    },
    {
      "metadata": {
        "id": "AGjK0IjKRQsY",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# then sum them\n",
        "np.sum(np.square(np.abs(y_short - rf_short)))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "0US5NfeVRQpP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "a3fbc77b-371b-4e67-8f54-c0da578c65b7"
      },
      "cell_type": "code",
      "source": [
        "# then divided by them by the total number of predictions/actual values\n",
        "np.sum(np.square(np.abs(y_short - rf_short))/len(y_short))       "
      ],
      "execution_count": 316,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "9418698.900332332"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 316
        }
      ]
    },
    {
      "metadata": {
        "id": "XWkKR92GRQmT",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "aa96dd24-dbcc-4da4-f30d-d8cd5ddedb32"
      },
      "cell_type": "code",
      "source": [
        "# then take the square root of that value\n",
        "np.sqrt(np.sum(np.square(np.abs(y_short - rf_short))/len(y_short)))"
      ],
      "execution_count": 317,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "3068.989882735414"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 317
        }
      ]
    },
    {
      "metadata": {
        "id": "txJcb6kRQqY2",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 3.3 Build you own model"
      ]
    },
    {
      "metadata": {
        "id": "rpjYuvoGO07q",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 3.3:** Idenitfy another regressor model, instantiate it, fit it to the data, and use it to predict scores. If time, explore the parameters of the model, its attributes and methods.\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "*Use cell below for answer* "
      ]
    },
    {
      "metadata": {
        "id": "gTHJaQhrRV-v",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# code here to build your own model\n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "6_lU-56oRpuy",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 4. Refine Model and Data\n",
        "**AIM:** \n",
        "* Understand how we can tune the parameters of a model\n",
        "* Understand that there are other options to split test and training data\n",
        "\n",
        "---\n",
        "**Hyperparameters**\n",
        "* We can refine our model by tuning the hyperparameters, some of which can have a big effect on the performance. Think of hyperparameters as parameters that are not learned through training by the model but set by us prior to training. \n",
        "* Tuning can be done 'by hand', or using a `GridSearch` function to test multiple parameters during the same operation\n",
        "\n",
        "**Cross-Validation Options**\n",
        "* We can also refine our model performance by looking at how we train our models. \n",
        "* Section *2.2* referred to other ways of splitting the dataset into test and training sets. `k-fold Cross-Validation` is one way of doing this, and you can find out more about it [here](https://sebastianraschka.com/blog/2016/model-evaluation-selection-part3.html)"
      ]
    },
    {
      "metadata": {
        "id": "ZrvV10V9STGE",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 4.1 Hyperparameter tuning using Grid Search\n",
        "\n",
        "As a rule, increasing min or reducing max hyperparameters will regularize the model. The parameters tuned below are:\n",
        "* n_estimators: this controls the number of trees in the forest\n",
        "* criterion: this measures the quality of the split and can be either 'mae' or 'mse' \n",
        "* max_features: to test the maximum number of features that are evaluated for splitting at each node "
      ]
    },
    {
      "metadata": {
        "id": "DQFmlwJgSeZM",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# create our random forest model\n",
        "rf_gs = RandomForestRegressor()\n",
        "\n",
        "# we need to specify the parameters we want to tune, as a dictionary \n",
        "parameters_rf = {'n_estimators': [10,50,100], 'criterion': ['mse','mae'], 'max_features': ['auto','sqrt','log2']}"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "S8ZaxwtwUKSl",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# we need to define a scoring criteria for the gridsearch function, using the make_scorer function\n",
        "from sklearn.metrics import make_scorer\n",
        "\n",
        "# note our scoring function is MSE\n",
        "scorer = make_scorer(metrics.mean_squared_error)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "iu6u3kTrV2rP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 208
        },
        "outputId": "9cbb2d7f-135f-47c7-c8f9-4ae041920c4c"
      },
      "cell_type": "code",
      "source": [
        "# import necessary library\n",
        "from sklearn.model_selection import GridSearchCV\n",
        "\n",
        "# we create our gridsearch object \n",
        "grid_obj = GridSearchCV(rf_gs, parameters_rf, scoring=scorer)\n",
        "grid_obj"
      ],
      "execution_count": 320,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "GridSearchCV(cv=None, error_score='raise',\n",
              "       estimator=RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
              "           max_features='auto', max_leaf_nodes=None,\n",
              "           min_impurity_decrease=0.0, min_impurity_split=None,\n",
              "           min_samples_leaf=1, min_samples_split=2,\n",
              "           min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,\n",
              "           oob_score=False, random_state=None, verbose=0, warm_start=False),\n",
              "       fit_params=None, iid=True, n_jobs=1,\n",
              "       param_grid={'n_estimators': [10, 50, 100], 'criterion': ['mse', 'mae'], 'max_features': ['auto', 'sqrt', 'log2']},\n",
              "       pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
              "       scoring=make_scorer(mean_squared_error), verbose=0)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 320
        }
      ]
    },
    {
      "metadata": {
        "id": "mXN5-P7Kc397",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# create a subset of the data to do the grid searc\n",
        "X_train_gs = X_train[:100]\n",
        "y_train_gs = y_train[:100]"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "NIkMkluZUKX1",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# fit the gridsearch object to our datatset\n",
        "grid_fit = grid_obj.fit(X_train_gs, y_train_gs)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "oNA1mmO1YtB9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1760
        },
        "outputId": "365aa26e-cde1-480c-adb8-41b3e4e3f7a1"
      },
      "cell_type": "code",
      "source": [
        "# look at the results:\n",
        "print(\"GridSearch on Random Forest Model:\")\n",
        "\n",
        "# get scores of parameters tested and display as a dataframe\n",
        "cv_results_df = pd.DataFrame(grid_fit.cv_results_) \n",
        "cv_results_df"
      ],
      "execution_count": 323,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "GridSearch on Random Forest Model:\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
            "  warnings.warn(*warn_args, **warn_kwargs)\n",
            "/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split0_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
            "  warnings.warn(*warn_args, **warn_kwargs)\n",
            "/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split1_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
            "  warnings.warn(*warn_args, **warn_kwargs)\n",
            "/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('split2_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
            "  warnings.warn(*warn_args, **warn_kwargs)\n",
            "/usr/local/lib/python3.6/dist-packages/sklearn/utils/deprecation.py:122: FutureWarning: You are accessing a training score ('std_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
            "  warnings.warn(*warn_args, **warn_kwargs)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "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>mean_fit_time</th>\n",
              "      <th>mean_score_time</th>\n",
              "      <th>mean_test_score</th>\n",
              "      <th>mean_train_score</th>\n",
              "      <th>param_criterion</th>\n",
              "      <th>param_max_features</th>\n",
              "      <th>param_n_estimators</th>\n",
              "      <th>params</th>\n",
              "      <th>rank_test_score</th>\n",
              "      <th>split0_test_score</th>\n",
              "      <th>split0_train_score</th>\n",
              "      <th>split1_test_score</th>\n",
              "      <th>split1_train_score</th>\n",
              "      <th>split2_test_score</th>\n",
              "      <th>split2_train_score</th>\n",
              "      <th>std_fit_time</th>\n",
              "      <th>std_score_time</th>\n",
              "      <th>std_test_score</th>\n",
              "      <th>std_train_score</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.011729</td>\n",
              "      <td>0.000991</td>\n",
              "      <td>1.750661e+07</td>\n",
              "      <td>3.856637e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>auto</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>13</td>\n",
              "      <td>1.253486e+07</td>\n",
              "      <td>5.395193e+06</td>\n",
              "      <td>2.220564e+07</td>\n",
              "      <td>3.105362e+06</td>\n",
              "      <td>1.792997e+07</td>\n",
              "      <td>3.069357e+06</td>\n",
              "      <td>0.000669</td>\n",
              "      <td>0.000088</td>\n",
              "      <td>3.968634e+06</td>\n",
              "      <td>1.088023e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.049674</td>\n",
              "      <td>0.002575</td>\n",
              "      <td>1.827040e+07</td>\n",
              "      <td>3.093208e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>auto</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>5</td>\n",
              "      <td>1.345362e+07</td>\n",
              "      <td>3.047585e+06</td>\n",
              "      <td>2.311056e+07</td>\n",
              "      <td>3.630208e+06</td>\n",
              "      <td>1.839298e+07</td>\n",
              "      <td>2.601831e+06</td>\n",
              "      <td>0.000445</td>\n",
              "      <td>0.000042</td>\n",
              "      <td>3.952770e+06</td>\n",
              "      <td>4.210709e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.097241</td>\n",
              "      <td>0.004347</td>\n",
              "      <td>1.696787e+07</td>\n",
              "      <td>2.849268e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>auto</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>16</td>\n",
              "      <td>1.239648e+07</td>\n",
              "      <td>3.645971e+06</td>\n",
              "      <td>1.994207e+07</td>\n",
              "      <td>2.788730e+06</td>\n",
              "      <td>1.870357e+07</td>\n",
              "      <td>2.113103e+06</td>\n",
              "      <td>0.000163</td>\n",
              "      <td>0.000018</td>\n",
              "      <td>3.319410e+06</td>\n",
              "      <td>6.272533e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.010284</td>\n",
              "      <td>0.000990</td>\n",
              "      <td>2.098357e+07</td>\n",
              "      <td>3.798452e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1</td>\n",
              "      <td>1.669221e+07</td>\n",
              "      <td>5.217064e+06</td>\n",
              "      <td>2.179593e+07</td>\n",
              "      <td>3.325419e+06</td>\n",
              "      <td>2.459261e+07</td>\n",
              "      <td>2.852874e+06</td>\n",
              "      <td>0.000072</td>\n",
              "      <td>0.000014</td>\n",
              "      <td>3.282902e+06</td>\n",
              "      <td>1.021492e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.046974</td>\n",
              "      <td>0.002579</td>\n",
              "      <td>1.809861e+07</td>\n",
              "      <td>2.577701e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>6</td>\n",
              "      <td>1.274718e+07</td>\n",
              "      <td>2.904046e+06</td>\n",
              "      <td>2.178538e+07</td>\n",
              "      <td>2.491011e+06</td>\n",
              "      <td>1.992542e+07</td>\n",
              "      <td>2.338047e+06</td>\n",
              "      <td>0.001308</td>\n",
              "      <td>0.000088</td>\n",
              "      <td>3.914535e+06</td>\n",
              "      <td>2.390608e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0.090830</td>\n",
              "      <td>0.004203</td>\n",
              "      <td>1.719969e+07</td>\n",
              "      <td>2.579461e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>15</td>\n",
              "      <td>1.233423e+07</td>\n",
              "      <td>3.144151e+06</td>\n",
              "      <td>2.038781e+07</td>\n",
              "      <td>2.551242e+06</td>\n",
              "      <td>1.902447e+07</td>\n",
              "      <td>2.042991e+06</td>\n",
              "      <td>0.001072</td>\n",
              "      <td>0.000027</td>\n",
              "      <td>3.535773e+06</td>\n",
              "      <td>4.499891e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>0.010396</td>\n",
              "      <td>0.000970</td>\n",
              "      <td>1.847849e+07</td>\n",
              "      <td>3.563372e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>log2</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>4</td>\n",
              "      <td>1.352810e+07</td>\n",
              "      <td>5.588639e+06</td>\n",
              "      <td>2.081781e+07</td>\n",
              "      <td>2.296025e+06</td>\n",
              "      <td>2.123958e+07</td>\n",
              "      <td>2.805453e+06</td>\n",
              "      <td>0.000045</td>\n",
              "      <td>0.000028</td>\n",
              "      <td>3.557223e+06</td>\n",
              "      <td>1.447102e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>0.045991</td>\n",
              "      <td>0.002527</td>\n",
              "      <td>1.760895e+07</td>\n",
              "      <td>2.873277e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>log2</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>11</td>\n",
              "      <td>1.335481e+07</td>\n",
              "      <td>3.065205e+06</td>\n",
              "      <td>2.133675e+07</td>\n",
              "      <td>2.774556e+06</td>\n",
              "      <td>1.826422e+07</td>\n",
              "      <td>2.780069e+06</td>\n",
              "      <td>0.000147</td>\n",
              "      <td>0.000088</td>\n",
              "      <td>3.298602e+06</td>\n",
              "      <td>1.357327e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>0.092326</td>\n",
              "      <td>0.004368</td>\n",
              "      <td>1.785203e+07</td>\n",
              "      <td>2.654953e+06</td>\n",
              "      <td>mse</td>\n",
              "      <td>log2</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>9</td>\n",
              "      <td>1.393410e+07</td>\n",
              "      <td>3.237331e+06</td>\n",
              "      <td>2.054638e+07</td>\n",
              "      <td>2.471361e+06</td>\n",
              "      <td>1.919435e+07</td>\n",
              "      <td>2.256168e+06</td>\n",
              "      <td>0.001460</td>\n",
              "      <td>0.000069</td>\n",
              "      <td>2.865187e+06</td>\n",
              "      <td>4.210698e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>0.016785</td>\n",
              "      <td>0.001110</td>\n",
              "      <td>1.939375e+07</td>\n",
              "      <td>3.676137e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>auto</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>3</td>\n",
              "      <td>1.276052e+07</td>\n",
              "      <td>3.711018e+06</td>\n",
              "      <td>2.361051e+07</td>\n",
              "      <td>4.022406e+06</td>\n",
              "      <td>2.201123e+07</td>\n",
              "      <td>3.294987e+06</td>\n",
              "      <td>0.000390</td>\n",
              "      <td>0.000032</td>\n",
              "      <td>4.805057e+06</td>\n",
              "      <td>2.979898e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>0.078032</td>\n",
              "      <td>0.002634</td>\n",
              "      <td>1.641590e+07</td>\n",
              "      <td>3.277713e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>auto</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>18</td>\n",
              "      <td>9.702891e+06</td>\n",
              "      <td>3.799311e+06</td>\n",
              "      <td>2.004608e+07</td>\n",
              "      <td>3.110591e+06</td>\n",
              "      <td>1.970215e+07</td>\n",
              "      <td>2.923237e+06</td>\n",
              "      <td>0.001132</td>\n",
              "      <td>0.000017</td>\n",
              "      <td>4.820222e+06</td>\n",
              "      <td>3.766730e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>0.154022</td>\n",
              "      <td>0.004334</td>\n",
              "      <td>1.678149e+07</td>\n",
              "      <td>3.198743e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>auto</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>17</td>\n",
              "      <td>1.111131e+07</td>\n",
              "      <td>3.702301e+06</td>\n",
              "      <td>2.075205e+07</td>\n",
              "      <td>3.340432e+06</td>\n",
              "      <td>1.865292e+07</td>\n",
              "      <td>2.553494e+06</td>\n",
              "      <td>0.001258</td>\n",
              "      <td>0.000028</td>\n",
              "      <td>4.158083e+06</td>\n",
              "      <td>4.795804e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>0.012908</td>\n",
              "      <td>0.001012</td>\n",
              "      <td>1.944302e+07</td>\n",
              "      <td>4.515368e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>2</td>\n",
              "      <td>1.508097e+07</td>\n",
              "      <td>6.266884e+06</td>\n",
              "      <td>2.328609e+07</td>\n",
              "      <td>3.397415e+06</td>\n",
              "      <td>2.009418e+07</td>\n",
              "      <td>3.881805e+06</td>\n",
              "      <td>0.000071</td>\n",
              "      <td>0.000055</td>\n",
              "      <td>3.388673e+06</td>\n",
              "      <td>1.254197e+06</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>0.059213</td>\n",
              "      <td>0.002479</td>\n",
              "      <td>1.787556e+07</td>\n",
              "      <td>3.535480e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>8</td>\n",
              "      <td>1.307273e+07</td>\n",
              "      <td>3.941490e+06</td>\n",
              "      <td>2.109919e+07</td>\n",
              "      <td>3.755401e+06</td>\n",
              "      <td>1.960030e+07</td>\n",
              "      <td>2.909550e+06</td>\n",
              "      <td>0.000397</td>\n",
              "      <td>0.000032</td>\n",
              "      <td>3.500540e+06</td>\n",
              "      <td>4.490723e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>0.116783</td>\n",
              "      <td>0.004180</td>\n",
              "      <td>1.738840e+07</td>\n",
              "      <td>3.519017e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>sqrt</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>14</td>\n",
              "      <td>1.205449e+07</td>\n",
              "      <td>4.125366e+06</td>\n",
              "      <td>2.097961e+07</td>\n",
              "      <td>3.544669e+06</td>\n",
              "      <td>1.929272e+07</td>\n",
              "      <td>2.887017e+06</td>\n",
              "      <td>0.000278</td>\n",
              "      <td>0.000022</td>\n",
              "      <td>3.889198e+06</td>\n",
              "      <td>5.058792e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>0.013081</td>\n",
              "      <td>0.001046</td>\n",
              "      <td>1.789669e+07</td>\n",
              "      <td>4.430721e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>log2</td>\n",
              "      <td>10</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>7</td>\n",
              "      <td>1.421817e+07</td>\n",
              "      <td>3.801012e+06</td>\n",
              "      <td>1.941582e+07</td>\n",
              "      <td>4.625240e+06</td>\n",
              "      <td>2.016754e+07</td>\n",
              "      <td>4.865912e+06</td>\n",
              "      <td>0.000251</td>\n",
              "      <td>0.000074</td>\n",
              "      <td>2.657818e+06</td>\n",
              "      <td>4.559835e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>0.058831</td>\n",
              "      <td>0.002505</td>\n",
              "      <td>1.781706e+07</td>\n",
              "      <td>3.520819e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>log2</td>\n",
              "      <td>50</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>10</td>\n",
              "      <td>1.289908e+07</td>\n",
              "      <td>4.336931e+06</td>\n",
              "      <td>2.024232e+07</td>\n",
              "      <td>3.393507e+06</td>\n",
              "      <td>2.045880e+07</td>\n",
              "      <td>2.832020e+06</td>\n",
              "      <td>0.000181</td>\n",
              "      <td>0.000083</td>\n",
              "      <td>3.530929e+06</td>\n",
              "      <td>6.209378e+05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>0.117436</td>\n",
              "      <td>0.004177</td>\n",
              "      <td>1.753106e+07</td>\n",
              "      <td>3.323339e+06</td>\n",
              "      <td>mae</td>\n",
              "      <td>log2</td>\n",
              "      <td>100</td>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>12</td>\n",
              "      <td>1.241074e+07</td>\n",
              "      <td>3.595100e+06</td>\n",
              "      <td>2.110639e+07</td>\n",
              "      <td>3.210925e+06</td>\n",
              "      <td>1.923120e+07</td>\n",
              "      <td>3.163990e+06</td>\n",
              "      <td>0.001265</td>\n",
              "      <td>0.000011</td>\n",
              "      <td>3.753166e+06</td>\n",
              "      <td>1.931173e+05</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "    mean_fit_time  mean_score_time  mean_test_score  mean_train_score  \\\n",
              "0        0.011729         0.000991     1.750661e+07      3.856637e+06   \n",
              "1        0.049674         0.002575     1.827040e+07      3.093208e+06   \n",
              "2        0.097241         0.004347     1.696787e+07      2.849268e+06   \n",
              "3        0.010284         0.000990     2.098357e+07      3.798452e+06   \n",
              "4        0.046974         0.002579     1.809861e+07      2.577701e+06   \n",
              "5        0.090830         0.004203     1.719969e+07      2.579461e+06   \n",
              "6        0.010396         0.000970     1.847849e+07      3.563372e+06   \n",
              "7        0.045991         0.002527     1.760895e+07      2.873277e+06   \n",
              "8        0.092326         0.004368     1.785203e+07      2.654953e+06   \n",
              "9        0.016785         0.001110     1.939375e+07      3.676137e+06   \n",
              "10       0.078032         0.002634     1.641590e+07      3.277713e+06   \n",
              "11       0.154022         0.004334     1.678149e+07      3.198743e+06   \n",
              "12       0.012908         0.001012     1.944302e+07      4.515368e+06   \n",
              "13       0.059213         0.002479     1.787556e+07      3.535480e+06   \n",
              "14       0.116783         0.004180     1.738840e+07      3.519017e+06   \n",
              "15       0.013081         0.001046     1.789669e+07      4.430721e+06   \n",
              "16       0.058831         0.002505     1.781706e+07      3.520819e+06   \n",
              "17       0.117436         0.004177     1.753106e+07      3.323339e+06   \n",
              "\n",
              "   param_criterion param_max_features param_n_estimators  \\\n",
              "0              mse               auto                 10   \n",
              "1              mse               auto                 50   \n",
              "2              mse               auto                100   \n",
              "3              mse               sqrt                 10   \n",
              "4              mse               sqrt                 50   \n",
              "5              mse               sqrt                100   \n",
              "6              mse               log2                 10   \n",
              "7              mse               log2                 50   \n",
              "8              mse               log2                100   \n",
              "9              mae               auto                 10   \n",
              "10             mae               auto                 50   \n",
              "11             mae               auto                100   \n",
              "12             mae               sqrt                 10   \n",
              "13             mae               sqrt                 50   \n",
              "14             mae               sqrt                100   \n",
              "15             mae               log2                 10   \n",
              "16             mae               log2                 50   \n",
              "17             mae               log2                100   \n",
              "\n",
              "                                               params  rank_test_score  \\\n",
              "0   {'criterion': 'mse', 'max_features': 'auto', '...               13   \n",
              "1   {'criterion': 'mse', 'max_features': 'auto', '...                5   \n",
              "2   {'criterion': 'mse', 'max_features': 'auto', '...               16   \n",
              "3   {'criterion': 'mse', 'max_features': 'sqrt', '...                1   \n",
              "4   {'criterion': 'mse', 'max_features': 'sqrt', '...                6   \n",
              "5   {'criterion': 'mse', 'max_features': 'sqrt', '...               15   \n",
              "6   {'criterion': 'mse', 'max_features': 'log2', '...                4   \n",
              "7   {'criterion': 'mse', 'max_features': 'log2', '...               11   \n",
              "8   {'criterion': 'mse', 'max_features': 'log2', '...                9   \n",
              "9   {'criterion': 'mae', 'max_features': 'auto', '...                3   \n",
              "10  {'criterion': 'mae', 'max_features': 'auto', '...               18   \n",
              "11  {'criterion': 'mae', 'max_features': 'auto', '...               17   \n",
              "12  {'criterion': 'mae', 'max_features': 'sqrt', '...                2   \n",
              "13  {'criterion': 'mae', 'max_features': 'sqrt', '...                8   \n",
              "14  {'criterion': 'mae', 'max_features': 'sqrt', '...               14   \n",
              "15  {'criterion': 'mae', 'max_features': 'log2', '...                7   \n",
              "16  {'criterion': 'mae', 'max_features': 'log2', '...               10   \n",
              "17  {'criterion': 'mae', 'max_features': 'log2', '...               12   \n",
              "\n",
              "    split0_test_score  split0_train_score  split1_test_score  \\\n",
              "0        1.253486e+07        5.395193e+06       2.220564e+07   \n",
              "1        1.345362e+07        3.047585e+06       2.311056e+07   \n",
              "2        1.239648e+07        3.645971e+06       1.994207e+07   \n",
              "3        1.669221e+07        5.217064e+06       2.179593e+07   \n",
              "4        1.274718e+07        2.904046e+06       2.178538e+07   \n",
              "5        1.233423e+07        3.144151e+06       2.038781e+07   \n",
              "6        1.352810e+07        5.588639e+06       2.081781e+07   \n",
              "7        1.335481e+07        3.065205e+06       2.133675e+07   \n",
              "8        1.393410e+07        3.237331e+06       2.054638e+07   \n",
              "9        1.276052e+07        3.711018e+06       2.361051e+07   \n",
              "10       9.702891e+06        3.799311e+06       2.004608e+07   \n",
              "11       1.111131e+07        3.702301e+06       2.075205e+07   \n",
              "12       1.508097e+07        6.266884e+06       2.328609e+07   \n",
              "13       1.307273e+07        3.941490e+06       2.109919e+07   \n",
              "14       1.205449e+07        4.125366e+06       2.097961e+07   \n",
              "15       1.421817e+07        3.801012e+06       1.941582e+07   \n",
              "16       1.289908e+07        4.336931e+06       2.024232e+07   \n",
              "17       1.241074e+07        3.595100e+06       2.110639e+07   \n",
              "\n",
              "    split1_train_score  split2_test_score  split2_train_score  std_fit_time  \\\n",
              "0         3.105362e+06       1.792997e+07        3.069357e+06      0.000669   \n",
              "1         3.630208e+06       1.839298e+07        2.601831e+06      0.000445   \n",
              "2         2.788730e+06       1.870357e+07        2.113103e+06      0.000163   \n",
              "3         3.325419e+06       2.459261e+07        2.852874e+06      0.000072   \n",
              "4         2.491011e+06       1.992542e+07        2.338047e+06      0.001308   \n",
              "5         2.551242e+06       1.902447e+07        2.042991e+06      0.001072   \n",
              "6         2.296025e+06       2.123958e+07        2.805453e+06      0.000045   \n",
              "7         2.774556e+06       1.826422e+07        2.780069e+06      0.000147   \n",
              "8         2.471361e+06       1.919435e+07        2.256168e+06      0.001460   \n",
              "9         4.022406e+06       2.201123e+07        3.294987e+06      0.000390   \n",
              "10        3.110591e+06       1.970215e+07        2.923237e+06      0.001132   \n",
              "11        3.340432e+06       1.865292e+07        2.553494e+06      0.001258   \n",
              "12        3.397415e+06       2.009418e+07        3.881805e+06      0.000071   \n",
              "13        3.755401e+06       1.960030e+07        2.909550e+06      0.000397   \n",
              "14        3.544669e+06       1.929272e+07        2.887017e+06      0.000278   \n",
              "15        4.625240e+06       2.016754e+07        4.865912e+06      0.000251   \n",
              "16        3.393507e+06       2.045880e+07        2.832020e+06      0.000181   \n",
              "17        3.210925e+06       1.923120e+07        3.163990e+06      0.001265   \n",
              "\n",
              "    std_score_time  std_test_score  std_train_score  \n",
              "0         0.000088    3.968634e+06     1.088023e+06  \n",
              "1         0.000042    3.952770e+06     4.210709e+05  \n",
              "2         0.000018    3.319410e+06     6.272533e+05  \n",
              "3         0.000014    3.282902e+06     1.021492e+06  \n",
              "4         0.000088    3.914535e+06     2.390608e+05  \n",
              "5         0.000027    3.535773e+06     4.499891e+05  \n",
              "6         0.000028    3.557223e+06     1.447102e+06  \n",
              "7         0.000088    3.298602e+06     1.357327e+05  \n",
              "8         0.000069    2.865187e+06     4.210698e+05  \n",
              "9         0.000032    4.805057e+06     2.979898e+05  \n",
              "10        0.000017    4.820222e+06     3.766730e+05  \n",
              "11        0.000028    4.158083e+06     4.795804e+05  \n",
              "12        0.000055    3.388673e+06     1.254197e+06  \n",
              "13        0.000032    3.500540e+06     4.490723e+05  \n",
              "14        0.000022    3.889198e+06     5.058792e+05  \n",
              "15        0.000074    2.657818e+06     4.559835e+05  \n",
              "16        0.000083    3.530929e+06     6.209378e+05  \n",
              "17        0.000011    3.753166e+06     1.931173e+05  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 323
        }
      ]
    },
    {
      "metadata": {
        "id": "meypF2BqYtU2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 724
        },
        "outputId": "f8d2e56c-b296-4adc-f606-11adbc815f16"
      },
      "cell_type": "code",
      "source": [
        "print('Scores of Parameters tested:\\n') \n",
        "\n",
        "# get scores of parameters tested and display as a dataframe\n",
        "scores_df = pd.DataFrame(grid_fit.grid_scores_) \n",
        "display(scores_df)"
      ],
      "execution_count": 324,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Scores of Parameters tested:\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/sklearn/model_selection/_search.py:762: DeprecationWarning: The grid_scores_ attribute was deprecated in version 0.18 in favor of the more elaborate cv_results_ attribute. The grid_scores_ attribute will not be available from 0.20\n",
            "  DeprecationWarning)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "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>parameters</th>\n",
              "      <th>mean_validation_score</th>\n",
              "      <th>cv_validation_scores</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>1.750661e+07</td>\n",
              "      <td>[12534861.115588233, 22205638.94151515, 179299...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>1.827040e+07</td>\n",
              "      <td>[13453617.644894116, 23110560.335030302, 18392...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'auto', '...</td>\n",
              "      <td>1.696787e+07</td>\n",
              "      <td>[12396484.569641175, 19942070.14221212, 187035...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>2.098357e+07</td>\n",
              "      <td>[16692212.422647059, 21795934.53090909, 245926...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1.809861e+07</td>\n",
              "      <td>[12747184.882941175, 21785383.531163633, 19925...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1.719969e+07</td>\n",
              "      <td>[12334234.972920585, 20387807.106551513, 19024...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>1.847849e+07</td>\n",
              "      <td>[13528102.711470589, 20817805.034545455, 21239...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>1.760895e+07</td>\n",
              "      <td>[13354806.803988235, 21336752.948848486, 18264...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>{'criterion': 'mse', 'max_features': 'log2', '...</td>\n",
              "      <td>1.785203e+07</td>\n",
              "      <td>[13934099.972144118, 20546378.75339091, 191943...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>1.939375e+07</td>\n",
              "      <td>[12760516.13647059, 23610505.78621212, 2201123...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>1.641590e+07</td>\n",
              "      <td>[9702890.87405294, 20046077.339430302, 1970214...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'auto', '...</td>\n",
              "      <td>1.678149e+07</td>\n",
              "      <td>[11111305.950025002, 20752054.973832574, 18652...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1.944302e+07</td>\n",
              "      <td>[15080970.51147059, 23286094.615151517, 200941...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1.787556e+07</td>\n",
              "      <td>[13072731.254788235, 21099185.628960606, 19600...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'sqrt', '...</td>\n",
              "      <td>1.738840e+07</td>\n",
              "      <td>[12054493.668372795, 20979614.319516666, 19292...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>1.789669e+07</td>\n",
              "      <td>[14218171.504705882, 19415820.33969697, 201675...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>1.781706e+07</td>\n",
              "      <td>[12899078.237635294, 20242322.345230304, 20458...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>{'criterion': 'mae', 'max_features': 'log2', '...</td>\n",
              "      <td>1.753106e+07</td>\n",
              "      <td>[12410738.744161028, 21106386.945457574, 19231...</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                                           parameters  mean_validation_score  \\\n",
              "0   {'criterion': 'mse', 'max_features': 'auto', '...           1.750661e+07   \n",
              "1   {'criterion': 'mse', 'max_features': 'auto', '...           1.827040e+07   \n",
              "2   {'criterion': 'mse', 'max_features': 'auto', '...           1.696787e+07   \n",
              "3   {'criterion': 'mse', 'max_features': 'sqrt', '...           2.098357e+07   \n",
              "4   {'criterion': 'mse', 'max_features': 'sqrt', '...           1.809861e+07   \n",
              "5   {'criterion': 'mse', 'max_features': 'sqrt', '...           1.719969e+07   \n",
              "6   {'criterion': 'mse', 'max_features': 'log2', '...           1.847849e+07   \n",
              "7   {'criterion': 'mse', 'max_features': 'log2', '...           1.760895e+07   \n",
              "8   {'criterion': 'mse', 'max_features': 'log2', '...           1.785203e+07   \n",
              "9   {'criterion': 'mae', 'max_features': 'auto', '...           1.939375e+07   \n",
              "10  {'criterion': 'mae', 'max_features': 'auto', '...           1.641590e+07   \n",
              "11  {'criterion': 'mae', 'max_features': 'auto', '...           1.678149e+07   \n",
              "12  {'criterion': 'mae', 'max_features': 'sqrt', '...           1.944302e+07   \n",
              "13  {'criterion': 'mae', 'max_features': 'sqrt', '...           1.787556e+07   \n",
              "14  {'criterion': 'mae', 'max_features': 'sqrt', '...           1.738840e+07   \n",
              "15  {'criterion': 'mae', 'max_features': 'log2', '...           1.789669e+07   \n",
              "16  {'criterion': 'mae', 'max_features': 'log2', '...           1.781706e+07   \n",
              "17  {'criterion': 'mae', 'max_features': 'log2', '...           1.753106e+07   \n",
              "\n",
              "                                 cv_validation_scores  \n",
              "0   [12534861.115588233, 22205638.94151515, 179299...  \n",
              "1   [13453617.644894116, 23110560.335030302, 18392...  \n",
              "2   [12396484.569641175, 19942070.14221212, 187035...  \n",
              "3   [16692212.422647059, 21795934.53090909, 245926...  \n",
              "4   [12747184.882941175, 21785383.531163633, 19925...  \n",
              "5   [12334234.972920585, 20387807.106551513, 19024...  \n",
              "6   [13528102.711470589, 20817805.034545455, 21239...  \n",
              "7   [13354806.803988235, 21336752.948848486, 18264...  \n",
              "8   [13934099.972144118, 20546378.75339091, 191943...  \n",
              "9   [12760516.13647059, 23610505.78621212, 2201123...  \n",
              "10  [9702890.87405294, 20046077.339430302, 1970214...  \n",
              "11  [11111305.950025002, 20752054.973832574, 18652...  \n",
              "12  [15080970.51147059, 23286094.615151517, 200941...  \n",
              "13  [13072731.254788235, 21099185.628960606, 19600...  \n",
              "14  [12054493.668372795, 20979614.319516666, 19292...  \n",
              "15  [14218171.504705882, 19415820.33969697, 201675...  \n",
              "16  [12899078.237635294, 20242322.345230304, 20458...  \n",
              "17  [12410738.744161028, 21106386.945457574, 19231...  "
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "vXph8I_TYtmX",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 122
        },
        "outputId": "b61b4952-4541-4b71-b4cf-6f89791d5027"
      },
      "cell_type": "code",
      "source": [
        "# Get the estimator, predictions and metric score from best model\n",
        "best_model = grid_fit.best_estimator_\n",
        "best_model"
      ],
      "execution_count": 325,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n",
              "           max_features='sqrt', max_leaf_nodes=None,\n",
              "           min_impurity_decrease=0.0, min_impurity_split=None,\n",
              "           min_samples_leaf=1, min_samples_split=2,\n",
              "           min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,\n",
              "           oob_score=False, random_state=None, verbose=0, warm_start=False)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 325
        }
      ]
    },
    {
      "metadata": {
        "id": "XTmuHfj3vFgy",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# get predictions using the new model\n",
        "predictions_best = best_model.predict(X_test)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "ZJo-prOXZgot",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "89c031b3-9625-4c38-8754-ae5b14aa81b4"
      },
      "cell_type": "code",
      "source": [
        "# get a score by comparing our predict against actual\n",
        "score_cv = np.sqrt(metrics.mean_squared_error(y_test,predictions_best))\n",
        "\n",
        "# print out the score \n",
        "print('RMSE score for {} is:'.format(best_model.__class__.__name__),np.round((score_cv), decimals=2))"
      ],
      "execution_count": 327,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "RMSE score for RandomForestRegressor is: 4332.13\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "mSfIWon-SjtZ",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 4.1:**  Apply grid search to model you built at **3.3**, remembering to amend the dictionary to match the parameters taken by your model\n",
        "\n",
        "\n",
        "\n",
        "---\n",
        "\n",
        "\n",
        "\n",
        "**ANSWER:**\n",
        "*Use code cell below*\n"
      ]
    },
    {
      "metadata": {
        "id": "i-R1B2yMS37n",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# code here\n",
        "from sklearn.svm import SVR\n",
        "svr = SVR()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "MCXZ-4t4z0eb",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# we need to specify the parameters we want to tune, as a dictionary \n",
        "parameters_svr = {'kernel': ['linear','rbf']}"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "HRWb04Tl0DZG",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# we create our gridsearch object \n",
        "grid_obj_svr = GridSearchCV(svr, parameters_svr)#, scoring=scorer)\n",
        "grid_obj_svr"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "TSnOCYCk0LL7",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# fit to data\n",
        "grid_fit_svr = grid_obj_svr.fit(X_train, y_train)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "C21cBaaK0LQH",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "grid"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "37i05OPxV9GL",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 4.2 Cross-Validation using K-Fold "
      ]
    },
    {
      "metadata": {
        "id": "LZ0UOPesOh-m",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 4.2 (OPTIONAL):** Look up K-Fold Cross-Validation and implement it on our dataset and run the best performing model to see if the score is improved. Take a look at [this](https://sebastianraschka.com/blog/2016/model-evaluation-selection-part3.html) article for more information.\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "uOvIY-rCV9da",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# code here \n",
        " "
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "bjNlPfjSS6EE",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 5. Wrapping up\n",
        "* We have covered: \n",
        "  * What Machine Learning is\n",
        "  * What approach to take to solving machine learning problems\n",
        "  * Loading and processing data\n",
        "  * Splitting data into traing and testing sets\n",
        "* Ideas for additional exercises, *which we can cover via slack if there is demand*:\n",
        "    * Build a *pipeline* to manage all the steps outlined above\n",
        "    * Use *Ensemble* methods to combine different ML models \n",
        "    * Undertake *Exploratory Data Analysis* to understand the dataset better\n",
        "    * Use *Feature Engineering* to provide additional inputs in to the model"
      ]
    },
    {
      "metadata": {
        "id": "JPoDGBr11KbD",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "## End of Day 1!"
      ]
    },
    {
      "metadata": {
        "id": "3Cb9fVKITfyq",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "## Day 2: Deep Learning \n",
        "\n",
        "**Structure of Day 2**\n",
        "1. Introduction to Deep Learning and Keras\n",
        "2. Build DL model, train and evaluate the model \n",
        "3. Refine model "
      ]
    },
    {
      "metadata": {
        "id": "OeuN9HVtUhMB",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 1. Introduction to Deep Learning and Keras\n",
        "**AIM:** \n",
        "* To cover the *basics* of Deep Learning (notes largely taken from 'Deep Learning wtih Python' by Francois Chollet)\n",
        "* To suggest further reading to explore the topic further  \n",
        "* To introduce Keras \n",
        "\n",
        "---\n",
        "\n",
        "**Deep Learning** \n",
        "* Deep Learning is a mathematical framework for learning representations from data.\n",
        "* The *deep* refers to the number of layers within a model: the layers puts an emphasis on learning successive layers of increasingly meaningful representations from the data. \n",
        "\n",
        "![alt text](https://i.stack.imgur.com/iHW2o.jpg)"
      ]
    },
    {
      "metadata": {
        "id": "YekKM6aYGmP6",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "* A Deep Learning model will include the following aspects (which we can specify in order to find the optimal model):\n",
        "  \n",
        "  * *Number of layers:* The core building block of neural networks is the layer, a data-processing module that you can think of as a filter for data. Some data goes in, and it comes out in a more useful form. Specifically, layers extract representations out of the data fed into them. The specification of what a layer does to its input data is stored in the layer’s weights, which in essence are a bunch of numbers. In this context, learning means finding a set of values for the weights of all layers in a network, such that the network will correctly map example inputs to their associated targets.\n",
        "\n",
        "  * *The objective loss function:* How the network will be able to measure its performance on the training data - how far this output is from what you expected - and thus how it will be able to steer itself in the right direction.The loss function takes the predictions of the network and the true target and computes a distance score, capturing how well the network has done on this specific example. \n",
        "  \n",
        "  * *The type of optimizer:* The mechanism through which the network will update itself based on the data it sees and its loss function.An optimizer will adjust the value of the weights a little, in a direction that will lower the loss score for the current example, using the Backpropagation algorithm.\n",
        "  \n",
        "  * *How we train the model on the data:* Initially, the weights of the network are assigned random values, so the network merely implements a series of random transformations. Its output is far from what it should ideally be, and the loss score is accordingly very high. But with every example the network processes, the weights are adjusted a little in the correct direction, and the loss score decreases. This is the training loop, which, repeated a sufficient number of times (typically tens of iterations over thousands of examples), yields weight values that minimize the loss function. A network with a minimal loss is one for which the outputs are as close as they can be to the targets: a trained network. Once again, it’s a simple mechanism that, once scaled, ends up looking like magic.\n",
        "  \n",
        "  \n",
        "* In addition, we also need to think about the type of *activation functions* we use. These define the ouput of node within a layer of the model, and helps the Deep Learning model move from linear representation of the data to non-linearity. \n",
        "* It is considered an art to get the right model, something which requires experimentation with the elements of the model covered above.  \n",
        "* Deep Learning uses linear algebra (matrix multiplication) to model the inputs to the outputs, and caculus (back propogation) to determine the error and update the model during each round of training. This is not covered here.  A free online course in linear algebra for deep learning is [here](http://www.fast.ai/2017/07/17/num-lin-alg/) and for calculus is [here](http://explained.ai/matrix-calculus/index.html?utm_medium=email&utm_source=topic+optin&utm_campaign=awareness&utm_content=20180709+ai+nl&mkt_tok=eyJpIjoiT1RBeE5qTmpaREZtWWpreCIsInQiOiJ1dithMG5IcDBsa0p3YjRVWFVGenpmOG5iQ0syM0M0Q3hMT3d3TUdMWkMwME1odElRTUxoRldmem5rRlhyK2d1YUROeGU0M0VlQ1VyeVJyY2o5RDFyWWFDdGRSWDVCcVp4aTJ3ajM1eDUyVUY4ZVFvZFVvRVduYSs1NmladnRBZSJ9). \n",
        "* Many different types of deep learning models, e.g. convolutional neural networks, which have been shown to be better at computer vision tasks, and recurrent neural networks, which are used in NLP tasks. We will be building a feedforward deep learning model, which is basic but sufficient for the problem we are trying to solve. \n",
        "* See this series of [articles](https://medium.com/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721) and [videos](https://www.youtube.com/watch?v=aircAruvnKk) for a good introduction to Deep Learning (and Machine Learning more generally). The [fast.ai](http://course.fast.ai) Deep Learning Course would be a good next step for anyone interested in doing more deep learning, and this [book](http://www.deeplearningbook.org) is the reference book for the subject (and is free).\n",
        "\n",
        "\n",
        "**Keras**\n",
        "* There are a number of Deep Learning libraries available, such as `Tensorflow` and `PyTorch`. We will be using `Keras`, which is a high level Deep Learning library. `Keras` can use other Deep Learning libraries as its `backend`, meaning we can use the same `Keras` interface to access these different libraries. For this tutorial we will be using `Tensorflow` as the backend.\n",
        "* `Keras` makes it straightforward to build our model, and we will cover operations to add layers, specify our activation functions, optimizer, loss functions and metrics, tailor our training and add regularization to our models. \n",
        "* The best places to learn more about `Keras` include the [Keras Blog](https://blog.keras.io) and the book [Deep Learning with Python](https://www.amazon.co.uk/Deep-Learning-Python-Francois-Chollet/dp/1617294438/ref=sr_1_1?ie=UTF8&qid=1537089319&sr=8-1&keywords=deep+learning+with+python), written by the head of the `Keras` project.."
      ]
    },
    {
      "metadata": {
        "id": "oCpXk7q6CWsx",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 2. Build Model \n",
        "**AIM:**\n",
        "* To build our first Deep Learning Model and get a feel for `Keras` \n",
        "\n",
        "---\n",
        "\n",
        "* In order to build a model, we need to:\n",
        "  * Define the model (its layers, activation functions, and number of 'neurons')\n",
        "  * Compile the model, by specifying the loss, optimizer and metrics we will use to update the model during training \n",
        "  * Fit the model to the data, and specify how we will train it \n",
        "  "
      ]
    },
    {
      "metadata": {
        "id": "avn0sxbU7AsU",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 2.1 Define Model "
      ]
    },
    {
      "metadata": {
        "id": "8SUB_Mo7crGX",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# import statements \n",
        "import tensorflow as tf\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "from keras.layers import Dropout\n",
        "from keras.utils import np_utils"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "ENTYqw197aKo",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 2.1:**  \n",
        "a) Specify the input dimension for the first layer, and the output size for the final layer, then run the code to define the model and see the summary of the model\n",
        "\n",
        "b) Go through below and comment line by line what you think is happening. Look at the [documentation](https://keras.io/getting-started/sequential-model-guide/) to understand this better, and see what other parameters are available to us. See [this](https://stackoverflow.com/questions/44747343/keras-input-explanation-input-shape-units-batch-size-dim-etc) too for more information. \n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**"
      ]
    },
    {
      "metadata": {
        "id": "iaNF339At4e9",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# see Exercise 2.1: What input dimensions are required? \n",
        "input_dim = X_train.shape[1]\n",
        "# see Exercise 2.1: What output size do we need to specify? \n",
        "output_size = 1"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "ijp6sa7iCapO",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 244
        },
        "outputId": "3e9e3187-1bf0-4bf2-ab5d-8f1727db1d8c"
      },
      "cell_type": "code",
      "source": [
        "# Define model\n",
        "# Sequential is a simple, linearly stacked model - see links for further information on this \n",
        "model = Sequential()\n",
        "# This is out first layer, and the only time we need to specify the input dimensions of a layer\n",
        "model.add(Dense(100, input_dim=input_dim, activation= \"relu\"))\n",
        "# This is our second, 'hidden' layer. What other parameters are available to use when adding layers?  \n",
        "model.add(Dense(50, activation= \"relu\"))\n",
        "# This is our output layer\n",
        "model.add(Dense(output_size))\n",
        "# We can print the model summary here \n",
        "model.summary() "
      ],
      "execution_count": 330,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "dense_4 (Dense)              (None, 100)               1000      \n",
            "_________________________________________________________________\n",
            "dense_5 (Dense)              (None, 50)                5050      \n",
            "_________________________________________________________________\n",
            "dense_6 (Dense)              (None, 1)                 51        \n",
            "=================================================================\n",
            "Total params: 6,101\n",
            "Trainable params: 6,101\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "c08KkJMS7IKo",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 2.2 Compile and Fit Model"
      ]
    },
    {
      "metadata": {
        "id": "Jo6yLJ7yChAI",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# Compile model\n",
        "# here we have a number of options for each parameter\n",
        "model.compile(loss= \"mean_squared_error\" , optimizer=\"adam\", metrics=[\"mean_squared_error\"])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "l23m9rIQYxgn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        },
        "outputId": "182989be-54c3-4c6e-f674-3212a7ebb1bb"
      },
      "cell_type": "code",
      "source": [
        "## before fitting the model, let's create a validation set\n",
        "\n",
        "# remind ourselves of the training set shape\n",
        "print(X_train.shape)\n",
        "print(y_train.shape)"
      ],
      "execution_count": 332,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(385047, 9)\n",
            "(385047,)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "ZBJwNvEvZInT",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# partition off X_train in X_train and X_val\n",
        "X_train = X_train[:3000000]\n",
        "X_val = X_train[300000:]\n",
        "\n",
        "# and do the same for y_train \n",
        "y_train = y_train[:3000000]\n",
        "y_val = y_train[300000:]"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "jMpWT_OyCpAR",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1020
        },
        "outputId": "54bf935f-449d-4147-ab06-c4f03188498c"
      },
      "cell_type": "code",
      "source": [
        "# Fit Model\n",
        "# epochs defines how many times we will train the model on the data\n",
        "epochs = 10\n",
        "# each epoch takes around 1 minute. Run with 1 epoch to get a feel for what is happening, Evaluate Model (2.3) then increase to 5 to see how things change\n",
        "history = model.fit(X_train, y_train, epochs=epochs, validation_data=(X_val,y_val))"
      ],
      "execution_count": 334,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Train on 385047 samples, validate on 85047 samples\n",
            "Epoch 1/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 25671102.7002 - mean_squared_error: 25671102.7002 - val_loss: 20917538.8086 - val_mean_squared_error: 20917538.8086\n",
            "Epoch 2/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 18953682.6977 - mean_squared_error: 18953682.6977 - val_loss: 18093609.0027 - val_mean_squared_error: 18093609.0027\n",
            "Epoch 3/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 17831003.7870 - mean_squared_error: 17831003.7870 - val_loss: 17903350.7267 - val_mean_squared_error: 17903350.7267\n",
            "Epoch 4/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 17776329.1680 - mean_squared_error: 17776329.1680 - val_loss: 17868566.4822 - val_mean_squared_error: 17868566.4822\n",
            "Epoch 5/10\n",
            "385047/385047 [==============================] - 19s 48us/step - loss: 17768063.7247 - mean_squared_error: 17768063.7247 - val_loss: 17886981.3746 - val_mean_squared_error: 17886981.3746\n",
            "Epoch 6/10\n",
            "385047/385047 [==============================] - 19s 48us/step - loss: 17762622.4475 - mean_squared_error: 17762622.4475 - val_loss: 17938485.1754 - val_mean_squared_error: 17938485.1754\n",
            "Epoch 7/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 17758888.0085 - mean_squared_error: 17758888.0085 - val_loss: 17875605.9691 - val_mean_squared_error: 17875605.9691\n",
            "Epoch 8/10\n",
            "385047/385047 [==============================] - 19s 48us/step - loss: 17755817.8505 - mean_squared_error: 17755817.8505 - val_loss: 17865407.2081 - val_mean_squared_error: 17865407.2081\n",
            "Epoch 9/10\n",
            "385047/385047 [==============================] - 19s 49us/step - loss: 17751706.2811 - mean_squared_error: 17751706.2811 - val_loss: 17855153.5522 - val_mean_squared_error: 17855153.5522\n",
            "Epoch 10/10\n",
            "385047/385047 [==============================] - 19s 48us/step - loss: 17746577.5249 - mean_squared_error: 17746577.5249 - val_loss: 17847767.8909 - val_mean_squared_error: 17847767.8909\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "M1GJ5j7NS-7I",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "81ec377b-ba99-4ae6-e5c1-5e42d6d6112a"
      },
      "cell_type": "code",
      "source": [
        "# model.fit returns a history object, which contains a history dictionary about everything that happened during training \n",
        "history_dict = history.history\n",
        "history_dict.keys()"
      ],
      "execution_count": 335,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "dict_keys(['val_loss', 'val_mean_squared_error', 'loss', 'mean_squared_error'])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 335
        }
      ]
    },
    {
      "metadata": {
        "id": "5aHGbIIXXV-9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 192
        },
        "outputId": "be1eb8c2-9d45-4c54-adca-02afe6747af6"
      },
      "cell_type": "code",
      "source": [
        "# for example we can access the validation loss like this\n",
        "history_dict['val_loss']"
      ],
      "execution_count": 336,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[20917538.808635224,\n",
              " 18093609.00273966,\n",
              " 17903350.726727575,\n",
              " 17868566.482227474,\n",
              " 17886981.3745576,\n",
              " 17938485.17542065,\n",
              " 17875605.96909944,\n",
              " 17865407.208131973,\n",
              " 17855153.55224758,\n",
              " 17847767.89090738]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 336
        }
      ]
    },
    {
      "metadata": {
        "id": "2_PCBb_bSzEP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 376
        },
        "outputId": "4bd801df-7cea-4538-b975-981f9aac9e6b"
      },
      "cell_type": "code",
      "source": [
        "# and use it to plot out the training performance\n",
        "loss_values = history_dict['loss']\n",
        "val_loss_values = history_dict['val_loss']\n",
        "\n",
        "epochs = range(1, len(history_dict['mean_squared_error']) + 1)\n",
        "\n",
        "plt.plot(epochs, loss_values, 'bo', label='Training loss')           \n",
        "plt.plot(epochs, val_loss_values, 'b', label='Validation loss')      \n",
        "plt.title('Training and validation loss')\n",
        "plt.xlabel('Epochs')\n",
        "plt.ylabel('Loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 337,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nq6++iujoaPTu3bsmZRARERFqGN5OTk7417/+hd27d2PEiBFo06bNXa8MLyoqQlxcHBISEtCkSZMq\nyxcsWIAxY8YgKCjo/ionIiKqp2p02LysrAzbt29HRkYGJk+ejIKCAhQWFla7TVpaGtRqNaKjo01t\nPXr0gL+/P3r37o2tW7fir7/+QmpqKgDg6aefRkRExAP8KkRERPWDzGAwGO62UnZ2NtasWYOnn34a\ngwcPxvLly/HQQw/hmWeeEaNGAOD5mr/x3JU42M/iYD+Lg/0sDjHPeddo5P3kk0+iU6dOcHZ2xvXr\n1xEYGIguXbrUaoFERERUMzU65x0bG4vt27ejoKAAI0eOxLp16zB79myBSyMiIiJLahTex48fx/Dh\nw7F9+3aEh4djyZIl+Ouvv4SujYiIiCyoUXhXnhbPzMxEcHAwAECj0QhXFREREVlVo/D28/PD4MGD\nUVJSgkceeQRbt25F48aNha6NiIiILKjRBWtz587FqVOn8PDDDwMA2rRpg7i4OEELIyIiIstqFN7l\n5eXYs2cPli5dCplMhs6dO6NNmzZC10ZEREQW1OiweUxMDIqLizFy5EiMGDEC169fx3vvvSd0bURE\nRGRBjUbe169fx+LFi00/9+vXD5GRkYIVRURERNbVaORdVlaGsrIy08+lpaW4deuWYEURERGRdTUa\neUdERGDQoEHo1KkTAODYsWN3nX+biIiIhFGj8H7++efRq1cvHDt2DDKZDDExMVi7dq3QtREREZEF\nNQpvAGjevDmaN29u+vm3334TpCAiIiKqXo3OeVtSg8nIiIiISAD3Hd4ymaw26yAiIqIaqvaweZ8+\nfSyGtMFggFqtFqwoIiIisq7a8N6wYYNYdRAREVENVRvevr6+YtVBRERENXTf57yJiIjINhjeRERE\nEsPwJiIikhiGNxERkcQwvImIiCSG4U1ERCQxDG8iIiKJETS84+LiEBERgWHDhmHnzp1my27duoV3\n3nkHzz33nJAlEBER2Z0azyp2r7Kzs5Gbm4uUlBSo1WqEh4djwIABpuVxcXF45JFHkJubK1QJRERE\ndkmw8O7WrRsCAgIAAK6urigrK4NOp4NCoQAAvPHGGygoKMA333wjVAlERER2SbDD5gqFAiqVCgCQ\nmpqKoKAgU3ADgLOzs1BPTUREZNcEG3lXysjIQGpqKpKTkx9oP25uKiiViruvWA94errYuoR6gf0s\n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\nDG8iIiKJ+X8exTy7l1g0LQAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fc55f2aada0>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "vEc2op9YDkjD",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### 2.3 Evaluate Model"
      ]
    },
    {
      "metadata": {
        "id": "xwlNhVMpWfLS",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 376
        },
        "outputId": "ca8cbaa0-2ecf-4db0-c3a3-c6c4b42f714a"
      },
      "cell_type": "code",
      "source": [
        "# and evaluate the model using the scores\n",
        "plt.clf()                                      \n",
        "mse_values = history_dict['mean_squared_error']\n",
        "val_mse_values = history_dict['val_mean_squared_error']\n",
        "\n",
        "plt.plot(epochs, mse_values, 'bo', label='Training MSE')\n",
        "plt.plot(epochs, val_mse_values, 'b', label='Validation MSE')\n",
        "plt.title('Training and validation score')\n",
        "plt.xlabel('Epochs')\n",
        "plt.ylabel('Loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 338,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fc5622af588>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "S-ihCa1nDnh2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "9955cce1-d2f2-4b7f-debe-96d45663a066"
      },
      "cell_type": "code",
      "source": [
        "# we can evaluate in a similar way to the machine learning models \n",
        "predict = model.predict(X_test)\n",
        "score_nn = np.sqrt(metrics.mean_squared_error(y_test,predict))\n",
        "\n",
        "print('RMSE score for {} is:'.format(model.__class__.__name__),np.round((score_nn), decimals=2))"
      ],
      "execution_count": 339,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "RMSE score for Sequential is: 4215.91\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "yyqYWGfXOReU",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 2.3:**  What are the reasons that this model might not be as good as the machine learning models we used on Day 1?\n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:**\n",
        "\n",
        "\n"
      ]
    },
    {
      "metadata": {
        "id": "nOmUo0By8D_p",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 3. Refine Model\n",
        "**AIM:** \n",
        "To understand the options for building models and refining how compile and fit models. \n",
        "\n",
        "---\n",
        "**Defining Models**\n",
        "  * We can change the number of *'neurons'* that are used at each layer of the model. This will increase or decrease the number of parameters in the model, and may result in the model over- or under-fitting.  \n",
        "  * We can add or remove *layers* within the model. Again, this will increase or decrease the number of parameters in the model, and may result in the model over- or under-fitting.  \n",
        "  * We can change the *activation functions* at each layer of the model, including (where appropriate), the output layer. Some activation functions are more suited to certain problem types, and the ones specified here are appropriate for a regression problem. See the [documention](https://keras.io/activations/) for more information.\n",
        "  \n",
        "**Regularizing Models**\n",
        "* *Weight regularization* constrains the complexity by forcing a network's weights to take only small values, which makes the distribution of weight values more regular. It’s done by adding to the loss function of the network a cost associated with having large weights. This cost will force the optimizer function to update the weights in a direction that reduces the larger weights, and can be calculated by:\n",
        "   * L1 regularization— The cost added is proportional to the absolute value of the weight coefficients.\n",
        "   * L2 regularization— The cost added is proportional to the square of the value of the weight coefficients. See [here](https://keras.io/regularizers/) for more detail.\n",
        "* *Dropout* results in some neurons being omitted from each training epoch, so that the model doesn't become reliant on certain 'neural pathways.' For each training instance, a node has a user defined probabilty of not being activated. We can specify dropout when we build our model, see the documentation and feel free to incorporate it in *Exercise 3.1*. See [here](http://www.cs.toronto.edu/~rsalakhu/papers/srivastava14a.pdf) for more detail and [here](https://keras.io/layers/core/) for how to code it, as well as another example [here](https://machinelearningmastery.com/dropout-regularization-deep-learning-models-keras/).\n",
        "  \n",
        "**Compiling Models**\n",
        "  * We can choose a range of *Optimisation*, *Loss* and *Metric* functions when compiling our models. Like activation functions, some are more suited to certain types of problems than others. See the documentation for more on [Optimizers](https://keras.io/optimizers/), [Loss](https://keras.io/losses/), and [Metrics](https://keras.io/metrics/). \n",
        "  * We can do a `Grid Search` of hyperparameters as we did in Day 1, see [here](https://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/) for a guide.\n",
        "  \n",
        "  \n",
        "**Refine training/fitting**\n",
        "  * The `.fit()` function contains a number of parameters that can be used to modify how we train our models. See the [documentation](https://keras.io/models/sequential/) for more details.\n",
        "  * For example, it is possible at this stage to partition a validation dataset from the training data, and to evaluate the loss and model metric at each epoch on this validation set.\n",
        "  * We can amend the number of epochs we train the model on, and also specify the number of steps (batches) per epoch, with each batch leading to a gradient update.\n",
        "  * We can also specify [Callbacks](https://keras.io/callbacks/), which are used to provide more information about how the model is trained. See [here](https://machinelearningmastery.com/check-point-deep-learning-models-keras/) for a worked example"
      ]
    },
    {
      "metadata": {
        "id": "YnUne5B08agg",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 3.1:**  Develop a new model (you can use the previous model as a basis for your new one), using one or more of the \n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:** *Use code cell below*"
      ]
    },
    {
      "metadata": {
        "id": "Ur2T-9DjnYlQ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 312
        },
        "outputId": "7256b432-e9f4-4436-86d5-9a56ac3f2c8e"
      },
      "cell_type": "code",
      "source": [
        "## TODO: Build new DL Model here\n",
        "model_1 = Sequential()\n",
        "model_1.add(Dense(256,input_dim=input_dim, activation='relu')) \n",
        "model_1.add(Dense(128,activation='relu'))\n",
        "model_1.add(Dropout(0.2))\n",
        "model_1.add(Dense(64,activation='relu'))\n",
        "model_1.add(Dense(output_size))\n",
        "model_1.summary()"
      ],
      "execution_count": 341,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "dense_7 (Dense)              (None, 256)               2560      \n",
            "_________________________________________________________________\n",
            "dense_8 (Dense)              (None, 128)               32896     \n",
            "_________________________________________________________________\n",
            "dropout_1 (Dropout)          (None, 128)               0         \n",
            "_________________________________________________________________\n",
            "dense_9 (Dense)              (None, 64)                8256      \n",
            "_________________________________________________________________\n",
            "dense_10 (Dense)             (None, 1)                 65        \n",
            "=================================================================\n",
            "Total params: 43,777\n",
            "Trainable params: 43,777\n",
            "Non-trainable params: 0\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "oZJhDiwx0ybq",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "## TODO: Compile new model here \n",
        "# here we have a number of options for each parameter\n",
        "model_1.compile(loss= \"mean_squared_error\" , optimizer=\"adam\", metrics=[\"mean_squared_error\"])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "HXdxCMkrbafg",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "# set-up a callback here if you wish\n",
        "callback = "
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "P31Ci6W-0tIQ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1020
        },
        "outputId": "08ece5e0-061a-48e2-8db2-587b2c0b9e15"
      },
      "cell_type": "code",
      "source": [
        "## TODO: Train new Model here\n",
        "epochs = 5\n",
        "history_1 = model_1.fit(X_train, y_train, epochs=epochs,validation_data=(X_val,y_val))#,callbacks=callback)   # delete callbacks argument if not used"
      ],
      "execution_count": 344,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Train on 385047 samples, validate on 85047 samples\n",
            "Epoch 1/5\n",
            "385047/385047 [==============================] - 28s 72us/step - loss: 18104025.1334 - mean_squared_error: 18104025.1334 - val_loss: 17684649.6255 - val_mean_squared_error: 17684649.6255\n",
            "Epoch 2/5\n",
            "385047/385047 [==============================] - 28s 72us/step - loss: 17814361.9065 - mean_squared_error: 17814361.9065 - val_loss: 17223915.4229 - val_mean_squared_error: 17223915.4229\n",
            "Epoch 3/5\n",
            "385047/385047 [==============================] - 28s 72us/step - loss: 17166990.1309 - mean_squared_error: 17166990.1309 - val_loss: 16509546.6927 - val_mean_squared_error: 16509546.6927\n",
            "Epoch 4/5\n",
            "385047/385047 [==============================] - 29s 75us/step - loss: 16655054.0561 - mean_squared_error: 16655054.0561 - val_loss: 16494438.8594 - val_mean_squared_error: 16494438.8594\n",
            "Epoch 5/5\n",
            "385047/385047 [==============================] - 29s 76us/step - loss: 15525973.2415 - mean_squared_error: 15525973.2415 - val_loss: 14436143.7620 - val_mean_squared_error: 14436143.7620\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "aaef2NMg-aX2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 376
        },
        "outputId": "302e111e-4b9f-464b-f0b8-596f556e84b0"
      },
      "cell_type": "code",
      "source": [
        "# and use it to plot out the training performance\n",
        "history_dict_1 = history.history\n",
        "loss_values = history_dict_1['loss']\n",
        "val_loss_values = history_dict_1['val_loss']\n",
        "\n",
        "epochs = range(1, len(history_dict_1['mean_squared_error']) + 1)\n",
        "\n",
        "plt.plot(epochs, loss_values, 'bo', label='Training loss')           \n",
        "plt.plot(epochs, val_loss_values, 'b', label='Validation loss')      \n",
        "plt.title('Training and validation loss')\n",
        "plt.xlabel('Epochs')\n",
        "plt.ylabel('Loss')\n",
        "plt.legend()\n",
        "\n",
        "plt.show()"
      ],
      "execution_count": 345,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nq6++iujoaPTu3bsmZRARERFqGN5OTk7417/+hd27d2PEiBFo06bNXa8MLyoqQlxcHBISEtCkSZMq\nyxcsWIAxY8YgKCjo/ionIiKqp2p02LysrAzbt29HRkYGJk+ejIKCAhQWFla7TVpaGtRqNaKjo01t\nPXr0gL+/P3r37o2tW7fir7/+QmpqKgDg6aefRkRExAP8KkRERPWDzGAwGO62UnZ2NtasWYOnn34a\ngwcPxvLly/HQQw/hmWeeEaNGAOD5mr/x3JU42M/iYD+Lg/0sDjHPeddo5P3kk0+iU6dOcHZ2xvXr\n1xEYGIguXbrUaoFERERUMzU65x0bG4vt27ejoKAAI0eOxLp16zB79myBSyMiIiJLahTex48fx/Dh\nw7F9+3aEh4djyZIl+Ouvv4SujYiIiCyoUXhXnhbPzMxEcHAwAECj0QhXFREREVlVo/D28/PD4MGD\nUVJSgkceeQRbt25F48aNha6NiIiILKjRBWtz587FqVOn8PDDDwMA2rRpg7i4OEELIyIiIstqFN7l\n5eXYs2cPli5dCplMhs6dO6NNmzZC10ZEREQW1OiweUxMDIqLizFy5EiMGDEC169fx3vvvSd0bURE\nRGRBjUbe169fx+LFi00/9+vXD5GRkYIVRURERNbVaORdVlaGsrIy08+lpaW4deuWYEURERGRdTUa\neUdERGDQoEHo1KkTAODYsWN3nX+biIiIhFGj8H7++efRq1cvHDt2DDKZDDExMVi7dq3QtREREZEF\nNQpvAGjevDmaN29u+vm3334TpCAiIiKqXo3OeVtSg8nIiIiISAD3Hd4ymaw26yAiIqIaqvaweZ8+\nfSyGtMFggFqtFqwoIiIisq7a8N6wYYNYdRAREVENVRvevr6+YtVBRERENXTf57yJiIjINhjeRERE\nEsPwJiIikhiGNxERkcQwvImIiCSG4U1ERCQxDG8iIiKJETS84+LiEBERgWHDhmHnzp1my27duoV3\n3nkHzz33nJAlEBER2Z0azyp2r7Kzs5Gbm4uUlBSo1WqEh4djwIABpuVxcXF45JFHkJubK1QJRERE\ndkmw8O7WrRsCAgIAAK6urigrK4NOp4NCoQAAvPHGGygoKMA333wjVAlERER2SbDD5gqFAiqVCgCQ\nmpqKoKAgU3ADgLOzs1BPTUREZNcEG3lXysjIQGpqKpKTkx9oP25uKiiViruvWA94errYuoR6gf0s\n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\nDG8iIiKJ+X8exTy7l1g0LQAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fc55f4ac390>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "yGQezHJf11sF",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 36
        },
        "outputId": "8ef8a4a3-5859-471d-bd8d-0cc4475c4789"
      },
      "cell_type": "code",
      "source": [
        "## TODO: Evaluate your model\n",
        "predict = model_1.predict(X_test)\n",
        "score = np.sqrt(metrics.mean_squared_error(y_test,predict))\n",
        "print (score)"
      ],
      "execution_count": 346,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "3799.6079670593103\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "NL2N1RQs97Yj",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "**EXERCISE 3.2:**  Choose one aspect of the training to train by researching the above points further then passing the compiled model from *3.2* to the \n",
        "\n",
        "---\n",
        "\n",
        "**ANSWER:** *Use code cell below*"
      ]
    },
    {
      "metadata": {
        "id": "XqwxJddK-W-b",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "## TODO: Build new training approach\n",
        "model_1.fit( #insert parameters here"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "HoVA8r7C2NFe",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "## TODO: Evaluate your model\n",
        "predict = model_1.predict(X_test)\n",
        "score = np.sqrt(metrics.mean_squared_error(y_test,predict))\n",
        "print (score)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "CQmM5S-l1Yo1",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "### 4. Wrapping up\n",
        "* We have covered: \n",
        "  * What Deep Learning is\n",
        "  * Building, compiling and fitting a model\n",
        "  * Refining how we build model, regularize and train our model\n",
        "* Ideas for additional exercises, *which we can cover via slack if there is demand*:\n",
        "    * Adding additional regularization methods\n",
        "    * Experimenting with adding model layers, changing the number of neurons in the model \n",
        "    "
      ]
    }
  ]
}