{
 "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.57 DEV\n",
      "Run time             : Monday 14 September 2020, 08:57:10\n",
      "TensorFlow version   : 2.2.0\n",
      "Keras version        : 2.3.0-tf\n",
      "Current place        : Fidle at IDRIS\n",
      "Datasets dir         : /gpfswork/rech/mlh/uja62cb/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, datasets_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_82c24dc4_f657_11ea_a7d3_0cc47af5c763\" ><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_82c24dc4_f657_11ea_a7d3_0cc47af5c763level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col0\" class=\"data row0 col0\" >0.01</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col1\" class=\"data row0 col1\" >18.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col2\" class=\"data row0 col2\" >2.31</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col3\" class=\"data row0 col3\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col4\" class=\"data row0 col4\" >0.54</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col5\" class=\"data row0 col5\" >6.58</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col6\" class=\"data row0 col6\" >65.20</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col7\" class=\"data row0 col7\" >4.09</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col8\" class=\"data row0 col8\" >1.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col9\" class=\"data row0 col9\" >296.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col10\" class=\"data row0 col10\" >15.30</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col11\" class=\"data row0 col11\" >396.90</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col12\" class=\"data row0 col12\" >4.98</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row0_col13\" class=\"data row0 col13\" >24.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col0\" class=\"data row1 col0\" >0.03</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col1\" class=\"data row1 col1\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col2\" class=\"data row1 col2\" >7.07</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col4\" class=\"data row1 col4\" >0.47</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col5\" class=\"data row1 col5\" >6.42</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col6\" class=\"data row1 col6\" >78.90</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col7\" class=\"data row1 col7\" >4.97</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col8\" class=\"data row1 col8\" >2.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col9\" class=\"data row1 col9\" >242.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col10\" class=\"data row1 col10\" >17.80</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col11\" class=\"data row1 col11\" >396.90</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col12\" class=\"data row1 col12\" >9.14</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row1_col13\" class=\"data row1 col13\" >21.60</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col0\" class=\"data row2 col0\" >0.03</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col1\" class=\"data row2 col1\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col2\" class=\"data row2 col2\" >7.07</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col3\" class=\"data row2 col3\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col4\" class=\"data row2 col4\" >0.47</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col5\" class=\"data row2 col5\" >7.18</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col6\" class=\"data row2 col6\" >61.10</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col7\" class=\"data row2 col7\" >4.97</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col8\" class=\"data row2 col8\" >2.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col9\" class=\"data row2 col9\" >242.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col10\" class=\"data row2 col10\" >17.80</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col11\" class=\"data row2 col11\" >392.83</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col12\" class=\"data row2 col12\" >4.03</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row2_col13\" class=\"data row2 col13\" >34.70</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col0\" class=\"data row3 col0\" >0.03</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col2\" class=\"data row3 col2\" >2.18</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col4\" class=\"data row3 col4\" >0.46</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col5\" class=\"data row3 col5\" >7.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col6\" class=\"data row3 col6\" >45.80</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col7\" class=\"data row3 col7\" >6.06</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col8\" class=\"data row3 col8\" >3.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col9\" class=\"data row3 col9\" >222.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col10\" class=\"data row3 col10\" >18.70</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col11\" class=\"data row3 col11\" >394.63</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col12\" class=\"data row3 col12\" >2.94</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row3_col13\" class=\"data row3 col13\" >33.40</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col0\" class=\"data row4 col0\" >0.07</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col2\" class=\"data row4 col2\" >2.18</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col4\" class=\"data row4 col4\" >0.46</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col5\" class=\"data row4 col5\" >7.15</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col6\" class=\"data row4 col6\" >54.20</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col7\" class=\"data row4 col7\" >6.06</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col8\" class=\"data row4 col8\" >3.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col9\" class=\"data row4 col9\" >222.00</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col10\" class=\"data row4 col10\" >18.70</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col11\" class=\"data row4 col11\" >396.90</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col12\" class=\"data row4 col12\" >5.33</td>\n",
       "                        <td id=\"T_82c24dc4_f657_11ea_a7d3_0cc47af5c763row4_col13\" class=\"data row4 col13\" >36.20</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x146f52e8b310>"
      ]
     },
     "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_82cbb4ae_f657_11ea_a7d3_0cc47af5c763\" ><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_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col0\" class=\"data row1 col0\" >3.74</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col1\" class=\"data row1 col1\" >10.51</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col2\" class=\"data row1 col2\" >11.22</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col3\" class=\"data row1 col3\" >0.06</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col4\" class=\"data row1 col4\" >0.56</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col5\" class=\"data row1 col5\" >6.29</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col6\" class=\"data row1 col6\" >69.82</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col7\" class=\"data row1 col7\" >3.72</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col8\" class=\"data row1 col8\" >9.62</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col9\" class=\"data row1 col9\" >407.45</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col10\" class=\"data row1 col10\" >18.46</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col11\" class=\"data row1 col11\" >353.89</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row1_col12\" class=\"data row1 col12\" >12.75</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col0\" class=\"data row2 col0\" >8.87</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col1\" class=\"data row2 col1\" >22.27</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col2\" class=\"data row2 col2\" >6.75</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col3\" class=\"data row2 col3\" >0.25</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col4\" class=\"data row2 col4\" >0.11</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col5\" class=\"data row2 col5\" >0.72</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col6\" class=\"data row2 col6\" >27.50</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col7\" class=\"data row2 col7\" >2.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col8\" class=\"data row2 col8\" >8.71</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col9\" class=\"data row2 col9\" >167.90</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col10\" class=\"data row2 col10\" >2.19</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col11\" class=\"data row2 col11\" >95.77</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row2_col12\" class=\"data row2 col12\" >7.23</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col0\" class=\"data row3 col0\" >0.01</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col1\" class=\"data row3 col1\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col2\" class=\"data row3 col2\" >1.21</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col3\" class=\"data row3 col3\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col4\" class=\"data row3 col4\" >0.39</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col5\" class=\"data row3 col5\" >3.56</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col6\" class=\"data row3 col6\" >2.90</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col7\" class=\"data row3 col7\" >1.17</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col8\" class=\"data row3 col8\" >1.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col9\" class=\"data row3 col9\" >188.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col10\" class=\"data row3 col10\" >12.60</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col11\" class=\"data row3 col11\" >2.52</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row3_col12\" class=\"data row3 col12\" >1.73</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col0\" class=\"data row4 col0\" >0.08</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col1\" class=\"data row4 col1\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col2\" class=\"data row4 col2\" >5.19</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col3\" class=\"data row4 col3\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col4\" class=\"data row4 col4\" >0.45</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col5\" class=\"data row4 col5\" >5.90</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col6\" class=\"data row4 col6\" >47.25</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col7\" class=\"data row4 col7\" >2.09</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col8\" class=\"data row4 col8\" >4.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col9\" class=\"data row4 col9\" >279.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col10\" class=\"data row4 col10\" >17.40</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col11\" class=\"data row4 col11\" >374.83</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row4_col12\" class=\"data row4 col12\" >6.86</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col0\" class=\"data row5 col0\" >0.29</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col1\" class=\"data row5 col1\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col2\" class=\"data row5 col2\" >9.79</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col3\" class=\"data row5 col3\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col4\" class=\"data row5 col4\" >0.54</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col5\" class=\"data row5 col5\" >6.20</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col6\" class=\"data row5 col6\" >79.50</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col7\" class=\"data row5 col7\" >3.16</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col8\" class=\"data row5 col8\" >5.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col9\" class=\"data row5 col9\" >330.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col10\" class=\"data row5 col10\" >19.05</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col11\" class=\"data row5 col11\" >391.96</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row5_col12\" class=\"data row5 col12\" >11.49</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col0\" class=\"data row6 col0\" >3.69</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col1\" class=\"data row6 col1\" >12.50</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col2\" class=\"data row6 col2\" >18.10</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col3\" class=\"data row6 col3\" >0.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col4\" class=\"data row6 col4\" >0.62</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col5\" class=\"data row6 col5\" >6.63</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col6\" class=\"data row6 col6\" >94.05</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col7\" class=\"data row6 col7\" >4.98</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col8\" class=\"data row6 col8\" >24.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col9\" class=\"data row6 col9\" >666.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col10\" class=\"data row6 col10\" >20.20</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col11\" class=\"data row6 col11\" >396.32</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row6_col12\" class=\"data row6 col12\" >17.10</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col0\" class=\"data row7 col0\" >88.98</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col1\" class=\"data row7 col1\" >100.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col2\" class=\"data row7 col2\" >27.74</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col3\" class=\"data row7 col3\" >1.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col4\" class=\"data row7 col4\" >0.87</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col5\" class=\"data row7 col5\" >8.78</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col6\" class=\"data row7 col6\" >100.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col7\" class=\"data row7 col7\" >10.71</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col8\" class=\"data row7 col8\" >24.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col9\" class=\"data row7 col9\" >711.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col10\" class=\"data row7 col10\" >22.00</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col11\" class=\"data row7 col11\" >396.90</td>\n",
       "                        <td id=\"T_82cbb4ae_f657_11ea_a7d3_0cc47af5c763row7_col12\" class=\"data row7 col12\" >36.98</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x146f52aed590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763\" ><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_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row0\" class=\"row_heading level0 row0\" >count</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col0\" class=\"data row0 col0\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col1\" class=\"data row0 col1\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col2\" class=\"data row0 col2\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col3\" class=\"data row0 col3\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col4\" class=\"data row0 col4\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col5\" class=\"data row0 col5\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col6\" class=\"data row0 col6\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col7\" class=\"data row0 col7\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col8\" class=\"data row0 col8\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col9\" class=\"data row0 col9\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col10\" class=\"data row0 col10\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col11\" class=\"data row0 col11\" >354.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row0_col12\" class=\"data row0 col12\" >354.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row1\" class=\"row_heading level0 row1\" >mean</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col0\" class=\"data row1 col0\" >-0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col1\" class=\"data row1 col1\" >-0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col2\" class=\"data row1 col2\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col3\" class=\"data row1 col3\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col4\" class=\"data row1 col4\" >-0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col5\" class=\"data row1 col5\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col6\" class=\"data row1 col6\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col7\" class=\"data row1 col7\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col8\" class=\"data row1 col8\" >-0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col9\" class=\"data row1 col9\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col10\" class=\"data row1 col10\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col11\" class=\"data row1 col11\" >0.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row1_col12\" class=\"data row1 col12\" >0.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row2\" class=\"row_heading level0 row2\" >std</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col0\" class=\"data row2 col0\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col1\" class=\"data row2 col1\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col2\" class=\"data row2 col2\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col3\" class=\"data row2 col3\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col4\" class=\"data row2 col4\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col5\" class=\"data row2 col5\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col6\" class=\"data row2 col6\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col7\" class=\"data row2 col7\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col8\" class=\"data row2 col8\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col9\" class=\"data row2 col9\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col10\" class=\"data row2 col10\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col11\" class=\"data row2 col11\" >1.00</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row2_col12\" class=\"data row2 col12\" >1.00</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row3\" class=\"row_heading level0 row3\" >min</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col0\" class=\"data row3 col0\" >-0.42</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col1\" class=\"data row3 col1\" >-0.47</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col2\" class=\"data row3 col2\" >-1.48</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col3\" class=\"data row3 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col4\" class=\"data row3 col4\" >-1.48</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col5\" class=\"data row3 col5\" >-3.80</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col6\" class=\"data row3 col6\" >-2.43</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col7\" class=\"data row3 col7\" >-1.28</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col8\" class=\"data row3 col8\" >-0.99</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col9\" class=\"data row3 col9\" >-1.31</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col10\" class=\"data row3 col10\" >-2.68</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col11\" class=\"data row3 col11\" >-3.67</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row3_col12\" class=\"data row3 col12\" >-1.52</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row4\" class=\"row_heading level0 row4\" >25%</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col0\" class=\"data row4 col0\" >-0.41</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col1\" class=\"data row4 col1\" >-0.47</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col2\" class=\"data row4 col2\" >-0.89</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col3\" class=\"data row4 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col4\" class=\"data row4 col4\" >-0.91</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col5\" class=\"data row4 col5\" >-0.54</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col6\" class=\"data row4 col6\" >-0.82</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col7\" class=\"data row4 col7\" >-0.82</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col8\" class=\"data row4 col8\" >-0.65</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col9\" class=\"data row4 col9\" >-0.77</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col10\" class=\"data row4 col10\" >-0.48</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col11\" class=\"data row4 col11\" >0.22</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row4_col12\" class=\"data row4 col12\" >-0.81</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row5\" class=\"row_heading level0 row5\" >50%</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col0\" class=\"data row5 col0\" >-0.39</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col1\" class=\"data row5 col1\" >-0.47</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col2\" class=\"data row5 col2\" >-0.21</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col3\" class=\"data row5 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col4\" class=\"data row5 col4\" >-0.16</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col5\" class=\"data row5 col5\" >-0.12</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col6\" class=\"data row5 col6\" >0.35</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col7\" class=\"data row5 col7\" >-0.28</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col8\" class=\"data row5 col8\" >-0.53</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col9\" class=\"data row5 col9\" >-0.46</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col10\" class=\"data row5 col10\" >0.27</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col11\" class=\"data row5 col11\" >0.40</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row5_col12\" class=\"data row5 col12\" >-0.17</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row6\" class=\"row_heading level0 row6\" >75%</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col0\" class=\"data row6 col0\" >-0.01</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col1\" class=\"data row6 col1\" >0.09</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col2\" class=\"data row6 col2\" >1.02</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col3\" class=\"data row6 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col4\" class=\"data row6 col4\" >0.60</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col5\" class=\"data row6 col5\" >0.48</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col6\" class=\"data row6 col6\" >0.88</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col7\" class=\"data row6 col7\" >0.63</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col8\" class=\"data row6 col8\" >1.65</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col9\" class=\"data row6 col9\" >1.54</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col10\" class=\"data row6 col10\" >0.80</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col11\" class=\"data row6 col11\" >0.44</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row6_col12\" class=\"data row6 col12\" >0.60</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763level0_row7\" class=\"row_heading level0 row7\" >max</th>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col0\" class=\"data row7 col0\" >9.60</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col1\" class=\"data row7 col1\" >4.02</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col2\" class=\"data row7 col2\" >2.45</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col3\" class=\"data row7 col3\" >3.79</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col4\" class=\"data row7 col4\" >2.79</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col5\" class=\"data row7 col5\" >3.48</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col6\" class=\"data row7 col6\" >1.10</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col7\" class=\"data row7 col7\" >3.49</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col8\" class=\"data row7 col8\" >1.65</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col9\" class=\"data row7 col9\" >1.81</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col10\" class=\"data row7 col10\" >1.62</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col11\" class=\"data row7 col11\" >0.45</td>\n",
       "                        <td id=\"T_82dc5bc4_f657_11ea_a7d3_0cc47af5c763row7_col12\" class=\"data row7 col12\" >3.35</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x146f52aeb0d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "</style><table id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763\" ><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_82dd3b98_f657_11ea_a7d3_0cc47af5c763level0_row0\" class=\"row_heading level0 row0\" >256</th>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col0\" class=\"data row0 col0\" >-0.42</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col1\" class=\"data row0 col1\" >3.57</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col2\" class=\"data row0 col2\" >-1.11</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col3\" class=\"data row0 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col4\" class=\"data row0 col4\" >-1.44</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col5\" class=\"data row0 col5\" >1.63</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col6\" class=\"data row0 col6\" >-1.30</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col7\" class=\"data row0 col7\" >1.31</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col8\" class=\"data row0 col8\" >-0.76</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col9\" class=\"data row0 col9\" >-0.97</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col10\" class=\"data row0 col10\" >-1.17</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col11\" class=\"data row0 col11\" >0.34</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row0_col12\" class=\"data row0 col12\" >-1.33</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763level0_row1\" class=\"row_heading level0 row1\" >124</th>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col0\" class=\"data row1 col0\" >-0.41</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col1\" class=\"data row1 col1\" >-0.47</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col2\" class=\"data row1 col2\" >2.14</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col3\" class=\"data row1 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col4\" class=\"data row1 col4\" >0.22</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col5\" class=\"data row1 col5\" >-0.57</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col6\" class=\"data row1 col6\" >0.94</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col7\" class=\"data row1 col7\" >-0.86</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col8\" class=\"data row1 col8\" >-0.88</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col9\" class=\"data row1 col9\" >-1.31</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col10\" class=\"data row1 col10\" >0.29</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col11\" class=\"data row1 col11\" >0.27</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row1_col12\" class=\"data row1 col12\" >0.67</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763level0_row2\" class=\"row_heading level0 row2\" >268</th>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col0\" class=\"data row2 col0\" >-0.36</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col1\" class=\"data row2 col1\" >0.43</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col2\" class=\"data row2 col2\" >-1.07</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col3\" class=\"data row2 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col4\" class=\"data row2 col4\" >0.17</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col5\" class=\"data row2 col5\" >1.65</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col6\" class=\"data row2 col6\" >-0.63</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col7\" class=\"data row2 col7\" >-0.43</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col8\" class=\"data row2 col8\" >-0.53</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col9\" class=\"data row2 col9\" >-0.85</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col10\" class=\"data row2 col10\" >-2.50</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col11\" class=\"data row2 col11\" >0.38</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row2_col12\" class=\"data row2 col12\" >-1.33</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763level0_row3\" class=\"row_heading level0 row3\" >489</th>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col0\" class=\"data row3 col0\" >-0.40</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col1\" class=\"data row3 col1\" >-0.47</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col2\" class=\"data row3 col2\" >2.45</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col3\" class=\"data row3 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col4\" class=\"data row3 col4\" >0.47</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col5\" class=\"data row3 col5\" >-1.21</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col6\" class=\"data row3 col6\" >1.04</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col7\" class=\"data row3 col7\" >-0.98</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col8\" class=\"data row3 col8\" >-0.65</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col9\" class=\"data row3 col9\" >1.81</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col10\" class=\"data row3 col10\" >0.75</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col11\" class=\"data row3 col11\" >-0.10</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row3_col12\" class=\"data row3 col12\" >1.55</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763level0_row4\" class=\"row_heading level0 row4\" >332</th>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col0\" class=\"data row4 col0\" >-0.42</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col1\" class=\"data row4 col1\" >1.10</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col2\" class=\"data row4 col2\" >-0.76</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col3\" class=\"data row4 col3\" >-0.26</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col4\" class=\"data row4 col4\" >-1.05</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col5\" class=\"data row4 col5\" >-0.35</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col6\" class=\"data row4 col6\" >-1.69</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col7\" class=\"data row4 col7\" >1.46</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col8\" class=\"data row4 col8\" >-0.99</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col9\" class=\"data row4 col9\" >-0.62</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col10\" class=\"data row4 col10\" >-0.71</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col11\" class=\"data row4 col11\" >0.09</td>\n",
       "                        <td id=\"T_82dd3b98_f657_11ea_a7d3_0cc47af5c763row4_col12\" class=\"data row4 col12\" >-0.68</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x146f52cc8810>"
      ]
     },
     "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: 503.0777 - mae: 20.2737 - mse: 503.0777 - val_loss: 393.9827 - val_mae: 17.6556 - val_mse: 393.9827\n",
      "Epoch 2/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 279.2001 - mae: 14.1952 - mse: 279.2001 - val_loss: 149.7944 - val_mae: 9.8029 - val_mse: 149.7944\n",
      "Epoch 3/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 92.0400 - mae: 7.3086 - mse: 92.0400 - val_loss: 56.1463 - val_mae: 5.1862 - val_mse: 56.1463\n",
      "Epoch 4/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 40.7789 - mae: 4.5229 - mse: 40.7789 - val_loss: 39.5256 - val_mae: 4.1634 - val_mse: 39.5256\n",
      "Epoch 5/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 29.7879 - mae: 3.8496 - mse: 29.7879 - val_loss: 31.2629 - val_mae: 3.6489 - val_mse: 31.2629\n",
      "Epoch 6/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 24.4654 - mae: 3.5160 - mse: 24.4654 - val_loss: 26.0581 - val_mae: 3.4063 - val_mse: 26.0581\n",
      "Epoch 7/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 21.0785 - mae: 3.2459 - mse: 21.0785 - val_loss: 23.6567 - val_mae: 3.2537 - val_mse: 23.6567\n",
      "Epoch 8/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 19.4353 - mae: 3.1121 - mse: 19.4353 - val_loss: 21.8422 - val_mae: 3.0457 - val_mse: 21.8422\n",
      "Epoch 9/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 17.8308 - mae: 2.9690 - mse: 17.8308 - val_loss: 20.7882 - val_mae: 3.0116 - val_mse: 20.7882\n",
      "Epoch 10/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 16.8658 - mae: 2.8324 - mse: 16.8658 - val_loss: 19.7575 - val_mae: 2.8680 - val_mse: 19.7575\n",
      "Epoch 11/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 15.8717 - mae: 2.7445 - mse: 15.8717 - val_loss: 18.9251 - val_mae: 2.7688 - val_mse: 18.9251\n",
      "Epoch 12/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 15.0276 - mae: 2.6749 - mse: 15.0276 - val_loss: 18.8640 - val_mae: 2.9710 - val_mse: 18.8640\n",
      "Epoch 13/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 14.3917 - mae: 2.5725 - mse: 14.3917 - val_loss: 17.7454 - val_mae: 2.8248 - val_mse: 17.7454\n",
      "Epoch 14/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 13.5518 - mae: 2.5363 - mse: 13.5518 - val_loss: 17.7311 - val_mae: 2.7501 - val_mse: 17.7311\n",
      "Epoch 15/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 13.4551 - mae: 2.4748 - mse: 13.4551 - val_loss: 17.3188 - val_mae: 2.8649 - val_mse: 17.3188\n",
      "Epoch 16/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.9481 - mae: 2.4157 - mse: 12.9481 - val_loss: 16.7981 - val_mae: 2.7170 - val_mse: 16.7981\n",
      "Epoch 17/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.3689 - mae: 2.3805 - mse: 12.3689 - val_loss: 16.6066 - val_mae: 2.7056 - val_mse: 16.6066\n",
      "Epoch 18/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 12.2772 - mae: 2.3851 - mse: 12.2772 - val_loss: 16.6416 - val_mae: 2.7872 - val_mse: 16.6416\n",
      "Epoch 19/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.7965 - mae: 2.3402 - mse: 11.7965 - val_loss: 16.8247 - val_mae: 2.8627 - val_mse: 16.8247\n",
      "Epoch 20/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.6902 - mae: 2.3298 - mse: 11.6902 - val_loss: 16.3016 - val_mae: 2.7847 - val_mse: 16.3016\n",
      "Epoch 21/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.6052 - mae: 2.2741 - mse: 11.6052 - val_loss: 14.8726 - val_mae: 2.5843 - val_mse: 14.8726\n",
      "Epoch 22/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 11.0375 - mae: 2.2424 - mse: 11.0375 - val_loss: 14.7919 - val_mae: 2.5355 - val_mse: 14.7919\n",
      "Epoch 23/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.6963 - mae: 2.2055 - mse: 10.6963 - val_loss: 15.4898 - val_mae: 2.7335 - val_mse: 15.4898\n",
      "Epoch 24/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.6611 - mae: 2.2158 - mse: 10.6611 - val_loss: 16.7863 - val_mae: 2.7952 - val_mse: 16.7863\n",
      "Epoch 25/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.5480 - mae: 2.1719 - mse: 10.5480 - val_loss: 16.3515 - val_mae: 2.8322 - val_mse: 16.3515\n",
      "Epoch 26/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 10.3655 - mae: 2.1437 - mse: 10.3655 - val_loss: 14.6908 - val_mae: 2.5558 - val_mse: 14.6908\n",
      "Epoch 27/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.9280 - mae: 2.1000 - mse: 9.9280 - val_loss: 14.5626 - val_mae: 2.6410 - val_mse: 14.5626\n",
      "Epoch 28/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.9190 - mae: 2.1106 - mse: 9.9190 - val_loss: 14.9380 - val_mae: 2.6679 - val_mse: 14.9380\n",
      "Epoch 29/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.8377 - mae: 2.1032 - mse: 9.8377 - val_loss: 14.6915 - val_mae: 2.5614 - val_mse: 14.6915\n",
      "Epoch 30/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.6516 - mae: 2.0634 - mse: 9.6516 - val_loss: 14.0798 - val_mae: 2.4975 - val_mse: 14.0798\n",
      "Epoch 31/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.5721 - mae: 2.0818 - mse: 9.5721 - val_loss: 14.6150 - val_mae: 2.4934 - val_mse: 14.6150\n",
      "Epoch 32/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.2323 - mae: 2.0112 - mse: 9.2323 - val_loss: 13.9540 - val_mae: 2.4628 - val_mse: 13.9540\n",
      "Epoch 33/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.9889 - mae: 2.0254 - mse: 8.9889 - val_loss: 13.2860 - val_mae: 2.5377 - val_mse: 13.2860\n",
      "Epoch 34/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 9.1012 - mae: 2.0766 - mse: 9.1012 - val_loss: 12.8317 - val_mae: 2.4198 - val_mse: 12.8317\n",
      "Epoch 35/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.8631 - mae: 2.0241 - mse: 8.8631 - val_loss: 13.3025 - val_mae: 2.4192 - val_mse: 13.3025\n",
      "Epoch 36/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.8026 - mae: 1.9883 - mse: 8.8026 - val_loss: 12.9319 - val_mae: 2.4633 - val_mse: 12.9319\n",
      "Epoch 37/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.8867 - mae: 1.9741 - mse: 8.8867 - val_loss: 12.6364 - val_mae: 2.3791 - val_mse: 12.6364\n",
      "Epoch 38/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.4074 - mae: 1.9460 - mse: 8.4074 - val_loss: 14.1145 - val_mae: 2.6373 - val_mse: 14.1145\n",
      "Epoch 39/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.3968 - mae: 1.9564 - mse: 8.3968 - val_loss: 12.9021 - val_mae: 2.3632 - val_mse: 12.9021\n",
      "Epoch 40/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.2169 - mae: 1.9806 - mse: 8.2169 - val_loss: 13.8061 - val_mae: 2.4158 - val_mse: 13.8061\n",
      "Epoch 41/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.3619 - mae: 1.9439 - mse: 8.3619 - val_loss: 12.8874 - val_mae: 2.5040 - val_mse: 12.8874\n",
      "Epoch 42/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.2899 - mae: 1.9434 - mse: 8.2899 - val_loss: 12.2988 - val_mae: 2.3410 - val_mse: 12.2988\n",
      "Epoch 43/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.2357 - mae: 1.9633 - mse: 8.2357 - val_loss: 12.6261 - val_mae: 2.3339 - val_mse: 12.6261\n",
      "Epoch 44/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.8609 - mae: 1.8751 - mse: 7.8609 - val_loss: 13.0507 - val_mae: 2.3719 - val_mse: 13.0507\n",
      "Epoch 45/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.0495 - mae: 1.9139 - mse: 8.0495 - val_loss: 13.0642 - val_mae: 2.4887 - val_mse: 13.0642\n",
      "Epoch 46/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 8.0163 - mae: 1.9104 - mse: 8.0163 - val_loss: 12.3198 - val_mae: 2.3351 - val_mse: 12.3198\n",
      "Epoch 47/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.9405 - mae: 1.9327 - mse: 7.9405 - val_loss: 12.6989 - val_mae: 2.3331 - val_mse: 12.6989\n",
      "Epoch 48/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.8142 - mae: 1.8923 - mse: 7.8142 - val_loss: 12.0313 - val_mae: 2.3155 - val_mse: 12.0313\n",
      "Epoch 49/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.6443 - mae: 1.8980 - mse: 7.6443 - val_loss: 12.3676 - val_mae: 2.3588 - val_mse: 12.3676\n",
      "Epoch 50/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.5691 - mae: 1.8896 - mse: 7.5691 - val_loss: 12.0860 - val_mae: 2.3235 - val_mse: 12.0860\n",
      "Epoch 51/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.5890 - mae: 1.8923 - mse: 7.5890 - val_loss: 12.0311 - val_mae: 2.3124 - val_mse: 12.0311\n",
      "Epoch 52/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.4704 - mae: 1.8626 - mse: 7.4704 - val_loss: 12.6293 - val_mae: 2.4518 - val_mse: 12.6293\n",
      "Epoch 53/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.3612 - mae: 1.8371 - mse: 7.3612 - val_loss: 11.9190 - val_mae: 2.3333 - val_mse: 11.9190\n",
      "Epoch 54/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.4012 - mae: 1.8808 - mse: 7.4012 - val_loss: 11.9248 - val_mae: 2.3689 - val_mse: 11.9248\n",
      "Epoch 55/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.2038 - mae: 1.8266 - mse: 7.2038 - val_loss: 12.0944 - val_mae: 2.3533 - val_mse: 12.0944\n",
      "Epoch 56/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.1204 - mae: 1.8215 - mse: 7.1204 - val_loss: 11.7066 - val_mae: 2.3448 - val_mse: 11.7066\n",
      "Epoch 57/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.1178 - mae: 1.8433 - mse: 7.1178 - val_loss: 11.7769 - val_mae: 2.2965 - val_mse: 11.7769\n",
      "Epoch 58/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.1196 - mae: 1.8110 - mse: 7.1196 - val_loss: 12.2767 - val_mae: 2.3149 - val_mse: 12.2767\n",
      "Epoch 59/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 7.0974 - mae: 1.8381 - mse: 7.0974 - val_loss: 11.5640 - val_mae: 2.2697 - val_mse: 11.5640\n",
      "Epoch 60/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.7409 - mae: 1.7891 - mse: 6.7409 - val_loss: 12.3791 - val_mae: 2.3625 - val_mse: 12.3791\n",
      "Epoch 61/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.8470 - mae: 1.7871 - mse: 6.8470 - val_loss: 11.7725 - val_mae: 2.3698 - val_mse: 11.7725\n",
      "Epoch 62/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.7225 - mae: 1.8152 - mse: 6.7225 - val_loss: 11.9121 - val_mae: 2.2868 - val_mse: 11.9121\n",
      "Epoch 63/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.7131 - mae: 1.7605 - mse: 6.7131 - val_loss: 11.4516 - val_mae: 2.2583 - val_mse: 11.4516\n",
      "Epoch 64/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.3812 - mae: 1.7668 - mse: 6.3812 - val_loss: 11.4067 - val_mae: 2.2894 - val_mse: 11.4067\n",
      "Epoch 65/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.6222 - mae: 1.7565 - mse: 6.6222 - val_loss: 11.5903 - val_mae: 2.2998 - val_mse: 11.5903\n",
      "Epoch 66/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.4743 - mae: 1.7497 - mse: 6.4743 - val_loss: 13.4242 - val_mae: 2.4360 - val_mse: 13.4242\n",
      "Epoch 67/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.5273 - mae: 1.7640 - mse: 6.5273 - val_loss: 11.3342 - val_mae: 2.2677 - val_mse: 11.3342\n",
      "Epoch 68/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.4266 - mae: 1.7519 - mse: 6.4266 - val_loss: 11.0310 - val_mae: 2.2586 - val_mse: 11.0310\n",
      "Epoch 69/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.2695 - mae: 1.7240 - mse: 6.2695 - val_loss: 11.0090 - val_mae: 2.3480 - val_mse: 11.0090\n",
      "Epoch 70/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.0646 - mae: 1.6954 - mse: 6.0646 - val_loss: 11.5025 - val_mae: 2.4072 - val_mse: 11.5025\n",
      "Epoch 71/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.2148 - mae: 1.7431 - mse: 6.2148 - val_loss: 13.4257 - val_mae: 2.4724 - val_mse: 13.4257\n",
      "Epoch 72/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.1323 - mae: 1.7067 - mse: 6.1323 - val_loss: 11.6827 - val_mae: 2.3037 - val_mse: 11.6827\n",
      "Epoch 73/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.1373 - mae: 1.6878 - mse: 6.1373 - val_loss: 11.3448 - val_mae: 2.2659 - val_mse: 11.3448\n",
      "Epoch 74/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.8058 - mae: 1.6580 - mse: 5.8058 - val_loss: 12.2608 - val_mae: 2.4840 - val_mse: 12.2608\n",
      "Epoch 75/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.0826 - mae: 1.7135 - mse: 6.0826 - val_loss: 10.9988 - val_mae: 2.3573 - val_mse: 10.9988\n",
      "Epoch 76/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 6.0445 - mae: 1.7116 - mse: 6.0445 - val_loss: 10.5661 - val_mae: 2.2273 - val_mse: 10.5661\n",
      "Epoch 77/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.8601 - mae: 1.6876 - mse: 5.8601 - val_loss: 11.8910 - val_mae: 2.3362 - val_mse: 11.8910\n",
      "Epoch 78/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.9526 - mae: 1.6862 - mse: 5.9526 - val_loss: 10.9216 - val_mae: 2.2957 - val_mse: 10.9216\n",
      "Epoch 79/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6953 - mae: 1.6600 - mse: 5.6953 - val_loss: 11.3075 - val_mae: 2.3553 - val_mse: 11.3075\n",
      "Epoch 80/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.7693 - mae: 1.6746 - mse: 5.7693 - val_loss: 11.1568 - val_mae: 2.3284 - val_mse: 11.1568\n",
      "Epoch 81/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.6595 - mae: 1.6718 - mse: 5.6595 - val_loss: 12.0236 - val_mae: 2.3323 - val_mse: 12.0235\n",
      "Epoch 82/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.5099 - mae: 1.6473 - mse: 5.5099 - val_loss: 10.7671 - val_mae: 2.2284 - val_mse: 10.7671\n",
      "Epoch 83/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.3901 - mae: 1.6293 - mse: 5.3901 - val_loss: 10.4340 - val_mae: 2.2395 - val_mse: 10.4340\n",
      "Epoch 84/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.2272 - mae: 1.5880 - mse: 5.2272 - val_loss: 10.5282 - val_mae: 2.2358 - val_mse: 10.5282\n",
      "Epoch 85/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.2817 - mae: 1.5993 - mse: 5.2817 - val_loss: 12.7236 - val_mae: 2.5487 - val_mse: 12.7236\n",
      "Epoch 86/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.4569 - mae: 1.6151 - mse: 5.4569 - val_loss: 9.8936 - val_mae: 2.1521 - val_mse: 9.8936\n",
      "Epoch 87/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.2211 - mae: 1.6136 - mse: 5.2211 - val_loss: 10.2496 - val_mae: 2.2236 - val_mse: 10.2496\n",
      "Epoch 88/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.4119 - mae: 1.6099 - mse: 5.4119 - val_loss: 10.1610 - val_mae: 2.2395 - val_mse: 10.1610\n",
      "Epoch 89/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.1924 - mae: 1.5901 - mse: 5.1924 - val_loss: 10.8264 - val_mae: 2.3490 - val_mse: 10.8264\n",
      "Epoch 90/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.1459 - mae: 1.5858 - mse: 5.1459 - val_loss: 12.5025 - val_mae: 2.6935 - val_mse: 12.5025\n",
      "Epoch 91/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.3007 - mae: 1.6294 - mse: 5.3007 - val_loss: 11.1890 - val_mae: 2.3350 - val_mse: 11.1890\n",
      "Epoch 92/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.1556 - mae: 1.5787 - mse: 5.1556 - val_loss: 10.2351 - val_mae: 2.1923 - val_mse: 10.2351\n",
      "Epoch 93/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.8326 - mae: 1.5545 - mse: 4.8326 - val_loss: 9.4646 - val_mae: 2.1306 - val_mse: 9.4646\n",
      "Epoch 94/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9053 - mae: 1.5734 - mse: 4.9053 - val_loss: 10.5321 - val_mae: 2.2610 - val_mse: 10.5321\n",
      "Epoch 95/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9277 - mae: 1.5788 - mse: 4.9277 - val_loss: 10.3036 - val_mae: 2.2465 - val_mse: 10.3036\n",
      "Epoch 96/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.9132 - mae: 1.5412 - mse: 4.9132 - val_loss: 10.5573 - val_mae: 2.2525 - val_mse: 10.5573\n",
      "Epoch 97/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.7811 - mae: 1.5319 - mse: 4.7811 - val_loss: 10.7507 - val_mae: 2.2576 - val_mse: 10.7507\n",
      "Epoch 98/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 5.1049 - mae: 1.5598 - mse: 5.1049 - val_loss: 9.8901 - val_mae: 2.1534 - val_mse: 9.8901\n",
      "Epoch 99/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.6737 - mae: 1.5074 - mse: 4.6737 - val_loss: 10.0904 - val_mae: 2.2182 - val_mse: 10.0904\n",
      "Epoch 100/100\n",
      "36/36 [==============================] - 0s 3ms/step - loss: 4.7541 - mae: 1.5518 - mse: 4.7541 - val_loss: 9.6605 - val_mae: 2.1656 - val_mse: 9.6605\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      : 9.6605\n",
      "x_test / mae       : 2.1656\n",
      "x_test / mse       : 9.6605\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>17.502493</td>\n",
       "      <td>2.361973</td>\n",
       "      <td>17.502493</td>\n",
       "      <td>19.327123</td>\n",
       "      <td>2.742917</td>\n",
       "      <td>19.327123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>56.817240</td>\n",
       "      <td>2.297174</td>\n",
       "      <td>56.817240</td>\n",
       "      <td>40.660030</td>\n",
       "      <td>1.724474</td>\n",
       "      <td>40.660030</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>4.673726</td>\n",
       "      <td>1.507414</td>\n",
       "      <td>4.673726</td>\n",
       "      <td>9.464625</td>\n",
       "      <td>2.130583</td>\n",
       "      <td>9.464625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>6.021543</td>\n",
       "      <td>1.687790</td>\n",
       "      <td>6.021543</td>\n",
       "      <td>11.342185</td>\n",
       "      <td>2.299006</td>\n",
       "      <td>11.342185</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.579046</td>\n",
       "      <td>1.885187</td>\n",
       "      <td>7.579046</td>\n",
       "      <td>12.440843</td>\n",
       "      <td>2.369379</td>\n",
       "      <td>12.440843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.411116</td>\n",
       "      <td>2.150775</td>\n",
       "      <td>10.411116</td>\n",
       "      <td>14.812038</td>\n",
       "      <td>2.647739</td>\n",
       "      <td>14.812038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>503.077698</td>\n",
       "      <td>20.273706</td>\n",
       "      <td>503.077698</td>\n",
       "      <td>393.982666</td>\n",
       "      <td>17.655603</td>\n",
       "      <td>393.982666</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    17.502493    2.361973   17.502493   19.327123    2.742917   19.327123\n",
       "std     56.817240    2.297174   56.817240   40.660030    1.724474   40.660030\n",
       "min      4.673726    1.507414    4.673726    9.464625    2.130583    9.464625\n",
       "25%      6.021543    1.687790    6.021543   11.342185    2.299006   11.342185\n",
       "50%      7.579046    1.885187    7.579046   12.440843    2.369379   12.440843\n",
       "75%     10.411116    2.150775   10.411116   14.812038    2.647739   14.812038\n",
       "max    503.077698   20.273706  503.077698  393.982666   17.655603  393.982666"
      ]
     },
     "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.1306\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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9+isWbOGyy+/nAULFrB27VrOOeccli9fzte+9jV6e3u58847OfLII7ntttv47Gc/SzKZZMaMGTzwwAOUSiU+8YlPsGbNGvr6+vjgBz/I+9///tG+SxERiRG1OMTQqlWruPXWW/u//sEPfsB73/tefvSjH/HYY49x33338bGPfazq9SJ+85vf8LWvfY1169bxve99j6effpqHH36Y888/n2uv9ZNarrzySu655x5+85vfcNdddwHw7W9/mxkzZvDII4/wyCOPcMMNN/Dcc89N/BsWEZGGoRaHGDrxxBN56aWX2LJlC9u3b2fWrFksXLiQSy65hAceeIBEIsHmzZvZtm0bhxxyyAHPt3LlShYuXAjAkUceyRvf+EYAli9fzn333QfAqaeeynve8x7+8i//knPOOQeA1atX8/jjj3P77bcD0NnZyfr16zniiCMm422LiEgDUHAYr2G6E4ZyzrH+xcodwo1li2aM69u+4x3v4Pbbb2fr1q2sWrWKm266ie3bt/Pf//3fpNNpli5dSi6XO/CJgObmgVW5E4lE/9eJRIJisQjAN7/5TX7961/z4x//mBUrVrB27Vqcc1x77bWceeaZ43ovIiISH+qqqAs37mWnV61axb/+679y++238453vIPOzk7mz59POp3mvvvu4/nnn5+gunrPPvssr371q7nyyiuZO3cuGzdu5Mwzz+Qb3/gGhUIBgKeffpru7u4J/b4iItJY1OJQI2aGmfUHBucGz7QYrWOPPZZ9+/axePFiFi5cyLnnnstb3vIWTjrpJFasWMFRRx01QTX3Pv7xj7N+/Xqcc5xxxhmccMIJHH/88WzYsIFXvOIVOOeYN28ed95554R+XxERaSymGy4NL5PJOIBsNjto/5NPPsnRRx896vM9u7WTUtlf7z9aMJ1U8uBp8BnrNRMRkZob8c/ag+eTqwEMWgSqjvUQEREZK3VV1FA9b629bt063vWudw3a19zczK9//eua1kNEROJNwaGGrI43ulq+fDlr166t7TcVEZEpR10VYzSWFoN6tjjU08H0XkVEpjoFhzFoaWlh586do/5APBjHODjn2LlzJy0tLfWuioiITAB1VYzBkiVL2LRpE9u3bx/V63Z39ZEvlgHo3dlEUyo5GdVrOC0tLSxZsqTe1RARkQmg4DAG6XR6TMsqf/qWh3nkGR82rlx1Eie8bMFE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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+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXxcdb3/8ddnksmepmm6p7TFspSlbFJEASmgrArKVQGRKygXdRSX61WvKFIvCOp1wV91VJCLgqhsgiCyKi0qYIEWKIi0UFq6L2mbNuts398f30kySSfJZOucSd/Px2Mek5w558x3kjbzns93OeacQ0RERGQoQvlugIiIiBQ+BQoREREZMgUKERERGTIFChERERkyBQoREREZMgUKERERGTIFChERERkyBQoRGVZm9kszc+lb3Mwm9rP/+zL2d2Z2cT/7X5+x7xU5tGd+j/P3dbt+gC9XRNIUKERkJBUDH+5nn3/P9WRm1vN8Hx1AW1LApn5uOwdwPhHJUJzvBojIqPUmMB0fGLJ+8jezccBZQBMQA8b1c84zgQnAImAycKCZHeucezqH9qxxzs3MrekiMlCqUIjISHkKeB040swO6WWf84ES4G6gNYdzdlQkfpO+ZW4TkTxSoBCRkXRr+r63bo2O7bf0d6J0NeM9+ErGXcBt6YfOM7PSoTRSRIZOgUJERlJHoLjQzLr9vTGzA4C3AWuAhTmc6wJ8NeMh59w259zrwD+AWuDsYWuxiAyKAoWIjBjn3Erg70A9cHKPhzuqE7c551I5nK6ja+O2jG239XhMRPJEgUJERlpHd0Znt4eZGfCRHo/3yswOAuYCu4D7Mx66HUgAp5nZpH5Os4+Zbezn1ttYDxHphwKFiIy0O4A24Fwzq0xvOxGYATzrnHslh3NcnL6/xznXOXjTObcZeAw/Y+3Cfs4RAib1cwvn0BYRyUKBQkRGlHNuB76qUAn8W3rzQAZjhuiqZvwmyy4d3R79rWex2jln/dye7689IpKdAoWI7AkdweEiMyvHB4s48Nscjn03MBXoqEb0dC/QAhxuZocPQ1tFZBAUKERkT3gIHwhOBj4DjAEedM5tzeHYjgGXE4FEz+Wy8eMqKnrsKyJ7mAKFiIw451wC+B3+b8630ptv7f0Iz8zGAO8bwFNdmF6eW0T2MAUKEdlTOro9wsB2us/W6M2HgHL8WhW1fdzqgAZ8FeP0YW21iORESV5E9gjn3HNmNh+oBl50zrXncFhHF8bv04M7e2VmfwA+lj7mj0Npq4gMnAKFiOwxzrlv5rqvmc0Cjk9/+/scDvk9PlC818xqnXPbB9FEERkkBQoRCaqOaaCbgL/lsP+j+MuPj8FfdOynPR7fx8w29nOOJ51z5w6olSICaAyFiARQeiXNjkDxh1yW5nbOxejq6sg22yOXha36u3y6iPTCnHP5boOIiIgUOFUoREREZMgUKERERGTIFChERERkyBQoREREZMgUKAYoEom4SCSikawiIiIZtA7F4ClUiIjI3sT6elAVChERERkyBQoREREZMgUKERERGTIFChERERkyDcocJvF4nLVr19LW1pbvphSMsrIypk2bRjgczndTRERkiBQohsnatWuprq5m5syZ+OsaSV+cczQ0NLB27Vr23XfffDdHRESGSF0ew6StrY26ujqFiRyZGXV1daroiIiMEgoUw0hhYmD08xIRGT0UKERERGTIFChERERkyBQoRpFVq1Yxe/ZsLr30Ug499FAuvPBCHnvsMY477jj2339/Fi9ezOLFi3nHO97BkUceyTve8Q5effVVAJLJJF/60peYO3cuhx12GD//+c/z/GpERKSQaJbHCDjt6gdG7NwPX3lWn4+/9tpr3Hnnndxwww3MnTuX3/zmN/ztb3/jvvvu49prr+WWW27hiSeeoLi4mMcee4wrrriCu+++m5tuuomamhqeeeYZ2tvbOe644zj11FM1A0NERHKS90BhZgcAHwFOBWYBZcDrwJ3A9c655h77Hwh8BzgRKAGWAFc55/4ygOesAa4BzgXq0s/3Y+BnzrmCvujXvvvuy5w5cwA45JBDOOWUUzAz5syZw6pVq2hsbOSjH/0oK1aswMyIx+MAPPLII7z44ovcddddADQ2NrJixQoFChERyUneAwXwMeDTwH3AbUAcOAn/hv8hMzvWOdcKYGazgCeBBPBdoBH4D+BhMzvDOfdYf09mZiXAo8CRwALgFeAMIApMAuYP54vb00pLSzu/DoVCnd+HQiESiQRXXnklJ510Evfccw+rVq1i3rx5gF8XYsGCBZx22mn5aLaIiBS4IASKu4DrnHONGdt+ZmYrgK8BH8dXDwCuA8YCb3XOPQ9gZrcALwM/MbPZOVQYLgXmAp91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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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si/cjbEemGtmUeGhE9+NsUtrw2QxJqerQkREpJYaNjiYWQuwGNgY7FqJ73o4NqL4McH2kdC+h/Hv77UR5102rOykG9rioOQgIiLxVPfgYGZzRnjpy/gxGLfBwLTL24DjzeyI0PEdwNnAswydQXET4IALh533HPzYhhsmov7VmqzBkSIiIrXUCIMjP29mxwC/Bl4EOvCzKk4Afgd8M1T2YuDNwC/N7CpgBz4IdAKnutCf8s65lWZ2NXCemd0C3MHgypH3UOPFn4a0OEzA4EgREZF6aITgcDfwauAsYA5QwrcefA640jlXmQGBc+45M3sD8DXgM0AT8ChwSsRy0+BbG1YB5+IHWW7GB5FLJmK56bFIaIyDiIhMAXUPDs65nwE/G0P5p4DTqixbwt+j4orx1W7ihFscykoOIiISU3Uf47C3qOcYh46OyFW8AVi1ahWHHXZYDWsjIiJxpuBQIxrjICIiU0Hduypi7+xTqirWhL8L15hc94vI3Z/+9KfZb7/9yGQyAHzhC1/AzLj33nvZtm0bhUKBr3zlK5x2WlU9OgNyuRwf+9jHeOSRR0ilUlx55ZWccMIJPPnkk3zoQx8in89TLpf5yU9+wqJFi3jPe97D2rVrKZVK/OM//iPvfe97x/oORUQkZhQcYuj000/nwgsvHAgON998M7/4xS+46KKLmD59Ops3b+aYY47hne9855Aukt25+uqrAVi5ciVPP/00J598Ms888wzf/va3+fjHP8773/9+8vk8pVKJO+64g0WLFnH77bcD0NXVNdqpRURkilBXRQwdeeSRvPzyy6xfv57HHnuMWbNmsc8++/DZz36Www8/nJNOOol169axcePG3Z8s5P777+cDH/gAAAcffDD77bcfzzzzDMceeyxf/epX+ed//mdWr15Na2srS5cu5a677uLTn/409913HzNmzJiMtyoiIg1GLQ57aoTuhOGcczz7UuWvcmPJoj37oH33u9/Nj3/8YzZs2MDpp5/ODTfcwKZNm/j9739POp1m//33J5fL7f5Ew+oY5X3vex+ve93ruP3223nrW9/Kddddx4knnsjvf/977rjjDi6++GJOPvlkLrnkkj16TyIi0vgUHOrC4ZwbUzfCcKeffjrnnHMOmzdv5p577uHmm29m/vz5pNNpfv3rX7N69eoxn/O4447jhhtu4MQTT+SZZ57hxRdf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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": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Prediction : 9.46 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
}