{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img width=\"800px\" src=\"../fidle/img/00-Fidle-header-01.svg\"></img>\n",
    "\n",
    "\n",
    "# <!-- TITLE --> [BHPD1] - Regression with a Dense Network (DNN)\n",
    "<!-- DESC --> Simple example of a regression with the dataset Boston Housing Prices Dataset (BHPD)\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 Prices 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",
       "div .comment{\n",
       "    font-size:0.8em;\n",
       "    color:#696969;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "</style>\n",
       "\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "<br>**FIDLE 2020 - Practical Work Module**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Version              : 2.0.1\n",
      "Notebook id          : BHPD1\n",
      "Run time             : Thursday 14 January 2021, 10:57:04\n",
      "TensorFlow version   : 2.2.0\n",
      "Keras version        : 2.3.0-tf\n",
      "Datasets dir         : /home/pjluc/datasets/fidle\n",
      "Run dir              : ./run\n",
      "Update keras cache   : False\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 pwk\n",
    "\n",
    "datasets_dir = pwk.init('BHPD1')"
   ]
  },
  {
   "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_ba065_\" ><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_ba065_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
       "                        <td id=\"T_ba065_row0_col0\" class=\"data row0 col0\" >0.01</td>\n",
       "                        <td id=\"T_ba065_row0_col1\" class=\"data row0 col1\" >18.00</td>\n",
       "                        <td id=\"T_ba065_row0_col2\" class=\"data row0 col2\" >2.31</td>\n",
       "                        <td id=\"T_ba065_row0_col3\" class=\"data row0 col3\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row0_col4\" class=\"data row0 col4\" >0.54</td>\n",
       "                        <td id=\"T_ba065_row0_col5\" class=\"data row0 col5\" >6.58</td>\n",
       "                        <td id=\"T_ba065_row0_col6\" class=\"data row0 col6\" >65.20</td>\n",
       "                        <td id=\"T_ba065_row0_col7\" class=\"data row0 col7\" >4.09</td>\n",
       "                        <td id=\"T_ba065_row0_col8\" class=\"data row0 col8\" >1.00</td>\n",
       "                        <td id=\"T_ba065_row0_col9\" class=\"data row0 col9\" >296.00</td>\n",
       "                        <td id=\"T_ba065_row0_col10\" class=\"data row0 col10\" >15.30</td>\n",
       "                        <td id=\"T_ba065_row0_col11\" class=\"data row0 col11\" >396.90</td>\n",
       "                        <td id=\"T_ba065_row0_col12\" class=\"data row0 col12\" >4.98</td>\n",
       "                        <td id=\"T_ba065_row0_col13\" class=\"data row0 col13\" >24.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_ba065_level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_ba065_row1_col0\" class=\"data row1 col0\" >0.03</td>\n",
       "                        <td id=\"T_ba065_row1_col1\" class=\"data row1 col1\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row1_col2\" class=\"data row1 col2\" >7.07</td>\n",
       "                        <td id=\"T_ba065_row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row1_col4\" class=\"data row1 col4\" >0.47</td>\n",
       "                        <td id=\"T_ba065_row1_col5\" class=\"data row1 col5\" >6.42</td>\n",
       "                        <td id=\"T_ba065_row1_col6\" class=\"data row1 col6\" >78.90</td>\n",
       "                        <td id=\"T_ba065_row1_col7\" class=\"data row1 col7\" >4.97</td>\n",
       "                        <td id=\"T_ba065_row1_col8\" class=\"data row1 col8\" >2.00</td>\n",
       "                        <td id=\"T_ba065_row1_col9\" class=\"data row1 col9\" >242.00</td>\n",
       "                        <td id=\"T_ba065_row1_col10\" class=\"data row1 col10\" >17.80</td>\n",
       "                        <td id=\"T_ba065_row1_col11\" class=\"data row1 col11\" >396.90</td>\n",
       "                        <td id=\"T_ba065_row1_col12\" class=\"data row1 col12\" >9.14</td>\n",
       "                        <td id=\"T_ba065_row1_col13\" class=\"data row1 col13\" >21.60</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_ba065_level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
       "                        <td id=\"T_ba065_row2_col0\" class=\"data row2 col0\" >0.03</td>\n",
       "                        <td id=\"T_ba065_row2_col1\" class=\"data row2 col1\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row2_col2\" class=\"data row2 col2\" >7.07</td>\n",
       "                        <td id=\"T_ba065_row2_col3\" class=\"data row2 col3\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row2_col4\" class=\"data row2 col4\" >0.47</td>\n",
       "                        <td id=\"T_ba065_row2_col5\" class=\"data row2 col5\" >7.18</td>\n",
       "                        <td id=\"T_ba065_row2_col6\" class=\"data row2 col6\" >61.10</td>\n",
       "                        <td id=\"T_ba065_row2_col7\" class=\"data row2 col7\" >4.97</td>\n",
       "                        <td id=\"T_ba065_row2_col8\" class=\"data row2 col8\" >2.00</td>\n",
       "                        <td id=\"T_ba065_row2_col9\" class=\"data row2 col9\" >242.00</td>\n",
       "                        <td id=\"T_ba065_row2_col10\" class=\"data row2 col10\" >17.80</td>\n",
       "                        <td id=\"T_ba065_row2_col11\" class=\"data row2 col11\" >392.83</td>\n",
       "                        <td id=\"T_ba065_row2_col12\" class=\"data row2 col12\" >4.03</td>\n",
       "                        <td id=\"T_ba065_row2_col13\" class=\"data row2 col13\" >34.70</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_ba065_level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
       "                        <td id=\"T_ba065_row3_col0\" class=\"data row3 col0\" >0.03</td>\n",
       "                        <td id=\"T_ba065_row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row3_col2\" class=\"data row3 col2\" >2.18</td>\n",
       "                        <td id=\"T_ba065_row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row3_col4\" class=\"data row3 col4\" >0.46</td>\n",
       "                        <td id=\"T_ba065_row3_col5\" class=\"data row3 col5\" >7.00</td>\n",
       "                        <td id=\"T_ba065_row3_col6\" class=\"data row3 col6\" >45.80</td>\n",
       "                        <td id=\"T_ba065_row3_col7\" class=\"data row3 col7\" >6.06</td>\n",
       "                        <td id=\"T_ba065_row3_col8\" class=\"data row3 col8\" >3.00</td>\n",
       "                        <td id=\"T_ba065_row3_col9\" class=\"data row3 col9\" >222.00</td>\n",
       "                        <td id=\"T_ba065_row3_col10\" class=\"data row3 col10\" >18.70</td>\n",
       "                        <td id=\"T_ba065_row3_col11\" class=\"data row3 col11\" >394.63</td>\n",
       "                        <td id=\"T_ba065_row3_col12\" class=\"data row3 col12\" >2.94</td>\n",
       "                        <td id=\"T_ba065_row3_col13\" class=\"data row3 col13\" >33.40</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_ba065_level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
       "                        <td id=\"T_ba065_row4_col0\" class=\"data row4 col0\" >0.07</td>\n",
       "                        <td id=\"T_ba065_row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row4_col2\" class=\"data row4 col2\" >2.18</td>\n",
       "                        <td id=\"T_ba065_row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_ba065_row4_col4\" class=\"data row4 col4\" >0.46</td>\n",
       "                        <td id=\"T_ba065_row4_col5\" class=\"data row4 col5\" >7.15</td>\n",
       "                        <td id=\"T_ba065_row4_col6\" class=\"data row4 col6\" >54.20</td>\n",
       "                        <td id=\"T_ba065_row4_col7\" class=\"data row4 col7\" >6.06</td>\n",
       "                        <td id=\"T_ba065_row4_col8\" class=\"data row4 col8\" >3.00</td>\n",
       "                        <td id=\"T_ba065_row4_col9\" class=\"data row4 col9\" >222.00</td>\n",
       "                        <td id=\"T_ba065_row4_col10\" class=\"data row4 col10\" >18.70</td>\n",
       "                        <td id=\"T_ba065_row4_col11\" class=\"data row4 col11\" >396.90</td>\n",
       "                        <td id=\"T_ba065_row4_col12\" class=\"data row4 col12\" >5.33</td>\n",
       "                        <td id=\"T_ba065_row4_col13\" class=\"data row4 col13\" >36.20</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f64eb329f50>"
      ]
     },
     "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'{datasets_dir}/BHPD/origine/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_e5177_\" ><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_e5177_level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_e5177_row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_e5177_row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_e5177_row1_col0\" class=\"data row1 col0\" >3.81</td>\n",
       "                        <td id=\"T_e5177_row1_col1\" class=\"data row1 col1\" >12.47</td>\n",
       "                        <td id=\"T_e5177_row1_col2\" class=\"data row1 col2\" >11.00</td>\n",
       "                        <td id=\"T_e5177_row1_col3\" class=\"data row1 col3\" >0.08</td>\n",
       "                        <td id=\"T_e5177_row1_col4\" class=\"data row1 col4\" >0.55</td>\n",
       "                        <td id=\"T_e5177_row1_col5\" class=\"data row1 col5\" >6.32</td>\n",
       "                        <td id=\"T_e5177_row1_col6\" class=\"data row1 col6\" >67.06</td>\n",
       "                        <td id=\"T_e5177_row1_col7\" class=\"data row1 col7\" >3.86</td>\n",
       "                        <td id=\"T_e5177_row1_col8\" class=\"data row1 col8\" >9.58</td>\n",
       "                        <td id=\"T_e5177_row1_col9\" class=\"data row1 col9\" >406.70</td>\n",
       "                        <td id=\"T_e5177_row1_col10\" class=\"data row1 col10\" >18.35</td>\n",
       "                        <td id=\"T_e5177_row1_col11\" class=\"data row1 col11\" >353.78</td>\n",
       "                        <td id=\"T_e5177_row1_col12\" class=\"data row1 col12\" >12.34</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_e5177_row2_col0\" class=\"data row2 col0\" >9.49</td>\n",
       "                        <td id=\"T_e5177_row2_col1\" class=\"data row2 col1\" >24.98</td>\n",
       "                        <td id=\"T_e5177_row2_col2\" class=\"data row2 col2\" >6.86</td>\n",
       "                        <td id=\"T_e5177_row2_col3\" class=\"data row2 col3\" >0.27</td>\n",
       "                        <td id=\"T_e5177_row2_col4\" class=\"data row2 col4\" >0.12</td>\n",
       "                        <td id=\"T_e5177_row2_col5\" class=\"data row2 col5\" >0.71</td>\n",
       "                        <td id=\"T_e5177_row2_col6\" class=\"data row2 col6\" >29.01</td>\n",
       "                        <td id=\"T_e5177_row2_col7\" class=\"data row2 col7\" >2.14</td>\n",
       "                        <td id=\"T_e5177_row2_col8\" class=\"data row2 col8\" >8.74</td>\n",
       "                        <td id=\"T_e5177_row2_col9\" class=\"data row2 col9\" >169.05</td>\n",
       "                        <td id=\"T_e5177_row2_col10\" class=\"data row2 col10\" >2.18</td>\n",
       "                        <td id=\"T_e5177_row2_col11\" class=\"data row2 col11\" >97.53</td>\n",
       "                        <td id=\"T_e5177_row2_col12\" class=\"data row2 col12\" >7.17</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_e5177_row3_col0\" class=\"data row3 col0\" >0.01</td>\n",
       "                        <td id=\"T_e5177_row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row3_col2\" class=\"data row3 col2\" >0.46</td>\n",
       "                        <td id=\"T_e5177_row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row3_col4\" class=\"data row3 col4\" >0.39</td>\n",
       "                        <td id=\"T_e5177_row3_col5\" class=\"data row3 col5\" >3.56</td>\n",
       "                        <td id=\"T_e5177_row3_col6\" class=\"data row3 col6\" >2.90</td>\n",
       "                        <td id=\"T_e5177_row3_col7\" class=\"data row3 col7\" >1.13</td>\n",
       "                        <td id=\"T_e5177_row3_col8\" class=\"data row3 col8\" >1.00</td>\n",
       "                        <td id=\"T_e5177_row3_col9\" class=\"data row3 col9\" >187.00</td>\n",
       "                        <td id=\"T_e5177_row3_col10\" class=\"data row3 col10\" >12.60</td>\n",
       "                        <td id=\"T_e5177_row3_col11\" class=\"data row3 col11\" >0.32</td>\n",
       "                        <td id=\"T_e5177_row3_col12\" class=\"data row3 col12\" >1.92</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_e5177_row4_col0\" class=\"data row4 col0\" >0.08</td>\n",
       "                        <td id=\"T_e5177_row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row4_col2\" class=\"data row4 col2\" >5.19</td>\n",
       "                        <td id=\"T_e5177_row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row4_col4\" class=\"data row4 col4\" >0.45</td>\n",
       "                        <td id=\"T_e5177_row4_col5\" class=\"data row4 col5\" >5.92</td>\n",
       "                        <td id=\"T_e5177_row4_col6\" class=\"data row4 col6\" >39.25</td>\n",
       "                        <td id=\"T_e5177_row4_col7\" class=\"data row4 col7\" >2.11</td>\n",
       "                        <td id=\"T_e5177_row4_col8\" class=\"data row4 col8\" >4.00</td>\n",
       "                        <td id=\"T_e5177_row4_col9\" class=\"data row4 col9\" >281.75</td>\n",
       "                        <td id=\"T_e5177_row4_col10\" class=\"data row4 col10\" >16.90</td>\n",
       "                        <td id=\"T_e5177_row4_col11\" class=\"data row4 col11\" >376.25</td>\n",
       "                        <td id=\"T_e5177_row4_col12\" class=\"data row4 col12\" >6.72</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_e5177_row5_col0\" class=\"data row5 col0\" >0.27</td>\n",
       "                        <td id=\"T_e5177_row5_col1\" class=\"data row5 col1\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row5_col2\" class=\"data row5 col2\" >8.56</td>\n",
       "                        <td id=\"T_e5177_row5_col3\" class=\"data row5 col3\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row5_col4\" class=\"data row5 col4\" >0.53</td>\n",
       "                        <td id=\"T_e5177_row5_col5\" class=\"data row5 col5\" >6.23</td>\n",
       "                        <td id=\"T_e5177_row5_col6\" class=\"data row5 col6\" >76.80</td>\n",
       "                        <td id=\"T_e5177_row5_col7\" class=\"data row5 col7\" >3.27</td>\n",
       "                        <td id=\"T_e5177_row5_col8\" class=\"data row5 col8\" >5.00</td>\n",
       "                        <td id=\"T_e5177_row5_col9\" class=\"data row5 col9\" >329.50</td>\n",
       "                        <td id=\"T_e5177_row5_col10\" class=\"data row5 col10\" >18.80</td>\n",
       "                        <td id=\"T_e5177_row5_col11\" class=\"data row5 col11\" >391.88</td>\n",
       "                        <td id=\"T_e5177_row5_col12\" class=\"data row5 col12\" >10.61</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_e5177_row6_col0\" class=\"data row6 col0\" >3.65</td>\n",
       "                        <td id=\"T_e5177_row6_col1\" class=\"data row6 col1\" >12.50</td>\n",
       "                        <td id=\"T_e5177_row6_col2\" class=\"data row6 col2\" >18.10</td>\n",
       "                        <td id=\"T_e5177_row6_col3\" class=\"data row6 col3\" >0.00</td>\n",
       "                        <td id=\"T_e5177_row6_col4\" class=\"data row6 col4\" >0.62</td>\n",
       "                        <td id=\"T_e5177_row6_col5\" class=\"data row6 col5\" >6.68</td>\n",
       "                        <td id=\"T_e5177_row6_col6\" class=\"data row6 col6\" >93.75</td>\n",
       "                        <td id=\"T_e5177_row6_col7\" class=\"data row6 col7\" >5.29</td>\n",
       "                        <td id=\"T_e5177_row6_col8\" class=\"data row6 col8\" >24.00</td>\n",
       "                        <td id=\"T_e5177_row6_col9\" class=\"data row6 col9\" >666.00</td>\n",
       "                        <td id=\"T_e5177_row6_col10\" class=\"data row6 col10\" >20.20</td>\n",
       "                        <td id=\"T_e5177_row6_col11\" class=\"data row6 col11\" >396.38</td>\n",
       "                        <td id=\"T_e5177_row6_col12\" class=\"data row6 col12\" >16.44</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_e5177_level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_e5177_row7_col0\" class=\"data row7 col0\" >88.98</td>\n",
       "                        <td id=\"T_e5177_row7_col1\" class=\"data row7 col1\" >95.00</td>\n",
       "                        <td id=\"T_e5177_row7_col2\" class=\"data row7 col2\" >27.74</td>\n",
       "                        <td id=\"T_e5177_row7_col3\" class=\"data row7 col3\" >1.00</td>\n",
       "                        <td id=\"T_e5177_row7_col4\" class=\"data row7 col4\" >0.87</td>\n",
       "                        <td id=\"T_e5177_row7_col5\" class=\"data row7 col5\" >8.78</td>\n",
       "                        <td id=\"T_e5177_row7_col6\" class=\"data row7 col6\" >100.00</td>\n",
       "                        <td id=\"T_e5177_row7_col7\" class=\"data row7 col7\" >12.13</td>\n",
       "                        <td id=\"T_e5177_row7_col8\" class=\"data row7 col8\" >24.00</td>\n",
       "                        <td id=\"T_e5177_row7_col9\" class=\"data row7 col9\" >711.00</td>\n",
       "                        <td id=\"T_e5177_row7_col10\" class=\"data row7 col10\" >22.00</td>\n",
       "                        <td id=\"T_e5177_row7_col11\" class=\"data row7 col11\" >396.90</td>\n",
       "                        <td id=\"T_e5177_row7_col12\" class=\"data row7 col12\" >37.97</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f64356310d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_0f378_\" ><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_0f378_level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_0f378_row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_0f378_row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_0f378_row1_col0\" class=\"data row1 col0\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col1\" class=\"data row1 col1\" >0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col2\" class=\"data row1 col2\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col4\" class=\"data row1 col4\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col5\" class=\"data row1 col5\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col6\" class=\"data row1 col6\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col7\" class=\"data row1 col7\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col8\" class=\"data row1 col8\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col9\" class=\"data row1 col9\" >0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col10\" class=\"data row1 col10\" >0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col11\" class=\"data row1 col11\" >-0.00</td>\n",
       "                        <td id=\"T_0f378_row1_col12\" class=\"data row1 col12\" >-0.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_0f378_row2_col0\" class=\"data row2 col0\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col1\" class=\"data row2 col1\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col2\" class=\"data row2 col2\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col3\" class=\"data row2 col3\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col4\" class=\"data row2 col4\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col5\" class=\"data row2 col5\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col6\" class=\"data row2 col6\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col7\" class=\"data row2 col7\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col8\" class=\"data row2 col8\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col9\" class=\"data row2 col9\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col10\" class=\"data row2 col10\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col11\" class=\"data row2 col11\" >1.00</td>\n",
       "                        <td id=\"T_0f378_row2_col12\" class=\"data row2 col12\" >1.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_0f378_row3_col0\" class=\"data row3 col0\" >-0.40</td>\n",
       "                        <td id=\"T_0f378_row3_col1\" class=\"data row3 col1\" >-0.50</td>\n",
       "                        <td id=\"T_0f378_row3_col2\" class=\"data row3 col2\" >-1.54</td>\n",
       "                        <td id=\"T_0f378_row3_col3\" class=\"data row3 col3\" >-0.30</td>\n",
       "                        <td id=\"T_0f378_row3_col4\" class=\"data row3 col4\" >-1.42</td>\n",
       "                        <td id=\"T_0f378_row3_col5\" class=\"data row3 col5\" >-3.87</td>\n",
       "                        <td id=\"T_0f378_row3_col6\" class=\"data row3 col6\" >-2.21</td>\n",
       "                        <td id=\"T_0f378_row3_col7\" class=\"data row3 col7\" >-1.28</td>\n",
       "                        <td id=\"T_0f378_row3_col8\" class=\"data row3 col8\" >-0.98</td>\n",
       "                        <td id=\"T_0f378_row3_col9\" class=\"data row3 col9\" >-1.30</td>\n",
       "                        <td id=\"T_0f378_row3_col10\" class=\"data row3 col10\" >-2.64</td>\n",
       "                        <td id=\"T_0f378_row3_col11\" class=\"data row3 col11\" >-3.62</td>\n",
       "                        <td id=\"T_0f378_row3_col12\" class=\"data row3 col12\" >-1.45</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_0f378_row4_col0\" class=\"data row4 col0\" >-0.39</td>\n",
       "                        <td id=\"T_0f378_row4_col1\" class=\"data row4 col1\" >-0.50</td>\n",
       "                        <td id=\"T_0f378_row4_col2\" class=\"data row4 col2\" >-0.85</td>\n",
       "                        <td id=\"T_0f378_row4_col3\" class=\"data row4 col3\" >-0.30</td>\n",
       "                        <td id=\"T_0f378_row4_col4\" class=\"data row4 col4\" >-0.89</td>\n",
       "                        <td id=\"T_0f378_row4_col5\" class=\"data row4 col5\" >-0.56</td>\n",
       "                        <td id=\"T_0f378_row4_col6\" class=\"data row4 col6\" >-0.96</td>\n",
       "                        <td id=\"T_0f378_row4_col7\" class=\"data row4 col7\" >-0.82</td>\n",
       "                        <td id=\"T_0f378_row4_col8\" class=\"data row4 col8\" >-0.64</td>\n",
       "                        <td id=\"T_0f378_row4_col9\" class=\"data row4 col9\" >-0.74</td>\n",
       "                        <td id=\"T_0f378_row4_col10\" class=\"data row4 col10\" >-0.67</td>\n",
       "                        <td id=\"T_0f378_row4_col11\" class=\"data row4 col11\" >0.23</td>\n",
       "                        <td id=\"T_0f378_row4_col12\" class=\"data row4 col12\" >-0.78</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_0f378_row5_col0\" class=\"data row5 col0\" >-0.37</td>\n",
       "                        <td id=\"T_0f378_row5_col1\" class=\"data row5 col1\" >-0.50</td>\n",
       "                        <td id=\"T_0f378_row5_col2\" class=\"data row5 col2\" >-0.36</td>\n",
       "                        <td id=\"T_0f378_row5_col3\" class=\"data row5 col3\" >-0.30</td>\n",
       "                        <td id=\"T_0f378_row5_col4\" class=\"data row5 col4\" >-0.18</td>\n",
       "                        <td id=\"T_0f378_row5_col5\" class=\"data row5 col5\" >-0.13</td>\n",
       "                        <td id=\"T_0f378_row5_col6\" class=\"data row5 col6\" >0.34</td>\n",
       "                        <td id=\"T_0f378_row5_col7\" class=\"data row5 col7\" >-0.28</td>\n",
       "                        <td id=\"T_0f378_row5_col8\" class=\"data row5 col8\" >-0.52</td>\n",
       "                        <td id=\"T_0f378_row5_col9\" class=\"data row5 col9\" >-0.46</td>\n",
       "                        <td id=\"T_0f378_row5_col10\" class=\"data row5 col10\" >0.21</td>\n",
       "                        <td id=\"T_0f378_row5_col11\" class=\"data row5 col11\" >0.39</td>\n",
       "                        <td id=\"T_0f378_row5_col12\" class=\"data row5 col12\" >-0.24</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_0f378_row6_col0\" class=\"data row6 col0\" >-0.02</td>\n",
       "                        <td id=\"T_0f378_row6_col1\" class=\"data row6 col1\" >0.00</td>\n",
       "                        <td id=\"T_0f378_row6_col2\" class=\"data row6 col2\" >1.04</td>\n",
       "                        <td id=\"T_0f378_row6_col3\" class=\"data row6 col3\" >-0.30</td>\n",
       "                        <td id=\"T_0f378_row6_col4\" class=\"data row6 col4\" >0.60</td>\n",
       "                        <td id=\"T_0f378_row6_col5\" class=\"data row6 col5\" >0.50</td>\n",
       "                        <td id=\"T_0f378_row6_col6\" class=\"data row6 col6\" >0.92</td>\n",
       "                        <td id=\"T_0f378_row6_col7\" class=\"data row6 col7\" >0.66</td>\n",
       "                        <td id=\"T_0f378_row6_col8\" class=\"data row6 col8\" >1.65</td>\n",
       "                        <td id=\"T_0f378_row6_col9\" class=\"data row6 col9\" >1.53</td>\n",
       "                        <td id=\"T_0f378_row6_col10\" class=\"data row6 col10\" >0.85</td>\n",
       "                        <td id=\"T_0f378_row6_col11\" class=\"data row6 col11\" >0.44</td>\n",
       "                        <td id=\"T_0f378_row6_col12\" class=\"data row6 col12\" >0.57</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_0f378_level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_0f378_row7_col0\" class=\"data row7 col0\" >8.97</td>\n",
       "                        <td id=\"T_0f378_row7_col1\" class=\"data row7 col1\" >3.30</td>\n",
       "                        <td id=\"T_0f378_row7_col2\" class=\"data row7 col2\" >2.44</td>\n",
       "                        <td id=\"T_0f378_row7_col3\" class=\"data row7 col3\" >3.34</td>\n",
       "                        <td id=\"T_0f378_row7_col4\" class=\"data row7 col4\" >2.70</td>\n",
       "                        <td id=\"T_0f378_row7_col5\" class=\"data row7 col5\" >3.46</td>\n",
       "                        <td id=\"T_0f378_row7_col6\" class=\"data row7 col6\" >1.14</td>\n",
       "                        <td id=\"T_0f378_row7_col7\" class=\"data row7 col7\" >3.86</td>\n",
       "                        <td id=\"T_0f378_row7_col8\" class=\"data row7 col8\" >1.65</td>\n",
       "                        <td id=\"T_0f378_row7_col9\" class=\"data row7 col9\" >1.80</td>\n",
       "                        <td id=\"T_0f378_row7_col10\" class=\"data row7 col10\" >1.68</td>\n",
       "                        <td id=\"T_0f378_row7_col11\" class=\"data row7 col11\" >0.44</td>\n",
       "                        <td id=\"T_0f378_row7_col12\" class=\"data row7 col12\" >3.57</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f64e825c510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_b130d_\" ><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_b130d_level0_row0\" class=\"row_heading level0 row0\" >473</th>\n",
       "                        <td id=\"T_b130d_row0_col0\" class=\"data row0 col0\" >0.09</td>\n",
       "                        <td id=\"T_b130d_row0_col1\" class=\"data row0 col1\" >-0.50</td>\n",
       "                        <td id=\"T_b130d_row0_col2\" class=\"data row0 col2\" >1.04</td>\n",
       "                        <td id=\"T_b130d_row0_col3\" class=\"data row0 col3\" >-0.30</td>\n",
       "                        <td id=\"T_b130d_row0_col4\" class=\"data row0 col4\" >0.52</td>\n",
       "                        <td id=\"T_b130d_row0_col5\" class=\"data row0 col5\" >0.93</td>\n",
       "                        <td id=\"T_b130d_row0_col6\" class=\"data row0 col6\" >0.02</td>\n",
       "                        <td id=\"T_b130d_row0_col7\" class=\"data row0 col7\" >-0.62</td>\n",
       "                        <td id=\"T_b130d_row0_col8\" class=\"data row0 col8\" >1.65</td>\n",
       "                        <td id=\"T_b130d_row0_col9\" class=\"data row0 col9\" >1.53</td>\n",
       "                        <td id=\"T_b130d_row0_col10\" class=\"data row0 col10\" >0.85</td>\n",
       "                        <td id=\"T_b130d_row0_col11\" class=\"data row0 col11\" >0.21</td>\n",
       "                        <td id=\"T_b130d_row0_col12\" class=\"data row0 col12\" >-0.10</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b130d_level0_row1\" class=\"row_heading level0 row1\" >232</th>\n",
       "                        <td id=\"T_b130d_row1_col0\" class=\"data row1 col0\" >-0.34</td>\n",
       "                        <td id=\"T_b130d_row1_col1\" class=\"data row1 col1\" >-0.50</td>\n",
       "                        <td id=\"T_b130d_row1_col2\" class=\"data row1 col2\" >-0.70</td>\n",
       "                        <td id=\"T_b130d_row1_col3\" class=\"data row1 col3\" >-0.30</td>\n",
       "                        <td id=\"T_b130d_row1_col4\" class=\"data row1 col4\" >-0.39</td>\n",
       "                        <td id=\"T_b130d_row1_col5\" class=\"data row1 col5\" >2.83</td>\n",
       "                        <td id=\"T_b130d_row1_col6\" class=\"data row1 col6\" >0.22</td>\n",
       "                        <td id=\"T_b130d_row1_col7\" class=\"data row1 col7\" >-0.01</td>\n",
       "                        <td id=\"T_b130d_row1_col8\" class=\"data row1 col8\" >-0.18</td>\n",
       "                        <td id=\"T_b130d_row1_col9\" class=\"data row1 col9\" >-0.59</td>\n",
       "                        <td id=\"T_b130d_row1_col10\" class=\"data row1 col10\" >-0.44</td>\n",
       "                        <td id=\"T_b130d_row1_col11\" class=\"data row1 col11\" >0.33</td>\n",
       "                        <td id=\"T_b130d_row1_col12\" class=\"data row1 col12\" >-1.38</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b130d_level0_row2\" class=\"row_heading level0 row2\" >256</th>\n",
       "                        <td id=\"T_b130d_row2_col0\" class=\"data row2 col0\" >-0.40</td>\n",
       "                        <td id=\"T_b130d_row2_col1\" class=\"data row2 col1\" >3.10</td>\n",
       "                        <td id=\"T_b130d_row2_col2\" class=\"data row2 col2\" >-1.06</td>\n",
       "                        <td id=\"T_b130d_row2_col3\" class=\"data row2 col3\" >-0.30</td>\n",
       "                        <td id=\"T_b130d_row2_col4\" class=\"data row2 col4\" >-1.35</td>\n",
       "                        <td id=\"T_b130d_row2_col5\" class=\"data row2 col5\" >1.59</td>\n",
       "                        <td id=\"T_b130d_row2_col6\" class=\"data row2 col6\" >-1.13</td>\n",
       "                        <td id=\"T_b130d_row2_col7\" class=\"data row2 col7\" >1.15</td>\n",
       "                        <td id=\"T_b130d_row2_col8\" class=\"data row2 col8\" >-0.75</td>\n",
       "                        <td id=\"T_b130d_row2_col9\" class=\"data row2 col9\" >-0.96</td>\n",
       "                        <td id=\"T_b130d_row2_col10\" class=\"data row2 col10\" >-1.13</td>\n",
       "                        <td id=\"T_b130d_row2_col11\" class=\"data row2 col11\" >0.33</td>\n",
       "                        <td id=\"T_b130d_row2_col12\" class=\"data row2 col12\" >-1.29</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b130d_level0_row3\" class=\"row_heading level0 row3\" >425</th>\n",
       "                        <td id=\"T_b130d_row3_col0\" class=\"data row3 col0\" >1.27</td>\n",
       "                        <td id=\"T_b130d_row3_col1\" class=\"data row3 col1\" >-0.50</td>\n",
       "                        <td id=\"T_b130d_row3_col2\" class=\"data row3 col2\" >1.04</td>\n",
       "                        <td id=\"T_b130d_row3_col3\" class=\"data row3 col3\" >-0.30</td>\n",
       "                        <td id=\"T_b130d_row3_col4\" class=\"data row3 col4\" >1.07</td>\n",
       "                        <td id=\"T_b130d_row3_col5\" class=\"data row3 col5\" >-0.59</td>\n",
       "                        <td id=\"T_b130d_row3_col6\" class=\"data row3 col6\" >0.98</td>\n",
       "                        <td id=\"T_b130d_row3_col7\" class=\"data row3 col7\" >-0.91</td>\n",
       "                        <td id=\"T_b130d_row3_col8\" class=\"data row3 col8\" >1.65</td>\n",
       "                        <td id=\"T_b130d_row3_col9\" class=\"data row3 col9\" >1.53</td>\n",
       "                        <td id=\"T_b130d_row3_col10\" class=\"data row3 col10\" >0.85</td>\n",
       "                        <td id=\"T_b130d_row3_col11\" class=\"data row3 col11\" >-3.55</td>\n",
       "                        <td id=\"T_b130d_row3_col12\" class=\"data row3 col12\" >1.68</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_b130d_level0_row4\" class=\"row_heading level0 row4\" >230</th>\n",
       "                        <td id=\"T_b130d_row4_col0\" class=\"data row4 col0\" >-0.34</td>\n",
       "                        <td id=\"T_b130d_row4_col1\" class=\"data row4 col1\" >-0.50</td>\n",
       "                        <td id=\"T_b130d_row4_col2\" class=\"data row4 col2\" >-0.70</td>\n",
       "                        <td id=\"T_b130d_row4_col3\" class=\"data row4 col3\" >-0.30</td>\n",
       "                        <td id=\"T_b130d_row4_col4\" class=\"data row4 col4\" >-0.41</td>\n",
       "                        <td id=\"T_b130d_row4_col5\" class=\"data row4 col5\" >-0.48</td>\n",
       "                        <td id=\"T_b130d_row4_col6\" class=\"data row4 col6\" >0.04</td>\n",
       "                        <td id=\"T_b130d_row4_col7\" class=\"data row4 col7\" >-0.09</td>\n",
       "                        <td id=\"T_b130d_row4_col8\" class=\"data row4 col8\" >-0.18</td>\n",
       "                        <td id=\"T_b130d_row4_col9\" class=\"data row4 col9\" >-0.59</td>\n",
       "                        <td id=\"T_b130d_row4_col10\" class=\"data row4 col10\" >-0.44</td>\n",
       "                        <td id=\"T_b130d_row4_col11\" class=\"data row4 col11\" >0.25</td>\n",
       "                        <td id=\"T_b130d_row4_col12\" class=\"data row4 col12\" >-0.10</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7f64eb329f50>"
      ]
     },
     "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": 40,
   "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(32, activation='relu', name='Dense_n1'))\n",
    "    model.add(keras.layers.Dense(64, activation='relu', name='Dense_n2'))\n",
    "    model.add(keras.layers.Dense(32, activation='relu', name='Dense_n3'))\n",
    "    model.add(keras.layers.Dense(1, name='Output'))\n",
    "    \n",
    "    model.compile(optimizer = 'adam',\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": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_5\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "Dense_n1 (Dense)             (None, 32)                448       \n",
      "_________________________________________________________________\n",
      "Dense_n2 (Dense)             (None, 64)                2112      \n",
      "_________________________________________________________________\n",
      "Dense_n3 (Dense)             (None, 32)                2080      \n",
      "_________________________________________________________________\n",
      "Output (Dense)               (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 4,673\n",
      "Trainable params: 4,673\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "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": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "history = model.fit(x_train,\n",
    "                    y_train,\n",
    "                    epochs          = 60,\n",
    "                    batch_size      = 10,\n",
    "                    verbose         = 0,\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": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5/5 [==============================] - 0s 2ms/step - loss: 11.9059 - mae: 2.6448 - mse: 11.9059\n",
      "x_test / loss      : 11.9059\n",
      "x_test / mae       : 2.6448\n",
      "x_test / mse       : 11.9059\n"
     ]
    }
   ],
   "source": [
    "score = model.evaluate(x_test, y_test, verbose=1)\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": 44,
   "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>0</th>\n",
       "      <td>496.808258</td>\n",
       "      <td>20.406666</td>\n",
       "      <td>496.808258</td>\n",
       "      <td>299.685791</td>\n",
       "      <td>15.153587</td>\n",
       "      <td>299.685791</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162.919540</td>\n",
       "      <td>10.265703</td>\n",
       "      <td>162.919540</td>\n",
       "      <td>65.847511</td>\n",
       "      <td>6.263887</td>\n",
       "      <td>65.847511</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>58.518223</td>\n",
       "      <td>5.800590</td>\n",
       "      <td>58.518223</td>\n",
       "      <td>33.691109</td>\n",
       "      <td>4.296726</td>\n",
       "      <td>33.691113</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>31.010996</td>\n",
       "      <td>4.039098</td>\n",
       "      <td>31.010996</td>\n",
       "      <td>24.567926</td>\n",
       "      <td>3.534089</td>\n",
       "      <td>24.567926</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>23.336550</td>\n",
       "      <td>3.394345</td>\n",
       "      <td>23.336550</td>\n",
       "      <td>21.112747</td>\n",
       "      <td>3.387527</td>\n",
       "      <td>21.112747</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20.368439</td>\n",
       "      <td>3.112291</td>\n",
       "      <td>20.368439</td>\n",
       "      <td>19.033449</td>\n",
       "      <td>3.166226</td>\n",
       "      <td>19.033449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>18.681219</td>\n",
       "      <td>2.996637</td>\n",
       "      <td>18.681219</td>\n",
       "      <td>18.153992</td>\n",
       "      <td>3.020701</td>\n",
       "      <td>18.153992</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>17.302563</td>\n",
       "      <td>2.853846</td>\n",
       "      <td>17.302563</td>\n",
       "      <td>17.151873</td>\n",
       "      <td>3.000582</td>\n",
       "      <td>17.151873</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>15.752460</td>\n",
       "      <td>2.701095</td>\n",
       "      <td>15.752460</td>\n",
       "      <td>16.664345</td>\n",
       "      <td>3.016817</td>\n",
       "      <td>16.664345</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>14.797948</td>\n",
       "      <td>2.587970</td>\n",
       "      <td>14.797948</td>\n",
       "      <td>16.029793</td>\n",
       "      <td>2.958454</td>\n",
       "      <td>16.029793</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>14.564775</td>\n",
       "      <td>2.623680</td>\n",
       "      <td>14.564775</td>\n",
       "      <td>15.449832</td>\n",
       "      <td>2.906943</td>\n",
       "      <td>15.449832</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>13.653079</td>\n",
       "      <td>2.468045</td>\n",
       "      <td>13.653079</td>\n",
       "      <td>15.164533</td>\n",
       "      <td>2.916796</td>\n",
       "      <td>15.164533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13.325779</td>\n",
       "      <td>2.432350</td>\n",
       "      <td>13.325780</td>\n",
       "      <td>14.665699</td>\n",
       "      <td>2.861158</td>\n",
       "      <td>14.665699</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13.007739</td>\n",
       "      <td>2.429434</td>\n",
       "      <td>13.007739</td>\n",
       "      <td>14.335600</td>\n",
       "      <td>2.844846</td>\n",
       "      <td>14.335600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>12.266639</td>\n",
       "      <td>2.299131</td>\n",
       "      <td>12.266639</td>\n",
       "      <td>15.228933</td>\n",
       "      <td>2.983851</td>\n",
       "      <td>15.228933</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>12.286620</td>\n",
       "      <td>2.368878</td>\n",
       "      <td>12.286620</td>\n",
       "      <td>14.127678</td>\n",
       "      <td>2.842794</td>\n",
       "      <td>14.127678</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>11.410469</td>\n",
       "      <td>2.229515</td>\n",
       "      <td>11.410469</td>\n",
       "      <td>13.894320</td>\n",
       "      <td>2.823238</td>\n",
       "      <td>13.894320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>11.181726</td>\n",
       "      <td>2.190278</td>\n",
       "      <td>11.181726</td>\n",
       "      <td>13.606056</td>\n",
       "      <td>2.797815</td>\n",
       "      <td>13.606056</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>10.828321</td>\n",
       "      <td>2.154480</td>\n",
       "      <td>10.828321</td>\n",
       "      <td>13.565251</td>\n",
       "      <td>2.819813</td>\n",
       "      <td>13.565251</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>10.569035</td>\n",
       "      <td>2.154685</td>\n",
       "      <td>10.569035</td>\n",
       "      <td>13.530810</td>\n",
       "      <td>2.809333</td>\n",
       "      <td>13.530810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.488348</td>\n",
       "      <td>2.108964</td>\n",
       "      <td>10.488348</td>\n",
       "      <td>13.247073</td>\n",
       "      <td>2.791539</td>\n",
       "      <td>13.247073</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>9.903971</td>\n",
       "      <td>2.094111</td>\n",
       "      <td>9.903970</td>\n",
       "      <td>13.581500</td>\n",
       "      <td>2.839964</td>\n",
       "      <td>13.581500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>10.251574</td>\n",
       "      <td>2.115290</td>\n",
       "      <td>10.251573</td>\n",
       "      <td>12.943285</td>\n",
       "      <td>2.775483</td>\n",
       "      <td>12.943283</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>9.634067</td>\n",
       "      <td>2.032825</td>\n",
       "      <td>9.634067</td>\n",
       "      <td>13.090726</td>\n",
       "      <td>2.801419</td>\n",
       "      <td>13.090726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>9.194120</td>\n",
       "      <td>2.028062</td>\n",
       "      <td>9.194120</td>\n",
       "      <td>12.963680</td>\n",
       "      <td>2.766797</td>\n",
       "      <td>12.963680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>9.178823</td>\n",
       "      <td>2.010767</td>\n",
       "      <td>9.178823</td>\n",
       "      <td>12.949334</td>\n",
       "      <td>2.778063</td>\n",
       "      <td>12.949334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>8.793119</td>\n",
       "      <td>1.980939</td>\n",
       "      <td>8.793119</td>\n",
       "      <td>12.878089</td>\n",
       "      <td>2.799960</td>\n",
       "      <td>12.878089</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>8.908919</td>\n",
       "      <td>2.031492</td>\n",
       "      <td>8.908919</td>\n",
       "      <td>12.313911</td>\n",
       "      <td>2.714739</td>\n",
       "      <td>12.313910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>8.373400</td>\n",
       "      <td>1.955855</td>\n",
       "      <td>8.373400</td>\n",
       "      <td>12.750246</td>\n",
       "      <td>2.753815</td>\n",
       "      <td>12.750246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>8.350707</td>\n",
       "      <td>1.945564</td>\n",
       "      <td>8.350707</td>\n",
       "      <td>12.749087</td>\n",
       "      <td>2.743346</td>\n",
       "      <td>12.749087</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>8.124330</td>\n",
       "      <td>1.945379</td>\n",
       "      <td>8.124330</td>\n",
       "      <td>12.534031</td>\n",
       "      <td>2.733095</td>\n",
       "      <td>12.534031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>7.931583</td>\n",
       "      <td>1.883138</td>\n",
       "      <td>7.931583</td>\n",
       "      <td>13.131082</td>\n",
       "      <td>2.795423</td>\n",
       "      <td>13.131082</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>7.955390</td>\n",
       "      <td>1.944531</td>\n",
       "      <td>7.955390</td>\n",
       "      <td>12.266490</td>\n",
       "      <td>2.685935</td>\n",
       "      <td>12.266490</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>7.463126</td>\n",
       "      <td>1.846264</td>\n",
       "      <td>7.463126</td>\n",
       "      <td>11.979753</td>\n",
       "      <td>2.714817</td>\n",
       "      <td>11.979753</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>7.368988</td>\n",
       "      <td>1.846916</td>\n",
       "      <td>7.368988</td>\n",
       "      <td>11.962049</td>\n",
       "      <td>2.671768</td>\n",
       "      <td>11.962049</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>6.900507</td>\n",
       "      <td>1.808072</td>\n",
       "      <td>6.900507</td>\n",
       "      <td>12.391670</td>\n",
       "      <td>2.715800</td>\n",
       "      <td>12.391670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>6.988751</td>\n",
       "      <td>1.797553</td>\n",
       "      <td>6.988751</td>\n",
       "      <td>11.833957</td>\n",
       "      <td>2.653125</td>\n",
       "      <td>11.833957</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>6.939470</td>\n",
       "      <td>1.778816</td>\n",
       "      <td>6.939470</td>\n",
       "      <td>11.929521</td>\n",
       "      <td>2.664361</td>\n",
       "      <td>11.929521</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>6.756051</td>\n",
       "      <td>1.810675</td>\n",
       "      <td>6.756051</td>\n",
       "      <td>13.190271</td>\n",
       "      <td>2.799606</td>\n",
       "      <td>13.190269</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>6.769431</td>\n",
       "      <td>1.799516</td>\n",
       "      <td>6.769431</td>\n",
       "      <td>11.429970</td>\n",
       "      <td>2.627498</td>\n",
       "      <td>11.429970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>6.317815</td>\n",
       "      <td>1.738746</td>\n",
       "      <td>6.317815</td>\n",
       "      <td>11.718296</td>\n",
       "      <td>2.641332</td>\n",
       "      <td>11.718296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>6.295363</td>\n",
       "      <td>1.727006</td>\n",
       "      <td>6.295363</td>\n",
       "      <td>12.176748</td>\n",
       "      <td>2.699434</td>\n",
       "      <td>12.176748</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>6.230900</td>\n",
       "      <td>1.758334</td>\n",
       "      <td>6.230900</td>\n",
       "      <td>11.816090</td>\n",
       "      <td>2.656886</td>\n",
       "      <td>11.816090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>6.054307</td>\n",
       "      <td>1.728827</td>\n",
       "      <td>6.054307</td>\n",
       "      <td>11.509453</td>\n",
       "      <td>2.641540</td>\n",
       "      <td>11.509453</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>5.801526</td>\n",
       "      <td>1.640258</td>\n",
       "      <td>5.801526</td>\n",
       "      <td>11.625114</td>\n",
       "      <td>2.642927</td>\n",
       "      <td>11.625114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>5.755993</td>\n",
       "      <td>1.697481</td>\n",
       "      <td>5.755993</td>\n",
       "      <td>11.275146</td>\n",
       "      <td>2.659705</td>\n",
       "      <td>11.275146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>5.937313</td>\n",
       "      <td>1.772940</td>\n",
       "      <td>5.937313</td>\n",
       "      <td>11.071560</td>\n",
       "      <td>2.608654</td>\n",
       "      <td>11.071560</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>5.462420</td>\n",
       "      <td>1.618898</td>\n",
       "      <td>5.462420</td>\n",
       "      <td>11.362513</td>\n",
       "      <td>2.568167</td>\n",
       "      <td>11.362513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>5.272933</td>\n",
       "      <td>1.623106</td>\n",
       "      <td>5.272933</td>\n",
       "      <td>10.980933</td>\n",
       "      <td>2.594174</td>\n",
       "      <td>10.980933</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>5.369299</td>\n",
       "      <td>1.630379</td>\n",
       "      <td>5.369299</td>\n",
       "      <td>10.639811</td>\n",
       "      <td>2.507906</td>\n",
       "      <td>10.639811</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>5.704035</td>\n",
       "      <td>1.701261</td>\n",
       "      <td>5.704035</td>\n",
       "      <td>11.174335</td>\n",
       "      <td>2.609001</td>\n",
       "      <td>11.174335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>5.041009</td>\n",
       "      <td>1.605503</td>\n",
       "      <td>5.041009</td>\n",
       "      <td>10.786023</td>\n",
       "      <td>2.556108</td>\n",
       "      <td>10.786023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>4.881229</td>\n",
       "      <td>1.567759</td>\n",
       "      <td>4.881229</td>\n",
       "      <td>10.944572</td>\n",
       "      <td>2.572653</td>\n",
       "      <td>10.944572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>4.838391</td>\n",
       "      <td>1.540383</td>\n",
       "      <td>4.838391</td>\n",
       "      <td>10.939477</td>\n",
       "      <td>2.554094</td>\n",
       "      <td>10.939477</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>4.814469</td>\n",
       "      <td>1.545582</td>\n",
       "      <td>4.814469</td>\n",
       "      <td>10.696045</td>\n",
       "      <td>2.531351</td>\n",
       "      <td>10.696045</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>4.725338</td>\n",
       "      <td>1.553826</td>\n",
       "      <td>4.725338</td>\n",
       "      <td>11.119137</td>\n",
       "      <td>2.539284</td>\n",
       "      <td>11.119137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>4.820696</td>\n",
       "      <td>1.552765</td>\n",
       "      <td>4.820696</td>\n",
       "      <td>11.093773</td>\n",
       "      <td>2.531371</td>\n",
       "      <td>11.093773</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>4.658049</td>\n",
       "      <td>1.518365</td>\n",
       "      <td>4.658049</td>\n",
       "      <td>10.783175</td>\n",
       "      <td>2.515865</td>\n",
       "      <td>10.783175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>4.609218</td>\n",
       "      <td>1.538498</td>\n",
       "      <td>4.609218</td>\n",
       "      <td>10.579556</td>\n",
       "      <td>2.479394</td>\n",
       "      <td>10.579556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>4.376875</td>\n",
       "      <td>1.495850</td>\n",
       "      <td>4.376875</td>\n",
       "      <td>11.905892</td>\n",
       "      <td>2.644810</td>\n",
       "      <td>11.905892</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          loss        mae         mse    val_loss    val_mae     val_mse\n",
       "0   496.808258  20.406666  496.808258  299.685791  15.153587  299.685791\n",
       "1   162.919540  10.265703  162.919540   65.847511   6.263887   65.847511\n",
       "2    58.518223   5.800590   58.518223   33.691109   4.296726   33.691113\n",
       "3    31.010996   4.039098   31.010996   24.567926   3.534089   24.567926\n",
       "4    23.336550   3.394345   23.336550   21.112747   3.387527   21.112747\n",
       "5    20.368439   3.112291   20.368439   19.033449   3.166226   19.033449\n",
       "6    18.681219   2.996637   18.681219   18.153992   3.020701   18.153992\n",
       "7    17.302563   2.853846   17.302563   17.151873   3.000582   17.151873\n",
       "8    15.752460   2.701095   15.752460   16.664345   3.016817   16.664345\n",
       "9    14.797948   2.587970   14.797948   16.029793   2.958454   16.029793\n",
       "10   14.564775   2.623680   14.564775   15.449832   2.906943   15.449832\n",
       "11   13.653079   2.468045   13.653079   15.164533   2.916796   15.164533\n",
       "12   13.325779   2.432350   13.325780   14.665699   2.861158   14.665699\n",
       "13   13.007739   2.429434   13.007739   14.335600   2.844846   14.335600\n",
       "14   12.266639   2.299131   12.266639   15.228933   2.983851   15.228933\n",
       "15   12.286620   2.368878   12.286620   14.127678   2.842794   14.127678\n",
       "16   11.410469   2.229515   11.410469   13.894320   2.823238   13.894320\n",
       "17   11.181726   2.190278   11.181726   13.606056   2.797815   13.606056\n",
       "18   10.828321   2.154480   10.828321   13.565251   2.819813   13.565251\n",
       "19   10.569035   2.154685   10.569035   13.530810   2.809333   13.530810\n",
       "20   10.488348   2.108964   10.488348   13.247073   2.791539   13.247073\n",
       "21    9.903971   2.094111    9.903970   13.581500   2.839964   13.581500\n",
       "22   10.251574   2.115290   10.251573   12.943285   2.775483   12.943283\n",
       "23    9.634067   2.032825    9.634067   13.090726   2.801419   13.090726\n",
       "24    9.194120   2.028062    9.194120   12.963680   2.766797   12.963680\n",
       "25    9.178823   2.010767    9.178823   12.949334   2.778063   12.949334\n",
       "26    8.793119   1.980939    8.793119   12.878089   2.799960   12.878089\n",
       "27    8.908919   2.031492    8.908919   12.313911   2.714739   12.313910\n",
       "28    8.373400   1.955855    8.373400   12.750246   2.753815   12.750246\n",
       "29    8.350707   1.945564    8.350707   12.749087   2.743346   12.749087\n",
       "30    8.124330   1.945379    8.124330   12.534031   2.733095   12.534031\n",
       "31    7.931583   1.883138    7.931583   13.131082   2.795423   13.131082\n",
       "32    7.955390   1.944531    7.955390   12.266490   2.685935   12.266490\n",
       "33    7.463126   1.846264    7.463126   11.979753   2.714817   11.979753\n",
       "34    7.368988   1.846916    7.368988   11.962049   2.671768   11.962049\n",
       "35    6.900507   1.808072    6.900507   12.391670   2.715800   12.391670\n",
       "36    6.988751   1.797553    6.988751   11.833957   2.653125   11.833957\n",
       "37    6.939470   1.778816    6.939470   11.929521   2.664361   11.929521\n",
       "38    6.756051   1.810675    6.756051   13.190271   2.799606   13.190269\n",
       "39    6.769431   1.799516    6.769431   11.429970   2.627498   11.429970\n",
       "40    6.317815   1.738746    6.317815   11.718296   2.641332   11.718296\n",
       "41    6.295363   1.727006    6.295363   12.176748   2.699434   12.176748\n",
       "42    6.230900   1.758334    6.230900   11.816090   2.656886   11.816090\n",
       "43    6.054307   1.728827    6.054307   11.509453   2.641540   11.509453\n",
       "44    5.801526   1.640258    5.801526   11.625114   2.642927   11.625114\n",
       "45    5.755993   1.697481    5.755993   11.275146   2.659705   11.275146\n",
       "46    5.937313   1.772940    5.937313   11.071560   2.608654   11.071560\n",
       "47    5.462420   1.618898    5.462420   11.362513   2.568167   11.362513\n",
       "48    5.272933   1.623106    5.272933   10.980933   2.594174   10.980933\n",
       "49    5.369299   1.630379    5.369299   10.639811   2.507906   10.639811\n",
       "50    5.704035   1.701261    5.704035   11.174335   2.609001   11.174335\n",
       "51    5.041009   1.605503    5.041009   10.786023   2.556108   10.786023\n",
       "52    4.881229   1.567759    4.881229   10.944572   2.572653   10.944572\n",
       "53    4.838391   1.540383    4.838391   10.939477   2.554094   10.939477\n",
       "54    4.814469   1.545582    4.814469   10.696045   2.531351   10.696045\n",
       "55    4.725338   1.553826    4.725338   11.119137   2.539284   11.119137\n",
       "56    4.820696   1.552765    4.820696   11.093773   2.531371   11.093773\n",
       "57    4.658049   1.518365    4.658049   10.783175   2.515865   10.783175\n",
       "58    4.609218   1.538498    4.609218   10.579556   2.479394   10.579556\n",
       "59    4.376875   1.495850    4.376875   11.905892   2.644810   11.905892"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df=pd.DataFrame(data=history.history)\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "min( val_mae ) : 2.4794\n"
     ]
    }
   ],
   "source": [
    "print(\"min( val_mae ) : {:.4f}\".format( min(history.history[\"val_mae\"]) ) )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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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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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwk.plot_history(history, plot={'MSE' :['mse', 'val_mse'],\n",
    "                                'MAE' :['mae', 'val_mae'],\n",
    "                                'LOSS':['loss','val_loss']}, save_as='01-history')"
   ]
  },
  {
   "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": 47,
   "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": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prediction : 10.68 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": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "End time is : Thursday 14 January 2021, 11:24:04\n",
      "Duration is : 00:26:59 485ms\n",
      "This notebook ends here\n"
     ]
    }
   ],
   "source": [
    "pwk.end()"
   ]
  },
  {
   "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.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}