{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img width=\"800px\" src=\"../fidle/img/00-Fidle-header-01.svg\"></img>\n",
    "\n",
    "\n",
    "# <!-- TITLE --> [BHP1] - Regression with a Dense Network (DNN)\n",
    "<!-- DESC --> A Simple regression with a Dense Neural Network (DNN) - BHPD dataset\n",
    "<!-- AUTHOR : Jean-Luc Parouty (CNRS/SIMaP) -->\n",
    "\n",
    "## Objectives :\n",
    " - Predicts **housing prices** from a set of house features. \n",
    " - Understanding the **principle** and the **architecture** of a regression with a **dense neural network**  \n",
    "\n",
    "\n",
    "The **[Boston Housing Dataset](https://www.cs.toronto.edu/~delve/data/boston/bostonDetail.html)** consists of price of houses in various places in Boston.  \n",
    "Alongside with price, the dataset also provide theses informations : \n",
    "\n",
    " - CRIM: This is the per capita crime rate by town\n",
    " - ZN: This is the proportion of residential land zoned for lots larger than 25,000 sq.ft\n",
    " - INDUS: This is the proportion of non-retail business acres per town\n",
    " - CHAS: This is the Charles River dummy variable (this is equal to 1 if tract bounds river; 0 otherwise)\n",
    " - NOX: This is the nitric oxides concentration (parts per 10 million)\n",
    " - RM: This is the average number of rooms per dwelling\n",
    " - AGE: This is the proportion of owner-occupied units built prior to 1940\n",
    " - DIS: This is the weighted distances to five Boston employment centers\n",
    " - RAD: This is the index of accessibility to radial highways\n",
    " - TAX: This is the full-value property-tax rate per 10,000 dollars\n",
    " - PTRATIO: This is the pupil-teacher ratio by town\n",
    " - B: This is calculated as 1000(Bk — 0.63)^2, where Bk is the proportion of people of African American descent by town\n",
    " - LSTAT: This is the percentage lower status of the population\n",
    " - MEDV: This is the median value of owner-occupied homes in 1000 dollars\n",
    "## What we're going to do :\n",
    "\n",
    " - Retrieve data\n",
    " - Preparing the data\n",
    " - Build a model\n",
    " - Train the model\n",
    " - Evaluate the result\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 1 - Import and init"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "\n",
       "div.warn {    \n",
       "    background-color: #fcf2f2;\n",
       "    border-color: #dFb5b4;\n",
       "    border-left: 5px solid #dfb5b4;\n",
       "    padding: 0.5em;\n",
       "    font-weight: bold;\n",
       "    font-size: 1.1em;;\n",
       "    }\n",
       "\n",
       "\n",
       "\n",
       "div.nota {    \n",
       "    background-color: #DAFFDE;\n",
       "    border-left: 5px solid #92CC99;\n",
       "    padding: 0.5em;\n",
       "    }\n",
       "\n",
       "div.todo:before { content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1My44OTEyIiBoZWlnaHQ9IjE0My4zOTAyIiB2aWV3Qm94PSIwIDAgNTMuODkxMiAxNDMuMzkwMiI+PHRpdGxlPjAwLUJvYi10b2RvPC90aXRsZT48cGF0aCBkPSJNMjMuNDU2OCwxMTQuMzAxNmExLjgwNjMsMS44MDYzLDAsMSwxLDEuODE1NywxLjgyNEExLjgyMDksMS44MjA5LDAsMCwxLDIzLjQ1NjgsMTE0LjMwMTZabS0xMC42NjEyLDEuODIyQTEuODI3MiwxLjgyNzIsMCwxLDAsMTAuOTgsMTE0LjMsMS44MiwxLjgyLDAsMCwwLDEyLjc5NTYsMTE2LjEyMzZabS03LjcwNyw0LjU4NzR2LTVzLjQ4NjMtOS4xMjIzLDguMDIxNS0xMS45Njc1YTE5LjIwODIsMTkuMjA4MiwwLDAsMSw2LjA0ODYtMS4yNDU0LDE5LjE3NzgsMTkuMTc3OCwwLDAsMSw2LjA0ODcsMS4yNDc1YzcuNTM1MSwyLjgzNDcsOC4wMTc0LDExLjk2NzQsOC4wMTc0LDExLjk2NzR2NS4wMjM0bC4wMDQyLDcuNjgydjIuNGMuMDE2Ny4xOTkyLjAzMzYuMzkyMS4wMzM2LjU4NzEsMCwuMjEzOC0uMDE2OC40MTA5LS4wMzM2LjYzMzJ2LjA1ODdoLS4wMDg0YTguMzcxOSw4LjM3MTksMCwwLDEtNy4zNzM4LDcuNjU0N3MtLjk5NTMsMy42MzgtNi42OTMzLDMuNjM4LTYuNjkzNC0zLjYzOC02LjY5MzQtMy42MzhhOC4zNyw4LjM3LDAsMCwxLTcuMzcxNi03LjY1NDdINS4wODQzdi0uMDU4N2MtLjAxODktLjIyLS4wMjk0LS40MTk0LS4wMjk0LS42MzMyLDAtLjE5MjkuMDE2Ny0uMzgzNy4wMjk0LS41ODcxdi0yLjRtMTguMDkzNy00LjA0YTEuMTU2NSwxLjE1NjUsMCwxLDAtMi4zMTI2LDAsMS4xNTY0LDEuMTU2NCwwLDEsMCwyLjMxMjYsMFptNC4wODM0LDBhMS4xNTk1LDEuMTU5NSwwLDEsMC0xLjE2MzYsMS4xN0ExLjE3NSwxLjE3NSwwLDAsMCwyNy4yNjE0LDEyNC4zNzc5Wk05LjM3MzksMTE0LjYzNWMwLDMuMTA5MywyLjQxMzIsMy4zMSwyLjQxMzIsMy4zMWExMzMuOTI0MywxMzMuOTI0MywwLDAsMCwxNC43MzQ4LDBzMi40MTExLS4xOTI5LDIuNDExMS0zLjMxYTguMDc3Myw4LjA3NzMsMCwwLDAtMi40MTExLTUuNTUxOWMtNC41LTMuNTAzMy05LjkxMjYtMy41MDMzLTE0Ljc0MTEsMEE4LjA4NTEsOC4wODUxLDAsMCwwLDkuMzczOSwxMTQuNjM1WiIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxjaXJjbGUgY3g9IjMzLjE0MzYiIGN5PSIxMjQuNTM0IiByPSIzLjgzNjMiIHN0eWxlPSJmaWxsOiMwMTAxMDEiLz48cmVjdCB4PSIzNS42NjU5IiB5PSIxMTIuOTYyNSIgd2lkdGg9IjIuMDc3IiBoZWlnaHQ9IjEwLjU0NTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxLjYgMjQxLjExMjEpIHJvdGF0ZSgtMTU1Ljc0NikiIHN0eWxlPSJmaWxsOiMwMTAxMDEiLz48Y2lyY2xlIGN4PSIzOC44NzA0IiBjeT0iMTEzLjQyNzkiIHI9IjIuNDA4NSIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxjaXJjbGUgY3g9IjUuMjI0OCIgY3k9IjEyNC41MzQiIHI9IjMuODM2MyIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxyZWN0IHg9IjEuNDE2NCIgeT0iMTI0LjYzMDEiIHdpZHRoPSIyLjA3NyIgaGVpZ2h0PSIxMC41NDU4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjkwOTcgMjU5LjgwNikgcm90YXRlKC0xODApIiBzdHlsZT0iZmlsbDojMDEwMTAxIi8+PGNpcmNsZSBjeD0iMi40MDkxIiBjeT0iMTM3LjA5OTYiIHI9IjIuNDA4NSIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxwYXRoIGQ9Ik0xOC4wNTExLDEwMC4xMDY2aC0uMDE0NlYxMDIuNjFoMi4zdi0yLjQyNzlhMi40MjI5LDIuNDIyOSwwLDEsMC0yLjI4NTQtLjA3NTVaIiBzdHlsZT0iZmlsbDojMDEwMTAxIi8+PHBhdGggZD0iTTM5LjQyMTQsMjcuMjU4djEuMDVBMTEuOTQ1MiwxMS45NDUyLDAsMCwwLDQ0LjU5NTQsNS43OWEuMjQ0OS4yNDQ5LDAsMCwxLS4wMjM1LS40MjI3TDQ2Ljc1LDMuOTUxNWEuMzg5Mi4zODkyLDAsMCwxLC40MjYyLDAsMTQuODQ0MiwxNC44NDQyLDAsMCwxLTcuNzU0MywyNy4yNTkxdjEuMDY3YS40NS40NSwwLDAsMS0uNzA0Ny4zNzU4bC0zLjg0MTktMi41MWEuNDUuNDUsMCwwLDEsMC0uNzUxNmwzLjg0MTktMi41MWEuNDUuNDUsMCwwLDEsLjY5NDYuMzc1OFpNNDMuMjMsMi41ODkyLDM5LjM4NzguMDc5NGEuNDUuNDUsMCwwLDAtLjcwNDYuMzc1OHYxLjA2N2ExNC44NDQyLDE0Ljg0NDIsMCwwLDAtNy43NTQzLDI3LjI1OTEuMzg5LjM4OSwwLDAsMCwuNDI2MSwwbDIuMTc3Ny0xLjQxOTNhLjI0NS4yNDUsMCwwLDAtLjAyMzUtLjQyMjgsMTEuOTQ1MSwxMS45NDUxLDAsMCwxLDUuMTc0LTIyLjUxNDZ2MS4wNWEuNDUuNDUsMCwwLDAsLjcwNDYuMzc1OGwzLjg1NTMtMi41MWEuNDUuNDUsMCwwLDAsMC0uNzUxNlpNMzkuMDUyMywxNC4yNDU4YTIuMTIwNiwyLjEyMDYsMCwxLDAsMi4xMjA2LDIuMTIwNmgwQTIuMTI0LDIuMTI0LDAsMCwwLDM5LjA1MjMsMTQuMjQ1OFptNi4wNzMyLTQuNzc4MS44MjU0LjgyNTVhMS4wNTY4LDEuMDU2OCwwLDAsMSwuMTE3NSwxLjM0MjFsLS44MDIsMS4xNDQyYTcuMTAxOCw3LjEwMTgsMCwwLDEsLjcxMTQsMS43MTEybDEuMzc1Ny4yNDE2YTEuMDU2OSwxLjA1NjksMCwwLDEsLjg3NTcsMS4wNHYxLjE2NDNhMS4wNTY5LDEuMDU2OSwwLDAsMS0uODc1NywxLjA0bC0xLjM3MjQuMjQxNkE3LjExLDcuMTEsMCwwLDEsNDUuMjcsMTkuOTNsLjgwMTksMS4xNDQyYTEuMDU3LDEuMDU3LDAsMCwxLS4xMTc0LDEuMzQyMmwtLjgyODguODQ4OWExLjA1NywxLjA1NywwLDAsMS0xLjM0MjEuMTE3NGwtMS4xNDQyLS44MDE5YTcuMTMzOCw3LjEzMzgsMCwwLDEtMS43MTEzLjcxMTNsLS4yNDE2LDEuMzcyNGExLjA1NjgsMS4wNTY4LDAsMCwxLTEuMDQuODc1N0gzOC40Njg0YTEuMDU2OCwxLjA1NjgsMCwwLDEtMS4wNC0uODc1N2wtLjI0MTYtMS4zNzI0YTcuMTM1NSw3LjEzNTUsMCwwLDEtMS43MTEzLS43MTEzbC0xLjE0NDEuODAxOWExLjA1NzEsMS4wNTcxLDAsMCwxLTEuMzQyMi0uMTE3NGwtLjgzNTUtLjgyNTVhMS4wNTcsMS4wNTcsMCwwLDEtLjExNzQtMS4zNDIxbC44MDE5LTEuMTQ0MmE3LjEyMSw3LjEyMSwwLDAsMS0uNzExMy0xLjcxMTJsLTEuMzcyNC0uMjQxNmExLjA1NjksMS4wNTY5LDAsMCwxLS44NzU3LTEuMDRWMTUuNzgyNmExLjA1NjksMS4wNTY5LDAsMCwxLC44NzU3LTEuMDRsMS4zNzU3LS4yNDE2YTcuMTEsNy4xMSwwLDAsMSwuNzExNC0xLjcxMTJsLS44MDItMS4xNDQyYTEuMDU3LDEuMDU3LDAsMCwxLC4xMTc1LTEuMzQyMmwuODI1NC0uODI1NEExLjA1NjgsMS4wNTY4LDAsMCwxLDM0LjMyNDUsOS4zNmwxLjE0NDIuODAxOUE3LjEzNTUsNy4xMzU1LDAsMCwxLDM3LjE4LDkuNDUxbC4yNDE2LTEuMzcyNGExLjA1NjgsMS4wNTY4LDAsMCwxLDEuMDQtLjg3NTdoMS4xNjc3YTEuMDU2OSwxLjA1NjksMCwwLDEsMS4wNC44NzU3bC4yNDE2LDEuMzcyNGE3LjEyNSw3LjEyNSwwLDAsMSwxLjcxMTIuNzExM0w0My43NjY2LDkuMzZBMS4wNTY5LDEuMDU2OSwwLDAsMSw0NS4xMjU1LDkuNDY3N1ptLTIuMDMsNi44OTg3QTQuMDQzMyw0LjA0MzMsMCwxLDAsMzkuMDUyMywyMC40MWgwQTQuMDQ2NSw0LjA0NjUsMCwwLDAsNDMuMDk1NSwxNi4zNjY0WiIgc3R5bGU9ImZpbGw6I2UxMjIyOSIvPjxwb2x5Z29uIHBvaW50cz0iMzkuNDEzIDM0Ljc1NyAzOS41MzcgMzQuNzU3IDM5LjY3NSAzNC43NTcgMzkuNjc1IDEwOS41MSAzOS41MzcgMTA5LjUxIDM5LjQxMyAxMDkuNTEgMzkuNDEzIDM0Ljc1NyAzOS40MTMgMzQuNzU3IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojOTk5O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjMwODg1NDQ1MDU2MDE2MThweDtmaWxsLXJ1bGU6ZXZlbm9kZCIvPjwvc3ZnPg==);\n",
       "    float:left;\n",
       "    margin-right:20px;\n",
       "    margin-top:-20px;\n",
       "    margin-bottom:20px;\n",
       "}\n",
       "div.todo{\n",
       "    font-weight: bold;\n",
       "    font-size: 1.1em;\n",
       "    margin-top:40px;\n",
       "}\n",
       "div.todo ul{\n",
       "    margin: 0.2em;\n",
       "}\n",
       "div.todo li{\n",
       "    margin-left:60px;\n",
       "    margin-top:0;\n",
       "    margin-bottom:0;\n",
       "}\n",
       "\n",
       "\n",
       "</style>\n",
       "\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "FIDLE 2020 - Practical Work Module\n",
      "Version              : 0.56 DEV\n",
      "Run time             : Wednesday 9 September 2020, 10:45:12\n",
      "TensorFlow version   : 2.2.0\n",
      "Keras version        : 2.3.0-tf\n",
      "Current place        : Fidle at IDRIS\n",
      "Dataset dir          : /gpfswork/rech/mlh/commun/datasets\n",
      "Update keras cache   : Done\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import os,sys\n",
    "\n",
    "sys.path.append('..')\n",
    "import fidle.pwk as ooo\n",
    "\n",
    "place, dataset_dir = ooo.init()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 2 - Retrieve data\n",
    "\n",
    "### 2.1 - Option 1  : From Keras\n",
    "Boston housing is a famous historic dataset, so we can get it directly from [Keras datasets](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# (x_train, y_train), (x_test, y_test) = keras.datasets.boston_housing.load_data(test_split=0.2, seed=113)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 - Option 2 : From a csv file\n",
    "More fun !"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7\" ><caption>Few lines of the dataset :</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >crim</th>        <th class=\"col_heading level0 col1\" >zn</th>        <th class=\"col_heading level0 col2\" >indus</th>        <th class=\"col_heading level0 col3\" >chas</th>        <th class=\"col_heading level0 col4\" >nox</th>        <th class=\"col_heading level0 col5\" >rm</th>        <th class=\"col_heading level0 col6\" >age</th>        <th class=\"col_heading level0 col7\" >dis</th>        <th class=\"col_heading level0 col8\" >rad</th>        <th class=\"col_heading level0 col9\" >tax</th>        <th class=\"col_heading level0 col10\" >ptratio</th>        <th class=\"col_heading level0 col11\" >b</th>        <th class=\"col_heading level0 col12\" >lstat</th>        <th class=\"col_heading level0 col13\" >medv</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col0\" class=\"data row0 col0\" >0.01</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col1\" class=\"data row0 col1\" >18.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col2\" class=\"data row0 col2\" >2.31</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col3\" class=\"data row0 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col4\" class=\"data row0 col4\" >0.54</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col5\" class=\"data row0 col5\" >6.58</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col6\" class=\"data row0 col6\" >65.20</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col7\" class=\"data row0 col7\" >4.09</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col8\" class=\"data row0 col8\" >1.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col9\" class=\"data row0 col9\" >296.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col10\" class=\"data row0 col10\" >15.30</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col11\" class=\"data row0 col11\" >396.90</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col12\" class=\"data row0 col12\" >4.98</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row0_col13\" class=\"data row0 col13\" >24.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col0\" class=\"data row1 col0\" >0.03</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col1\" class=\"data row1 col1\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col2\" class=\"data row1 col2\" >7.07</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col4\" class=\"data row1 col4\" >0.47</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col5\" class=\"data row1 col5\" >6.42</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col6\" class=\"data row1 col6\" >78.90</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col7\" class=\"data row1 col7\" >4.97</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col8\" class=\"data row1 col8\" >2.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col9\" class=\"data row1 col9\" >242.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col10\" class=\"data row1 col10\" >17.80</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col11\" class=\"data row1 col11\" >396.90</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col12\" class=\"data row1 col12\" >9.14</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row1_col13\" class=\"data row1 col13\" >21.60</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col0\" class=\"data row2 col0\" >0.03</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col1\" class=\"data row2 col1\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col2\" class=\"data row2 col2\" >7.07</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col3\" class=\"data row2 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col4\" class=\"data row2 col4\" >0.47</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col5\" class=\"data row2 col5\" >7.18</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col6\" class=\"data row2 col6\" >61.10</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col7\" class=\"data row2 col7\" >4.97</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col8\" class=\"data row2 col8\" >2.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col9\" class=\"data row2 col9\" >242.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col10\" class=\"data row2 col10\" >17.80</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col11\" class=\"data row2 col11\" >392.83</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col12\" class=\"data row2 col12\" >4.03</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row2_col13\" class=\"data row2 col13\" >34.70</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col0\" class=\"data row3 col0\" >0.03</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col2\" class=\"data row3 col2\" >2.18</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col4\" class=\"data row3 col4\" >0.46</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col5\" class=\"data row3 col5\" >7.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col6\" class=\"data row3 col6\" >45.80</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col7\" class=\"data row3 col7\" >6.06</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col8\" class=\"data row3 col8\" >3.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col9\" class=\"data row3 col9\" >222.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col10\" class=\"data row3 col10\" >18.70</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col11\" class=\"data row3 col11\" >394.63</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col12\" class=\"data row3 col12\" >2.94</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row3_col13\" class=\"data row3 col13\" >33.40</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col0\" class=\"data row4 col0\" >0.07</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col2\" class=\"data row4 col2\" >2.18</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col4\" class=\"data row4 col4\" >0.46</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col5\" class=\"data row4 col5\" >7.15</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col6\" class=\"data row4 col6\" >54.20</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col7\" class=\"data row4 col7\" >6.06</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col8\" class=\"data row4 col8\" >3.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col9\" class=\"data row4 col9\" >222.00</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col10\" class=\"data row4 col10\" >18.70</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col11\" class=\"data row4 col11\" >396.90</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col12\" class=\"data row4 col12\" >5.33</td>\n",
       "                        <td id=\"T_c6701b60_f278_11ea_97b3_0cc47af5c7c7row4_col13\" class=\"data row4 col13\" >36.20</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x154ab65c8990>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Missing Data :  0   Shape is :  (506, 14)\n"
     ]
    }
   ],
   "source": [
    "data = pd.read_csv(f'{dataset_dir}/BHPD/BostonHousing.csv', header=0)\n",
    "\n",
    "display(data.head(5).style.format(\"{0:.2f}\").set_caption(\"Few lines of the dataset :\"))\n",
    "print('Missing Data : ',data.isna().sum().sum(), '  Shape is : ', data.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 3 - Preparing the data\n",
    "### 3.1 - Split data\n",
    "We will use 70% of the data for training and 30% for validation.  \n",
    "The dataset is **shuffled** and shared between **learning** and **testing**.  \n",
    "x will be input data and y the expected output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original data shape was :  (506, 14)\n",
      "x_train :  (354, 13) y_train :  (354,)\n",
      "x_test  :  (152, 13) y_test  :  (152,)\n"
     ]
    }
   ],
   "source": [
    "# ---- Suffle and Split => train, test\n",
    "#\n",
    "data_train = data.sample(frac=0.7, axis=0)\n",
    "data_test  = data.drop(data_train.index)\n",
    "\n",
    "# ---- Split => x,y (medv is price)\n",
    "#\n",
    "x_train = data_train.drop('medv',  axis=1)\n",
    "y_train = data_train['medv']\n",
    "x_test  = data_test.drop('medv',   axis=1)\n",
    "y_test  = data_test['medv']\n",
    "\n",
    "print('Original data shape was : ',data.shape)\n",
    "print('x_train : ',x_train.shape, 'y_train : ',y_train.shape)\n",
    "print('x_test  : ',x_test.shape,  'y_test  : ',y_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 - Data normalization\n",
    "**Note :** \n",
    " - All input data must be normalized, train and test.  \n",
    " - To do this we will **subtract the mean** and **divide by the standard deviation**.  \n",
    " - But test data should not be used in any way, even for normalization.  \n",
    " - The mean and the standard deviation will therefore only be calculated with the train data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7\" ><caption>Before normalization :</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >crim</th>        <th class=\"col_heading level0 col1\" >zn</th>        <th class=\"col_heading level0 col2\" >indus</th>        <th class=\"col_heading level0 col3\" >chas</th>        <th class=\"col_heading level0 col4\" >nox</th>        <th class=\"col_heading level0 col5\" >rm</th>        <th class=\"col_heading level0 col6\" >age</th>        <th class=\"col_heading level0 col7\" >dis</th>        <th class=\"col_heading level0 col8\" >rad</th>        <th class=\"col_heading level0 col9\" >tax</th>        <th class=\"col_heading level0 col10\" >ptratio</th>        <th class=\"col_heading level0 col11\" >b</th>        <th class=\"col_heading level0 col12\" >lstat</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col0\" class=\"data row1 col0\" >3.53</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col1\" class=\"data row1 col1\" >12.31</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col2\" class=\"data row1 col2\" >11.13</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col3\" class=\"data row1 col3\" >0.08</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col4\" class=\"data row1 col4\" >0.55</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col5\" class=\"data row1 col5\" >6.30</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col6\" class=\"data row1 col6\" >68.27</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col7\" class=\"data row1 col7\" >3.82</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col8\" class=\"data row1 col8\" >9.25</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col9\" class=\"data row1 col9\" >404.34</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col10\" class=\"data row1 col10\" >18.29</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col11\" class=\"data row1 col11\" >356.99</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row1_col12\" class=\"data row1 col12\" >12.78</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col0\" class=\"data row2 col0\" >8.82</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col1\" class=\"data row2 col1\" >24.61</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col2\" class=\"data row2 col2\" >6.90</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col3\" class=\"data row2 col3\" >0.27</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col4\" class=\"data row2 col4\" >0.12</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col5\" class=\"data row2 col5\" >0.71</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col6\" class=\"data row2 col6\" >28.39</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col7\" class=\"data row2 col7\" >2.12</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col8\" class=\"data row2 col8\" >8.60</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col9\" class=\"data row2 col9\" >166.70</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col10\" class=\"data row2 col10\" >2.25</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col11\" class=\"data row2 col11\" >91.85</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row2_col12\" class=\"data row2 col12\" >7.53</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col0\" class=\"data row3 col0\" >0.01</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col2\" class=\"data row3 col2\" >0.46</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col4\" class=\"data row3 col4\" >0.39</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col5\" class=\"data row3 col5\" >4.14</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col6\" class=\"data row3 col6\" >2.90</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col7\" class=\"data row3 col7\" >1.13</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col8\" class=\"data row3 col8\" >1.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col9\" class=\"data row3 col9\" >187.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col10\" class=\"data row3 col10\" >12.60</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col11\" class=\"data row3 col11\" >0.32</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row3_col12\" class=\"data row3 col12\" >1.73</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col0\" class=\"data row4 col0\" >0.08</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col2\" class=\"data row4 col2\" >5.15</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col4\" class=\"data row4 col4\" >0.45</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col5\" class=\"data row4 col5\" >5.89</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col6\" class=\"data row4 col6\" >42.32</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col7\" class=\"data row4 col7\" >2.10</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col8\" class=\"data row4 col8\" >4.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col9\" class=\"data row4 col9\" >277.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col10\" class=\"data row4 col10\" >16.60</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col11\" class=\"data row4 col11\" >376.25</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row4_col12\" class=\"data row4 col12\" >6.88</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col0\" class=\"data row5 col0\" >0.26</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col1\" class=\"data row5 col1\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col2\" class=\"data row5 col2\" >9.69</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col3\" class=\"data row5 col3\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col4\" class=\"data row5 col4\" >0.54</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col5\" class=\"data row5 col5\" >6.19</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col6\" class=\"data row5 col6\" >78.20</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col7\" class=\"data row5 col7\" >3.35</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col8\" class=\"data row5 col8\" >5.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col9\" class=\"data row5 col9\" >329.50</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col10\" class=\"data row5 col10\" >18.60</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col11\" class=\"data row5 col11\" >391.88</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row5_col12\" class=\"data row5 col12\" >11.23</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col0\" class=\"data row6 col0\" >3.10</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col1\" class=\"data row6 col1\" >16.25</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col2\" class=\"data row6 col2\" >18.10</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col3\" class=\"data row6 col3\" >0.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col4\" class=\"data row6 col4\" >0.62</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col5\" class=\"data row6 col5\" >6.61</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col6\" class=\"data row6 col6\" >93.80</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col7\" class=\"data row6 col7\" >5.12</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col8\" class=\"data row6 col8\" >8.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col9\" class=\"data row6 col9\" >666.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col10\" class=\"data row6 col10\" >20.20</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col11\" class=\"data row6 col11\" >396.12</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row6_col12\" class=\"data row6 col12\" >16.72</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col0\" class=\"data row7 col0\" >88.98</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col1\" class=\"data row7 col1\" >100.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col2\" class=\"data row7 col2\" >27.74</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col3\" class=\"data row7 col3\" >1.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col4\" class=\"data row7 col4\" >0.87</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col5\" class=\"data row7 col5\" >8.78</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col6\" class=\"data row7 col6\" >100.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col7\" class=\"data row7 col7\" >12.13</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col8\" class=\"data row7 col8\" >24.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col9\" class=\"data row7 col9\" >711.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col10\" class=\"data row7 col10\" >22.00</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col11\" class=\"data row7 col11\" >396.90</td>\n",
       "                        <td id=\"T_c67974bc_f278_11ea_97b3_0cc47af5c7c7row7_col12\" class=\"data row7 col12\" >37.97</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x154ab3d10f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7\" ><caption>After normalization :</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >crim</th>        <th class=\"col_heading level0 col1\" >zn</th>        <th class=\"col_heading level0 col2\" >indus</th>        <th class=\"col_heading level0 col3\" >chas</th>        <th class=\"col_heading level0 col4\" >nox</th>        <th class=\"col_heading level0 col5\" >rm</th>        <th class=\"col_heading level0 col6\" >age</th>        <th class=\"col_heading level0 col7\" >dis</th>        <th class=\"col_heading level0 col8\" >rad</th>        <th class=\"col_heading level0 col9\" >tax</th>        <th class=\"col_heading level0 col10\" >ptratio</th>        <th class=\"col_heading level0 col11\" >b</th>        <th class=\"col_heading level0 col12\" >lstat</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col0\" class=\"data row1 col0\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col1\" class=\"data row1 col1\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col2\" class=\"data row1 col2\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col4\" class=\"data row1 col4\" >-0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col5\" class=\"data row1 col5\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col6\" class=\"data row1 col6\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col7\" class=\"data row1 col7\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col8\" class=\"data row1 col8\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col9\" class=\"data row1 col9\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col10\" class=\"data row1 col10\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col11\" class=\"data row1 col11\" >0.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row1_col12\" class=\"data row1 col12\" >-0.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col0\" class=\"data row2 col0\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col1\" class=\"data row2 col1\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col2\" class=\"data row2 col2\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col3\" class=\"data row2 col3\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col4\" class=\"data row2 col4\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col5\" class=\"data row2 col5\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col6\" class=\"data row2 col6\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col7\" class=\"data row2 col7\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col8\" class=\"data row2 col8\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col9\" class=\"data row2 col9\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col10\" class=\"data row2 col10\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col11\" class=\"data row2 col11\" >1.00</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row2_col12\" class=\"data row2 col12\" >1.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col0\" class=\"data row3 col0\" >-0.40</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col1\" class=\"data row3 col1\" >-0.50</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col2\" class=\"data row3 col2\" >-1.55</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col3\" class=\"data row3 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col4\" class=\"data row3 col4\" >-1.40</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col5\" class=\"data row3 col5\" >-3.03</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col6\" class=\"data row3 col6\" >-2.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col7\" class=\"data row3 col7\" >-1.27</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col8\" class=\"data row3 col8\" >-0.96</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col9\" class=\"data row3 col9\" >-1.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col10\" class=\"data row3 col10\" >-2.52</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col11\" class=\"data row3 col11\" >-3.88</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row3_col12\" class=\"data row3 col12\" >-1.47</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col0\" class=\"data row4 col0\" >-0.39</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col1\" class=\"data row4 col1\" >-0.50</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col2\" class=\"data row4 col2\" >-0.87</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col3\" class=\"data row4 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col4\" class=\"data row4 col4\" >-0.90</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col5\" class=\"data row4 col5\" >-0.57</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col6\" class=\"data row4 col6\" >-0.91</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col7\" class=\"data row4 col7\" >-0.81</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col8\" class=\"data row4 col8\" >-0.61</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col9\" class=\"data row4 col9\" >-0.76</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col10\" class=\"data row4 col10\" >-0.75</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col11\" class=\"data row4 col11\" >0.21</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row4_col12\" class=\"data row4 col12\" >-0.78</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col0\" class=\"data row5 col0\" >-0.37</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col1\" class=\"data row5 col1\" >-0.50</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col2\" class=\"data row5 col2\" >-0.21</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col3\" class=\"data row5 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col4\" class=\"data row5 col4\" >-0.13</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col5\" class=\"data row5 col5\" >-0.15</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col6\" class=\"data row5 col6\" >0.35</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col7\" class=\"data row5 col7\" >-0.22</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col8\" class=\"data row5 col8\" >-0.49</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col9\" class=\"data row5 col9\" >-0.45</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col10\" class=\"data row5 col10\" >0.14</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col11\" class=\"data row5 col11\" >0.38</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row5_col12\" class=\"data row5 col12\" >-0.21</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col0\" class=\"data row6 col0\" >-0.05</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col1\" class=\"data row6 col1\" >0.16</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col2\" class=\"data row6 col2\" >1.01</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col3\" class=\"data row6 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col4\" class=\"data row6 col4\" >0.60</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col5\" class=\"data row6 col5\" >0.44</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col6\" class=\"data row6 col6\" >0.90</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col7\" class=\"data row6 col7\" >0.61</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col8\" class=\"data row6 col8\" >-0.15</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col9\" class=\"data row6 col9\" >1.57</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col10\" class=\"data row6 col10\" >0.85</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col11\" class=\"data row6 col11\" >0.43</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row6_col12\" class=\"data row6 col12\" >0.52</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col0\" class=\"data row7 col0\" >9.68</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col1\" class=\"data row7 col1\" >3.56</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col2\" class=\"data row7 col2\" >2.41</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col3\" class=\"data row7 col3\" >3.34</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col4\" class=\"data row7 col4\" >2.71</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col5\" class=\"data row7 col5\" >3.49</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col6\" class=\"data row7 col6\" >1.12</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col7\" class=\"data row7 col7\" >3.92</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col8\" class=\"data row7 col8\" >1.72</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col9\" class=\"data row7 col9\" >1.84</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col10\" class=\"data row7 col10\" >1.65</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col11\" class=\"data row7 col11\" >0.43</td>\n",
       "                        <td id=\"T_c6811690_f278_11ea_97b3_0cc47af5c7c7row7_col12\" class=\"data row7 col12\" >3.35</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x154ab5f15590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7\" ><caption>Few lines of the dataset :</caption><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >crim</th>        <th class=\"col_heading level0 col1\" >zn</th>        <th class=\"col_heading level0 col2\" >indus</th>        <th class=\"col_heading level0 col3\" >chas</th>        <th class=\"col_heading level0 col4\" >nox</th>        <th class=\"col_heading level0 col5\" >rm</th>        <th class=\"col_heading level0 col6\" >age</th>        <th class=\"col_heading level0 col7\" >dis</th>        <th class=\"col_heading level0 col8\" >rad</th>        <th class=\"col_heading level0 col9\" >tax</th>        <th class=\"col_heading level0 col10\" >ptratio</th>        <th class=\"col_heading level0 col11\" >b</th>        <th class=\"col_heading level0 col12\" >lstat</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7level0_row0\" class=\"row_heading level0 row0\" >191</th>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col0\" class=\"data row0 col0\" >-0.39</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col1\" class=\"data row0 col1\" >1.33</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col2\" class=\"data row0 col2\" >-1.11</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col3\" class=\"data row0 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col4\" class=\"data row0 col4\" >-0.99</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col5\" class=\"data row0 col5\" >0.62</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col6\" class=\"data row0 col6\" >-1.32</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col7\" class=\"data row0 col7\" >1.26</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col8\" class=\"data row0 col8\" >-0.49</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col9\" class=\"data row0 col9\" >-0.04</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col10\" class=\"data row0 col10\" >-1.37</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col11\" class=\"data row0 col11\" >0.36</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row0_col12\" class=\"data row0 col12\" >-1.07</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7level0_row1\" class=\"row_heading level0 row1\" >300</th>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col0\" class=\"data row1 col0\" >-0.39</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col1\" class=\"data row1 col1\" >2.34</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col2\" class=\"data row1 col2\" >-1.29</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col3\" class=\"data row1 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col4\" class=\"data row1 col4\" >-1.31</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col5\" class=\"data row1 col5\" >0.81</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col6\" class=\"data row1 col6\" >-0.74</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col7\" class=\"data row1 col7\" >1.89</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col8\" class=\"data row1 col8\" >-0.49</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col9\" class=\"data row1 col9\" >-0.28</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col10\" class=\"data row1 col10\" >-1.55</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col11\" class=\"data row1 col11\" >0.37</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row1_col12\" class=\"data row1 col12\" >-0.89</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7level0_row2\" class=\"row_heading level0 row2\" >65</th>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col0\" class=\"data row2 col0\" >-0.40</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col1\" class=\"data row2 col1\" >2.75</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col2\" class=\"data row2 col2\" >-1.12</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col3\" class=\"data row2 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col4\" class=\"data row2 col4\" >-1.33</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col5\" class=\"data row2 col5\" >-0.01</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col6\" class=\"data row2 col6\" >-1.78</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col7\" class=\"data row2 col7\" >1.32</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col8\" class=\"data row2 col8\" >-0.61</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col9\" class=\"data row2 col9\" >-0.40</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col10\" class=\"data row2 col10\" >-0.97</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col11\" class=\"data row2 col11\" >0.43</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row2_col12\" class=\"data row2 col12\" >-1.08</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7level0_row3\" class=\"row_heading level0 row3\" >119</th>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col0\" class=\"data row3 col0\" >-0.38</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col1\" class=\"data row3 col1\" >-0.50</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col2\" class=\"data row3 col2\" >-0.16</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col3\" class=\"data row3 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col4\" class=\"data row3 col4\" >-0.05</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col5\" class=\"data row3 col5\" >-0.79</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col6\" class=\"data row3 col6\" >-0.11</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col7\" class=\"data row3 col7\" >-0.50</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col8\" class=\"data row3 col8\" >-0.38</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col9\" class=\"data row3 col9\" >0.17</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col10\" class=\"data row3 col10\" >-0.22</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col11\" class=\"data row3 col11\" >0.38</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row3_col12\" class=\"data row3 col12\" >0.11</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7level0_row4\" class=\"row_heading level0 row4\" >128</th>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col0\" class=\"data row4 col0\" >-0.36</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col1\" class=\"data row4 col1\" >-0.50</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col2\" class=\"data row4 col2\" >1.56</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col3\" class=\"data row4 col3\" >-0.30</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col4\" class=\"data row4 col4\" >0.60</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col5\" class=\"data row4 col5\" >0.19</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col6\" class=\"data row4 col6\" >1.08</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col7\" class=\"data row4 col7\" >-0.95</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col8\" class=\"data row4 col8\" >-0.61</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col9\" class=\"data row4 col9\" >0.20</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col10\" class=\"data row4 col10\" >1.29</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col11\" class=\"data row4 col11\" >0.43</td>\n",
       "                        <td id=\"T_c681f33a_f278_11ea_97b3_0cc47af5c7c7row4_col12\" class=\"data row4 col12\" >0.35</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x154b37589ad0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(x_train.describe().style.format(\"{0:.2f}\").set_caption(\"Before normalization :\"))\n",
    "\n",
    "mean = x_train.mean()\n",
    "std  = x_train.std()\n",
    "x_train = (x_train - mean) / std\n",
    "x_test  = (x_test  - mean) / std\n",
    "\n",
    "display(x_train.describe().style.format(\"{0:.2f}\").set_caption(\"After normalization :\"))\n",
    "display(x_train.head(5).style.format(\"{0:.2f}\").set_caption(\"Few lines of the dataset :\"))\n",
    "\n",
    "x_train, y_train = np.array(x_train), np.array(y_train)\n",
    "x_test,  y_test  = np.array(x_test),  np.array(y_test)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 4 - Build a model\n",
    "About informations about : \n",
    " - [Optimizer](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers)\n",
    " - [Activation](https://www.tensorflow.org/api_docs/python/tf/keras/activations)\n",
    " - [Loss](https://www.tensorflow.org/api_docs/python/tf/keras/losses)\n",
    " - [Metrics](https://www.tensorflow.org/api_docs/python/tf/keras/metrics)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "  def get_model_v1(shape):\n",
    "    \n",
    "    model = keras.models.Sequential()\n",
    "    model.add(keras.layers.Input(shape, name=\"InputLayer\"))\n",
    "    model.add(keras.layers.Dense(64, activation='relu', name='Dense_n1'))\n",
    "    model.add(keras.layers.Dense(64, activation='relu', name='Dense_n2'))\n",
    "    model.add(keras.layers.Dense(1, name='Output'))\n",
    "    \n",
    "    model.compile(optimizer = 'rmsprop',\n",
    "                  loss      = 'mse',\n",
    "                  metrics   = ['mae', 'mse'] )\n",
    "    return model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 5 - Train the model\n",
    "### 5.1 - Get it"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "Dense_n1 (Dense)             (None, 64)                896       \n",
      "_________________________________________________________________\n",
      "Dense_n2 (Dense)             (None, 64)                4160      \n",
      "_________________________________________________________________\n",
      "Output (Dense)               (None, 1)                 65        \n",
      "=================================================================\n",
      "Total params: 5,121\n",
      "Trainable params: 5,121\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n",
      "Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "None"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model=get_model_v1( (13,) )\n",
    "\n",
    "model.summary()\n",
    "\n",
    "img=keras.utils.plot_model( model, to_file='./run/model.png', show_shapes=True, show_layer_names=True, dpi=96)\n",
    "display(img)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.2 - Train it"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "36/36 [==============================] - 0s 9ms/step - loss: 547.8102 - mae: 21.3789 - mse: 547.8102 - val_loss: 426.4636 - val_mae: 18.9591 - val_mse: 426.4636\n",
      "Epoch 2/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 359.6963 - mae: 16.8183 - mse: 359.6963 - val_loss: 226.9481 - val_mae: 13.1573 - val_mse: 226.9481\n",
      "Epoch 3/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 160.5077 - mae: 10.3363 - mse: 160.5077 - val_loss: 84.0127 - val_mae: 7.2714 - val_mse: 84.0127\n",
      "Epoch 4/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 68.7662 - mae: 6.2226 - mse: 68.7662 - val_loss: 42.7031 - val_mae: 5.0207 - val_mse: 42.7031\n",
      "Epoch 5/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 39.3656 - mae: 4.5027 - mse: 39.3656 - val_loss: 28.1898 - val_mae: 3.9144 - val_mse: 28.1898\n",
      "Epoch 6/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 27.7994 - mae: 3.7284 - mse: 27.7994 - val_loss: 22.5556 - val_mae: 3.4554 - val_mse: 22.5556\n",
      "Epoch 7/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 23.3525 - mae: 3.4556 - mse: 23.3525 - val_loss: 21.7096 - val_mae: 3.2439 - val_mse: 21.7096\n",
      "Epoch 8/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 21.6431 - mae: 3.1815 - mse: 21.6431 - val_loss: 19.3019 - val_mae: 3.0922 - val_mse: 19.3019\n",
      "Epoch 9/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 19.4970 - mae: 3.0120 - mse: 19.4970 - val_loss: 18.5831 - val_mae: 2.9942 - val_mse: 18.5831\n",
      "Epoch 10/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 18.0860 - mae: 2.8919 - mse: 18.0860 - val_loss: 17.3483 - val_mae: 2.9057 - val_mse: 17.3483\n",
      "Epoch 11/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 16.9134 - mae: 2.7540 - mse: 16.9134 - val_loss: 16.5643 - val_mae: 2.8748 - val_mse: 16.5643\n",
      "Epoch 12/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 15.9337 - mae: 2.6675 - mse: 15.9337 - val_loss: 16.0137 - val_mae: 2.8492 - val_mse: 16.0137\n",
      "Epoch 13/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 15.3994 - mae: 2.6116 - mse: 15.3994 - val_loss: 15.4497 - val_mae: 2.7655 - val_mse: 15.4497\n",
      "Epoch 14/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 14.7345 - mae: 2.5935 - mse: 14.7345 - val_loss: 15.5044 - val_mae: 2.7343 - val_mse: 15.5044\n",
      "Epoch 15/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 13.9952 - mae: 2.4952 - mse: 13.9952 - val_loss: 15.4225 - val_mae: 2.7673 - val_mse: 15.4225\n",
      "Epoch 16/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 13.6492 - mae: 2.4715 - mse: 13.6492 - val_loss: 15.9129 - val_mae: 2.7843 - val_mse: 15.9129\n",
      "Epoch 17/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 13.1960 - mae: 2.4395 - mse: 13.1960 - val_loss: 13.8508 - val_mae: 2.6311 - val_mse: 13.8508\n",
      "Epoch 18/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.8516 - mae: 2.4187 - mse: 12.8516 - val_loss: 14.0965 - val_mae: 2.6200 - val_mse: 14.0965\n",
      "Epoch 19/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.5172 - mae: 2.3631 - mse: 12.5172 - val_loss: 14.6048 - val_mae: 2.6703 - val_mse: 14.6048\n",
      "Epoch 20/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.0961 - mae: 2.3411 - mse: 12.0961 - val_loss: 13.6234 - val_mae: 2.6658 - val_mse: 13.6234\n",
      "Epoch 21/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.9956 - mae: 2.3587 - mse: 11.9956 - val_loss: 14.0870 - val_mae: 2.6412 - val_mse: 14.0870\n",
      "Epoch 22/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.7839 - mae: 2.3047 - mse: 11.7839 - val_loss: 13.5144 - val_mae: 2.5665 - val_mse: 13.5144\n",
      "Epoch 23/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.5465 - mae: 2.2461 - mse: 11.5465 - val_loss: 13.4045 - val_mae: 2.6249 - val_mse: 13.4045\n",
      "Epoch 24/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.3203 - mae: 2.2785 - mse: 11.3203 - val_loss: 13.4534 - val_mae: 2.5680 - val_mse: 13.4534\n",
      "Epoch 25/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.9813 - mae: 2.2193 - mse: 10.9813 - val_loss: 13.4274 - val_mae: 2.6316 - val_mse: 13.4274\n",
      "Epoch 26/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.8622 - mae: 2.2494 - mse: 10.8622 - val_loss: 13.2414 - val_mae: 2.5662 - val_mse: 13.2414\n",
      "Epoch 27/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.5865 - mae: 2.2073 - mse: 10.5865 - val_loss: 13.4347 - val_mae: 2.6453 - val_mse: 13.4347\n",
      "Epoch 28/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.4764 - mae: 2.1905 - mse: 10.4764 - val_loss: 13.6223 - val_mae: 2.6343 - val_mse: 13.6223\n",
      "Epoch 29/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.1884 - mae: 2.1639 - mse: 10.1884 - val_loss: 13.2782 - val_mae: 2.5879 - val_mse: 13.2782\n",
      "Epoch 30/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.2006 - mae: 2.1927 - mse: 10.2006 - val_loss: 13.2758 - val_mae: 2.5862 - val_mse: 13.2758\n",
      "Epoch 31/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.9884 - mae: 2.1413 - mse: 9.9884 - val_loss: 14.8800 - val_mae: 2.7099 - val_mse: 14.8800\n",
      "Epoch 32/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.8956 - mae: 2.1278 - mse: 9.8956 - val_loss: 13.9123 - val_mae: 2.6520 - val_mse: 13.9123\n",
      "Epoch 33/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.5863 - mae: 2.1298 - mse: 9.5863 - val_loss: 13.7808 - val_mae: 2.6443 - val_mse: 13.7808\n",
      "Epoch 34/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.7643 - mae: 2.1279 - mse: 9.7643 - val_loss: 13.5272 - val_mae: 2.6014 - val_mse: 13.5272\n",
      "Epoch 35/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.2945 - mae: 2.0820 - mse: 9.2945 - val_loss: 14.6006 - val_mae: 2.7305 - val_mse: 14.6006\n",
      "Epoch 36/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.1900 - mae: 2.1095 - mse: 9.1900 - val_loss: 13.5662 - val_mae: 2.6306 - val_mse: 13.5662\n",
      "Epoch 37/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.3998 - mae: 2.0957 - mse: 9.3998 - val_loss: 14.1139 - val_mae: 2.6710 - val_mse: 14.1139\n",
      "Epoch 38/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.0737 - mae: 2.0781 - mse: 9.0737 - val_loss: 13.3742 - val_mae: 2.6184 - val_mse: 13.3742\n",
      "Epoch 39/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.7388 - mae: 2.0449 - mse: 8.7388 - val_loss: 13.0439 - val_mae: 2.5409 - val_mse: 13.0439\n",
      "Epoch 40/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.7623 - mae: 2.0635 - mse: 8.7623 - val_loss: 13.0694 - val_mae: 2.5882 - val_mse: 13.0694\n",
      "Epoch 41/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.6891 - mae: 2.0567 - mse: 8.6891 - val_loss: 16.1179 - val_mae: 2.9252 - val_mse: 16.1179\n",
      "Epoch 42/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.6387 - mae: 2.0479 - mse: 8.6387 - val_loss: 13.0465 - val_mae: 2.5522 - val_mse: 13.0465\n",
      "Epoch 43/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.7518 - mae: 2.0440 - mse: 8.7518 - val_loss: 13.5344 - val_mae: 2.5933 - val_mse: 13.5344\n",
      "Epoch 44/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.2242 - mae: 1.9886 - mse: 8.2242 - val_loss: 14.1849 - val_mae: 2.6695 - val_mse: 14.1849\n",
      "Epoch 45/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.3604 - mae: 2.0113 - mse: 8.3604 - val_loss: 13.0178 - val_mae: 2.5636 - val_mse: 13.0178\n",
      "Epoch 46/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.0855 - mae: 1.9936 - mse: 8.0855 - val_loss: 13.6547 - val_mae: 2.5996 - val_mse: 13.6547\n",
      "Epoch 47/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.0649 - mae: 1.9796 - mse: 8.0649 - val_loss: 13.9731 - val_mae: 2.6992 - val_mse: 13.9731\n",
      "Epoch 48/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.9916 - mae: 1.9805 - mse: 7.9916 - val_loss: 14.1935 - val_mae: 2.6618 - val_mse: 14.1935\n",
      "Epoch 49/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.9540 - mae: 1.9707 - mse: 7.9540 - val_loss: 13.7080 - val_mae: 2.6203 - val_mse: 13.7080\n",
      "Epoch 50/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.9801 - mae: 1.9259 - mse: 7.9801 - val_loss: 14.0406 - val_mae: 2.6032 - val_mse: 14.0406\n",
      "Epoch 51/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.6427 - mae: 1.9189 - mse: 7.6427 - val_loss: 14.1556 - val_mae: 2.6252 - val_mse: 14.1556\n",
      "Epoch 52/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.5178 - mae: 1.9350 - mse: 7.5178 - val_loss: 13.5717 - val_mae: 2.5349 - val_mse: 13.5717\n",
      "Epoch 53/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.3679 - mae: 1.9285 - mse: 7.3679 - val_loss: 13.3949 - val_mae: 2.5432 - val_mse: 13.3949\n",
      "Epoch 54/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.3311 - mae: 1.8902 - mse: 7.3311 - val_loss: 14.0604 - val_mae: 2.6227 - val_mse: 14.0604\n",
      "Epoch 55/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.1482 - mae: 1.8984 - mse: 7.1482 - val_loss: 13.4580 - val_mae: 2.5299 - val_mse: 13.4580\n",
      "Epoch 56/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.1295 - mae: 1.9292 - mse: 7.1295 - val_loss: 13.4544 - val_mae: 2.5697 - val_mse: 13.4544\n",
      "Epoch 57/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.0592 - mae: 1.9154 - mse: 7.0592 - val_loss: 13.8496 - val_mae: 2.5861 - val_mse: 13.8496\n",
      "Epoch 58/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.0913 - mae: 1.8850 - mse: 7.0913 - val_loss: 13.8990 - val_mae: 2.5791 - val_mse: 13.8990\n",
      "Epoch 59/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.7415 - mae: 1.8537 - mse: 6.7415 - val_loss: 15.4353 - val_mae: 2.7890 - val_mse: 15.4353\n",
      "Epoch 60/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.6908 - mae: 1.8085 - mse: 6.6908 - val_loss: 15.1765 - val_mae: 2.6976 - val_mse: 15.1765\n",
      "Epoch 61/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.7490 - mae: 1.8432 - mse: 6.7490 - val_loss: 14.6076 - val_mae: 2.6679 - val_mse: 14.6076\n",
      "Epoch 62/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.6512 - mae: 1.8354 - mse: 6.6512 - val_loss: 14.6138 - val_mae: 2.6351 - val_mse: 14.6138\n",
      "Epoch 63/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.5442 - mae: 1.8366 - mse: 6.5442 - val_loss: 13.5825 - val_mae: 2.5514 - val_mse: 13.5825\n",
      "Epoch 64/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.2777 - mae: 1.8151 - mse: 6.2777 - val_loss: 14.7046 - val_mae: 2.6135 - val_mse: 14.7046\n",
      "Epoch 65/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.2568 - mae: 1.8048 - mse: 6.2568 - val_loss: 13.9574 - val_mae: 2.5623 - val_mse: 13.9574\n",
      "Epoch 66/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.3788 - mae: 1.7895 - mse: 6.3788 - val_loss: 13.3885 - val_mae: 2.5273 - val_mse: 13.3885\n",
      "Epoch 67/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.1612 - mae: 1.7715 - mse: 6.1612 - val_loss: 14.8357 - val_mae: 2.6192 - val_mse: 14.8357\n",
      "Epoch 68/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.1632 - mae: 1.7848 - mse: 6.1632 - val_loss: 13.6717 - val_mae: 2.5406 - val_mse: 13.6717\n",
      "Epoch 69/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.0074 - mae: 1.7391 - mse: 6.0074 - val_loss: 13.8504 - val_mae: 2.6783 - val_mse: 13.8504\n",
      "Epoch 70/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.1040 - mae: 1.7755 - mse: 6.1040 - val_loss: 13.5444 - val_mae: 2.6011 - val_mse: 13.5444\n",
      "Epoch 71/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.7638 - mae: 1.7447 - mse: 5.7638 - val_loss: 13.4598 - val_mae: 2.4891 - val_mse: 13.4598\n",
      "Epoch 72/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6415 - mae: 1.7166 - mse: 5.6415 - val_loss: 13.9506 - val_mae: 2.5667 - val_mse: 13.9506\n",
      "Epoch 73/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6369 - mae: 1.7073 - mse: 5.6369 - val_loss: 13.0920 - val_mae: 2.4877 - val_mse: 13.0920\n",
      "Epoch 74/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6331 - mae: 1.7188 - mse: 5.6331 - val_loss: 13.4528 - val_mae: 2.5475 - val_mse: 13.4528\n",
      "Epoch 75/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6567 - mae: 1.7286 - mse: 5.6567 - val_loss: 14.3292 - val_mae: 2.5823 - val_mse: 14.3292\n",
      "Epoch 76/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.4564 - mae: 1.7111 - mse: 5.4564 - val_loss: 13.3819 - val_mae: 2.5767 - val_mse: 13.3819\n",
      "Epoch 77/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.5796 - mae: 1.6924 - mse: 5.5796 - val_loss: 14.2068 - val_mae: 2.5854 - val_mse: 14.2068\n",
      "Epoch 78/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.2629 - mae: 1.6593 - mse: 5.2629 - val_loss: 16.1614 - val_mae: 2.8351 - val_mse: 16.1614\n",
      "Epoch 79/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.4147 - mae: 1.7023 - mse: 5.4147 - val_loss: 13.4259 - val_mae: 2.4891 - val_mse: 13.4259\n",
      "Epoch 80/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.2169 - mae: 1.6532 - mse: 5.2169 - val_loss: 15.0308 - val_mae: 2.6102 - val_mse: 15.0308\n",
      "Epoch 81/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9672 - mae: 1.6381 - mse: 4.9672 - val_loss: 13.1356 - val_mae: 2.4735 - val_mse: 13.1356\n",
      "Epoch 82/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.0431 - mae: 1.6363 - mse: 5.0431 - val_loss: 13.3402 - val_mae: 2.4705 - val_mse: 13.3402\n",
      "Epoch 83/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9814 - mae: 1.6268 - mse: 4.9814 - val_loss: 13.6050 - val_mae: 2.5131 - val_mse: 13.6050\n",
      "Epoch 84/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9594 - mae: 1.6109 - mse: 4.9594 - val_loss: 14.5256 - val_mae: 2.5736 - val_mse: 14.5256\n",
      "Epoch 85/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.8949 - mae: 1.6083 - mse: 4.8949 - val_loss: 13.7125 - val_mae: 2.5208 - val_mse: 13.7125\n",
      "Epoch 86/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9217 - mae: 1.6250 - mse: 4.9217 - val_loss: 13.9564 - val_mae: 2.5172 - val_mse: 13.9564\n",
      "Epoch 87/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.6410 - mae: 1.5842 - mse: 4.6410 - val_loss: 15.8558 - val_mae: 2.7166 - val_mse: 15.8558\n",
      "Epoch 88/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.7807 - mae: 1.5999 - mse: 4.7807 - val_loss: 16.3003 - val_mae: 2.7580 - val_mse: 16.3003\n",
      "Epoch 89/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.6485 - mae: 1.5754 - mse: 4.6485 - val_loss: 14.7663 - val_mae: 2.6457 - val_mse: 14.7663\n",
      "Epoch 90/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.6064 - mae: 1.5620 - mse: 4.6064 - val_loss: 13.7809 - val_mae: 2.5864 - val_mse: 13.7809\n",
      "Epoch 91/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.6342 - mae: 1.6050 - mse: 4.6342 - val_loss: 14.7906 - val_mae: 2.5932 - val_mse: 14.7906\n",
      "Epoch 92/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.4944 - mae: 1.5783 - mse: 4.4944 - val_loss: 14.5350 - val_mae: 2.5457 - val_mse: 14.5350\n",
      "Epoch 93/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.4326 - mae: 1.5426 - mse: 4.4326 - val_loss: 14.9994 - val_mae: 2.6641 - val_mse: 14.9994\n",
      "Epoch 94/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.4441 - mae: 1.5272 - mse: 4.4441 - val_loss: 14.1781 - val_mae: 2.5117 - val_mse: 14.1781\n",
      "Epoch 95/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.4125 - mae: 1.5533 - mse: 4.4125 - val_loss: 14.1736 - val_mae: 2.5013 - val_mse: 14.1736\n",
      "Epoch 96/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.2680 - mae: 1.5250 - mse: 4.2680 - val_loss: 14.4141 - val_mae: 2.5394 - val_mse: 14.4141\n",
      "Epoch 97/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.3037 - mae: 1.5324 - mse: 4.3037 - val_loss: 14.5133 - val_mae: 2.5606 - val_mse: 14.5133\n",
      "Epoch 98/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.2143 - mae: 1.5106 - mse: 4.2143 - val_loss: 14.8538 - val_mae: 2.5982 - val_mse: 14.8538\n",
      "Epoch 99/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.1531 - mae: 1.5010 - mse: 4.1531 - val_loss: 14.7132 - val_mae: 2.6151 - val_mse: 14.7132\n",
      "Epoch 100/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.1666 - mae: 1.4817 - mse: 4.1666 - val_loss: 15.1563 - val_mae: 2.6203 - val_mse: 15.1563\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(x_train,\n",
    "                    y_train,\n",
    "                    epochs          = 100,\n",
    "                    batch_size      = 10,\n",
    "                    verbose         = 1,\n",
    "                    validation_data = (x_test, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 6 - Evaluate\n",
    "### 6.1 - Model evaluation\n",
    "MAE =  Mean Absolute Error (between the labels and predictions)  \n",
    "A mae equal to 3 represents an average error in prediction of $3k."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_test / loss      : 15.1563\n",
      "x_test / mae       : 2.6203\n",
      "x_test / mse       : 15.1563\n"
     ]
    }
   ],
   "source": [
    "score = model.evaluate(x_test, y_test, verbose=0)\n",
    "\n",
    "print('x_test / loss      : {:5.4f}'.format(score[0]))\n",
    "print('x_test / mae       : {:5.4f}'.format(score[1]))\n",
    "print('x_test / mse       : {:5.4f}'.format(score[2]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.2 - Training history\n",
    "What was the best result during our training ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>loss</th>\n",
       "      <th>mae</th>\n",
       "      <th>mse</th>\n",
       "      <th>val_loss</th>\n",
       "      <th>val_mae</th>\n",
       "      <th>val_mse</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>100.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19.964298</td>\n",
       "      <td>2.495103</td>\n",
       "      <td>19.964298</td>\n",
       "      <td>21.819469</td>\n",
       "      <td>2.996733</td>\n",
       "      <td>21.819469</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>65.950543</td>\n",
       "      <td>2.623174</td>\n",
       "      <td>65.950543</td>\n",
       "      <td>46.660749</td>\n",
       "      <td>1.997806</td>\n",
       "      <td>46.660749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>4.153061</td>\n",
       "      <td>1.481748</td>\n",
       "      <td>4.153061</td>\n",
       "      <td>13.017827</td>\n",
       "      <td>2.470451</td>\n",
       "      <td>13.017827</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5.619731</td>\n",
       "      <td>1.710129</td>\n",
       "      <td>5.619731</td>\n",
       "      <td>13.532590</td>\n",
       "      <td>2.566433</td>\n",
       "      <td>13.532590</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.798356</td>\n",
       "      <td>1.932091</td>\n",
       "      <td>7.798356</td>\n",
       "      <td>14.073690</td>\n",
       "      <td>2.618842</td>\n",
       "      <td>14.073690</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.892002</td>\n",
       "      <td>2.226007</td>\n",
       "      <td>10.892002</td>\n",
       "      <td>14.909881</td>\n",
       "      <td>2.683100</td>\n",
       "      <td>14.909881</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>547.810181</td>\n",
       "      <td>21.378906</td>\n",
       "      <td>547.810181</td>\n",
       "      <td>426.463562</td>\n",
       "      <td>18.959126</td>\n",
       "      <td>426.463562</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             loss         mae         mse    val_loss     val_mae     val_mse\n",
       "count  100.000000  100.000000  100.000000  100.000000  100.000000  100.000000\n",
       "mean    19.964298    2.495103   19.964298   21.819469    2.996733   21.819469\n",
       "std     65.950543    2.623174   65.950543   46.660749    1.997806   46.660749\n",
       "min      4.153061    1.481748    4.153061   13.017827    2.470451   13.017827\n",
       "25%      5.619731    1.710129    5.619731   13.532590    2.566433   13.532590\n",
       "50%      7.798356    1.932091    7.798356   14.073690    2.618842   14.073690\n",
       "75%     10.892002    2.226007   10.892002   14.909881    2.683100   14.909881\n",
       "max    547.810181   21.378906  547.810181  426.463562   18.959126  426.463562"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "df=pd.DataFrame(data=history.history)\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "min( val_mae ) : 2.4705\n"
     ]
    }
   ],
   "source": [
    "print(\"min( val_mae ) : {:.4f}\".format( min(history.history[\"val_mae\"]) ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rjU/88orr+Tuu+8mHo9z1FFH8ba3vY10Os3jjz/OSSedBEBvby/f/e53FRxERKQp5lr1KdaBstmsA8jlciPWP/744xx55JETeq4dg8Ns2j4EwMzuFPvP7p6kWnaGPTlmIiLSFuPO2qfBkS1itL7FQUREZLIpOLRILFYPDhUlBxER6VAKDi0SvlyDuodERKRTKTi0SMzCLQ5trIiIiMheUHBokfBIE7U4iIhIp1JwaJFYG07HFBERmWwKDi1iGhwpIiLTgIJDi4RyQ8uDQ29vb0t/noiITF8KDi3SjpkjRUREJpumnN5b57y1qWIx4LCJPve3f9pw9d/8zd9w4IEHks1mAbj00ksxM+699162bdtGsVjkC1/4AmecccZuf8TKlSu55JJL2G+//Vi1ahVnnnkmy5Yt4+tf/zpDQ0PceuutHHLIIdx000187nOfIx6PM2vWLO69917K5TIXXnghK1euZHh4mI9+9KO6eJaIyDSnFocOdNZZZ3HjjTfWHv/gBz/gAx/4AD/60Y945JFHuPvuu/nkJz/Z9Nkbjz76KF//+tdZvXo13/nOd3jqqad48MEHOeecc7jqqqsAuOyyy7jjjjt49NFHue222wD4p3/6J2bNmsVDDz3EQw89xLXXXsuzzz47+S9YREQiQy0OHei4447jpZdeYuPGjWzevJk5c+awaNEiLrjgAu69915isRgbNmxg06ZN7L///rt9vhUrVrBo0SIADjnkEN7ylrcAsGzZMu6++24ATj75ZN7//vfz7ne/mzPPPBOAO++8k8cee4ybb74ZgB07drBmzRoOPvjgqXjZIiISAQoOe2uM7oRGnt20k2K5AsBBC2eQSsT3+Me+613v4uabb+bFF1/krLPO4vrrr2fz5s388pe/JJlMctBBB5HP55t6rnQ6Xbsfi8Vqj2OxGKVSCYBvfetb/OIXv+DHP/4xy5cvZ9WqVTjnuOqqqzjttNP2+HWIiEhnUVdFC03mAMmzzjqL73//+9x88828613vYseOHSxcuJBkMsndd9/Nc889t5e1Hem3v/0tr33ta7nsssuYP38+69at47TTTuOb3/wmxWIRgKeeeoqBgYFJ/bkiIhItanFoock8JfPoo4+mr6+PJUuWsGjRIt773vfyB3/wB5xwwgksX76cI444Yi9rO9KnPvUp1qxZg3OOU089lWOPPZZjjjmG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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhQAAAGdCAYAAABKLepoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeZhcZZ328e+vuqurek9nJQskIQRQCJsEUFQ2BVwGldcFxQWUQamRcXvR0RGJyqDjOA680VZgHBUGFQFBUBFBw6KAQAAJiCQsSciedJLeq2t73j+e093VTXW6ekud6tyf66qrqk+dOvVUb3XX71mOOecQERERGYtIqRsgIiIi5U+BQkRERMZMgUJERETGTIFCRERExkyBQkRERMZMgUJERETGTIFCRERExkyBQkTGlZn92MxccEmb2cxh9n9n3v7OzM4bZv8r8/b9UhHtWTbo+Hu6XDnClysiAQUKEZlIlcAHhtnnw8UezMwGH+8jI2hLDtg6zKVtBMcTkTyVpW6AiExa64ED8IGh4Cd/M5sKvA3oAFLA1GGO+VZgBnAfsB9wiJmd4Jx7uIj2vOycW1Bc00VkpFShEJGJ8hDwAnC0mR02xD7nAFXALUB3EcfsrUj8NLjkbxORElKgEJGJdH1wPVS3Ru/264Y7UFDNeDu+knEzcENw1/vMLDaWRorI2ClQiMhE6g0U55rZgP83ZnYwcDzwMnBvEcd6P76a8Tvn3E7n3AvAX4Am4Kxxa7GIjIoChYhMGOfci8CfgbnAqYPu7q1O3OCcyxVxuN6ujRvytt0w6D4RKREFChGZaL3dGX3dHmZmwAcH3T8kM3sVsBRoB+7Iu+tGIAOcYWazhjnM/ma2ZZjLUGM9RGQYChQiMtF+ASSBs82sNth2EjAfeMw592wRxzgvuL7VOdc3eNM5tw24Bz9j7dxhjhEBZg1ziRbRFhEpQIFCRCaUc243vqpQC/yfYPNIBmNG6K9m/LTALr3dHsOtZ7HOOWfDXJ4crj0iUpgChYjsDb3B4UNmVo0PFmngZ0U89s3AHKC3GjHYbUAXcKSZHTkObRWRUVCgEJG94Xf4QHAq8EmgAbjTObejiMf2DricCWQGL5eNH1dRM2hfEdnLFChEZMI55zLAz/H/c/4t2Hz90I/wzKwBeOcInurcYHluEdnLFChEZG/p7faIArsYOFtjKO8FqvFrVTTt4TINaMFXMc4c11aLSFGU5EVkr3DOrTSzZUA98JRzrqeIh/V2YfwyGNw5JDP7FfDR4DG/HktbRWTkFChEZK9xzn212H3NbBHw+uDLXxbxkF/iA8U/mFmTc27XKJooIqOkQCEiYdU7DXQr8Kci9r8bf/rxBvxJx74/6P79zWzLMMd40Dl39ohaKSKAxlCISAgFK2n2BopfFbM0t3MuRX9XR6HZHsUsbDXc6dNFZAjmnCt1G0RERKTMqUIhIiIiY6ZAISIiImOmQCEiIiJjpkAhIiIiY6ZAMUKJRMIlEgmNZBUREcmjdShGT6FCRET2JbanO1WhEBERkTFToBAREZExU6AQERGRMVOgEBERkTHToMxxkk6n2bBhA8lkstRNKRvxeJx58+YRjUZL3RQRERkjBYpxsmHDBurr61mwYAH+vEayJ845Wlpa2LBhAwsXLix1c0REZIzU5TFOkskk06ZNU5gokpkxbdo0VXRERCYJBYpxpDAxMvp+iYhMHgoUIiIiMmYKFCIiIjJmChSTyNq1azn00EO54IILOPzwwzn33HO55557OPHEE1m8eDGPPPIIjzzyCK973es4+uijed3rXsdzzz0HQDab5ZJLLmHp0qUcccQRXH311SV+NSIiUk40y2MCnPH130zYse+69G17vP/555/npptu4pprrmHp0qX89Kc/5U9/+hO33347V1xxBddddx33338/lZWV3HPPPXzpS1/illtu4Yc//CGNjY08+uij9PT0cOKJJ3L66adrBoaIiBRFgWKSWbhwIUuWLAHgsMMO47TTTsPMWLJkCWvXrqW1tZWPfOQjrFmzBjMjnU4D8Pvf/56nnnqKm2++GYDW1lbWrFmjQCEiIkVRoJhkYrFY3+1IJNL3dSQSIZPJcOmll3LKKadw6623snbtWk4++WTArwuxfPlyzjjjjFI0W0REypwCxQQYrlsi38adnXQmfZVgztRa6uITu2pka2src+fOBeDHP/5x3/YzzjiD73//+5x66qlEo1FWr17N3Llzqa2tndD2iIjI5KBBmSUWyVuLIZdzE/58n//85/niF7/IiSeeSDab7dt+wQUX8OpXv5pjjjmGww8/nI9//ONkMpkJb4+IiEwO5tzEv4lNJolEwgE0NzcP2P7ss8/yqle9asTH29baze7OHgBmNlYz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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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DQ466CCOPfZYVq1axZo1a8b0uL/73e/43Oc+B8DChQvZfffdeemllzjiiCP4/ve/z9/+7d/y2muv0d7ezqJFi7j//vv52te+xsMPP8y0adMm4qWKiEjEqMVhR43QnVDLq2s2Uyj5K1PuscsUUon4dj/tJz/5SW6//XbeeustTj75ZG666SbWrl3LU089RTKZZI899iCXy43pMUeaX+Izn/kMhx12GHfffTfHHXcc119/PccccwxPPfUU99xzDxdeeCEf/vCHueiii7b79YiISGtQcGig8RwgefLJJ3PGGWfQ3d3Ngw8+yK233souu+xCMpnkt7/9La+99tqYH/PII4/kpptu4phjjuGll17i9ddfZ7/99mP58uXstddenHvuuSxfvpzf//73LFy4kJkzZ3LqqafS1dXFDTfcsGMvSEREWoKCQwON5ymZBxxwAFu2bGH+/PnstttufPazn+VjH/sYhx56KIsXL2bhwoVjfsxMJsOXv/xlFi1aRCKR4IYbbiCdTnPLLbfwz//8zySTSebOnctFF13EE088wVe+8hVisRjJZJKrr756h16PiIi0BtP0xyPLZDIOIJvNDtn+/PPPs//++4/58d7o7qE/XwRgwawuOtKTP7dt77ESEZGmGXVUvQZHNtDQC10psImISOuJRHAwMzfCradG2f3M7E4z22BmvWb2sJkdM8LjxszsAjN7wcxyZvaGmV1mZp0T/6pq1ae63uiWnmXLlrF48eIht8MOO6yhdRARkdYXpbbyh4Frh20rhH8ws72BR4AicCmwCTgDuM/MPuqcu3/Y/lcA5wK/BC4D9g9+freZHeucK4/7qxhFMy90tWjRIpYuXdrYJxURkUknSsFhuXPun7dR5hJgOnCIc24pgJndCDwHXGVmC13wVd7MDgDOAe5wzp1UeQAzexX4MXAycPP2VtY5N6bJlQAs1L6zM3RVaPyMiMjkE4muigozS5lZzSsyBd0LHwceqIQGAOdcD3A9fkbnJaFdTsEP8PjRsIe6DugDTt3eera1tbFu3boxfzAOHeOwvc/eGpxzrFu3jra2tmZXRURExlGUWhw+if8wj5vZWuAW4FvOucpcxgcBaeDRGvs+FiyXAI+H1suhnwFwzuXMbClDQ8aYLFiwgJUrV7J27dox7deTK9Cb82dVbGpLsKYtub1VaAltbW0sWLCg2dUQEZFx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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ooo.plot_history(history, plot={'MSE' :['mse', 'val_mse'],\n",
    "                                'MAE' :['mae', 'val_mae'],\n",
    "                                'LOSS':['loss','val_loss']})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 7 - Make a prediction\n",
    "The data must be normalized with the parameters (mean, std) previously used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "my_data = [ 1.26425925, -0.48522739,  1.0436489 , -0.23112788,  1.37120745,\n",
    "       -2.14308942,  1.13489104, -1.06802005,  1.71189006,  1.57042287,\n",
    "        0.77859951,  0.14769795,  2.7585581 ]\n",
    "real_price = 10.4\n",
    "\n",
    "my_data=np.array(my_data).reshape(1,13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prediction : 9.41 K$\n",
      "Reality    : 10.40 K$\n"
     ]
    }
   ],
   "source": [
    "\n",
    "predictions = model.predict( my_data )\n",
    "print(\"Prediction : {:.2f} K$\".format(predictions[0][0]))\n",
    "print(\"Reality    : {:.2f} K$\".format(real_price))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<img width=\"80px\" src=\"../fidle/img/00-Fidle-logo-01.svg\"></img>"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}