{ "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 information such as Crime, areas of non-retail business in the town, \n", "age of people who own the house and many other attributes...\n", "\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", "\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.4.2\n", "Run time : Sunday 23 February 2020, 13:03:48\n", "TensorFlow version : 2.0.0\n", "Keras version : 2.2.4-tf\n", "Save figs : True\n", "Path figs : ./figs\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", "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": "raw", "metadata": {}, "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": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<style type=\"text/css\" >\n", "</style><table id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8d\" ><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_8c867a42_5634_11ea_91e0_83c5e6bb0b8dlevel0_row0\" class=\"row_heading level0 row0\" >0</th>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col0\" class=\"data row0 col0\" >0.01</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col1\" class=\"data row0 col1\" >18.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col2\" class=\"data row0 col2\" >2.31</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col3\" class=\"data row0 col3\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col4\" class=\"data row0 col4\" >0.54</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col5\" class=\"data row0 col5\" >6.58</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col6\" class=\"data row0 col6\" >65.20</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col7\" class=\"data row0 col7\" >4.09</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col8\" class=\"data row0 col8\" >1.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col9\" class=\"data row0 col9\" >296.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col10\" class=\"data row0 col10\" >15.30</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col11\" class=\"data row0 col11\" >396.90</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col12\" class=\"data row0 col12\" >4.98</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow0_col13\" class=\"data row0 col13\" >24.00</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8dlevel0_row1\" class=\"row_heading level0 row1\" >1</th>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col0\" class=\"data row1 col0\" >0.03</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col1\" class=\"data row1 col1\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col2\" class=\"data row1 col2\" >7.07</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col3\" class=\"data row1 col3\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col4\" class=\"data row1 col4\" >0.47</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col5\" class=\"data row1 col5\" >6.42</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col6\" class=\"data row1 col6\" >78.90</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col7\" class=\"data row1 col7\" >4.97</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col8\" class=\"data row1 col8\" >2.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col9\" class=\"data row1 col9\" >242.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col10\" class=\"data row1 col10\" >17.80</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col11\" class=\"data row1 col11\" >396.90</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col12\" class=\"data row1 col12\" >9.14</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow1_col13\" class=\"data row1 col13\" >21.60</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8dlevel0_row2\" class=\"row_heading level0 row2\" >2</th>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col0\" class=\"data row2 col0\" >0.03</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col1\" class=\"data row2 col1\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col2\" class=\"data row2 col2\" >7.07</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col3\" class=\"data row2 col3\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col4\" class=\"data row2 col4\" >0.47</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col5\" class=\"data row2 col5\" >7.18</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col6\" class=\"data row2 col6\" >61.10</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col7\" class=\"data row2 col7\" >4.97</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col8\" class=\"data row2 col8\" >2.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col9\" class=\"data row2 col9\" >242.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col10\" class=\"data row2 col10\" >17.80</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col11\" class=\"data row2 col11\" >392.83</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col12\" class=\"data row2 col12\" >4.03</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow2_col13\" class=\"data row2 col13\" >34.70</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8dlevel0_row3\" class=\"row_heading level0 row3\" >3</th>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col0\" class=\"data row3 col0\" >0.03</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col1\" class=\"data row3 col1\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col2\" class=\"data row3 col2\" >2.18</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col3\" class=\"data row3 col3\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col4\" class=\"data row3 col4\" >0.46</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col5\" class=\"data row3 col5\" >7.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col6\" class=\"data row3 col6\" >45.80</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col7\" class=\"data row3 col7\" >6.06</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col8\" class=\"data row3 col8\" >3.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col9\" class=\"data row3 col9\" >222.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col10\" class=\"data row3 col10\" >18.70</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col11\" class=\"data row3 col11\" >394.63</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col12\" class=\"data row3 col12\" >2.94</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow3_col13\" class=\"data row3 col13\" >33.40</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8dlevel0_row4\" class=\"row_heading level0 row4\" >4</th>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col0\" class=\"data row4 col0\" >0.07</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col1\" class=\"data row4 col1\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col2\" class=\"data row4 col2\" >2.18</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col3\" class=\"data row4 col3\" >0.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col4\" class=\"data row4 col4\" >0.46</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col5\" class=\"data row4 col5\" >7.15</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col6\" class=\"data row4 col6\" >54.20</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col7\" class=\"data row4 col7\" >6.06</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col8\" class=\"data row4 col8\" >3.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col9\" class=\"data row4 col9\" >222.00</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col10\" class=\"data row4 col10\" >18.70</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col11\" class=\"data row4 col11\" >396.90</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col12\" class=\"data row4 col12\" >5.33</td>\n", " <td id=\"T_8c867a42_5634_11ea_91e0_83c5e6bb0b8drow4_col13\" class=\"data row4 col13\" >36.20</td>\n", " </tr>\n", " </tbody></table>" ], "text/plain": [ "<pandas.io.formats.style.Styler at 0x7fac404b0510>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Données manquantes : 0 Shape is : (506, 14)\n" ] } ], "source": [ "data = pd.read_csv('./data/BostonHousing.csv', header=0)\n", "\n", "display(data.head(5).style.format(\"{0:.2f}\"))\n", "print('Données manquantes : ',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", "x will be input data and y the expected output" ] }, { "cell_type": "code", "execution_count": 3, "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": [ "# ---- 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": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<style type=\"text/css\" >\n", "</style><table id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8d\" ><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_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row0\" class=\"row_heading level0 row0\" >count</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col0\" class=\"data row0 col0\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col1\" class=\"data row0 col1\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col2\" class=\"data row0 col2\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col3\" class=\"data row0 col3\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col4\" class=\"data row0 col4\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col5\" class=\"data row0 col5\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col6\" class=\"data row0 col6\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col7\" class=\"data row0 col7\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col8\" class=\"data row0 col8\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col9\" class=\"data row0 col9\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col10\" class=\"data row0 col10\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col11\" class=\"data row0 col11\" >354.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow0_col12\" class=\"data row0 col12\" >354.00</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row1\" class=\"row_heading level0 row1\" >mean</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col0\" class=\"data row1 col0\" >3.55</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col1\" class=\"data row1 col1\" >10.66</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col2\" class=\"data row1 col2\" >11.15</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col3\" class=\"data row1 col3\" >0.07</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col4\" class=\"data row1 col4\" >0.55</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col5\" class=\"data row1 col5\" >6.26</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col6\" class=\"data row1 col6\" >68.79</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col7\" class=\"data row1 col7\" >3.78</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col8\" class=\"data row1 col8\" >9.42</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col9\" class=\"data row1 col9\" >403.92</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col10\" class=\"data row1 col10\" >18.49</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col11\" class=\"data row1 col11\" >354.36</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow1_col12\" class=\"data row1 col12\" >12.72</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row2\" class=\"row_heading level0 row2\" >std</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col0\" class=\"data row2 col0\" >8.98</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col1\" class=\"data row2 col1\" >22.34</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col2\" class=\"data row2 col2\" >6.92</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col3\" class=\"data row2 col3\" >0.25</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col4\" class=\"data row2 col4\" >0.12</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col5\" class=\"data row2 col5\" >0.68</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col6\" class=\"data row2 col6\" >27.93</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col7\" class=\"data row2 col7\" >2.06</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col8\" class=\"data row2 col8\" >8.72</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col9\" class=\"data row2 col9\" >169.79</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col10\" class=\"data row2 col10\" >2.10</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col11\" class=\"data row2 col11\" >93.40</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow2_col12\" class=\"data row2 col12\" >6.70</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row3\" class=\"row_heading level0 row3\" >min</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col0\" class=\"data row3 col0\" >0.01</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col1\" class=\"data row3 col1\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col2\" class=\"data row3 col2\" >0.74</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col3\" class=\"data row3 col3\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col4\" class=\"data row3 col4\" >0.39</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col5\" class=\"data row3 col5\" >3.56</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col6\" class=\"data row3 col6\" >2.90</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col7\" class=\"data row3 col7\" >1.14</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col8\" class=\"data row3 col8\" >1.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col9\" class=\"data row3 col9\" >187.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col10\" class=\"data row3 col10\" >12.60</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col11\" class=\"data row3 col11\" >0.32</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow3_col12\" class=\"data row3 col12\" >1.92</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row4\" class=\"row_heading level0 row4\" >25%</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col0\" class=\"data row4 col0\" >0.08</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col1\" class=\"data row4 col1\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col2\" class=\"data row4 col2\" >5.19</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col3\" class=\"data row4 col3\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col4\" class=\"data row4 col4\" >0.45</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col5\" class=\"data row4 col5\" >5.88</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col6\" class=\"data row4 col6\" >44.55</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col7\" class=\"data row4 col7\" >2.13</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col8\" class=\"data row4 col8\" >4.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col9\" class=\"data row4 col9\" >277.50</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col10\" class=\"data row4 col10\" >17.40</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col11\" class=\"data row4 col11\" >374.69</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow4_col12\" class=\"data row4 col12\" >7.52</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row5\" class=\"row_heading level0 row5\" >50%</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col0\" class=\"data row5 col0\" >0.26</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col1\" class=\"data row5 col1\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col2\" class=\"data row5 col2\" >9.12</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col3\" class=\"data row5 col3\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col4\" class=\"data row5 col4\" >0.53</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col5\" class=\"data row5 col5\" >6.19</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col6\" class=\"data row5 col6\" >77.30</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col7\" class=\"data row5 col7\" >3.28</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col8\" class=\"data row5 col8\" >5.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col9\" class=\"data row5 col9\" >314.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col10\" class=\"data row5 col10\" >19.05</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col11\" class=\"data row5 col11\" >391.38</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow5_col12\" class=\"data row5 col12\" >11.71</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row6\" class=\"row_heading level0 row6\" >75%</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col0\" class=\"data row6 col0\" >3.65</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col1\" class=\"data row6 col1\" >12.50</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col2\" class=\"data row6 col2\" >18.10</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col3\" class=\"data row6 col3\" >0.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col4\" class=\"data row6 col4\" >0.62</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col5\" class=\"data row6 col5\" >6.61</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col6\" class=\"data row6 col6\" >94.25</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col7\" class=\"data row6 col7\" >5.10</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col8\" class=\"data row6 col8\" >24.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col9\" class=\"data row6 col9\" >666.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col10\" class=\"data row6 col10\" >20.20</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col11\" class=\"data row6 col11\" >396.12</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow6_col12\" class=\"data row6 col12\" >16.72</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8dlevel0_row7\" class=\"row_heading level0 row7\" >max</th>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col0\" class=\"data row7 col0\" >88.98</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col1\" class=\"data row7 col1\" >100.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col2\" class=\"data row7 col2\" >27.74</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col3\" class=\"data row7 col3\" >1.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col4\" class=\"data row7 col4\" >0.87</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col5\" class=\"data row7 col5\" >8.72</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col6\" class=\"data row7 col6\" >100.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col7\" class=\"data row7 col7\" >12.13</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col8\" class=\"data row7 col8\" >24.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col9\" class=\"data row7 col9\" >711.00</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col10\" class=\"data row7 col10\" >21.20</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col11\" class=\"data row7 col11\" >396.90</td>\n", " <td id=\"T_8c8e28f0_5634_11ea_91e0_83c5e6bb0b8drow7_col12\" class=\"data row7 col12\" >37.97</td>\n", " </tr>\n", " </tbody></table>" ], "text/plain": [ "<pandas.io.formats.style.Styler at 0x7fac41599950>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<style type=\"text/css\" >\n", "</style><table id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8d\" ><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_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row0\" class=\"row_heading level0 row0\" >count</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col0\" class=\"data row0 col0\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col1\" class=\"data row0 col1\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col2\" class=\"data row0 col2\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col3\" class=\"data row0 col3\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col4\" class=\"data row0 col4\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col5\" class=\"data row0 col5\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col6\" class=\"data row0 col6\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col7\" class=\"data row0 col7\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col8\" class=\"data row0 col8\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col9\" class=\"data row0 col9\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col10\" class=\"data row0 col10\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col11\" class=\"data row0 col11\" >354.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow0_col12\" class=\"data row0 col12\" >354.00</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row1\" class=\"row_heading level0 row1\" >mean</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col0\" class=\"data row1 col0\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col1\" class=\"data row1 col1\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col2\" class=\"data row1 col2\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col3\" class=\"data row1 col3\" >-0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col4\" class=\"data row1 col4\" >-0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col5\" class=\"data row1 col5\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col6\" class=\"data row1 col6\" >-0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col7\" class=\"data row1 col7\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col8\" class=\"data row1 col8\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col9\" class=\"data row1 col9\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col10\" class=\"data row1 col10\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col11\" class=\"data row1 col11\" >0.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow1_col12\" class=\"data row1 col12\" >-0.00</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row2\" class=\"row_heading level0 row2\" >std</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col0\" class=\"data row2 col0\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col1\" class=\"data row2 col1\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col2\" class=\"data row2 col2\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col3\" class=\"data row2 col3\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col4\" class=\"data row2 col4\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col5\" class=\"data row2 col5\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col6\" class=\"data row2 col6\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col7\" class=\"data row2 col7\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col8\" class=\"data row2 col8\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col9\" class=\"data row2 col9\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col10\" class=\"data row2 col10\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col11\" class=\"data row2 col11\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow2_col12\" class=\"data row2 col12\" >1.00</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row3\" class=\"row_heading level0 row3\" >min</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col0\" class=\"data row3 col0\" >-0.39</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col1\" class=\"data row3 col1\" >-0.48</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col2\" class=\"data row3 col2\" >-1.50</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col3\" class=\"data row3 col3\" >-0.27</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col4\" class=\"data row3 col4\" >-1.46</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col5\" class=\"data row3 col5\" >-3.95</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col6\" class=\"data row3 col6\" >-2.36</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col7\" class=\"data row3 col7\" >-1.28</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col8\" class=\"data row3 col8\" >-0.97</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col9\" class=\"data row3 col9\" >-1.28</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col10\" class=\"data row3 col10\" >-2.81</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col11\" class=\"data row3 col11\" >-3.79</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow3_col12\" class=\"data row3 col12\" >-1.61</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row4\" class=\"row_heading level0 row4\" >25%</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col0\" class=\"data row4 col0\" >-0.39</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col1\" class=\"data row4 col1\" >-0.48</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col2\" class=\"data row4 col2\" >-0.86</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col3\" class=\"data row4 col3\" >-0.27</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col4\" class=\"data row4 col4\" >-0.90</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col5\" class=\"data row4 col5\" >-0.56</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col6\" class=\"data row4 col6\" >-0.87</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col7\" class=\"data row4 col7\" >-0.80</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col8\" class=\"data row4 col8\" >-0.62</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col9\" class=\"data row4 col9\" >-0.74</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col10\" class=\"data row4 col10\" >-0.52</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col11\" class=\"data row4 col11\" >0.22</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow4_col12\" class=\"data row4 col12\" >-0.78</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row5\" class=\"row_heading level0 row5\" >50%</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col0\" class=\"data row5 col0\" >-0.37</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col1\" class=\"data row5 col1\" >-0.48</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col2\" class=\"data row5 col2\" >-0.29</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col3\" class=\"data row5 col3\" >-0.27</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col4\" class=\"data row5 col4\" >-0.16</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col5\" class=\"data row5 col5\" >-0.10</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col6\" class=\"data row5 col6\" >0.30</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col7\" class=\"data row5 col7\" >-0.25</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col8\" class=\"data row5 col8\" >-0.51</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col9\" class=\"data row5 col9\" >-0.53</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col10\" class=\"data row5 col10\" >0.26</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col11\" class=\"data row5 col11\" >0.40</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow5_col12\" class=\"data row5 col12\" >-0.15</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row6\" class=\"row_heading level0 row6\" >75%</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col0\" class=\"data row6 col0\" >0.01</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col1\" class=\"data row6 col1\" >0.08</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col2\" class=\"data row6 col2\" >1.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col3\" class=\"data row6 col3\" >-0.27</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col4\" class=\"data row6 col4\" >0.62</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col5\" class=\"data row6 col5\" >0.52</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col6\" class=\"data row6 col6\" >0.91</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col7\" class=\"data row6 col7\" >0.64</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col8\" class=\"data row6 col8\" >1.67</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col9\" class=\"data row6 col9\" >1.54</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col10\" class=\"data row6 col10\" >0.81</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col11\" class=\"data row6 col11\" >0.45</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow6_col12\" class=\"data row6 col12\" >0.60</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8dlevel0_row7\" class=\"row_heading level0 row7\" >max</th>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col0\" class=\"data row7 col0\" >9.51</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col1\" class=\"data row7 col1\" >4.00</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col2\" class=\"data row7 col2\" >2.40</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col3\" class=\"data row7 col3\" >3.70</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col4\" class=\"data row7 col4\" >2.76</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col5\" class=\"data row7 col5\" >3.62</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col6\" class=\"data row7 col6\" >1.12</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col7\" class=\"data row7 col7\" >4.05</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col8\" class=\"data row7 col8\" >1.67</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col9\" class=\"data row7 col9\" >1.81</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col10\" class=\"data row7 col10\" >1.29</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col11\" class=\"data row7 col11\" >0.46</td>\n", " <td id=\"T_8c958d34_5634_11ea_91e0_83c5e6bb0b8drow7_col12\" class=\"data row7 col12\" >3.77</td>\n", " </tr>\n", " </tbody></table>" ], "text/plain": [ "<pandas.io.formats.style.Styler at 0x7fac3ee9d0d0>" ] }, "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", "\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": 5, "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": 6, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model=get_model_v1( (13,) )\n", "\n", "model.summary()\n", "keras.utils.plot_model( model, to_file='./run/model.png', show_shapes=True, show_layer_names=True, dpi=96)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2 - Train it" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 354 samples, validate on 152 samples\n", "Epoch 1/100\n", "354/354 [==============================] - 1s 2ms/sample - loss: 447.8935 - mae: 19.4125 - mse: 447.8935 - val_loss: 411.4959 - val_mae: 17.6300 - val_mse: 411.4958\n", "Epoch 2/100\n", "354/354 [==============================] - 0s 173us/sample - loss: 230.9678 - mae: 13.1050 - mse: 230.9678 - val_loss: 166.8555 - val_mae: 10.4892 - val_mse: 166.8555\n", "Epoch 3/100\n", "354/354 [==============================] - 0s 173us/sample - loss: 73.1449 - mae: 6.7602 - mse: 73.1449 - val_loss: 58.3521 - val_mae: 5.7941 - val_mse: 58.3521\n", "Epoch 4/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 33.0045 - mae: 4.3514 - mse: 33.0045 - val_loss: 36.2584 - val_mae: 4.3942 - val_mse: 36.2584\n", "Epoch 5/100\n", "354/354 [==============================] - 0s 172us/sample - loss: 23.9816 - mae: 3.6589 - mse: 23.9816 - val_loss: 27.3160 - val_mae: 3.6687 - val_mse: 27.3160\n", "Epoch 6/100\n", "354/354 [==============================] - 0s 171us/sample - loss: 20.7719 - mae: 3.3184 - mse: 20.7719 - val_loss: 25.3359 - val_mae: 3.4927 - val_mse: 25.3359\n", "Epoch 7/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 18.8139 - mae: 3.1320 - mse: 18.8139 - val_loss: 22.9987 - val_mae: 3.3384 - val_mse: 22.9987\n", "Epoch 8/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 16.8865 - mae: 3.0292 - mse: 16.8865 - val_loss: 24.7871 - val_mae: 3.3164 - val_mse: 24.7871\n", "Epoch 9/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 15.9215 - mae: 2.8692 - mse: 15.9215 - val_loss: 22.8360 - val_mae: 3.1836 - val_mse: 22.8360\n", "Epoch 10/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 14.7254 - mae: 2.7263 - mse: 14.7254 - val_loss: 20.4818 - val_mae: 3.0108 - val_mse: 20.4818\n", "Epoch 11/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 13.8514 - mae: 2.5925 - mse: 13.8514 - val_loss: 19.9672 - val_mae: 2.9062 - val_mse: 19.9672\n", "Epoch 12/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 13.1395 - mae: 2.5752 - mse: 13.1395 - val_loss: 19.0824 - val_mae: 2.8506 - val_mse: 19.0824\n", "Epoch 13/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 12.4839 - mae: 2.5025 - mse: 12.4839 - val_loss: 19.5746 - val_mae: 2.9104 - val_mse: 19.5746\n", "Epoch 14/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 11.6939 - mae: 2.3501 - mse: 11.6940 - val_loss: 18.6861 - val_mae: 2.8179 - val_mse: 18.6861\n", "Epoch 15/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 11.4830 - mae: 2.3600 - mse: 11.4830 - val_loss: 19.4041 - val_mae: 2.8805 - val_mse: 19.4041\n", "Epoch 16/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 11.1111 - mae: 2.2784 - mse: 11.1111 - val_loss: 18.4013 - val_mae: 2.7252 - val_mse: 18.4013\n", "Epoch 17/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 10.6600 - mae: 2.2856 - mse: 10.6600 - val_loss: 18.0601 - val_mae: 2.6807 - val_mse: 18.0601\n", "Epoch 18/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 10.1769 - mae: 2.2022 - mse: 10.1769 - val_loss: 18.7013 - val_mae: 2.8301 - val_mse: 18.7013\n", "Epoch 19/100\n", "354/354 [==============================] - 0s 223us/sample - loss: 10.0079 - mae: 2.2725 - mse: 10.0079 - val_loss: 18.4489 - val_mae: 2.7808 - val_mse: 18.4489\n", "Epoch 20/100\n", "354/354 [==============================] - 0s 214us/sample - loss: 9.8191 - mae: 2.1644 - mse: 9.8191 - val_loss: 18.4264 - val_mae: 2.7046 - val_mse: 18.4264\n", "Epoch 21/100\n", "354/354 [==============================] - 0s 224us/sample - loss: 9.5378 - mae: 2.1279 - mse: 9.5378 - val_loss: 18.2395 - val_mae: 2.7670 - val_mse: 18.2395\n", "Epoch 22/100\n", "354/354 [==============================] - 0s 222us/sample - loss: 9.2928 - mae: 2.1428 - mse: 9.2928 - val_loss: 17.9503 - val_mae: 2.6829 - val_mse: 17.9503\n", "Epoch 23/100\n", "354/354 [==============================] - 0s 231us/sample - loss: 9.2035 - mae: 2.0992 - mse: 9.2035 - val_loss: 18.2977 - val_mae: 2.7797 - val_mse: 18.2977\n", "Epoch 24/100\n", "354/354 [==============================] - 0s 224us/sample - loss: 9.0349 - mae: 2.0367 - mse: 9.0349 - val_loss: 17.9661 - val_mae: 2.6367 - val_mse: 17.9661\n", "Epoch 25/100\n", "354/354 [==============================] - 0s 226us/sample - loss: 8.8667 - mae: 2.0519 - mse: 8.8667 - val_loss: 18.0416 - val_mae: 2.6680 - val_mse: 18.0417\n", "Epoch 26/100\n", "354/354 [==============================] - 0s 219us/sample - loss: 8.8261 - mae: 2.0320 - mse: 8.8261 - val_loss: 18.2113 - val_mae: 2.7634 - val_mse: 18.2113\n", "Epoch 27/100\n", "354/354 [==============================] - 0s 181us/sample - loss: 8.5575 - mae: 2.0109 - mse: 8.5575 - val_loss: 17.8280 - val_mae: 2.7098 - val_mse: 17.8280\n", "Epoch 28/100\n", "354/354 [==============================] - 0s 183us/sample - loss: 8.4098 - mae: 1.9961 - mse: 8.4098 - val_loss: 17.5023 - val_mae: 2.6062 - val_mse: 17.5023\n", "Epoch 29/100\n", "354/354 [==============================] - 0s 183us/sample - loss: 8.2441 - mae: 1.9944 - mse: 8.2441 - val_loss: 18.1186 - val_mae: 2.7354 - val_mse: 18.1186\n", "Epoch 30/100\n", "354/354 [==============================] - 0s 193us/sample - loss: 8.1158 - mae: 1.9544 - mse: 8.1158 - val_loss: 17.7034 - val_mae: 2.5829 - val_mse: 17.7034\n", "Epoch 31/100\n", "354/354 [==============================] - 0s 187us/sample - loss: 8.0561 - mae: 1.9373 - mse: 8.0561 - val_loss: 17.7605 - val_mae: 2.6802 - val_mse: 17.7605\n", "Epoch 32/100\n", "354/354 [==============================] - 0s 178us/sample - loss: 7.8226 - mae: 1.9126 - mse: 7.8226 - val_loss: 17.9543 - val_mae: 2.7161 - val_mse: 17.9543\n", "Epoch 33/100\n", "354/354 [==============================] - 0s 183us/sample - loss: 7.6645 - mae: 1.9230 - mse: 7.6645 - val_loss: 18.0725 - val_mae: 2.7528 - val_mse: 18.0725\n", "Epoch 34/100\n", "354/354 [==============================] - 0s 184us/sample - loss: 7.6089 - mae: 1.8788 - mse: 7.6089 - val_loss: 17.6260 - val_mae: 2.6592 - val_mse: 17.6260\n", "Epoch 35/100\n", "354/354 [==============================] - 0s 189us/sample - loss: 7.6090 - mae: 1.8800 - mse: 7.6090 - val_loss: 18.1956 - val_mae: 2.7319 - val_mse: 18.1956\n", "Epoch 36/100\n", "354/354 [==============================] - 0s 187us/sample - loss: 7.4758 - mae: 1.8827 - mse: 7.4758 - val_loss: 17.8708 - val_mae: 2.6852 - val_mse: 17.8708\n", "Epoch 37/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 7.1937 - mae: 1.8243 - mse: 7.1937 - val_loss: 18.4528 - val_mae: 2.8260 - val_mse: 18.4528\n", "Epoch 38/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 7.1937 - mae: 1.8142 - mse: 7.1937 - val_loss: 17.7068 - val_mae: 2.5757 - val_mse: 17.7068\n", "Epoch 39/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 7.1086 - mae: 1.8393 - mse: 7.1086 - val_loss: 17.7316 - val_mae: 2.6586 - val_mse: 17.7316\n", "Epoch 40/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 6.9269 - mae: 1.8203 - mse: 6.9269 - val_loss: 18.1459 - val_mae: 2.7763 - val_mse: 18.1459\n", "Epoch 41/100\n", "354/354 [==============================] - 0s 197us/sample - loss: 7.0126 - mae: 1.8121 - mse: 7.0126 - val_loss: 17.4638 - val_mae: 2.5782 - val_mse: 17.4638\n", "Epoch 42/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 6.8151 - mae: 1.7800 - mse: 6.8151 - val_loss: 18.0596 - val_mae: 2.6313 - val_mse: 18.0596\n", "Epoch 43/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 6.8998 - mae: 1.7816 - mse: 6.8998 - val_loss: 17.7795 - val_mae: 2.5954 - val_mse: 17.7795\n", "Epoch 44/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 6.9311 - mae: 1.7982 - mse: 6.9311 - val_loss: 17.4142 - val_mae: 2.5354 - val_mse: 17.4142\n", "Epoch 45/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 6.3872 - mae: 1.7989 - mse: 6.3872 - val_loss: 17.0970 - val_mae: 2.5399 - val_mse: 17.0970\n", "Epoch 46/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 6.5482 - mae: 1.7542 - mse: 6.5482 - val_loss: 17.1788 - val_mae: 2.5528 - val_mse: 17.1788\n", "Epoch 47/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 6.4409 - mae: 1.7521 - mse: 6.4409 - val_loss: 18.2061 - val_mae: 2.7660 - val_mse: 18.2061\n", "Epoch 48/100\n", "354/354 [==============================] - 0s 163us/sample - loss: 6.3503 - mae: 1.7290 - mse: 6.3503 - val_loss: 17.2146 - val_mae: 2.5595 - val_mse: 17.2146\n", "Epoch 49/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 6.2919 - mae: 1.7258 - mse: 6.2919 - val_loss: 17.7924 - val_mae: 2.7022 - val_mse: 17.7924\n", "Epoch 50/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 6.3078 - mae: 1.7016 - mse: 6.3078 - val_loss: 18.1075 - val_mae: 2.7747 - val_mse: 18.1075\n", "Epoch 51/100\n", "354/354 [==============================] - 0s 172us/sample - loss: 6.1538 - mae: 1.7173 - mse: 6.1538 - val_loss: 17.6577 - val_mae: 2.7004 - val_mse: 17.6577\n", "Epoch 52/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 5.9155 - mae: 1.6728 - mse: 5.9155 - val_loss: 17.4784 - val_mae: 2.5445 - val_mse: 17.4784\n", "Epoch 53/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 6.2290 - mae: 1.6692 - mse: 6.2290 - val_loss: 17.6580 - val_mae: 2.6713 - val_mse: 17.6580\n", "Epoch 54/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 5.7792 - mae: 1.6503 - mse: 5.7792 - val_loss: 18.2503 - val_mae: 2.7664 - val_mse: 18.2503\n", "Epoch 55/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 5.7970 - mae: 1.6776 - mse: 5.7970 - val_loss: 17.6427 - val_mae: 2.6740 - val_mse: 17.6427\n", "Epoch 56/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 5.7058 - mae: 1.6269 - mse: 5.7058 - val_loss: 17.2903 - val_mae: 2.5880 - val_mse: 17.2903\n", "Epoch 57/100\n", "354/354 [==============================] - 0s 171us/sample - loss: 5.7959 - mae: 1.6493 - mse: 5.7959 - val_loss: 18.1239 - val_mae: 2.6134 - val_mse: 18.1239\n", "Epoch 58/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 5.6966 - mae: 1.6600 - mse: 5.6966 - val_loss: 17.6541 - val_mae: 2.7372 - val_mse: 17.6541\n", "Epoch 59/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 5.7494 - mae: 1.6755 - mse: 5.7494 - val_loss: 17.5110 - val_mae: 2.6807 - val_mse: 17.5110\n", "Epoch 60/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 5.6233 - mae: 1.6409 - mse: 5.6233 - val_loss: 17.3560 - val_mae: 2.5877 - val_mse: 17.3560\n", "Epoch 61/100\n", "354/354 [==============================] - 0s 163us/sample - loss: 5.6146 - mae: 1.6288 - mse: 5.6146 - val_loss: 16.8008 - val_mae: 2.5020 - val_mse: 16.8008\n", "Epoch 62/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 5.2319 - mae: 1.5984 - mse: 5.2319 - val_loss: 17.1332 - val_mae: 2.5448 - val_mse: 17.1332\n", "Epoch 63/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 5.2237 - mae: 1.5491 - mse: 5.2237 - val_loss: 17.5946 - val_mae: 2.6566 - val_mse: 17.5946\n", "Epoch 64/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 5.3867 - mae: 1.6225 - mse: 5.3867 - val_loss: 17.3912 - val_mae: 2.5906 - val_mse: 17.3912\n", "Epoch 65/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 5.3097 - mae: 1.5899 - mse: 5.3097 - val_loss: 17.3252 - val_mae: 2.6520 - val_mse: 17.3252\n", "Epoch 66/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 5.2134 - mae: 1.5573 - mse: 5.2134 - val_loss: 19.0266 - val_mae: 2.7768 - val_mse: 19.0266\n", "Epoch 67/100\n", "354/354 [==============================] - 0s 158us/sample - loss: 5.2268 - mae: 1.5835 - mse: 5.2268 - val_loss: 17.3181 - val_mae: 2.6809 - val_mse: 17.3181\n", "Epoch 68/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 5.0040 - mae: 1.5263 - mse: 5.0040 - val_loss: 17.1235 - val_mae: 2.5898 - val_mse: 17.1235\n", "Epoch 69/100\n", "354/354 [==============================] - 0s 163us/sample - loss: 5.0161 - mae: 1.5313 - mse: 5.0161 - val_loss: 17.3127 - val_mae: 2.5920 - val_mse: 17.3127\n", "Epoch 70/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 4.9416 - mae: 1.5239 - mse: 4.9416 - val_loss: 16.9801 - val_mae: 2.4992 - val_mse: 16.9801\n", "Epoch 71/100\n", "354/354 [==============================] - 0s 177us/sample - loss: 5.0035 - mae: 1.5477 - mse: 5.0035 - val_loss: 17.0296 - val_mae: 2.5565 - val_mse: 17.0296\n", "Epoch 72/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 4.9756 - mae: 1.5518 - mse: 4.9756 - val_loss: 16.8498 - val_mae: 2.5622 - val_mse: 16.8498\n", "Epoch 73/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 4.7384 - mae: 1.4891 - mse: 4.7384 - val_loss: 17.0869 - val_mae: 2.5908 - val_mse: 17.0869\n", "Epoch 74/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 4.7513 - mae: 1.5185 - mse: 4.7513 - val_loss: 17.7565 - val_mae: 2.6691 - val_mse: 17.7565\n", "Epoch 75/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 4.8819 - mae: 1.5063 - mse: 4.8819 - val_loss: 17.3447 - val_mae: 2.6357 - val_mse: 17.3447\n", "Epoch 76/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 4.7261 - mae: 1.5139 - mse: 4.7261 - val_loss: 17.0144 - val_mae: 2.5696 - val_mse: 17.0144\n", "Epoch 77/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 4.7833 - mae: 1.4849 - mse: 4.7833 - val_loss: 17.1636 - val_mae: 2.5571 - val_mse: 17.1636\n", "Epoch 78/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 4.7390 - mae: 1.5010 - mse: 4.7390 - val_loss: 17.2573 - val_mae: 2.6233 - val_mse: 17.2573\n", "Epoch 79/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 4.5746 - mae: 1.4684 - mse: 4.5746 - val_loss: 16.7791 - val_mae: 2.5356 - val_mse: 16.7791\n", "Epoch 80/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 4.6127 - mae: 1.5068 - mse: 4.6127 - val_loss: 16.9968 - val_mae: 2.6150 - val_mse: 16.9968\n", "Epoch 81/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 4.4677 - mae: 1.4585 - mse: 4.4677 - val_loss: 17.0578 - val_mae: 2.5728 - val_mse: 17.0578\n", "Epoch 82/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 4.5664 - mae: 1.4841 - mse: 4.5664 - val_loss: 18.0985 - val_mae: 2.7867 - val_mse: 18.0985\n", "Epoch 83/100\n", "354/354 [==============================] - 0s 167us/sample - loss: 4.4406 - mae: 1.4513 - mse: 4.4406 - val_loss: 17.3486 - val_mae: 2.6678 - val_mse: 17.3486\n", "Epoch 84/100\n", "354/354 [==============================] - 0s 161us/sample - loss: 4.3915 - mae: 1.4197 - mse: 4.3915 - val_loss: 18.0299 - val_mae: 2.8244 - val_mse: 18.0299\n", "Epoch 85/100\n", "354/354 [==============================] - 0s 156us/sample - loss: 4.4319 - mae: 1.4531 - mse: 4.4319 - val_loss: 18.0881 - val_mae: 2.7724 - val_mse: 18.0881\n", "Epoch 86/100\n", "354/354 [==============================] - 0s 161us/sample - loss: 4.2637 - mae: 1.4130 - mse: 4.2637 - val_loss: 18.1243 - val_mae: 2.7347 - val_mse: 18.1243\n", "Epoch 87/100\n", "354/354 [==============================] - 0s 155us/sample - loss: 4.3888 - mae: 1.4863 - mse: 4.3888 - val_loss: 17.3329 - val_mae: 2.6131 - val_mse: 17.3329\n", "Epoch 88/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 4.3334 - mae: 1.4198 - mse: 4.3334 - val_loss: 16.8580 - val_mae: 2.5315 - val_mse: 16.8580\n", "Epoch 89/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 4.1590 - mae: 1.4005 - mse: 4.1590 - val_loss: 16.9683 - val_mae: 2.6653 - val_mse: 16.9683\n", "Epoch 90/100\n", "354/354 [==============================] - 0s 168us/sample - loss: 4.2943 - mae: 1.4278 - mse: 4.2943 - val_loss: 17.3110 - val_mae: 2.6768 - val_mse: 17.3110\n", "Epoch 91/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 4.3540 - mae: 1.4052 - mse: 4.3540 - val_loss: 17.5885 - val_mae: 2.7140 - val_mse: 17.5885\n", "Epoch 92/100\n", "354/354 [==============================] - 0s 165us/sample - loss: 4.0798 - mae: 1.3839 - mse: 4.0798 - val_loss: 16.9098 - val_mae: 2.6426 - val_mse: 16.9098\n", "Epoch 93/100\n", "354/354 [==============================] - 0s 170us/sample - loss: 4.1161 - mae: 1.3811 - mse: 4.1161 - val_loss: 16.7815 - val_mae: 2.5709 - val_mse: 16.7815\n", "Epoch 94/100\n", "354/354 [==============================] - 0s 161us/sample - loss: 4.1453 - mae: 1.3833 - mse: 4.1453 - val_loss: 16.6092 - val_mae: 2.5663 - val_mse: 16.6092\n", "Epoch 95/100\n", "354/354 [==============================] - 0s 164us/sample - loss: 3.9841 - mae: 1.3749 - mse: 3.9841 - val_loss: 16.6621 - val_mae: 2.5416 - val_mse: 16.6621\n", "Epoch 96/100\n", "354/354 [==============================] - 0s 175us/sample - loss: 4.0107 - mae: 1.4003 - mse: 4.0107 - val_loss: 16.6662 - val_mae: 2.5767 - val_mse: 16.6662\n", "Epoch 97/100\n", "354/354 [==============================] - 0s 169us/sample - loss: 3.9917 - mae: 1.3717 - mse: 3.9917 - val_loss: 17.0595 - val_mae: 2.7189 - val_mse: 17.0595\n", "Epoch 98/100\n", "354/354 [==============================] - 0s 166us/sample - loss: 3.8583 - mae: 1.3785 - mse: 3.8583 - val_loss: 16.5949 - val_mae: 2.5810 - val_mse: 16.5949\n", "Epoch 99/100\n", "354/354 [==============================] - 0s 162us/sample - loss: 3.8850 - mae: 1.3633 - mse: 3.8850 - val_loss: 16.8365 - val_mae: 2.6376 - val_mse: 16.8365\n", "Epoch 100/100\n", "354/354 [==============================] - 0s 162us/sample - loss: 4.0230 - mae: 1.4068 - mse: 4.0230 - val_loss: 17.2028 - val_mae: 2.6654 - val_mse: 17.2028\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": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_test / loss : 17.2028\n", "x_test / mae : 2.6654\n", "x_test / mse : 17.2028\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": 9, "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>14.818582</td>\n", " <td>2.184413</td>\n", " <td>14.818582</td>\n", " <td>24.071941</td>\n", " <td>2.982580</td>\n", " <td>24.071941</td>\n", " </tr>\n", " <tr>\n", " <th>std</th>\n", " <td>49.731421</td>\n", " <td>2.188201</td>\n", " <td>49.731421</td>\n", " <td>42.111347</td>\n", " <td>1.716397</td>\n", " <td>42.111343</td>\n", " </tr>\n", " <tr>\n", " <th>min</th>\n", " <td>3.858273</td>\n", " <td>1.363305</td>\n", " <td>3.858273</td>\n", " <td>16.594921</td>\n", " <td>2.499200</td>\n", " <td>16.594921</td>\n", " </tr>\n", " <tr>\n", " <th>25%</th>\n", " <td>4.748249</td>\n", " <td>1.506647</td>\n", " <td>4.748249</td>\n", " <td>17.211671</td>\n", " <td>2.589341</td>\n", " <td>17.211670</td>\n", " </tr>\n", " <tr>\n", " <th>50%</th>\n", " <td>6.260442</td>\n", " <td>1.709452</td>\n", " <td>6.260441</td>\n", " <td>17.705071</td>\n", " <td>2.672678</td>\n", " <td>17.705070</td>\n", " </tr>\n", " <tr>\n", " <th>75%</th>\n", " <td>8.836285</td>\n", " <td>2.033191</td>\n", " <td>8.836285</td>\n", " <td>18.207432</td>\n", " <td>2.768316</td>\n", " <td>18.207432</td>\n", " </tr>\n", " <tr>\n", " <th>max</th>\n", " <td>447.893489</td>\n", " <td>19.412493</td>\n", " <td>447.893494</td>\n", " <td>411.495891</td>\n", " <td>17.630041</td>\n", " <td>411.495850</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 14.818582 2.184413 14.818582 24.071941 2.982580 24.071941\n", "std 49.731421 2.188201 49.731421 42.111347 1.716397 42.111343\n", "min 3.858273 1.363305 3.858273 16.594921 2.499200 16.594921\n", "25% 4.748249 1.506647 4.748249 17.211671 2.589341 17.211670\n", "50% 6.260442 1.709452 6.260441 17.705071 2.672678 17.705070\n", "75% 8.836285 2.033191 8.836285 18.207432 2.768316 18.207432\n", "max 447.893489 19.412493 447.893494 411.495891 17.630041 411.495850" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "df=pd.DataFrame(data=history.history)\n", "df.describe()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "min( val_mae ) : 2.4992\n" ] } ], "source": [ "print(\"min( val_mae ) : {:.4f}\".format( min(history.history[\"val_mae\"]) ) )" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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h3g8ztFHH81ZZ51Fa2srq1ev5pRTTgGgs7OT733vewoNIiJSE3OlTzIpk0qlHEA6nS5bv3r1ao466qgR7++ZjV0Uiv5Yv+yAKSTi+89wktEeMxERaYhBv9buP59cDRaeGVExTUREokihoU7CsU2tOyIiEkUKDXVS1tKgzCAiIhGk0FAn4ZMl1NIgIiJRpNBQJ4bGNIiISLQpNNRJeUtD4+ohIiIyWgoNdaLuCRERiTqFhjpp1CmXnZ2ddXw0ERGZyBQa6kSnXIqISNRpGul9cdEbai46f6T7/tbPqq7+p3/6Jw455BBSqRQAV155JWbG/fffz44dO8jlclx99dW85S1vGfYh7r33Xq644goOOOAAVq1axTnnnMOiRYv46le/Sm9vL3fccQeHHXYYt912G5/5zGeIx+NMnTqV+++/n0KhwGWXXca9995LX18fH/zgB3UhLBGRCU4tDRFz7rnncsstt/T/fuutt3LhhRfyox/9iMcee4x77rmHj33sYzW3Zjz++ON89atf5YknnuDGG2/kqaee4uGHH+aiiy5i+fLlAFx11VXcddddPP7449x5550AfPvb32bq1Kk88sgjPPLII9xwww0899xzY/+ERUSkaailIWKWLFnC5s2b2bBhA1u2bGH69OnMmzePSy+9lPvvv59YLMb69evZtGkTc+fOHXZ/S5cuZd68eQAcdthhnHHGGQAsWrSIe+65B4Bly5bxnve8h7/927/lnHPOAWDFihX87ne/4/bbbwegq6uLNWvWcOihh47H0xYRkSag0LAvBulCqGZzVy87u/sAmD2lnemdraN+2Le+9a3cfvvtbNy4kXPPPZfvf//7bNmyhUcffZRkMsnChQvJZDI17au1daAesVis//dYLEY+nwfgG9/4Br/5zW/4yU9+wuLFi1m1ahXOOZYvX86ZZ5456uchIiLRou6JOhnLUy7PPfdcfvCDH3D77bfz1re+la6uLubMmUMymeSee+7h+eef38falnvmmWc46aSTuOqqq5g1axYvvvgiZ555Jl//+tfJ5XIAPPXUU3R3d4/p44qISHNRS0OdhE+5LO7jvo455hh2797NggULmDdvHueffz5vetObOPHEE1m8eDFHHnnkPj5CuY9//OOsWbMG5xynn346xx9/PMcddxxr167lhBNOwDnH7NmzueOOO8b0cUVEpLmYTv+r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\n", "text/plain": [ "<Figure size 576x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 576x432 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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GiLMOcenP/1p9t13X+bPn89tt90GwMqVK1m4cCEHHHAA++67Lw899BD5fJ4zzzxzoOxVV13V4NqLiEjU6OqJbfCur901Zse+90snjFjmF7/4BYsXL+app55izZo1LFiwgIULF3LLLbfwrne9iy984Qvk83l6enpYvHgxy5cv5+mnnwZgw4YNY1Z3EREZn9TSEGEPP/wwp556KvF4nJ122om3v/3tPP744yxYsIAbbriByy67jCVLljBx4kT22GMPXnrpJc4//3zuueceJk2a1Ojqi4hIxCg0RJhzlW/AuXDhQh588EHmzJnDGWecwU033cSUKVN46qmnOOqoo7jmmms4++yz61xbERGJOnVPbINquhCKnl/RRfEu22+aNZnYKFySuHDhQr7//e/z0Y9+lHXr1vHggw/yrW99i6VLlzJnzhzOOeccuru7efLJJzn++ONpaWnhAx/4AHvuuSdnnnnmNj+/iIhsXxQa6sQMig0DzjHM3cqr9773vY9HH32U/fffHzPjm9/8JjNnzuTHP/4x3/rWt0gmk3R2dnLTTTexfPlyzjrrLAqFAgBXXHHFtldARES2KzZUE/f2LpVKOYB0Ol2y/tlnn2Wfffap+Xgvvt5FvuDP9R47TSIRH/89Q1t7rkREpKGG/Fg7/v9zNYnwDImKaSIiEkUKDXUSjm1q3RERkShSaKiTkpYGZQYREYkghYY6CV8soZYGERGJIoWGOjE0pkFERKJNoaFOSlsaGlcPERGRraXQUCfqnhARkahTaKiTRl1y2dnZOeS2V155hX333beOtRERkShTaKgTXXIpIiJRp2mkt8XZ76666Oxaj/3Deyqu/uxnP8tuu+1GKpUC4LLLLsPMePDBB1m/fj39/f1cfvnlnHTSSTU9XSaT4bzzzmPRokUkEgmuvPJKjj76aJ555hnOOussstkshUKBn//858yePZsPf/jDLFu2jHw+z5e+9CVOPvnkWl+hiIhEjEJDxJxyyilcdNFFA6Hh9ttv55577uHiiy9m0qRJrFmzhsMOO4wTTzyxpEtkJNdccw0AS5Ys4bnnnuO4447j+eef57rrruPCCy/kIx/5CNlslnw+z913383s2bO56667AOjq6hr9FyoiIk1H3RMRc+CBB/LGG2+wYsUKnnrqKaZMmcKsWbO45JJL2G+//Tj22GNZvnw5q1atqum4Dz/8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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" ] }, { "cell_type": "code", "execution_count": 12, "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": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Prédiction : 8.94 K$\n", "Reality : 10.40 K$\n" ] } ], "source": [ "\n", "predictions = model.predict( my_data )\n", "print(\"Prédiction : {:.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.6" } }, "nbformat": 4, "nbformat_minor": 4 }