From 005ca00f70e90f4cd5e3ff3b0527b5861269c23f Mon Sep 17 00:00:00 2001 From: ESTHERPINI Date: Fri, 30 Jul 2021 21:06:56 +0200 Subject: [PATCH] Friday afternoon --- .../limpieza_modelos-checkpoint.ipynb | 5687 ++++++ .../models - copia-checkpoint.ipynb | 5130 +++++ .ipynb_checkpoints/models-checkpoint.ipynb | 16617 ++++++++++++++++ images/coches.jpg | Bin 0 -> 55195 bytes images/gas_station_orig.jpg | Bin 0 -> 219768 bytes images/repostando.jpg | Bin 0 -> 58289 bytes inputs/measurements.csv | 389 + inputs/measurements2.xlsx | Bin 0 -> 27500 bytes limpieza_modelos.ipynb | 5687 ++++++ outputs/clean_df.xls | Bin 0 -> 42496 bytes outputs/kn.csv | 71 + outputs/lr.csv | 71 + outputs/ridge.csv | 71 + outputs/xgb.csv | 71 + outputs/xgb.pkl | Bin 0 -> 210670 bytes outputs/xgbr.csv | 71 + outputs/xgbr.pkl | Bin 0 -> 122704 bytes 17 files changed, 33865 insertions(+) create mode 100644 .ipynb_checkpoints/limpieza_modelos-checkpoint.ipynb create mode 100644 .ipynb_checkpoints/models - copia-checkpoint.ipynb create mode 100644 .ipynb_checkpoints/models-checkpoint.ipynb create mode 100644 images/coches.jpg create mode 100644 images/gas_station_orig.jpg create mode 100644 images/repostando.jpg create mode 100644 inputs/measurements.csv create mode 100644 inputs/measurements2.xlsx create mode 100644 limpieza_modelos.ipynb create mode 100644 outputs/clean_df.xls create mode 100644 outputs/kn.csv create mode 100644 outputs/lr.csv create mode 100644 outputs/ridge.csv create mode 100644 outputs/xgb.csv create mode 100644 outputs/xgb.pkl create mode 100644 outputs/xgbr.csv create mode 100644 outputs/xgbr.pkl diff --git a/.ipynb_checkpoints/limpieza_modelos-checkpoint.ipynb b/.ipynb_checkpoints/limpieza_modelos-checkpoint.ipynb new file mode 100644 index 0000000..376a952 --- /dev/null +++ b/.ipynb_checkpoints/limpieza_modelos-checkpoint.ipynb @@ -0,0 +1,5687 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 618, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import matplotlib.pylab as pylab\n", + "from sklearn import metrics\n", + "import numpy as np # linear algebra\n", + "import pandas as pd # data processing\n", + "#from sklearn.preprocessing import OneHotEncoder, LabelEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.tree import DecisionTreeRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "from xgboost import XGBRegressor\n", + "from sklearn.neighbors import KNeighborsRegressor\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn import metrics\n", + "from sklearn.linear_model import Ridge, Lasso\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import SGDRegressor\n", + "from sklearn import linear_model\n", + "from scipy import stats" + ] + }, + { + "cell_type": "code", + "execution_count": 619, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsunrefill litersrefill gas
02852621,512NaNE1000045E10
1124,23021,513NaNE10000NaNNaN
211,25,53821,515NaNE10000NaNNaN
312,93,93621,514NaNE10000NaNNaN
418,54,54621,515NaNE10000NaNNaN
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28 5 26 21,5 12 NaN E10 0 \n", + "1 12 4,2 30 21,5 13 NaN E10 0 \n", + "2 11,2 5,5 38 21,5 15 NaN E10 0 \n", + "3 12,9 3,9 36 21,5 14 NaN E10 0 \n", + "4 18,5 4,5 46 21,5 15 NaN E10 0 \n", + "\n", + " rain sun refill liters refill gas \n", + "0 0 0 45 E10 \n", + "1 0 0 NaN NaN \n", + "2 0 0 NaN NaN \n", + "3 0 0 NaN NaN \n", + "4 0 0 NaN NaN " + ] + }, + "execution_count": 619, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train=pd.read_csv('../reto_data/inputs/measurements.csv')\n", + "df_train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### drop nan" + ] + }, + { + "cell_type": "code", + "execution_count": 620, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 0\n", + "consume 0\n", + "speed 0\n", + "temp_inside 12\n", + "temp_outside 0\n", + "specials 295\n", + "gas_type 0\n", + "AC 0\n", + "rain 0\n", + "sun 0\n", + "refill liters 375\n", + "refill gas 375\n", + "dtype: int64" + ] + }, + "execution_count": 620, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 621, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{' ', '_', 'd', 'e', 'f', 'i', 'l', 'r', 's', 't'}" + ] + }, + "execution_count": 621, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set('df_refill liters')" + ] + }, + { + "cell_type": "code", + "execution_count": 622, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{' ', '_', 'a', 'd', 'e', 'f', 'g', 'i', 'l', 'r', 's'}" + ] + }, + "execution_count": 622, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set('df_refill gas')" + ] + }, + { + "cell_type": "code", + "execution_count": 623, + "metadata": {}, + "outputs": [], + "source": [ + "#eliminamos columnas con demasiados elementos vacios\n", + "df_train=df_train.drop(['specials', 'refill liters', 'refill gas'], axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 624, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null object\n", + " 1 consume 388 non-null object\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null object\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null object\n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: int64(5), object(4)\n", + "memory usage: 27.4+ KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Categorical and numerical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 625, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['speed', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['temp_inside', 'gas_type', 'distance', 'consume']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 626, + "metadata": {}, + "outputs": [], + "source": [ + "#Creating a function to convert the values\n", + "def comma_converter(x):\n", + " if type(x) == str and ',' in x:\n", + " a = x.split(',')\n", + " return float(a[0] + '.' + a[1])\n", + " else:\n", + " return float(x)\n", + " \n", + "#Converting the data\n", + "df_train['distance'] = df_train['distance'].apply(comma_converter)\n", + "df_train['consume'] = df_train['consume'].apply(comma_converter)\n", + "df_train['temp_inside'] = df_train['temp_inside'].apply(comma_converter)" + ] + }, + { + "cell_type": "code", + "execution_count": 627, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "temp_inside > {nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 19.0, 20.0, 21.5, 22.5, 21.0, 20.5, 23.0, 23.5, 24.0, 22.0, 25.0, 24.5, 25.5}\n", + "\n", + "gas_type > {'SP98', 'E10'}\n", + "\n", + "distance > {1.7, 2.0, 2.9, 4.9, 4.5, 5.4, 7.8, 8.3, 6.1, 10.2, 11.2, 12.0, 12.9, 12.3, 11.9, 12.4, 11.8, 18.5, 17.3, 14.2, 17.9, 18.4, 18.3, 24.7, 25.9, 25.3, 19.0, 28.0, 20.0, 27.3, 31.1, 32.6, 33.4, 34.8, 35.9, 7.0, 36.9, 36.6, 39.4, 35.8, 40.6, 38.6, 43.5, 44.9, 44.4, 43.7, 39.0, 48.6, 41.9, 10.5, 51.6, 53.2, 56.1, 11.5, 58.7, 12.5, 13.0, 67.2, 14.0, 14.5, 16.0, 16.6, 16.1, 16.4, 81.2, 17.4, 16.9, 17.0, 16.5, 18.9, 18.1, 93.9, 19.6, 100.9, 20.1, 101.9, 20.6, 20.9, 21.6, 21.1, 2.4, 21.4, 21.5, 22.9, 22.4, 22.1, 21.0, 23.5, 24.9, 24.5, 25.5, 129.7, 130.3, 26.6, 5.5, 27.1, 28.5, 29.0, 29.9, 153.5, 31.4, 31.5, 31.9, 6.4, 6.0, 162.7, 32.1, 7.9, 7.4, 32.0, 9.9, 36.5, 37.2, 38.5, 13.9, 13.4, 39.5, 15.9, 15.4, 211.0, 4.8, 1.3, 216.1, 5.3, 6.8, 8.7, 9.8, 9.7, 9.2, 10.8, 11.7, 11.3, 12.2, 12.8, 12.7, 13.2, 13.3, 14.3, 14.7, 15.7, 15.3, 16.8, 16.2, 16.3, 16.7, 4.2, 17.2, 5.2, 18.8, 18.7, 6.7, 19.8, 20.8, 22.7, 22.2, 24.8, 25.2, 25.7, 26.2, 28.2, 28.8, 4.1, 5.1, 31.8, 6.6, 2.1, 10.6, 10.1, 11.6, 12.1, 12.6, 13.1, 13.6, 14.1}\n", + "\n", + "consume > {3.9, 4.5, 5.5, 4.2, 5.0, 6.4, 4.4, 5.3, 5.6, 4.6, 5.9, 5.1, 7.4, 9.9, 12.2, 10.8, 11.5, 4.9, 4.1, 4.0, 5.4, 6.5, 6.1, 6.9, 6.0, 6.6, 7.9, 7.1, 8.7, 8.1, 9.0, 3.6, 3.3, 3.8, 3.7, 4.7, 4.8, 4.3, 5.8, 5.7, 5.2, 6.2, 6.3}\n", + "\n" + ] + } + ], + "source": [ + "#visualizar contenido de las columnas categoricas\n", + "for c in cat_cols:\n", + " print(c, \">\", set(df_train[c]))\n", + " print(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 628, + "metadata": {}, + "outputs": [], + "source": [ + "#convertimos en numéricas las que no son strings\n", + "df_train['temp_inside'] = pd.to_numeric(df_train['temp_inside'], errors='coerce')\n", + "df_train['consume'] = pd.to_numeric(df_train['consume'], errors='coerce')\n", + "df_train['distance'] = pd.to_numeric(df_train['distance'], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 629, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['distance', 'consume', 'speed', 'temp_inside', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['gas_type']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 630, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0, 1}" + ] + }, + "execution_count": 630, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#con un diccionario mapeamos y convertimos en numéricos los dos tipos de combustibles\n", + "df_train['gas_type'] = df_train['gas_type'].map({'SP98': 1, 'E10': 0})\n", + "set(df_train['gas_type'])" + ] + }, + { + "cell_type": "code", + "execution_count": 631, + "metadata": {}, + "outputs": [], + "source": [ + "#solo una pequeá cantidad de rows en temp_inside están vacías, las rellenamos con la media de la columna\n", + "temp_inside = df_train['temp_inside'].dropna()\n", + "temp_inside_avg = temp_inside.mean()\n", + "df_train['temp_inside'] = df_train['temp_inside'].fillna(temp_inside_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 632, + "metadata": {}, + "outputs": [], + "source": [ + "distance = df_train['distance'].dropna()\n", + "distance_avg = distance.mean()\n", + "df_train['distance'] = df_train['distance'].fillna(distance_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 633, + "metadata": {}, + "outputs": [], + "source": [ + "#df_train.drop(['distance'], inplace=True, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 634, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 388 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: float64(3), int64(6)\n", + "memory usage: 27.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Añadimos una nueva columna con el consumo / 100 Km" + ] + }, + { + "cell_type": "code", + "execution_count": 635, + "metadata": {}, + "outputs": [], + "source": [ + "df_train['consume_100Km'] = (df_train['consume']/100)*df_train['distance']" + ] + }, + { + "cell_type": "code", + "execution_count": 636, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 10 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 388 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + " 9 consume_100Km 388 non-null float64\n", + "dtypes: float64(4), int64(6)\n", + "memory usage: 30.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### correlations" + ] + }, + { + "cell_type": "code", + "execution_count": 637, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10.5, -0.5)" + ] + }, + "execution_count": 637, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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bQwArF23DkIIBC9apNzm/3XuDH8/PywNCUHo0qWI+vprSCQS+Hh7o1NHzT2S19TEBHOm+SFgwXzIpDJYW72OoOn+Zdfs8uXY9tVXamOACtfsR2UPMuj67rsYN9oNEokEC2bMxKIVyyGVyWBmaoqwefNeqEYXAGhiYoqp0+cgeN5MyGRSvP56M/gFlB3HX25cx8pli7BuQ7SGS0lE2kgiXsRn5L6g7t27B19fXxQWFkJXVxcff/wxGjZsiAULFqBx48bo1asXLl26hOjoaHh6esLb2xvdunVDWloaxo4di2PHjtV4Xw9eoEfb1oU/Sl+doQXWBsWaLkKdkd19tc5jRXaupotQZ+r1enEqRf80RcFDTRehzuToaE9l/3lo1cxE00UgAgAsiNLcsNdyc8Z20HQRaoWVmBcUKzEvL1ZiXl6sxLycWIl5ebESQy+K+ZGar8QEjtOuSgznxBARERERkVbhnBgiIiIiIg3iuKjaY08MERERERFpFVZiiIiIiIhIq3A4GRERERGRBmnj77RoGntiiIiIiIhIq7AnhoiIiIhIg9gRU3vsiSEiIiIiIq3CSgwREREREWkVDicjIiIiItIgDierPfbEEBERERGRVmFPDBERERGRBvERy7XHnhgiIiIiItIqrMQQEREREZFW4XAyIiIiIiIN4miy2mNPDBERERERaRX2xBARERERaRB7YmqPPTFERERERKRVWIkhIiIiIiKtwuFkREREREQapOBwslpjTwwREREREWkVVmKIiIiIiEircDgZEREREZEGCT6erNbYE0NERERERFqFPTEvqEz3TzRdhDplFveNpotQZwojd2u6CHXG6MORmi5CnZK0b6vpItSZQtmr0wZmaNxE00WoM2aQa7oIdSr/z3uaLkKdMbZ6XdNFoGqwI6b2Xp1PISIiIiIieimwEkNERERERFqFw8mIiIiIiDSIvxNTe6zEEBERERHR3/Lnn3/Cz88P2dnZaNWqFZYuXYqGDRuqxHz66ae4d69sLppCocAvv/yCnTt34s0330S3bt3QvHlzZWxsbCx0dXXV7o+VGCIiIiIiDRLQ/q6YefPmYcyYMRg8eDDWrl2LdevWwc/PTyXmyy+/VP5/1apVeOedd/D2228jOTkZ7777LjZt2lTj/XFODBERERER/WVSqRQXLlzAwIEDAQDDhw/HoUOH1MbfunUL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ZJHRmi5CnTH6cKSmi1CnJC9Ao0VdKRQvztyEf5qh/qvzDBw9yJ8d9BIRRcXPDnpJGFu9rukiUDUmhNXNEwWrs8mvs6aLUCvP/MQdMGAAkpOTMXz4cCgUCowdOxbdunVDUFAQwsPDoa+vj/DwcJWek6dNnToVAQEB0NPTg6GhIebNm4dGjRphwoQJGDlyJJo2baoyL6UmwsLCEBQUhIiICOjr62PFihV/qYWmc+fOcHFxwciRIyGTyfD5558rn6LyxRdfYOzYsZBKpRg5ciQ6d+5caU5Ns2bNMGPGDPj5+WHv3hfvByCJiIiIiF42z+yJIc1gT8zLiz0xLy/2xLyc2BPz8mJPDL0o2BNTey/VJ+7WrVsRFxdXabmFhQU2btyogRIREREREVWPfQq191JVYry8vODl5aXpYhARERER0T/oparEEBERERFpGzW/i0rVeHUG+hIRERER0UuBlRgiIiIiItIqHE5GRERERKRBnNdfe+yJISIiIiIircKeGCIiIiIiDWJPTO2xJ4aIiIiIiLQKKzFERERERKRVOJyMiIiIiEiDFBxPVmvsiSEiIiIiIq3CnhgiIiIiIg1iR0ztsSeGiIiIiIi0CisxRERERESkVTicjIiIiIhIgzicrPbYE0NERERERFqFlRgiIiIiItIqHE5GRERERKRB/J2Y2mNPDBERERERaRX2xBARERERaRA7YmqPPTFERERERKRVWIkhIiIiIiKtwuFkREREREQaxOFktcdKzAuq3emDmi4C/VN8vTVdAqK/rZGmC0D0PDRpoukSENFfxEoMEREREZEG8RHLtcc5MUREREREpFVYiSEiIiIiIq3C4WRERERERBrE0WS1x54YIiIiIiLSKuyJISIiIiLSIPbE1B57YoiIiIiISKuwEkNERERERFqFw8mIiIiIiDSIvxNTe+yJISIiIiIircKeGCIiIiIiDWJHTO2xJ4aIiIiIiLQKKzFERERERKRVOJyMiIiIiEiDOJys9tgTQ0REREREWoWVGCIiIiIi0iocTkZEREREpEH8nZjaY08MERERERFpFfbEEBERERFpEDtiao89MUREREREpFVYiSEiIiIiIq3C4WRERERERBrE4WS1x54YIiIiIiLSKuyJISIiIiLSID5iufbYE0NERERERFqFlRgiIiIiInouVq1ahfDw8CpfKy0thZ+fHxwd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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(16,12))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 638, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
consume_100Km99.210074-5.21878055.1846556.2373253.787710-5.534834-1.8700210.9124646.424729100.000000
distance100.000000-12.89667656.2298827.5178238.817534-5.341141-2.573817-1.9790658.11198199.210074
speed56.229882-22.786618100.0000005.9292961.541101-9.736041-3.5408000.9489468.16182855.184655
sun8.111981-17.0667388.16182824.22479434.6903412.2760968.859801-11.264999100.0000006.424729
temp_inside7.517823-16.0622885.929296100.00000035.9500421.01976729.737625-3.69372424.2247946.237325
temp_outside8.817534-32.0810591.54110135.950042100.00000014.87050116.756227-18.63148934.6903413.787710
rain-1.97906524.8117710.948946-3.693724-18.6314896.03281924.291471100.000000-11.2649990.912464
AC-2.5738179.659140-3.54080029.73762516.75622710.528540100.00000024.2914718.859801-1.870021
consume-12.896676100.000000-22.786618-16.062288-32.081059-1.5326979.65914024.811771-17.066738-5.218780
gas_type-5.341141-1.532697-9.7360411.01976714.870501100.00000010.5285406.0328192.276096-5.534834
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "consume_100Km 99.210074 -5.218780 55.184655 6.237325 3.787710 \n", + "distance 100.000000 -12.896676 56.229882 7.517823 8.817534 \n", + "speed 56.229882 -22.786618 100.000000 5.929296 1.541101 \n", + "sun 8.111981 -17.066738 8.161828 24.224794 34.690341 \n", + "temp_inside 7.517823 -16.062288 5.929296 100.000000 35.950042 \n", + "temp_outside 8.817534 -32.081059 1.541101 35.950042 100.000000 \n", + "rain -1.979065 24.811771 0.948946 -3.693724 -18.631489 \n", + "AC -2.573817 9.659140 -3.540800 29.737625 16.756227 \n", + "consume -12.896676 100.000000 -22.786618 -16.062288 -32.081059 \n", + "gas_type -5.341141 -1.532697 -9.736041 1.019767 14.870501 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "consume_100Km -5.534834 -1.870021 0.912464 6.424729 100.000000 \n", + "distance -5.341141 -2.573817 -1.979065 8.111981 99.210074 \n", + "speed -9.736041 -3.540800 0.948946 8.161828 55.184655 \n", + "sun 2.276096 8.859801 -11.264999 100.000000 6.424729 \n", + "temp_inside 1.019767 29.737625 -3.693724 24.224794 6.237325 \n", + "temp_outside 14.870501 16.756227 -18.631489 34.690341 3.787710 \n", + "rain 6.032819 24.291471 100.000000 -11.264999 0.912464 \n", + "AC 10.528540 100.000000 24.291471 8.859801 -1.870021 \n", + "consume -1.532697 9.659140 24.811771 -17.066738 -5.218780 \n", + "gas_type 100.000000 10.528540 6.032819 2.276096 -5.534834 " + ] + }, + "execution_count": 638, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume_100Km', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " *- El consumo no solo se relaciona con el tipo de combustible, sino con la lluvia y la velocidad, así como la temperatura en el exterior y en el interior*" + ] + }, + { + "cell_type": "code", + "execution_count": 639, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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4zan0+k0IM+/df36dR05ckQBAQHy8fExOg4AAAAAwIPsdruys7PVpEkTVahQoch5UxZVAAAAAEDpxc2UAAAAAACmQlEFAAAAAJgKRRUAAAAAYCoUVQAAAACAqVBUAQAAAACmQlEFAAAAAJgKRRUAAAAAYCoUVQAAAACAqVBUPSA3N9foCECxvfPOOzp06JDreOHChdq0aZOBiayN9wtYwYEDB7Ru3Trl5+dr3759RscBYDLnzp37t1/A7+FrdABvdvToUcXGxur69etKSkrS4MGD9corr6hx48ZGR7OUr776Sm+++aZyc3PldDpd46tWrTIwlTWsXr1aKSkpmjt3rmusffv2mjNnjvLz8zVo0CAD01kL7xd3R1pamt566y1dvnxZkuR0OmWz2bRjxw6Dk1nHypUrtX37dmVlZal79+6aPn26+vfvr2HDhhkdzTLOnj2rqVOn6uzZs1qzZo0mTJigv/71r6pVq5bR0Szjk08+UUJCgi5fviyn08l7hYcNHjxYNptNN27c0I8//qjatWurTJkyOn36tGrXrq2tW7caHdEy8vPz9fbbb+vEiROaPn26VqxYoREjRqhcuXJGR3OfE8U2aNAg5/Hjx529e/d2Op1O565du5z9+vUzNpQF9ezZ07l69WrnZ5995vz8889dX3Bfr169nD/99FOR8R9//NEZHh5uQCLr4v3i7ujYsaNz7969zjNnzhT6guf07t3beePGDde/5StXrjjDwsKMDWUxQ4cOdX7yySfOiIgIp8PhcCYlJTkHDRpkdCxLCQkJce7cudP5/fff815RgsaNG+fct2+f6/jLL790jh071sBE1jNlyhTnwoULnX/605+c165dc06cONE5YcIEo2N5BEt/3ZCXl6cHH3zQdfzHP/5R+fn5BiaypgoVKmjw4MF6/PHH1apVK9cX3FemTBn5+fkVGa9WrZrKlOHtwZN4v7g76tSpo8cee0w1a9Ys9AXPKVOmTKFP6suXLy8fHx8DE1nPxYsX1a5dO9cs34ABA3TlyhWjY1lK1apV1alTJ9WqVYv3ihL07bffqkWLFq7j4OBgnThxwsBE1pORkaHx48fL19dXFStW1Ny5c3X06FGjY3kES3/d4O/vr2PHjslms0mSUlJSVKVKFYNTWU+7du20evVqtWvXTuXLl3eN33///QamsgYfHx/9+OOPuu+++wqN5+TkyG63G5TKmni/uDuGDh2q6OhotWzZslB5GjNmjIGprKVVq1aaO3eu8vLytH37diUlJal169ZGx7KUChUq6Pz58673i/3791tjGZ+JPPbYY5o9e7aeeOKJQn9btGzZ0sBU1lO9enW9+uqr6tGjhxwOh1JSUvTAAw8YHctSbDab8vPzXe8XFy9edD32djan8xcX/eGOnD59WnFxcTp8+LAqVKigunXrav78+apfv77R0Sylc+fORca4jsQzkpOTtWrVKr344osKDg6W0+nU4cOHNWfOHEVERGjw4MFGR7QM3i/ujoiICD3yyCNFZkYoqp7jcDi0YcMG7d69Ww6HQ23atNHAgQPl68tn355y6NAhTZs2TadPn1adOnWUm5urV155Rc2bNzc6mmVERUUVGbPZbNz/wsNyc3P12muvae/evZKktm3bauzYsbddzYXiSU5O1saNG3Xq1CmFhYVp+/btGj16tPr37290NLdRVD3g2rVrcjgc/J8OXikpKUlvvvmmfvjhB0k/L50cNmyYWrVqpXr16hmcznoyMzPlcDhUo0YNo6NYUs+ePfXee+8ZHcPSrl69quTkZEVGRiozM1Pr16/XiBEjVLFiRaOjWUpBQYFOnjwpu92u+vXrM6MKr3Xt2jWdPn1aDz/8sK5fv65KlSoZHclyjh8/rs8//1x2u12tWrVSo0aNjI7kERRVN+zfv18rV64sst0En8Z5xuLFizV27FhNnjz5tudnz559lxNZ28WLF+V0OrVnzx6tX79eR44c0RdffGF0LMs4duyYXnjhBWVmZsrpdKp+/fqaO3eu6tata3Q0S1mwYIGqV6+uJ554QmXLlnWNc6mA54wcOVINGzZUbGysrly5omXLlum7777T4sWLjY7m9X7r990t/N7znKioqNsuj+RvOM/as2ePpk+fLrvdrqSkJIWHh2vBggVq166d0dG8XnJy8r89HxERcVdylCTW6bhh0qRJGjNmDH8AlZBb23Zw46SS9/333yspKUmbN29Wbm6uRo4cqVdffdXoWJby4osvKjY2Vp06dZIkffjhh5o8ebLWrl1rcDJref/99yVJy5cvd41xqYBnnTt3Tm+++aYkyc/PT7Gxserdu7fBqazh1u+79PR0Xb16Vb169ZKvr6/ef/993XPPPQans5axY8e6Ht+8eVM7duzQvffea2Aia1q0aJHWrl2r4cOHKyAgQGvWrNH48eMpqh7w+eefS/r50qJTp06pY8eOKlOmjHbt2qUGDRpQVEu7oKAgS/wjMKtb16b26dNHly5dUl5enpxOp+x2u86cOWNwOmv48MMPtX79emVkZKhbt26aN2+epk2bxvV8JcDpdLpKqiR169ZNS5YsMTCRtTgcDpUpU0Y7d+4scu7ixYsGJLIum82mr7/+Wg0bNpT08109uT7VM/r06SNJWrt2rZKSklx3Xw8LC9OAAQOMjGY5v/4QvG3btvrzn/+s5557zqBE1uRwOBQQEOA6btCggYFprOXWCouoqCilpKSoWrVqkn6+Lnj06NFGRvMYfrO4ISoqShMmTFDr1q0L/ZKmvHrWokWLlJiYqJs3b6pq1arKzMxUkyZNtHHjRqOjeb2xY8eqe/fuSkpKci1Btcqd4symRYsW+tvf/qYBAwbIx8dH77//vh588EGdO3dOEktT3TVhwgQtXLiwyL/fzz77TC+88II+/vhjg5JZT1xcnIYOHaqgoCBJP38QMG/ePINTWctPP/2kS5cuuf7wzMnJ0bVr1wxOZS233nulnz9I/Ne//qVLly4ZF8iiqlevrvT0dNlsNl2+fFmJiYn8vvOwrKws+fv7u44rVqyo7Oxs4wJ5EEXVDbeW7B04cKDQOEXVs9577z199NFHio+P16hRo3Tu3Dn93//9n9GxLCElJUWbN2/WoEGDVLNmTf3pT39iW5oScmvp6aZNmwqNDx48mKWpHnDjxg3FxcW5CpPD4VBCQoLWr1//H6/7w51p27at0tPT9c0338jX15cb/ZSAkSNHqlevXnr00UflcDj05ZdfaurUqUbHspRb771Op1NlypRR1apVNW3aNKNjWc7MmTMVHx+vH374Qd26ddPjjz+umTNnGh3LUjp27KghQ4YoJCREDodDaWlpCgsLMzqWR3AzJTeEhYXpgw8+MDqG5Q0cOFBJSUlavny5atWqpZCQEPXr10/vvPOO0dEsw263Kz09XZs3b9ZHH32ktm3bKjIyUh06dDA6mmVkZ2cXWv4Ez7p586bGjx+vypUra9SoUZowYYLKly+vOXPmFNmqBu45e/as1qxZo9zcXP3yTwhu9ONZWVlZ+uKLL2Sz2fTYY48V2e8a7vnyyy914MABDR48WCNHjlRGRoZmzpyp0NBQo6NZ0qVLlwrN+sGztm7dqr1798pms6lNmzbq0qWL0ZE8oozRAbxZixYtlJ6erps3bxodxdLuueceJScnq3HjxkpNTdXBgwd1+fJlo2NZio+Pj7p27aolS5bo448/Vps2bbRw4UKjY1nK4MGDNWLECKWlpamgoMDoOJbj6+urhIQE5eXlqUePHurWrZtWrVpFSS0B48aNk/Tz78BWrVq5vuC+pKQkSdLrr7+uDRs26F//+pe++eYbrVu3Tq+//rrB6awlPj5eTZs21bZt21ShQgUlJydr6dKlRseynKNHj6p79+6KiIhQZmamunXrpoyMDKNjWcKtn+O+fftUrVo1de/eXaGhobr33nu1b98+g9N5Bkt/3ZCenl7kOkmbzaajR48alMiaHA6HLl68qIiICKWnp2v69OmuP5TgedWqVdOQIUM0ZMgQo6NYytatW7Vv3z4lJydr/vz56tChg/r06aOmTZsaHc0yfHx8tGjRIk2cOFFnzpzheusScvPmTcXFxRkdw5JY5Hb3OBwOtWzZUs8//7xCQkJUo0YNLn0pAS+//LKWLFmi559/XkFBQXrppZc0Y8aMIpfB4M6tX79es2bN0muvvVbknM1ms8RWSyz9hen169dPK1eulJ+fn9FRALfduHFDH3zwgRISEmSz2VStWjVNnz5dzZs3NzqaV+vcubOrmNrtdp0/f15BQUHy8fHhGmAPe/nll9W2bVu1a9eOa1NLUH5+vsqVK6dTp07pxIkTat++vesuwHBfVFSUOnXqpOXLl+vvf/+7kpOTtW3bNiUmJhodzVL69u2rd999VxEREa59P3v16qWUlBRjg1nYlStXLPM3MzOqbvitZThs7eFZZcqUUefOnVWvXj2VL1/eNW6FT4pQeuzevVtbtmzR7t271aFDByUkJOjRRx/V119/reHDh3NXWjetXr3a6AilRlpamtasWVNojNVEnrVkyRKdOnVK48aNU2RkpB566CHt2LFDs2bNMjqaZSxYsEAbN27Ua6+9pipVqigrK4tLXkqAv7+/jh075vogMSUlRVWqVDE4lbWkp6dr//79evbZZ9W/f39duHBBMTExioyMNDqa25hRdcMvi2pBQYE++eQTNWvWTDNmzDAwlfXs3bv3tuNcEwVvEhkZqX79+iksLEwVK1YsdG7FihX6y1/+YkwwC/n222+1detWnT9/XmXKlFFgYKCeeOIJllfD6/Tt21fr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rEK/6ypWrKjs7GzjAlnQ7Nmz9b//+7+u5XuHDx/WjBkz2HcZwB3x9g9oKapumDVrlp555hlNmTLFNbZ+/XoDEwEwqwceeEC1a9fWvn379OSTT+ratWt69NFH9c0337AfM7xKx44dNWTIEIWEhLhuChYWFmZ0LEspV65coWvMmjZtamAaAN7K2z+gpai64eOPP1bFihW1efNmnT59WrGxsdq7d6/q1atndDQAJrNz504dPXpUXbp0kST94x//UGBgoFavXq3w8HCW88FrTJ48WVu3btXevXtls9k0dOhQ179reEZwcLCmTJmiAQMGyMfHR3//+99Vs2ZN7du3T5LUsmVLgxMCQMljH1U39OzZUxs3bnQt38vLy9OAAQOUmppqcDIAZvPkk09q6dKluvfeeyVJV65c0ciRI7VixQr17dtXKSkpBie0voiICCUnJxsdA/iPoqKifvOczWbTqlWr7mIaAN7K2/ddZkbVDQUFBSpbtqzr+JePAeCXLl68qMqVK7uOy5cvr9zcXPn6+nr90hwzys3Ndd3A6hbulgpvsXr1aqMjALAAb5+PpKi6oWvXrnr66add1+Zs27aN5U8AbiskJMT1fuFwOFzvF8nJyQoICDA6nmUcPXpUsbGxun79upKSkjR48GC98soraty4Mcur4TX279+vlStXKjc3t9A4M6kAbseq21mx9NdNaWlp2rdvn3x9fdWyZUs2mwfwm9LT0/Xpp5/Kx8dHbdu2VYcOHXTw4EHVq1evyOwfiicyMlIzZ87U888/r+TkZH366adKSEhgf2t4la5du2rMmDG6//77C423atXKoEQAzOrfbWfl7SiqAADL6Nu3r959991C16P26tWLa4DhVSIjI5WYmGh0DABeoGfPnlqwYIElt7Ni6S8AwDL8/f117Ngx17KnlJQUZqvhdaKiojRhwgS1bt1avr7//59q3r6MD4DnWXk7K2ZUAQCWcfr0acXFxenw4cOqUKGC6tatq/nz56t+/fpGRwN+t+joaElSzZo1C43Pnj3biDgATOyll15SQUFBoe2szpw543of8ebtrCiqAADLuXbtmhwOh/z8/IyOAtyxsLAwffDBB0bHAOAFrLydFUUVAGAZ3C0VVjBt2jR17txZTzzxRKGlvwBQmlBUAQCWwd1SYQXt2rVTTk6OpJ9nRJxOp2w2m44ePWpwMgBmY+UPaPmYDgBgGUFBQdxwBl5v165dRkcA4CUmTZp02w9orYCiCgCwDO6WCivIz8/X8uXLdeLECU2bNk0rVqzQiBEjVK5cOaOjATAZK39AS1EFAFjG2rVrJUkHDhwoNG7VX+KwppkzZ6patWrKyMiQj4+PTp8+rSlTpmj+/PlGRwNgMlb+gJaiCgCwjOzsbO6WCq+XkZGhzZs36+OPP1bFihU1d+5chYeHGx0LgAlZ+QNaiioAwDJatGih9PR07pYKr2az2ZSfny+bzSZJunjxousxAPySlT+g5bc4AMAy0tPTtXHjxkJj3C0V3iY6OlpDhgxRdna24uPj9eGHH2rMmDFGxwJgQlb+gJbtaQAAAExk7NixGjdunD777DM5HA61bNlSs2fP1sqVK42OBsBkrLydFUUVAGAZr7/++m3HmY2CNxg9erSOHTumrKwsBQYG6tafaA6HQzVq1NC6desMTggAd4+15ocBAPh/CgoK9Mknn6hZs2ZGRwF+l7lz5+rSpUuKj4/X1KlTXeO+vr667777DEwGwKysvJ0VM6oAAMvKz8/X0KFDtWbNGqOjAADgcVOnTlW1atW0c+dObdy4UTNmzJDT6bTEdlZljA4AAEBJuXr1qs6dO2d0DAAASkRGRobGjx8vX19f13ZWVrg+VWLpLwDAQjp37uzaxsPpdOry5csaNmyYwakAACgZVt7OiqW/AADLOHv2rOuxzWbTvffeKz8/PwMTAQBQcpKTk7Vx40adOnVKYWFhru2s+vfvb3Q0t7H0FwBgGZUrV9apU6dUs2ZNpaam6sUXX9Tx48eNjgUAQInYsWOHZs6cqVGjRqlOnTp68803lZqaanQsj2BGFQBgGcOGDVOnTp1Uv359zZ8/X08//bQ2btyoxMREo6MBAOAxpWE7K4oqAMAy+vfvr02bNmnWrFmqW7euoqOj1bdvX7377rtGRwMAwGOuXLnyb7ez8vX1/lsRef//AgAA/h+Hw6EjR45o+/btWrNmjY4ePSq73W50LAAAPMrPz09+fn564403jI5SYiiqAADLmDhxoubNm6chQ4aodu3aGjBggCZNmmR0LAAAcIdY+gsAAAAAMBVmVAEAlrF582bNmTNHly9fLjRulc3PAQAoLZhRBQBYRpcuXfTGG2/o4YcfNjoKAABwA/uoAgAsIygoiJIKAIAFMKMKALCM+Ph4ZWZm6o9//KPKly/vGo+IiDAuFAAAuGNcowoAsIwrV66ocuXKOnjwYKFxiioAAN6FGVUAgKUUFBToxIkTstvteuihhyyx6TkAAKUNv70BAJZx5MgRxcTEyN/fXw6HQzk5OVqyZImaNWtmdDQAAHAHmFEFAFjGk08+qcmTJ7uK6cGDB/Xyyy9r06ZNBicDAAB3grv+AgAs49q1a4VmT5s3b64bN24YmAgAABQHRRUAYBlVqlTR9u3bXcfbt2+Xv7+/cYEAAECxsPQXAGAZJ0+e1DPPPKNLly65xtavX6969eoZFwoAANwxZlQBAJbx8ccfq2LFikpPT9fKlStVrVo17d271+hYAADgDjGjCgCwjJ49e2rjxo2qWLGiJCkvL08DBgxQamqqwckAAMCdYEYVAGAZBQUFKlu2rOv4l48BAID3YB9VAIBldO3aVU8//bTCwsIkSdu2bVOXLl0MTgUAAO4US38BAJaSlpamffv2ydfXVy1btlTXrl2NjgQAAO4QRRUAAAAAYCpcowoAAAAAMBWKKgAAAADAVCiqAAAAAABToagCAAAAAEyFogoAAAAAMJX/DyC8QRuzOxqbAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "corr_mat=df_train.corr(method='pearson')\n", + "plt.figure(figsize = (16,5))\n", + "corr_mat['consume'].sort_values(ascending = False).plot(kind = 'bar');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Chequear media de consumo por tipo de combustible y resto de variables" + ] + }, + { + "cell_type": "code", + "execution_count": 640, + "metadata": {}, + "outputs": [], + "source": [ + "gas_type=df_train.groupby('gas_type')" + ] + }, + { + "cell_type": "code", + "execution_count": 641, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsideACrainsunconsume_100Km
gas_type
021.0962504.93125043.50625021.91742910.118750.0437500.1000000.0750001.008933
118.6399124.89912340.82017521.93800712.228070.1008770.1403510.0877190.883618
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside AC \\\n", + "gas_type \n", + "0 21.096250 4.931250 43.506250 21.917429 10.11875 0.043750 \n", + "1 18.639912 4.899123 40.820175 21.938007 12.22807 0.100877 \n", + "\n", + " rain sun consume_100Km \n", + "gas_type \n", + "0 0.100000 0.075000 1.008933 \n", + "1 0.140351 0.087719 0.883618 " + ] + }, + "execution_count": 641, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 504, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(1).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 505, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(0).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 506, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gas_type.size().sort_values(ascending=True).plot(kind='barh')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 612, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(11.204923406862736, 0.5, 'consume l/100km')" + ] + }, + "execution_count": 612, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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WykrK2P79u1s2rTpkMdVt/1effVVTjvtNIqLi5P36Ro9tvPOO4/p06eTkZFBfn4+48eP57HHHjvkONWtMdd1KSsr48EHH+SVV15hzZo1ybmAB1LdDm/WrFn88Ic/BHSdHo/169fz2muvsWTJEpYtW4bP52P58uWHHKe67VdcXMzYsWO57rrrmDRpEr169cJ13UOOU82an93SDTiZtWnThp07dyZvl5eXJ4dkyX7vvfcet956K3fffTclJSW88847qtsxbNy4kXg8Trdu3UhPT2fo0KHMnz8fv9+fPEZ1a+zNN9+koqKCMWPGUFVVRSQSwbKsRp+1iooK1ewgK1asIJFIJEObMYZ27drpGj2G1q1bU1xcTH5+PgCXXnqprtHjFI/Heffdd3nggQcA/ZYej2XLllFcXEyrVq2AhuFCzzzzjL7fjqK2tpYhQ4YkQ+6zzz5Lu3btWLFiRfIY1axlqOfjKzjnnHP47LPPkt3vb7zxBgMGDGjpZqWU7du3M2XKFB566CFKSkoA1e14bN26lXvuuYd4PE48Hmfx4sVMmDBBdTuKZ599ljfeeIO5c+dy6623cskll3D//feTlpbGe++9B8CcOXNUs4PU1NQwffp0YrEYtbW1vP766zz44IOUlZWxe/du6uvrWbBggep2kMGDB7Ns2TKqq6txXZd//vOfDB8+XNfocfjoo48488wzycjIAPSbcDy6du1KaWkpkUgEYwxvvfUWF154ob7fjmLr1q1MmTIFx3Goqanh1VdfZfz48apZClDPx1eQlpbGAw88wC233EIsFmPgwIEMHz68pZuVUp555hlisVjyX7gAJkyYoLodw8CBA1m1ahWXX345fr+foUOHUlJSQn5+vup2gh566CHuuece6urq6N69OxMnTmzpJqWUwYMHJz9rnudx9dVX06tXL6ZOncrEiRNJJBKMHz+enj17tnRTU8o555zDpEmTuPrqq0kkEvTr14+rrrqKTp066Ro9hi1bttC2bdvkbf2WHlv//v1Zu3YtY8eOJRAI8J3vfIebb76ZIUOG6PvtCLp27crQoUO57LLLcF2X66+/nl69euk3IQVY5nCDLUVERERERL5mGnYlIiIiIiLNQuFDRERERESahcKHiIiIiIg0C4UPERERERFpFgofIiIiIiLSLBQ+RERSxPz587nuuusAePTRR5kzZ85Rj3/iiSdYtGhRM7Ts8LZu3cp5553X6L4333yTPn36UFZW1kKtEhGRVKZ9PkREUtBtt912zGPefvttioqKmqE1x2fWrFn88Y9/5LnnnqNbt24t3RwREUlBCh8iIi3o0UcfZd68eYTDYTp27Ji8/84776RLly7ceOONPPbYYyxcuJBAIEBeXh73338/Cxcu5MMPP2T69On4/X6Kioq49957iUQilJeX07VrVx555BHS0tKSG5ItX76c8vJyJk6cyPXXXw/AU089xeuvv45t23Ts2JEHHniA7OxsXn31VV566SU8zyMcDvPLX/6Szp07H/E8nn76aWbPns2LL75I+/btgYZw9Pvf/57CwkI2bNhAeno6t9xyC88//zyfffYZQ4cO5e67727S+oqISGrRsCsRkRayaNEiFixYwJw5c5g1axa1tbWHHLN9+3b+8pe/8NprrzF79mz69evH6tWrueaaazj77LP5+c9/zpAhQ3jllVe4/PLLefnll1mwYAFbt25l6dKlAMTjcfLy8pg1axaPPfYYDz/8MLFYjMWLFzN79mxefvll3njjDdq3b88LL7zAO++8w5w5c5g5cyZz5sxh0qRJ3HLLLUc8j+nTp/Pwww9z3XXXJYPHPmvWrOHHP/4x8+fPp1WrVjz99NM89dRTyaCyY8eOr7WmIiKS2tTzISLSQsrKyhgyZAhZWVkAjBs3jueff77RMW3atKFr165cccUVDBgwgAEDBlBcXHzIa91+++0sX76cP/3pT2zatIny8nIikUjy8UsvvRSAHj16EI/HiUQilJWVMXz4cHJzcwG46667gIYw8fnnnzNhwoTk86uqqqisrCQcDjd630gkwscff8zTTz/N1KlTOf/88xsNuWrfvj3du3cHoEOHDmRnZxMMBsnPzyczM5OqqiratGnzn5ZQREROMgofIiItxLIsjDHJ236//5BjfD4fL7zwAmvWrKGsrIzf/e539OnTh3vuuafRcT/96U9xXZcRI0YwaNAgtm/f3ui109LSku8JYIzB7/cnbwNUV1dTXV2N53mMGTOG22+/HQDP8ygvL0+GlAOFQiGefPJJAoEAkydPZsqUKcyePTsZUoLBYKPjbVs/OyIipzINuxIRaSEXX3wx8+fPT/7BP3fu3EOOWb9+PaNGjaJz585MnjyZ66+/no8++ghoCCuO4wCwbNkypkyZwsiRI7Esi1WrVuG67lHf/6KLLmLhwoXJ4V6PP/44zz33HP369eNvf/sb5eXlALz00kv84Ac/OOxr+Hw+AoEAADfffDNFRUX87Gc/w/O8/6woIiLyjaZ/ghIRaSEDBw7ko48+Yty4ceTk5NC1a1f27NnT6JiuXbsyYsQIxo0bR0ZGBqFQKNnrMXjwYKZNm0YikWDq1KlMmTKF3Nxc0tPTueCCC9i8efMx3/+TTz7hqquuAqCoqIj77ruPrKwsbrrpJm644QYsyyIrK4snnniiUS/J4ViWxbRp07jiiit45JFH6Nev31eojoiIfBNZ5sB+eRERERERkSaiYVciIiIiItIsFD5ERERERKRZKHyIiIiIiEizUPgQEREREZFmofAhIiIiIiLNQuFDRERERESahcKHiIiIiIg0C4UPERERERFpFv8f1CyB8YOzHVgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Consume vs Km_absolute\n", + "sns.lmplot(data = df_train, x = 'distance', y = 'consume_100Km', hue = 'gas_type', height=6,aspect=1.7)\n", + "plt.xlabel('distance Km')\n", + "plt.ylabel('consume l/100km')" + ] + }, + { + "cell_type": "code", + "execution_count": 512, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type[['consume_100Km','speed',]].mean().plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 513, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.agg({'consume_100Km':'min','speed':'max',}).plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 516, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
05.993888130.3
12.69288256.1
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 5.9938 88 130.3\n", + "1 2.6928 82 56.1" + ] + }, + "execution_count": 516, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'max','speed':'max','distance':'max' })" + ] + }, + { + "cell_type": "code", + "execution_count": 515, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
00.1638164.1
10.2035162.9
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 0.1638 16 4.1\n", + "1 0.2035 16 2.9" + ] + }, + "execution_count": 515, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'min','speed':'min', 'distance':'min',})" + ] + }, + { + "cell_type": "code", + "execution_count": 517, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
01.02524643.98089221.463057
10.74855240.60280415.987383
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 1.025246 43.980892 21.463057\n", + "1 0.748552 40.602804 15.987383" + ] + }, + "execution_count": 517, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'mean','speed':'mean','distance':'mean' })" + ] + }, + { + "cell_type": "code", + "execution_count": 518, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
distancemin4.1000002.900000
max130.30000056.100000
mean21.46305715.987383
consumemin3.7000003.700000
max8.1000008.700000
mean4.8668794.814019
speedmin16.00000016.000000
max88.00000082.000000
mean43.98089240.602804
temp_insidemin21.00000019.000000
max25.00000025.500000
mean21.91266621.978344
temp_outsidemin-5.000000-3.000000
max27.00000031.000000
mean10.07006412.233645
ACmin0.0000000.000000
max1.0000001.000000
mean0.0445860.102804
rainmin0.0000000.000000
max1.0000001.000000
mean0.0955410.140187
sunmin0.0000000.000000
max1.0000001.000000
mean0.0764330.084112
consume_100Kmmin0.1638000.203500
max5.9938002.692800
mean1.0252460.748552
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "distance min 4.100000 2.900000\n", + " max 130.300000 56.100000\n", + " mean 21.463057 15.987383\n", + "consume min 3.700000 3.700000\n", + " max 8.100000 8.700000\n", + " mean 4.866879 4.814019\n", + "speed min 16.000000 16.000000\n", + " max 88.000000 82.000000\n", + " mean 43.980892 40.602804\n", + "temp_inside min 21.000000 19.000000\n", + " max 25.000000 25.500000\n", + " mean 21.912666 21.978344\n", + "temp_outside min -5.000000 -3.000000\n", + " max 27.000000 31.000000\n", + " mean 10.070064 12.233645\n", + "AC min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.044586 0.102804\n", + "rain min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.095541 0.140187\n", + "sun min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.076433 0.084112\n", + "consume_100Km min 0.163800 0.203500\n", + " max 5.993800 2.692800\n", + " mean 1.025246 0.748552" + ] + }, + "execution_count": 518, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg(['min', 'max','mean']).T" + ] + }, + { + "cell_type": "code", + "execution_count": 519, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
27393.94.88823.01801014.5072
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain \\\n", + "273 93.9 4.8 88 23.0 18 0 1 0 \n", + "\n", + " sun consume_100Km \n", + "273 1 4.5072 " + ] + }, + "execution_count": 519, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_max_speed=df_train[df_train.speed == df_train['speed'].max()]\n", + "df_max_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 520, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
24511.86.11622.5600100.7198
37315.36.61624.02711001.0098
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain \\\n", + "245 11.8 6.1 16 22.5 6 0 0 1 \n", + "373 15.3 6.6 16 24.0 27 1 1 0 \n", + "\n", + " sun consume_100Km \n", + "245 0 0.7198 \n", + "373 0 1.0098 " + ] + }, + "execution_count": 520, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_min_speed=df_train[df_train.speed == df_train['speed'].min()]\n", + "df_min_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 522, + "metadata": {}, + "outputs": [], + "source": [ + "group_cols = ['gas_type']\n", + "agg_dict = {'speed':['min', 'max','mean','var'],\n", + " 'distance':['min', 'max','mean','var'],\n", + " 'consume_100Km':['min', 'max','mean','var']}\n", + "df_groupby=df_train.groupby(group_cols).agg(agg_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": 523, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['speed', 'speed', 'speed', 'speed', 'distance', 'distance', 'distance',\n", + " 'distance', 'consume_100Km', 'consume_100Km', 'consume_100Km',\n", + " 'consume_100Km'],\n", + " dtype='object')" + ] + }, + "execution_count": 523, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level0 = df_groupby.columns.get_level_values(0)\n", + "level0" + ] + }, + { + "cell_type": "code", + "execution_count": 524, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['min', 'max', 'mean', 'var', 'min', 'max', 'mean', 'var', 'min', 'max',\n", + " 'mean', 'var'],\n", + " dtype='object')" + ] + }, + "execution_count": 524, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level1 = df_groupby.columns.get_level_values(1)\n", + "level1" + ] + }, + { + "cell_type": "code", + "execution_count": 525, + "metadata": {}, + "outputs": [], + "source": [ + "df_groupby.columns = level0 + '_' + level1" + ] + }, + { + "cell_type": "code", + "execution_count": 526, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
speed_min16.00000016.000000
speed_max88.00000082.000000
speed_mean43.98089240.602804
speed_var189.685530143.151354
distance_min4.1000002.900000
distance_max130.30000056.100000
distance_mean21.46305715.987383
distance_var413.09196068.495192
consume_100Km_min0.1638000.203500
consume_100Km_max5.9938002.692800
consume_100Km_mean1.0252460.748552
consume_100Km_var0.9188980.136241
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "speed_min 16.000000 16.000000\n", + "speed_max 88.000000 82.000000\n", + "speed_mean 43.980892 40.602804\n", + "speed_var 189.685530 143.151354\n", + "distance_min 4.100000 2.900000\n", + "distance_max 130.300000 56.100000\n", + "distance_mean 21.463057 15.987383\n", + "distance_var 413.091960 68.495192\n", + "consume_100Km_min 0.163800 0.203500\n", + "consume_100Km_max 5.993800 2.692800\n", + "consume_100Km_mean 1.025246 0.748552\n", + "consume_100Km_var 0.918898 0.136241" + ] + }, + "execution_count": 526, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_groupby.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### speed outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 527, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable height\n", + "ax = sns.distplot(df_train.speed, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of speed', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 528, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of speed')" + ] + }, + "execution_count": 528, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.speed)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(80,0), xytext=(75,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "ax.annotate('Outlier', xy=(90,0), xytext=(95,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.title('Distribution of speed', fontsize=20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### consume outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 529, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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VPj573fSZyJKtGXLFjQaDT179jRoVioUFxfHe++9xx9//AGAl5cXAwcOZM2aNTz88MMkJCRw5coV4PY31PI6deqUwb7w8HAAvVFg1tbWxX7oFG2nL2RMbIU1rOPHjxsc02q1HDt2DAcHh1JHUd2NwqajY8eOGRy7fPkySUlJNG7c+K7PWzj0uejUMYXCw8Np1aoVH3/8caXd782bN1mxYoUylNnNzY0nn3yS5cuXExYWRnZ2tjLCqvBLyJ1/x9jY2Lu6pjH8/PywsbHhzJkzxdYa169fz8qVK7l582aFX/t+IMlEFOvgwYN89NFHODg4MHr06BLL2dnZ8dlnn/HBBx/otYmr1WqSkpKwsbFROtatrAoqwnc+x3C3/vnnH73nETIyMnj//fdRqVR6T/P7+/tz5coVLly4oOy7evVqsUNPC2MrrR+jTZs2+Pr6snPnTvbs2aN3bPny5Vy/fp2ePXuW2ZxirKeffhorKys++eQTvQSYlZXF3LlzlTJ3q169eoSEhLB//37l+QsoSBCfffYZOp2Ojh07Vtr9Ojo68vnnn7Ns2TKDocXXrl0DUDrQC6ftKfyyUhjnJ598clfXNIatrS29evUiKiqKdevW6R07fPgwS5YsYevWrQa1X1FAmrkecL///rvSL1I4N9fZs2f5+++/sbOzY9myZaV+83R3d2fEiBGsW7eOPn360KVLFywsLNi3bx/R0dGMGzdOaXP39PQE4IsvviA1NZVhw4bdU8z169fntdde4/fff8fV1ZU//viDK1eu8NJLLykjdAAGDRrEvHnzGDZsGH369EGtVvPLL78QEBDA33//rXfOwtg+/vhjzp07V+yzJhYWFixatIiRI0cyZswYunbtSv369QkPD+fEiRM0bNjwnp91KU69evV44403WLBgAf369aN79+44ODiwd+9e4uLi6N27N3379r2nc8+ZM4ehQ4cyevRounfvjre3N4cOHeLs2bMMHz5c+T1Wxv3a2NgwadIk5s+fT58+fXjsscews7Pj6NGjnDp1iqefflpJIn369OGDDz5gzZo1xMXF4ePjw19//UV6erreiK2K8sYbbxAeHs7ixYvZtWsXLVu2JCEhgZ07d2JlZcU777yDhYV8By+OJJMH3K5du9i1a5eybW9vj7e3N0OHDmXEiBEGI2OK8/rrr+Pr68vXX3/Nd999R35+Po0a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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.consume_100Km, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('consume / 100 Km', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 530, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of consume')" + ] + }, + "execution_count": 530, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.consume_100Km)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('consume_100Km', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 531, + "metadata": {}, + "outputs": [], + "source": [ + "q_low = df_train[\"consume\"].quantile(0.01)\n", + "q_hi = df_train[\"consume\"].quantile(0.99)\n", + "\n", + "df_train = df_train[(df_train[\"consume\"] < q_hi) & (df_train[\"consume\"] > q_low)]" + ] + }, + { + "cell_type": "code", + "execution_count": 532, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.consume, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('consume', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### distance outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 533, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.distance, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 617, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "ename": "TypeError", + "evalue": "Horizontal orientation requires numeric `x` variable.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# box plot of the variable consume\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mboxplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdistance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m# notation indicating an outlier\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py\u001b[0m in \u001b[0;36minner_f\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 44\u001b[0m )\n\u001b[0;32m 45\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0marg\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparameters\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 47\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0minner_f\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36mboxplot\u001b[1;34m(x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth, whis, ax, **kwargs)\u001b[0m\n\u001b[0;32m 2238\u001b[0m ):\n\u001b[0;32m 2239\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2240\u001b[1;33m plotter = _BoxPlotter(x, y, hue, data, order, hue_order,\n\u001b[0m\u001b[0;32m 2241\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpalette\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaturation\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2242\u001b[0m width, dodge, fliersize, linewidth)\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth)\u001b[0m\n\u001b[0;32m 404\u001b[0m width, dodge, fliersize, linewidth):\n\u001b[0;32m 405\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 406\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mestablish_variables\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morder\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhue_order\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 407\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mestablish_colors\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcolor\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpalette\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaturation\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 408\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36mestablish_variables\u001b[1;34m(self, x, y, hue, data, orient, order, hue_order, units)\u001b[0m\n\u001b[0;32m 154\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 155\u001b[0m \u001b[1;31m# Figure out the plotting orientation\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 156\u001b[1;33m orient = infer_orient(\n\u001b[0m\u001b[0;32m 157\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrequire_numeric\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrequire_numeric\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 158\u001b[0m )\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\_core.py\u001b[0m in \u001b[0;36minfer_orient\u001b[1;34m(x, y, orient, require_numeric)\u001b[0m\n\u001b[0;32m 1319\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msingle_var_warning\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Vertical\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"x\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1320\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mrequire_numeric\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mx_type\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;34m\"numeric\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1321\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnonnumeric_dv_error\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Horizontal\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"x\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1322\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;34m\"h\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1323\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: Horizontal orientation requires numeric `x` variable." + ] + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.distance)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 535, + "metadata": {}, + "outputs": [], + "source": [ + "q_low = df_train[\"distance\"].quantile(0.01)\n", + "q_hi = df_train[\"distance\"].quantile(0.99)\n", + "\n", + "df_train = df_train[(df_train[\"distance\"] < q_hi) & (df_train[\"distance\"] > q_low)]" + ] + }, + { + "cell_type": "code", + "execution_count": 536, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.distance, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 537, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
consume-19.328871100.000000-10.660054-14.960494-40.515699-3.3176824.54282527.351497-19.047784-0.639884
rain-4.11181927.3514972.659649-2.075481-17.1970775.74685420.559670100.000000-10.9984222.075743
AC2.8964574.542825-1.10055635.05109620.5729969.916979100.00000020.55967011.1880644.206289
consume_100Km97.784761-0.63988447.2155991.415629-2.614758-17.2570734.2062892.0757433.747622100.000000
gas_type-15.443003-3.317682-10.2466552.61174417.052824100.0000009.9169795.7468540.473920-17.257073
speed47.216761-10.660054100.0000003.985971-0.453907-10.246655-1.1005562.6596499.60327747.215599
temp_inside4.069561-14.9604943.985971100.00000035.4393412.61174435.051096-2.07548123.1731431.415629
sun8.265346-19.0477849.60327723.17314331.3151660.47392011.188064-10.998422100.0000003.747622
distance100.000000-19.32887147.2167614.0695616.752227-15.4430032.896457-4.1118198.26534697.784761
temp_outside6.752227-40.515699-0.45390735.439341100.00000017.05282420.572996-17.19707731.315166-2.614758
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "consume -19.328871 100.000000 -10.660054 -14.960494 -40.515699 \n", + "rain -4.111819 27.351497 2.659649 -2.075481 -17.197077 \n", + "AC 2.896457 4.542825 -1.100556 35.051096 20.572996 \n", + "consume_100Km 97.784761 -0.639884 47.215599 1.415629 -2.614758 \n", + "gas_type -15.443003 -3.317682 -10.246655 2.611744 17.052824 \n", + "speed 47.216761 -10.660054 100.000000 3.985971 -0.453907 \n", + "temp_inside 4.069561 -14.960494 3.985971 100.000000 35.439341 \n", + "sun 8.265346 -19.047784 9.603277 23.173143 31.315166 \n", + "distance 100.000000 -19.328871 47.216761 4.069561 6.752227 \n", + "temp_outside 6.752227 -40.515699 -0.453907 35.439341 100.000000 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "consume -3.317682 4.542825 27.351497 -19.047784 -0.639884 \n", + "rain 5.746854 20.559670 100.000000 -10.998422 2.075743 \n", + "AC 9.916979 100.000000 20.559670 11.188064 4.206289 \n", + "consume_100Km -17.257073 4.206289 2.075743 3.747622 100.000000 \n", + "gas_type 100.000000 9.916979 5.746854 0.473920 -17.257073 \n", + "speed -10.246655 -1.100556 2.659649 9.603277 47.215599 \n", + "temp_inside 2.611744 35.051096 -2.075481 23.173143 1.415629 \n", + "sun 0.473920 11.188064 -10.998422 100.000000 3.747622 \n", + "distance -15.443003 2.896457 -4.111819 8.265346 97.784761 \n", + "temp_outside 17.052824 20.572996 -17.197077 31.315166 -2.614758 " + ] + }, + "execution_count": 537, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "code", + "execution_count": 538, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10.5, -0.5)" + ] + }, + "execution_count": 538, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAAJ2CAYAAADc0XPTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACweUlEQVR4nOzdd1xV9R/H8RfDhYiiDBU1Z6b9NBuOypUzzZGjco/S3OZMFNyaWzNxT9xarkzFmZl7NJQclXuxBEQZcoH7+wO7eYOroBccvJ+Px308POd8zjmfczjAx8/3nION0Wg0IiIiIiJyn+3TTkBEREREni0qEEVERETEjApEERERETGjAlFEREREzKhAFBEREREzKhBFRERExIwKRBEREZFnyN27d2nQoAHXrl1LsuzMmTM0a9aMunXr4uXlRVxcHAA3btygdevWvP/++3Tr1o3IyMgnykEFooiIiMgz4vfff6dly5ZcunQp2eUDBw5k6NChbN++HaPRyNq1awEYOXIkrVq1ws/Pj//973/MmjXrifJQgSgiIiKSxiIiIrh27VqST0REhFnc2rVrGT58OG5ubkm2cf36dWJiYihXrhwATZs2xc/PD4PBwLFjx6hbt67Z/Cdh/0Rri4iIiDyn/qpcN9325fdJA3x8fJLM79mzJ7169TJNjx071uI2goKCcHV1NU27uroSGBhIWFgYjo6O2Nvbm81/EioQRURERNJY+/btadKkSZL5Tk5OKd5Gcn8d2cbGxuL8J6ECUURERDImm/S7087JySlVxWBy3N3dCQkJMU0HBwfj5uZG7ty5uXv3LvHx8djZ2ZnmPwndgygiIiLyHPDw8CBLliycOHECgI0bN1K1alUyZcrEW2+9xdatW83mPwkViCIiIiLPsM6dO3Pq1CkAJk+ezLhx46hXrx7R0dG0a9cOgOHDh7N27Vrq16/P8ePH6dOnzxPt08aY3MC1iIiIyAvur6r1021fJfZtTbd9WYM6iCIiIiJiRg+piIiISMZk+2RP+r7I1EEUERERETPqIIqIiEiGZJOOr7l53ujMiIiIiIgZdRBFREQkY9I9iBapgygiIiIiZtRBFBERkYzpCf9e8YtMHUQRERERMaMOooiIiGRMtuqTWaIzIyIiIiJm1EEUERGRjEn3IFqkDqKIiIiImFEHUURERDIkG3UQLVIHUURERETMqEAUERERETMaYhYREZGMSa+5sUhnRkRERETMqIMoIiIiGZMeUrFIHUQRERERMaMOooiIiGRMtuogWqIOooiIiIiYUQdRREREMiYb9cks0ZkRERERETPqIIqIiEiGZKN7EC1SB1FEREREzKiDKCIiIhmT3oNokTqIIiIiImJGHUQRERHJmPQUs0U6MyIiIiJiRh1EERERyZj0FLNF6iCKiIiIiBkViCIiIiJiRkPMIiIikjHpNTcWqYMoIiIiImbUQRQREZEMycZWfTJLdGZERERExIw6iCIiIpIx6R5Ei9RBFBEREREz6iCKiIhIxqR7EC3SmRERERERM+ogioiISMakexAtUgdRRERERMyogygiIiIZkzqIFqmDKCIiIiJm1EEUERGRDEl/ScUynRkRERERMaMOooiIiGRMugfRInUQRURERMSMCkQRERERMaMhZhEREcmYbDXEbIk6iCIiIiJiRh1EERERyZhs1CezRGdGRERERMyogygiIiIZk+5BtEgdRBERERExow6iiIiIZEx6UbZF6iCKiIiIiBl1EEVERCRDstFTzBapQBQRERF5hmzevJnZs2djMBjo0KEDrVu3Ni07c+YMnp6epunQ0FBy5szJDz/8wMaNG5k8eTJ58uQBoHr16vTt2/exclCBKCIiIhnTM/gUc2BgINOmTWP9+vVkzpyZFi1aULFiRYoXLw5AqVKl2LRpEwDR0dF89NFHjBgxAoBTp07h6elJgwYNnjgP9VZFRERE0lhERATXrl1L8omIiDCLO3jwIJUqVSJXrlw4ODhQt25d/Pz8kt3m3LlzKV++PG+99RaQWCBu3LiRRo0aMWDAAG7fvv3Y+b7wBaKnpydz5syhc+fOFmPu3LlD9+7d0zErEREReepsbNLt4+vrS82aNZN8fH19zVIKCgrC1dXVNO3m5kZgYGCS1CMiIli7di09e/Y0zXN1daVXr15s2rSJfPnyMWrUqMc+NRliiNnNzY358+dbXH779m3Onj2bjhmJiIhIRtK+fXuaNGmSZL6Tk5PZtNFoTBJjk8zreDZv3kytWrVM9xsCzJw50/TvTp06UatWrcfO94UrEI1GI+PHj2fv3r24ubkRHx9PhQoVqFGjBnv27GHz5s0sWLAAOzs7ChQowKRJkxgzZgxBQUH06NGDmTNnMm3aNA4dOsTt27dxdnZmxowZuLq6UrlyZerWrcuJEyews7Pj66+/pmDBghw8eJDx48djNBrJnz8/U6ZMIVu2bEycOJGjR48SHx9P06ZN6dChw9M+PSIiIvIP2/QbSHVyckpSDCbH3d2d48ePm6aDgoJwc3NLErdr1y66dOlimr5z5w7r1q0z1RpGoxF7+8cv8164Iebt27dz+vRpfvjhB6ZPn86VK1fMln/99dcsWrSI9evXU6RIES5cuIC3tzdubm7MnDmTy5cvc+HCBVavXs327dspVKgQmzdvBiA4OJi3336bjRs3Ur58eVasWEFsbCwDBgxgwoQJbN68mZIlS7JhwwbWrl0LwIYNG/juu+/YvXu32RdcRERE5L/eeecdDh06RGhoKNHR0ezYsYOqVauaxRiNRv744w9ef/110zwHBwcWLFjA77//DsDy5cupXbv2Y+fxwnUQjx49Sp06dciUKRO5c+dOclLfe+89WrZsSc2aNalbty6lSpXi2rVrpuUvvfQSgwYN4ttvv+XixYv89ttvFCpUyLS8SpUqAJQoUYLjx49z7tw53N3dKVWqFAD9+vUDoHfv3pw5c4bDhw8DEBUVxblz50w3koqIiIj8l7u7O3379qVdu3YYDAaaN29O2bJl6dy5M71796ZMmTKEhoaSKVMmsmTJYlrvn5HNESNGEBMTQ+HChZk4ceJj5/HCFYg2NjYkJCSYpv/bXvX29ubs2bP89NNPDBw4kJ49e/Lmm2+alvv7+9O/f386dOhA3bp1sbW1Nbsf4J8vho2NDUajkUyZMplt/86dO0RGRhIfH8/AgQOpU6cOkPieIgcHB6sfr4iIiDymZ/RP7TVs2JCGDRuazXvwWYo8efJw4MCBJOu99dZbbNiwwSo5vHBDzG+//TZ+fn7ExsZy+/Ztfv75Z9OyuLg46tSpg7OzM126dKFx48acOXMGe3t74uLiADh27BgVKlSgZcuWFC9enAMHDhAfH29xf0WKFCE0NJS///4bgAULFrBq1SoqVarE2rVrMRgMREZG0qpVK1PbV0RERORZ9sJ1EGvVqsWpU6do0KABLi4uFCtWzLTM3t6e3r1707FjR7JmzYqTkxMTJkwgd+7c5M+fn7Zt2zJ58mR69uxJw4YNyZQpEyVLljQbgv6vLFmyMGnSJL788ksMBgOFChVi4sSJZM6cmcuXL9OkSRPi4uJo2rQpFStWTI9TICIiIilg8wy+KPtZYWNM7nlqERERkRfcld5fptu+Cn3z+PcDPg0vXAdRREREJEVsXrg77axGZ0ZEREREzKiDKCIiIhnTM/oU87NAHUQRERERMaMOooiIiGRMeorZInUQRURERMSMOogiIiKSMekpZot0ZkRERETEjDqIIiIikiHpL6lYpg6iiIiIiJhRB1FEREQyJr0H0SJ1EEVERETEjApEERERETGjIWYRERHJmGzVJ7NEZ0ZEREREzKiDKCIiIhmTHlKxSB1EERERETGjDuIz6uRfIU87hVQrW8LlaacgIiKScuogWqQOooiIiIiYUQdRREREMiQbPcVskc6MiIiIiJhRB1FEREQyJt2DaJE6iCIiIiJiRh1EERERyZhs1UG0RB1EERERETGjDqKIiIhkTDbqk1miMyMiIiIiZtRBFBERkYxJ9yBapA6iiIiIiJhRgSgiIiIiZjTELCIiIhmTXpRtkTqIIiIiImJGHUQRERHJkGz0mhuLdGZERERExIw6iCIiIpIx6TU3FqlAfIGcOHaQlb5zMBhiealwcbp9MRgHh+zJxhqNRmZ+PZZCLxWlUdNWANy5E8H8WZO4dOEvsmbNxnu16lOv4UfpeQgiIiLyDNAQ8wvi9u0wZn09lgGDx/LN3NW4583PiiWzk429dvUSI716c2j/HrP5vvOnkzWrA9NmrWDs5Hn8evwwJ44eSI/0RURE0p+NTfp9njMqEF8QJ385SrESpcjnURCAOvWb8PPeHRiNxiSxfj+s471aH/B25Rpm8y/8fY5q79XFzs6OTJky8Ub5dzh04Md0yV9ERESeHS/EELPRaGTy5Mns2rULOzs7PvnkE6pWrcqwYcMIDw/HwcEBLy8vypYti6enJ46Ojvzxxx8EBgbSo0cPmjVrxqFDh5g0aRIAOXPmZMqUKURFRdGuXTv27EnstM2YMQOAXr168e677/Lee+9x/PhxXF1dadWqFcuWLSMgIIDx48dToUIFLl++zIgRIwgPDydr1qwMHTqU0qVLp8k5CAkJwsXFzTSdx8WV6KhIoqOjkgwzd+rWH4BTvx83m1+85Kv89ON2SpYui8EQy+GDe7G3eyEuERERkaRs1Sez5IU4M35+fvzyyy9s3ryZb7/9lvXr19O1a1fatm3L5s2bGTx4MF988QWxsbEABAQEsHLlSmbPns3EiRMBmDVrFiNGjGD9+vW89957nD59+qH7DAkJoXr16vj5+QGwa9cuVq5cSa9evfD19QVg0KBBDBw4kA0bNjB69Gj69u2bZufAaExIdr5tKi7+9p/1xMYGvuzdgUljB/NaufLY22eyVooiIiLynHgh2kPHjh2jXr16ZM6cmcyZM7Ny5Uree+896tSpA0C5cuXImTMnFy5cAODdd9/FxsaGl19+mfDwcABq1qxJz549qVWrFjVr1uTdd9/l2rVrD91v1apVAfDw8ODNN98EIH/+/ERERBAZGYm/vz+DBw82xUdFRREWFoazs7NVjnv18vkcP7IfgOioKAoVLmpaFnorhOyOOciaNVuKtxcVFUmbjj3IkcMJgI3fLSdvfg+r5CoiIvLMeQ7vDUwvL0SBaG9vfhhXr15Ncu+d0WgkPj4egCxZsgBg88CF0aFDB9577z1+/PFHJk2axMmTJ2nUqJHZduLi4sz2lTlzZtO/7ezszPaXkJBA5syZ2bRpk2leQEAAuXLlesyjTKpFm860aNMZgNvhYfTv2Zab16+Sz6MgO7ZuoHylKqna3s5tG4mKiqRTt/6Eh4Wya/v39Bk40mr5ioiIyPPhhRhiLl++PDt37sRgMBAdHU2fPn2wsbFhx44dAPz222+EhIRQokQJi9v46KOPiIyMpEOHDnTo0IHTp0/j5OTE7du3CQ0NJTY2lp9//jnFOeXIkYPChQubCsQDBw7QunXrJzvQh8iZy5nuXwxhyjhv+nRtxZXLF2j3WS8Azv91hgG92j9yG00+akvorWD6dW/DSK9efNzqM4q/XCrNchYREXmabGxt0u3zvHkhOoi1a9fG39+fpk2bkpCQQLt27ahYsSIjRoxgxowZZMqUiRkzZph1/P6rX79+eHp6Ym9vT5YsWRg5ciQ5cuTgs88+o3nz5uTNm5cyZcqkKq9JkyYxYsQIFixYQKZMmZg2bZpZ19La3ij/Dm+UfyfJ/GIlSjF5hm+S+T37eptNZ3PIzpfe49MsPxEREXk+2BiTew+KPHUn/wp52imkWtkSLk87BRERkRS7McUn3faVv3/PdNuXNbwQQ8wiIiIiYj0qEEVERETEzAtxD6KIiIhIquk1NxapgygiIiIiZtRBFBERkYzpOXz9THpRB1FEREREzKiDKCIiIhmTjfpklujMiIiIiIgZdRBFREQkQ3oe/wReelEHUURERETMqIMoIiIiGZPeg2iROogiIiIiz5DNmzdTv359ateuzYoVK5Is9/Hx4b333qNx48Y0btzYFHPmzBmaNWtG3bp18fLyIi4u7rFzUAdRREREMibbZ69PFhgYyLRp01i/fj2ZM2emRYsWVKxYkeLFi5ti/P39mTp1Kq+//rrZugMHDmTMmDGUK1eOIUOGsHbtWlq1avVYeTx7Z0ZERETkBRMREcG1a9eSfCIiIsziDh48SKVKlciVKxcODg7UrVsXPz8/sxh/f3/mz59Pw4YNGTVqFPfu3eP69evExMRQrlw5AJo2bZpkvdRQB1FEREQypnTsIPr6+uLj45Nkfs+ePenVq5dpOigoCFdXV9O0m5sbJ0+eNE1HRkZSqlQpBg0ahIeHB56ensyaNYvq1aubrefq6kpgYOBj56sCUURERCSNtW/fniZNmiSZ7+TkZDZtNBqTxNg88DBN9uzZmT9/vmn6008/ZciQIVSrVu2h66WWCsRnlNtPW592Cql2yaHh004h1Qp7OD/tFERE5GlJx6eYnZyckhSDyXF3d+f48eOm6aCgINzc3EzTN27c4ODBgzRv3hxILCjt7e1xd3cnJCTEFBccHGy2XmrpHkQRERGRZ8Q777zDoUOHCA0NJTo6mh07dlC1alXT8qxZszJp0iSuXr2K0WhkxYoV1K5dGw8PD7JkycKJEycA2Lhxo9l6qaUOooiIiMgzwt3dnb59+9KuXTsMBgPNmzenbNmydO7cmd69e1OmTBlGjRpFt27dMBgMvPHGG3Ts2BGAyZMn4+3tTWRkJKVLl6Zdu3aPnYeNMbnBbnnqAhYsfdoppFpMPQ0xi4jI8yNg/pJ021fezh3SbV/WoCFmERERETGjIWYRERHJmGzUJ7NEZ0ZEREREzKiDKCIiIhlTOr7m5nmjDqKIiIiImFEHUURERDImW3UQLVEHUURERETMqIMoIiIiGZOeYrZIZ0ZEREREzKiDKCIiIhmSje5BtEgdRBERERExow6iiIiIZEx6D6JF6iCKiIiIiBl1EEVERCRjslWfzBIViC+IQ+f/Yt6+vRji4yjq6sag9xuQPUuWZGN//uscX239nm1fDARg+u7tnLx6xbQ8+O5d8mR3ZHHHzmme95HDB1i8YBaGWANFihan70AvsmfPnmys0WhkysTRvFS4GB990to0/+7dOwzo05V+A715uWSpNM9ZRETkRafSOZ3UqFGDa9eupcm2w6MiGe/3A6M/bMbyTt3In8uZufv2JBt7LSyU2Xt3YzQaTfO+qFmXhR06s7BDZ8Y0+YjM9nYMqd8wTXI1yzs8jCkTxzB0xDgWLl1L3vz5WTR/ZrKxVy5fZFD/nuzbu9ts/tHDB+nd/VOuXrmc5vmKiMgLxsYm/T7PGRWIL4Bjly7ySt58FHDODUDjcm+w6/QfZkUgQIzBwJgtm+jxXi2L25q0fSsfv1WREu550zRngF+OH6FkyVJ4FCgEQINGTdmze3uSvAG+37iOOu83oGr1mmbzN25Yy4BBw8iTxyXN8xUREckoMvQQc0BAAAMGDCAqKgpbW1u8vb3p168fNWrU4Pjx4wB89dVXlC5dmsuXLzNixAjCw8PJmjUrQ4cOpXTp0oSEhDBs2DACAgKwsbGhf//+vPPOO4SHhzNw4EACAgIoVqwY9+7dS7PjCLoTgVsOJ9O0aw4nImPvERUbazbMPHnHVhq+9jpFXd2S3c7hC38TfCeCZm+UT7NcHxQcFISLm7tp2tXVjajISKKiopIMM/f8YgAAv/16zGz+VxO+TvM8RUREMpoMXSB+9913VK9enU6dOnHkyBFOnDgBQK5cudi4cSN79uxh0KBBbN68mUGDBjFs2DBKly7N33//TY8ePdi+fTtjx46lWbNm1KxZk6CgIFq1asXGjRv55ptvKF26NPPnz+fYsWNs27YtzY4jIZmOG4DtAy3tDb8ex87Wlg/KlOPm7fBk4789fpRWFd/GLp1u2k0wJiQ7P732LyIiGdxzOPSbXjJ0gfj222/Tq1cvzpw5Q7Vq1WjTpg0rVqzg448/BhLvG/T09CQgIAB/f38GDx5sWjcqKoqwsDAOHjzIhQsX+OabbwCIi4vj6tWrHD16lClTpgBQvnx5ChYsmGbH4Z7DiTM3r5umQ+7cIUfWrGTLnNk0z8//JPfi4vhsyXwMCQmmf09o3gIXxxyER0Vy5uYNxnzYPM3yBPBdPI/DB38GICoqksJFiv2bd3AwjjmcyJotW5rmICIiIg+XoQvEN998ky1btrB37162bt3Khg0bALC3//e0JCQkEB8fT+bMmdm0aZNpfkBAALly5SIhIQFfX19y5coFQGBgIC4uLtjY2JjdS2dnZ5dmx1G+cFFm7d3NtbBQCjjn5vvff+Hd4i+bxcxt+6np3zdvh9Nx8TwWdvj3KeVT16/xSt58ZkVlWmjf8XPad/wcgPCwULp0as31a1fwKFCILZs38PY7VdJ0/yIiIv+w0YiVRRn6zEycOJFNmzbRpEkThg0bxunTpwHYsmULADt37qRYsWJ4eHhQuHBhU4F44MABWrdOfM1KpUqVWLlyJQB///03jRo1Ijo6mrffftsUf/LkSa5cufLf3VuNc/bseNZrwLBN62i7cA4XgoPoUb0WZwNu8NmS+SnaxrWwUPLmzJlmOSYnl3Nu+g8cyugRQ+jU4RMuXjzP5916A/DnuTN069w2XfMRERGRRDbG5B4ZzSBu3rxJ//79iYyMxM7Ojk6dOjF58mRee+01Lly4QLZs2Rg3bhxFihTh/PnzpodUMmXKxIgRIyhbtiyBgYEMGzaMGzduADBgwACqVavG3bt38fT05OLFixQtWpRz586xaNEiChQokKLcAhYsTctDTxMx9dL+1TjWVtjD+WmnICIiT0nQ2g3pti+3j5uk276sIUMXiMmpUaMGS5cuTXEhl1ZUIKYPFYgiIhmXCkTLMvQ9iCIiIpKB2eopZktUIP7Hnj3J/wUSERERkYxCBaKIiIhkTDYZ+lndh9KZEREREREz6iCKiIhIxqR7EC1SB1FEREREzKiDKCIiIhmSjf4Ws0XqIIqIiIiIGXUQRUREJGPSU8wW6cyIiIiIiBkViCIiIiJiRkPMIiIikjHpNTcWqYMoIiIiImbUQRQREZGMSa+5sUgdRBERERExow6iiIiIZEy26pNZojMjIiIiImbUQXxGOTSu97RTSLXwyISnnUKqRQQHP+0UUsXJ1fVppyAi8uLQPYgWqYMoIiIiImbUQRQREZEMyUbvQbRIHUQRERERMaMOooiIiGRMNuqTWaIzIyIiIiJm1EEUERGRjEn3IFqkDqKIiIiImFEHUURERDImvQfRInUQRURERMSMCkQRERERMaMhZhEREcmY9Jobi3RmRERERMSMOogiIiKSIelP7VmmDqKIiIiImFEHUURERDImvebGInUQRURERMSMOogiIiKSMdmqT2aJCsTn2P6DB5k5dy6xsbGUKFYM78GDccyePdUxA4cMwdXFhS/79TObf/joUb6ZNYuVS5ak2TEcP3KApYvnYDAYKFykGL36DsHhP/n9w2g08s2UsRR6qShNPmplmt/24/rkyeNqmv7wo1ZUr1E3TfJN63MuIiKyefNmZs+ejcFgoEOHDrRu3dps+a5du5gxYwZGo5ECBQowbtw4cubMycaNG5k8eTJ58uQBoHr16vTt2/excngmSuc7d+7QvXv3dN/vqlWrWLVqldXWW79+PZ6entZI7ZHCwsIY9dVXTBgzhnWrVuGRPz8+s2enOmbpihX8dvKk2byYe/eYPW8eg4cNIz4+Ps2O4XZ4GN9MGYvn0K+YvXA1efPmZ+miWcnGXr1yiaGDerF/326z+deuXsbRMQdfz/Y1fdKqOEzLcy4iIk+BjU36fVIoMDCQadOmsXLlSjZt2sSaNWv4+++/Tcvv3r3LiBEjmDdvHt9//z0lS5ZkxowZAJw6dQpPT082bdrEpk2bHrs4hGekQLx9+zZnz55N9/22bNmSli1bptt61nT42DFKlypFoYIFAWjWpAl+O3diNBpTHHP8l184dOQITRs3Nt/2kSNEx8QwdPDgND2GX385SvGSpcjvkZjf+w2a8tOeHWbH8I+t36+jZp0PqFy1ptn8s6dPYWtri9fAnvTu2pbVyxelWVGbludcRERebBEREVy7di3JJyIiwizu4MGDVKpUiVy5cuHg4EDdunXx8/MzLTcYDIwYMQJ3d3cASpYsyc2bN4HEAnHjxo00atSIAQMGcPv27cfO95kYYh4zZgxBQUH06NGD2rVr4+vrS0JCAq+++irDhw8nS5YsvPvuu7z33nscP34cV1dXWrVqxbJlywgICGD8+PFUqFCBtm3bUrRoUU6ePMm9e/cYMmQIlStXtrjffyruXr16UblyZerWrcuJEyews7Pj66+/pmDBgkyYMIEDBw5gZ2dHzZo16dmzp9l6GzduZPbs2Tg6OuLh4YGDgwMAJ0+eZNy4ccTExODs7MzIkSMpeL9osIbAwEDc3dxM026urkRGRhIZFWUaznxYTHR0NFOmT2fGlCms37TJbNvVq1aletWqnPjlF6vlm5yQ4EBcXNxN0y6urkRFRRIdFZVkmLlLz/4AnPzthNn8hPh4XnujPB079eRe7D1GDx2Ag0N2GjX9xOr5puU5FxGRpyAd34Po6+uLj49Pkvk9e/akV69epumgoCBcXf+9bcrNzY2TD4w6OTs7U6tWLQBiYmKYN28ebdu2BcDV1ZXPP/+csmXLMnXqVEaNGsWUKVMeK99nooPo7e2Nm5sbffr0Ye3ataxevZpNmzaRJ08eFi5cCEBISAjVq1c3VdG7du1i5cqV9OrVC19fX9O2YmNj2bBhA1OmTMHT05PY2NgU5RAcHMzbb7/Nxo0bKV++PCtWrOD69evs27eP77//ntWrV3Pp0iXu3btnWicwMJDJkyezYsUK1qxZQ2RkpCkHb29vpkyZwoYNG+jYsSNDhw611ukCSLbLBmD3wA23lmIwGvEaPpx+vXvj4uJi1bxSw5iQfH62dim/LOvUb8zn3fuRKXNmHB1z0LhpCw4f/MlaKZp5Ec65iIg8He3bt2f37t1JPu3btzeLS+73iE0yQ9R37tyhc+fOvPLKKzRp0gSAmTNn8tprr2FjY0OnTp3Yt2/fY+f7THQQ/3HkyBEuX77Mxx9/DCS2UUuXLm1aXrVqVQA8PDx48803AcifP79Ze/afdUuVKoWrqyvnzp2jTJkyKdp/lSpVAChRogTHjx/H3d2dLFmy0KJFC9577z369OlDlixZTPG//vorr7/+uukXfsOGDTl8+DCXLl3i6tWrdOvWzRR79+7dVJ+Ph3F3d8f/9GnTdHBICE45cpAtW7ZHxly4dInrN28y7X4n9FZoKAkJCYmFbRrfQ7nCdz7HDu8HICoqkpcKFzUtuxUSjKNjDrJmzWZp9SR+3LWNIkVLULhocQCMGLGzS5vL+nk95yIikjybdPxbzE5OTjg5OT0yzt3dnePHj5umg4KCcHtgZOqfeZ999hmVKlViyJAhQGLBuG7dOjp06AAkFpr29o//+/CZKhDj4+OpV68e3t7eAERGRprdT5Y5c2bTv+3s7JLdxoPzExISUnVy/in+bGxsTCf222+/5ejRo+zbt48WLVqwbNkyU7yNjQ0JCQmm6X/2lZCQQIECBdh0fxgxPj6ekJCQFOeREpUqVGC6jw9Xrl6lUMGCrNu4kar3C9xHxZT93//Ysn69KW7ewoWE376dLk/Utm7fmdbtOwMQHh5K7y5tuXH9Kvk9CuK3ZSMV3q7yiC2Yu3LpAof272XQ0K+Ii4tj6/frqPZenbRI/bk95yIi8vx45513mDFjBqGhoWTLlo0dO3YwevRo0/L4+Hi6du1KvXr1zB7wdXBwYMGCBbz++uu89tprLF++nNq1az92Hs/EELO9vT1xcXFUrFiRnTt3cuvWLYxGIyNGjDAbPk6JrVu3Aok3akZERPDyyy8/dl6nT5+mTZs2lC9fnkGDBlGsWDEuXrxoWv7mm2/y+++/ExgYSEJCgmnfRYsW5fbt26b/Aaxbt44BAwY8dh7Jye3szLAhQ/D09uaj1q05f+ECfXr25PTZs7S6/78HSzHPily5ctO7vxcTRnvRo1NLLl88z6ef9wbgrz/P0Kdb+0dsAVq0+QzHHE707tqWL7q25ZVSZahdr1Ga5PsinHMREXnAM/gUs7u7O3379qVdu3Z8+OGHNGjQgLJly9K5c2dOnTrFnj17OH36NNu3b6dx48Y0btwYLy8v0/MTI0aMoF69evzxxx8MHDjw8U+N0eJNU+nHYDDQtm1bMmXKRKNGjUwPqZQqVYqvvvqKLFmyULJkSc6dOweAp6cnFSpUoGnTphw5cgQfHx+WLVtG27ZtcXJy4saNGwAMHz6ccuXKWdzvgw+bPLj99evXc/ToUcaPH8+ECRP48ccfyZYtG6VKlWLUqFHMvv/akl69euHn58f06dPJli0bxYsXx9bWlvHjx/Prr78yduxY7t27h6OjIxMmTKBQoUIpPicRwcGPcyqfqhuRz8T/N1Ilf/aERwc9Q5weuHFZRESeTOjhY+m2r9yVyqfbvqzhmSgQraVt27b07NmTihUrPu1UnpgKxPShAlFEJONSgWjZM3UPYlpYsmQJGzZsSDLfzc2N+fPnP4WMRERE5JmQjq+5ed68UB3EF4k6iOlDHUQRkYwr9OjxRwdZSe4Kb6Xbvqzhhe8gioiIiCQrHV9z87zRmRERERERM+ogioiISMakexAtUgdRRERERMyogygiIiIZUnJ/41gSqYMoIiIiImbUQRQREZGMyVZ9Mkt0ZkRERETEjDqIIiIikjHpHkSL1EEUERERETPqIIqIiEjGpA6iReogioiIiIgZdRBFREQkY9JTzBbpzIiIiIiIGRWIIiIiImJGQ8zPKkPc084g1f64/PzlnP/1XE87hVQJ3rT1aaeQaq6N6z/tFEREkqU/tWeZOogiIiIiYkYdRBEREcmYbNVBtEQdRBERERExow6iiIiIZEw26pNZojMjIiIiImbUQRQREZGMSfcgWqQOooiIiIiYUQdRREREMia9B9EidRBFRERExIw6iCIiIpIx6Slmi3RmRERERMSMOogiIiKSIdnoKWaL1EEUERERETPqIIqIiEjGpKeYLVIHUURERETMqEAUERERETMaYhYREZGMyVZ9MktUID7H9h86xMwF84k1GChRtCjeA7/EMXv2FMd8u3Ejm7Zu4d69e7zy8ssMHfglmTNnJjgkhFETJnArNJQEYwLtWrakfu06aXIMZ08eZseGhcTFGcjrUZSm7fuTNVt2i/Gnfz3At4snMPyb783mR0fdZf6kvjRtP4AChUs+cV779+9n5kwfYmNjKVGiBN7eQ3F0dExxXHx8PNOmTePw4UPEx8fTpk0bmjVrbrbu9evXadeuLTNm+FC6dGkApk2bxu7du3ByygnASy+9xLhx4x77OA6e+YO527YQGxdHsXz5GfxRC7JnzWoWs+7Az2w4fAAbbPDI48Kg5h/j7JgDgAYjvXG5nwtAq2o1qPPGm4+dj4iIPB/StXS+c+cO3bt3T89dPpaU5Onl5cWpU6eSzPf09GT9+vVplZpJWHg4oyZOYMLIUaxbugyPfPnxmTcvxTF79u1j7Yb1zJw8hTWLl3DvXiwrv/sWgJkL5vNqqVKsXLiQbyZMZMK0aYSE3rL6Mdy9E84638m06jqcfqOXkNs1H9vXL7AYHxJ4ja3fzcVoTDCbf+7UEWZ91YPggKtWySssLIxRo0YyYcJE1q1bj4eHBz4+PqmKW79+PVevXmH16jX4+i5l1apV/PGHv2nde/fuMWzYUAwGg9k2T506ydixX7Fy5UpWrlz5RMVh2N27fLV2NWPadmTVl0PInycPs7f9YBZz9tpVVu37kTndv2BZ/0EUcHFh/vZtAFwJCsIxmwNL+g40fVQcisgLxcYm/T7PmXQtEG/fvs3Zs2fTc5ePJSV5jh07ljJlyqRTRkkdPnaM0iVfoVCBAgA0a9wIv927MBqNKYrZumM7rT/+mJxOTtja2jK4Xz9TlzAhIYG7kZEYjUZi7t3Dzs4O2zR42/zfp09Q4KWXcXFPzK9itYb8dmS32TH8I/ZeDGsXjueDj7omWXZwzwY+6jiIHLnyWCWvw4cPU7p0aQoVKgRAs2bN8fPbliSvh8Xt3fsjDRs2wt7eHicnJ+rUqcO2bdtM606cOIEGDRqSK1euf48xNpZz586xfPlyWrVqyZdfDiQgIOCxj+PYn+coVbAgBV1dAWhS6V12/nrC7DheKVCQ1V964ZgtG/cMBoJv3yanQ2IH99Tli9jZ2tBrzkzaT53I4p3biU9ISHZfIiLyYknXAnHMmDEEBQXRo0cPNm7cSJMmTWjcuDFDhgzh3r17ALz77rt4e3vz/vvv07ZtW7Zt20arVq2oUaMGR48eBaBt27YMHz6cJk2aUL9+ffbv3//Q/UZHR9O/f38aNGhAw4YN2bhxI5DY5fH09DTFtW3bliNHjpjleffuXT7//HOaNm1K06ZN2b17t1ms0Whk3Lhx1K1bl7Zt23LlyhXT9iwdozUEBgfh7uZqmnZzdSUyMpLIqKgUxVy5do2wsHB6fTmQlp99yrwlS8hxfwi1R+fO/HzwAPU/as7HHdrzeYeO5HZ2tlru/7gdGkTO3G6maSdnV+7FRHEvJipJ7MblX1Oh6gfkLVA0ybKOX4ynULHSVssrMDAQd3d307Sbm1vieYuMTHFc0mXuBAYGJR7Lxo3ExcXRpEkTs+0FBwfz1ltv0aNHD1asWEmZMmXo379fsgVzio7jdhhuOXOZpl1z5iQyJoao/1yH9nZ27PM/RdOxI/n94gXqv1UBgPiEBMqXKMmUTl3w6daLo3+eZd2Bnx8rFxGRZ5KtTfp9njPpWiB6e3vj5uZGnz59WLt2LatXr2bTpk3kyZOHhQsXAhASEkL16tXx8/MDYNeuXaxcuZJevXrh6+tr2lZsbCwbNmxgypQpeHp6Ehsba3G/M2bMwNnZmR9++AFfX19mzJjx0A7hP3nOnDmTnTt34uHhwfr165k0aRLHjx83i92+fTunT5/mhx9+YPr06aYC8a+//rJ4jNZgTEi+aLB74Ibbh8XExcVx5MRxxg0fwdI5c4m4E8GshYnDu0PHjKVti5Zs+24da5f4snT1Kv44c8ZquZvys1D42P7npuHDezdha2fHW5XrWT2H5Px3CPsfdnZ2KY5L7tjs7Gw5e/Ys69evY/DgIUmWe3h4MH36NxQuXBgbGxvatGnL9evXuXHjxmMcxcPOb9IfVFX/V4YtI8bwae269Fs4h4SEBBpVfJs+jZuS2d6eHNmy8UnV6uzzT3pbhYiIvHieykMqR44c4fLly3z88ccAGAwG0036AFWrVgUSf2G++WbiPU/58+cnIiLCFPPPuqVKlcLV1ZVz585ZHPI9fPgwX331FQC5c+emZs2aHD16NNmHDv7r9ddfZ+rUqQQGBlK9enV69Ohhtvzo0aPUqVOHTJkykTt3blPujzrGJ+Xu7ob/A0VbcHAITjlykC1bthTFuORxoXrlKqYHVurVqs2CpUsJvx3O7/6nmDV1CgCFChSgwptv8svJ33m1VKknznvnpiWc/f0QADExkeT1KGJaFhEeQjaHHGTOks1snV8O7iA29h4zRnUhLt6AITaWGaO60L73WJxyuTxxTgBz5sxh3759AERGRlK8eDHTsuDgYJycnMzOLYC7e178/f2TjXN3z0tISMgDy4Jwc3Njy5YtREZG8umnn5rWGTrUm969vyB//vz89def1K//gWk9o9GIvf3jfZu653Lm9AMd7ZCI2+TI5kC2zFlM866FBHPrzh1eK5LYmf2gfEUmr/+WO9HRHDp7muL5PSieL78pFzs7PfEnIi8OmzS4fepF8VQKxPj4eOrVq4e3tzeQ+As5Pj7etDxz5symf/+3a5Pc/ISEhIf+Ev1vJ8VoNBIfH4+NjY3Zsv8+MABQuHBhtm3bxs8//8yPP/7IokWLzO4ls7GxIeGB+7L+yeNRx/ikKr1VnumzZ3Pl2jUKFSjAus3fU/Xdd1McU7NaNXbt/ZEPGzQgS+bM7D2wn9KvlCSnU07cXF3Z89NP1KlRk/Db4fx68iSNHyhankTtxh2o3bgDAHcjwpg+sjMhgddwcS/A0Z82U6rcO0nW6T5kpunfYSEBTB/ZiV7D5loln3907dqVrl0T728MDQ2lZcsWXLlyhUKFCrFu3TqqVq2WZJ1KlSoxffrXycZVq1aV77//nipVqhAdHc2OHTvw9BzMm2++Sf/+/U3baNSoIaNHj6F06dL8/fffTJ48mddeK4eHhwffffcdxYsXNxuqTo0KL5fE54dNXA0OpqCrKxsPH6TKq/8zi7l1J4IRK5exuM8AcmV3ZMevJyiSNx85s2fnQmAAP/mfZEzbjsTFx7Hu4H7qvK6HVEREMoJ0LZ3t7e2Ji4ujYsWK7Ny5k1u3bmE0GhkxYoTZ8HFKbN26FYBTp04RERHByy+/bDG2UqVKfPfdd0DiL//du3dToUIFnJ2dOX/+PEajkatXr3Lu3DmzPAGWL1/OjBkzqFevHsOHDyc0NJQ7d+6Ytv3222/j5+dHbGwst2/f5uefE+/RssYxPkxuZ2eGfTkIz+HD+ah9O85fuECfbt05fe4srTp99tAYgOaNG1PhzTdp1+VzmrdvR3R0NN07dcbGxoYpY8by3aZNfNyhA1379qVDq9a8Xras1XL/h6OTM807DGTl3FFMG/YpAdcvUv+jLgBcu3SOGaO6WH2fKZE7d26GDRuGp+cgPvqoOefP/02fPn0AOH36NK1atXpkXLNmzSlQoACtWrWifft2NGrU2NQNt6R48eIMGDCQfv368tFHzdm790fGjv3qsY/D2TEHQz5qiffyJbSePI4LN2/Ss0Ejzl69QodpkwB4rUgx2tWoTa85M+kwbRK7f/uVce0Tu5uf1qpLjmwOtJ86kfZTJ1HmpSI0rFDpsfMREXnm6Clmi2yMj3sH/GMwGAy0bduWTJky0ahRI3x9fUlISKBUqVJ89dVXZMmShZIlS5oKNU9PTypUqEDTpk05cuQIPj4+LFu2jLZt2+Lk5GS6N2v48OGUK1fO4n7v3r3LiBEjOHfuHPHx8XTo0IGPP/6Y2NhY+vfvz59//kmRIkWIi4ujc+fOvPHGG6Y8Z8+eTb9+/bh58yb29vY0adKEdu3a0bZtW3r27EnFihWZNm0a27Ztw8XFBQcHB+rXr0/Tpk359ttvkz3GlIi4cfOJz3d62/lX3NNOIdVqv57raaeQKvd+fP4eEnFtXP9ppyAikqz0/F3rlD9fuu3LGtK1QLSWB4uzF5UKxPShAjHtqUAUkWdVxBO8Siy1nPLmTbd9WcML85dUlixZwoYNG5LMd3NzY/78+U8hIxEREZHn03PZQcwI1EFMH+ogpj11EEXkWRVx//206cHJ3e3RQc8QPd8tIiIiImZemCFmERERkVR5Dv/CSXpRB1FEREREzKhAFBEREREzGmIWERGRDMnmOXyBdXpRB1FEREREzKiDKCIiIhmTrfpklujMiIiIiIgZdRBFREQkY9I9iBapgygiIiIiZtRBFBERkYxJHUSL1EEUEREReYZs3ryZ+vXrU7t2bVasWJFk+ZkzZ2jWrBl169bFy8uLuLg4AG7cuEHr1q15//336datG5GRkY+dgwpEERERyZhsbdPvk0KBgYFMmzaNlStXsmnTJtasWcPff/9tFjNw4ECGDh3K9u3bMRqNrF27FoCRI0fSqlUr/Pz8+N///sesWbMe/9Q89poiIiIikiIRERFcu3YtySciIsIs7uDBg1SqVIlcuXLh4OBA3bp18fPzMy2/fv06MTExlCtXDoCmTZvi5+eHwWDg2LFj1K1b12z+49I9iM+oG7GZn3YKqVatTPannUKqhd6Je9oppEqeKpWedgqpFuZ/+mmnkGrO/yv9tFMQkXRgJP3uQfT1XYKPj0+S+T179qRXr16m6aCgIFxdXU3Tbm5unDx50uJyV1dXAgMDCQsLw9HREXt7e7P5j0sFooiIiEgaa9++PU2aNEky38nJyWzaaDQmiXnwTwJaWv6o9VJLBaKIiIhkSAlJa6o0kyunU5JiMDnu7u4cP37cNB0UFISbm5vZ8pCQENN0cHAwbm5u5M6dm7t37xIfH4+dnZ1p/uPSPYgiIiIiz4h33nmHQ4cOERoaSnR0NDt27KBq1aqm5R4eHmTJkoUTJ04AsHHjRqpWrUqmTJl466232Lp1q9n8x2VjTK4nKU/d2Uu3nnYKqebilOlpp5Bqd6Pjn3YKqZIn2/P37Rp3I+Bpp5BqugdRJGMIC7+TbvtyzpUjxbGbN29m7ty5GAwGmjdvTufOnencuTO9e/emTJkynD17Fm9vbyIjIyldujTjxo0jc+bMXL9+HU9PT27dukW+fPmYOnUqOXPmfKx8VSA+o1Qgpg8ViGlPBaKIPKue1QLxWaAhZhERERExo4dUREREJEPSIKpl6iCKiIiIiBl1EEVERCRDSs/X3Dxv1EEUERERETPqIIqIiEiGpFsQLVMHUURERETMqIMoIiIiGZKeYrZMHUQRERERMaMOooiIiGRIeorZMnUQRURERMSMOogiIiKSIekWRMtUIL5Ajh85wNLFczAYDBQuUoxefYfgkD17srFGo5Fvpoyl0EtFafJRK9P8th/XJ08eV9P0hx+1onqNulbN8+CB/cyZPZNYQyzFi5VgsJc32bM7pjju7t27jPtqNJcvX8KYYKRe/Q9o07Y9ACdOHGemzzfEx8WROUsW+vYdQOlXX7Vq/g86cvgAixfMwhBroEjR4vQd6EX2h5zzKRNH81LhYnz0Ses0y2n/gQP4zJ5NrMFAiWLFGOrlheN/crIUExMTw4TJkzl95gxGo5FXS5dm0IABZM2alZiYGKb7+PD7yZPExMTwYaNGtGvTxur5HzhxnFnLl2OIM1D8pZfw6t6T7A4OSeKMRiOjfWZQrFAhWjf+EIDBkyZyLeCmKeZGUBCvl36VyYOHWD1PEZEXmYaYH+HkyZNMmjTpaafxSLfDw/hmylg8h37F7IWryZs3P0sXzUo29uqVSwwd1Iv9+3abzb929TKOjjn4erav6WPt4jAsLIyxY0cxdtwEVq9ZR34PD2bP8klV3Px5c3B1dWP5ijUsWOTLhvXr8D91EoPBwLChQ/D09MJ32Uo6dPiUUaOGWTX/B4WHhzFl4hiGjhjHwqVryZs/P4vmz0w29srliwzq35N9e3cnu9xawsLCGDl2LBPHjWP9mjV4eHjgM2tWimMW+foSHx/PqmXLWLVsGfdiY1mydCkAM2bNIiIigmWLF7N00SK+XbeOU/7+1s3/9m3G+Mxg3MAvWTtjJvnd8zJz+bIkcRevXaXniGHsPnjAbP64gV+ybMo0lk2ZxuBu3cnhkJ2BnT+3ao4i8uIwGtPv87xRgfgIf//9N7du3XraaTzSr78cpXjJUuT3KAjA+w2a8tOeHck+wr/1+3XUrPMBlavWNJt/9vQpbG1t8RrYk95d27J6+SLi4+OtmufRo4cpVao0BQsWAqBJ02bs2O6XJM+HxfXp25+evb4A4FZICAZDLNkdHcmUKRObvt/KyyVLYjQauXHjOjmdclo1/wf9cvwIJUuWwqNAYo4NGjVlz+7tyZ7z7zeuo877DahavWaSZdZ0+OhRSpcqRaGCiddB86ZN2bbdPKeHxbxRrhyfdeyIra0tdnZ2lHz5ZW4GBGA0Gtnq50fXzp2xs7PD0dGROTNnUvill6ya/5Hff6NU8RIUyp8fgKZ132f7z/uSnNN127bR4L2a1Hzn3WS3YzAYGDXjG/p8+inuLi5WzVFEJCN4YYaYp0yZwvbt23F2dsbV1ZUaNWpw+fJlDh06xO3bt3F2dmbGjBnkypWLIUOG8NdffwHQqlUrPv7442S3GRERwTfffENUVBSzZ8/m559/pnv37lSuXBmj0UjdunVZtmwZLVu2pEaNGhw/fhyAr776itKlS3P58mVGjBhBeHg4WbNmZejQoZQuXTpNjj8kOBAXF3fTtIurK1FRkURHRSUZZu7Ssz8AJ387YTY/IT6e194oT8dOPbkXe4/RQwfg4JCdRk0/sVqeQYGBuLn9m6erqxuRkZFERUWaDTM/Ks7e3p6RI4ay98c9VK1WnUKFEgsVe3t7QkNv0bF9W27fDmfU6K+slvt/BQcF4fKfHKMiI4mKikoyzNzziwEA/PbrsTTLByAwMBB3NzfTtJurK5GRkURGRZmGmR8WU6liRdP8mzdvsmrNGrwGDSIsLIyoqCiOHDvG6HHjuHv3Lg0/+ICWn1jv2gAICgnB3SXPv7nlyUNkVBRR0dFmw8wD7ncFj506mex2vt+9Gxfn3FSvWMmq+YnIiyXheWztpZMXooO4Z88eTpw4wQ8//MC8efM4ffo08fHxXLhwgdWrV7N9+3YKFSrE5s2b+fXXX7l9+zYbN25k8eLF/PLLLxa36+TkRO/evalRowbdunWjWbNmfP/99wAcP36cQoUK4e6eWCDkypWLjRs30rt3bwYNGgTAoEGDGDhwIBs2bGD06NH07ds3zc6B0cKz+rZ2Kf8S16nfmM+79yNT5sw4OuagcdMWHD74k7VSBCDBUp62dqmOGz5iNFu27SQiIoLFixaY5ufOnYdNm7cyd/4ivho7iitXLlsh86QSjAnJzrezfXrfVgkJj84pJTFnzp6lU7dufNysGVUqVyYuLo74+HiuX7/OHB8fZnz9Nes2bGDvT1a+Piz8sLZN5Tld/cP3dGz+kTVSEhHJkF6IDuLBgwepV68emTNnJnPmzNSqVQs7OzsGDRrEt99+y8WLF/ntt98oVKgQJUqU4OLFi3z22WdUrVqVAQMGpHg/9erVY9q0aURHR7NhwwaaNm1qWvZPF7JGjRp4enoSEBCAv78/gwcPNsVERUURFhaGs7OzVY57he98jh3ef3/bkbxUuKhp2a2QYBwdc5A1a7YUb+/HXdsoUrQEhYsWB8CIETu7J79E5s+bw/79+xLzjIykaLHipmUhwcHkyOFEtmzmeebN687p0/7Jxh05fIiixYrj6uqKg4MDtWrX4acf93D37l1OHD9GtervAVCy5CsUL16C8+fPmzqMT8p38TwOH/w58ViiIilcpJhZjo45nMiaLeXn3Nry5s2L/+nTpung4GCccuQwO7+Pitm+cycTJk3iy/79eb9u4j2ozs7O2NvbU79ePWxtbcmTOzdV3n2Xk/7+VK9WzWr5u7u48Mdff/6b261bODk6ki1r1hRv49yFC8THJ/BGGj6cJCLyonshOoi2trZJuiLh4eF89tlnJCQkULduXWrVqoXRaMTZ2ZktW7bQpk0bLl68SJMmTYiIiEjRfhwcHKhatSp+fn4cPnyYWrVqmZbZ2/9bSCUkJBAfH0/mzJnZtGmT6fPtt9+SK1cuqxwzQOv2nU0Pk0ycPo9zZ//gxvWrAPht2UiFt6ukantXLl1g5dL5xMfHc+/ePbZ+v44q1Z78nrnOn3fFd+lKfJeuZN78xfzh78/Vq1cA2LBhHVWqVk2yToUKlSzG7dm9i8UL52M0GomNjWXP7l288WZ5bG1tGffVaE7+/jsAFy6c5/LlS7xqxUKhfcfPmT1/GbPnL2O6zwLOnvHn+rXEHLds3sDb76TunFtbpQoV8Pf358rVxOtg3YYNVPvP+X1YzK49e5g8bRo+06ebikOATJkyUaVyZbZs3QpgGm4uXaqUVfOvWK4c/n/+yZUbNwDYsGM7VcpXSNU2fj39B2+WKYONjY1VcxORF48eUrHshSgQ3333XXbs2EFsbCx3795l7969REVFUaFCBVq2bEnx4sU5cOAA8fHx7N69mwEDBlC9enW8vb1xcHDg5s2bFrdtZ2dHXFycabpZs2ZMmzaNKlWqkDlzZtP8LVu2ALBz506KFSuGh4cHhQsXZtOmTQAcOHCA1q3T7tUmuXLlpnd/LyaM9qJHp5ZcvnieTz/vDcBff56hT7f2j9xGizaf4ZjDid5d2/JF17a8UqoMtes1smqezrlzM8R7GN5DPGnV4iMunD9Pr159ADhz5jTt27V6ZFzP3n24G3mXtm1a8FnHdpQs+Qoff9ICBwcHxo2fxPTpU2jfrhXjxo5mxMgxZvcyWlMu59z0HziU0SOG0KnDJ1y8eJ7PuyWe8z/PnaFb57Zpst+HyZ07N8O8vRk0ZAjNW7Tg7/Pn6dOrF6fPnKFVu3YPjQGYOXs2RqORMePG0apdO1q1a8eE+0/xe3t6cissjI9atqRNx45Ur1aNWjVqWDf/nLkY2qMXQyZP4pPePTl/5TK923fgzN9/07Z/ym7RuHrzBvkeuMdSRERSz8b4gvyl6mnTprFr1y5y5syJra0tzZo1Y+XKlcTExJApUyaKFy9OQkIC48aNw8vLC39/f7JkyULlypXp37+/xe1evHiRzz//nLp165qGo6tVq8aMGTMoW7YskDis/Nprr3HhwgWyZcvGuHHjKFKkCOfPnzc9pJIpUyZGjBhhWudRzl569p+c/i8Xp0xPO4VUuxtt3ae001qebM/ft2vcjYCnnUKqOf8vbR4mE5Fny5Ub4em2r0L5c6XbvqzhhbgH8ddff6Vw4cJs2bIFg8HAJ598QqlSpfj222+TjZ84cWKKt12kSBF27twJJL6Y988//8TZ2TlJode/f38KFChgNq9YsWIsW5b0HW4iIiIiz7IXokAsUqQIPj4+LF68GKPRyIcffsgrr7yS4vWXLFnChg0bksx3c3Nj/vz5pmlfX18WLFjA9OnTrZK3iIiIPD16zY1lL8wQ84tGQ8zpQ0PMaU9DzCLyrLp0PSzd9lXYwzpvMEkvL0QHUURERCS11CKz7IV4illERERErEcdRBEREcmQ1EC0TB1EERERETGjDqKIiIhkSHqK2TJ1EEVERETEjDqIIiIikiGpgWiZOogiIiIiYkYdRBEREcmQ1EG0TB1EERERETGjAlFEREREzGiIWURERDIkvebGMnUQRURERMSMOogiIiKSIamBaJk6iCIiIiJiRh3EZ5SHk83TTiHVjPH3nnYKqZbLMevTTiFVYvbtf9oppJpd/rxPO4VUu335ytNOIVVyvlToaacg8lxSB9EydRBFRERExIw6iCIiIpIh6Slmy9RBFBEREREz6iCKiIhIhqQGomXqIIqIiIiIGXUQRUREJENSB9EydRBFRERExIw6iCIiIpIh6Slmy9RBFBEREREz6iCKiIhIhqQGomXqIIqIiIiIGXUQRUREJENSB9EydRBFRERExIwKRBERERExoyFmERERyZASNMRskTqIIiIiImJGHUQRERHJkIx6SsUiFYjPsf0HDuAzezaxBgMlihVjqJcXjtmzpygmJiaGCZMnc/rMGYxGI6+WLs2gAQPImjUrf/71F+MnTeJuZCSODg5069KF8m+9ZZ2cDx5k5ty5xMbGUqJYMbwHD06acwpiBg4ZgquLC1/26wfA3+fP82nXrhTw8DDFfDVqFIULFbJO3vv3M3uWD7GxsRQvXgIv76E4OjqmOi4wMIDPPu3I8hWryJUrl2n+4cOH8ZnxDctXrLRKvv84ePoP5m77gdi4OIrly8/gj1uSPWtWs5h1+39mw6ED2AAeLi4Mav4JzjlyANBguBcuOXOaYltVr0GdN6xzLVhy4NdfmL16NYY4A8UKFsLr8y5kd3Awi/Hb/zMrftiMjY0NWTJnpl/7DpQqWsy0/E5kJN1GjcSrSxez+day/8gRZi1aSKzBQPEiRfDu1z/pdWwh5nZEBBNmfMOf58+TLWtWGtSpyycffgjA8d9+Y/q8ucTHx5PTyYm+XbvxcjHr5y8i8igaYn5Cf/75JyVLlmT79u1m8zdu3EizZs1o3LgxDRs2ZOnSpVbdb1hYGCPHjmXiuHGsX7MGDw8PfGbNSnHMIl9f4uPjWbVsGauWLeNebCxL7ufY/8sv+bBRI9auWMHE8eMZN2kSIbduWSXnUV99xYQxY1i3ahUe+fPjM3t2qmOWrljBbydPms07eeoUdWvVYuWSJaaPtYrDsLAwxoweybjxE/n2u/V4eHgwa6ZPquO2bvmBLp93Jjg42DQvJiaGObNn4TXEk/j4OKvka8rn7l2+WrOKMe0+ZdUgL/LnzsPsLZvNYs5eu8qqn/Ywp+cXLBvoSQEXV+Zv3wrAlaBAHLM5sKTfl6ZPWheHYRERjJ07h3F9+rJmyjQ83N2YtXqVWczlGzfwWbmCaYMGs3TcBDp+2JTB06aalh/89Vc+G+rF5RvX0ybH8HBGT57M+GHD+G7RYjzy5WPmwoUpjpk2Zw7ZsmZjzfwFLJr+DYeOHeXnw4e5GxnJoFEj6dW5MyvnzmNQr94MGTuG2NjYNDkOEUl8zU16fZ43KhCf0Pr166lbty6rV682zVuzZg2+vr7Mnj2bTZs2sWLFCr7//nu+/fZbq+338NGjlC5VikIFCwLQvGlTtm3fbtYuf1jMG+XK8VnHjtja2mJnZ0fJl1/mZkAA4eHhBAYF8UG9egC45MlDiWLFOHT48JPnfOyYWT7NmjTBb+dO85wfEXP8l184dOQITRs3Ntv2SX9/Ll2+TPvOnWnfuTN7fvrpifP9x5EjhylVujSF7hecTZs1x89vW5KhiYfFBQcH89NPPzF12nTzdQ4fJjo6Gu+hw6yW7z+O/XmWUgULUdDVFYAm77zLzl9PmOX9SoGCrPb0xjFbNu4ZDATfDienQ2In7NSlS9jZ2tBrtg/tp0xg8Q4/4hMSrJ7ng46ePEmposUomC8fAE1r1Wb7gf1mOWfOZM/gzp/j4uyceAxFi3IrPBxDXGKBvXa7H0O7djctt7YjJ05QuuTLFPIoAECzBg3x27PbLMeHxZz96y/q16qFnZ0dmTJl4t2KFdnz8z6uXL+GY/bsVHj9DQAKFypEdgcHTp05kybHISLPlxs3btC6dWvef/99unXrRmRkZJKYoKAgPvvsMxo3bkyTJk04dOgQAAaDgTfeeIPGjRubPvHx8Q/dnwrEJxAXF8f3339P3759OX36NFeuXAFg9uzZeHp64ubmBoCTkxMTJkzg5Zdfttq+AwMDcb+/fQA3V1ciIyOJjIpKUUylihV56X4hc/PmTVatWUOtGjXIlSsX+fPl44etiV2ka9ev89vvvxMSEvLUcw4OCWHK9OmMHjYMO1vzSzdr1qzUrV0b3/nzGeHlxYTJkzlz9uwT5/xvTu7/5uTmlpjTf745Hxbn6urKhImTKFq0qNk61apXp2+//jg5OVklV7N8wsNxe2AY2zVnLiJjYoi6d88szt7Ojn3+J2k6egS/X7hA/fIVAYhPSKD8yyWZ0rkrPt17cfTPc6zbv8/qeZrlHHoLtzx5/s05dx4io6OJio42zcvn6sa794soo9HIN8uXUeXNN8lkn3jHzNeegyljxe+1JDkGB+N2v+iG+9doVJT5dfyQmFdfeYWtu3YRFxdHVHQ0e37eT0hoKIU8ChAVHc3h48cBOH3uHBcuXyYk9Mm79yKSvARj+n2e1MiRI2nVqhV+fn7873//Y9Z/Rg0BJk6cyHvvvcemTZuYMmUKAwYMID4+nnPnzvH666+zadMm08fOzu6h+1OB+AT27t1L/vz5KVKkCLVq1WL16tWEhoZy8+ZNXnvtNbPYYsWKJZn3JBIsdHIeLJxSEnPm7Fk6devGx82aUaVyZQCmTprE7h9/5JPWrZk7fz7vvvMOmTJleuKcLd0M/GA+Fm8YNhrxGj6cfr174+LikmSx54ABNG/SBIAihQtTq0YN9h048MQ5Axgtncf/fHOlNC69WDqXtjY2SeZV/V9Ztoway6d13qff/DkkJCTQqNLb9PmwGZnt7cmRzYFPqlZnn/+pNM3Z0jVra5v0R1V0TAxe07/mWmAAgzt3SdO8HpRgTMH33kNi+nTpgo0NtOnWjS9HjKDiG2+QyT4TjtmzM3nkSJasXkWrrl3Ysmsnb5UrRyb7J//eE5GnLyIigmvXriX5REREPHJdg8HAsWPHqFu3LgBNmzbFz88vSVydOnVo2LAhAC+99BL37t0jKiqKU6dOERoayscff8zHH3/M0aNHH7lPPaTyBNavX0+DBg0AqF+/PgMGDOCzzz4D0v7JqLx58+J/+rRpOjg4GKccOciWLVuKY7bv3MmESZP4sn9/3r9/0UHiL+mpEydif78j07tvX6pWqfLEObu7u5vnExKSJGdLMRcuXeL6zZtMmzEDgFuhoSQkJBAbG8vggQPxXb6cTz76yPQwg9FoxP4JCrO5c+fw877EbllkZCTFiv/7oEBwcDBOTk5meQO4582L/x/+j4xLL+65nDl95bJpOuT2bXJkcyBbliymeddCgrl15w6vFUnsbH5QoSKT163lTnQ0h86epng+D4rnzw8kntO0Lnbzurhw+vzfpung0FByZM9Otv88WBMQEsLAyRMpnN8DH+9hZM2cOU3zMsvR1Y0/HuhOJ3cdPywmICiIXp06k/N+19h3zWoK5M9PQkIC2bJmY87kKab1Pv7sUwrcP/8iYn3p+RSzr68vPj5J71/v2bMnvXr1eui6YWFhODo6mn4vu7q6EhgYmCSuTp06pn8vXLiQUqVKkSNHDmxsbKhZsyY9evTgzJkzdO7cmc2bN5M7d26L+1QH8THdunWLffv2sWjRImrUqIG3tzcREREcOnSIggUL4u/vbxZ/9OhRJk+ebLX9V6pQAX9/f65cvQrAug0bqFa1aopjdu3Zw+Rp0/CZPt2sOAT4avx49t4vjn4/eZLzFy5QsXx56+T8xx//5rNxY5LC01JM2f/9jy3r15seQGnWuDG1a9TA29MTOzs79u3fz4ZNmwC4GRDAnp9+okb16o+da5cuXVm+YiXLV6xk4aLFiefx/i0E69evo0rVaknWqVixUori0kuFl0vyx+VLXL3/UMzGwweo8ur/zGJuRUQwYrkv4ZF3Adjxy3GK5M1HzuzZuXDzJgu3byU+IYF7hljWHfiZmq+9nrY5lymL/19/c/XmTQA27N5F1TfNH4y5ffcu3UePpHr5Cozu/UW6FocAFd98E/8zZ7hy/RoA63/4gapvv53imPU/bGbeUl8AboWFsWnbNt6vUQMbGxv6entx+s9zAOza9xP29vaU+M9tCSLyfGrfvj27d+9O8mnfvr1Z3LZt26hatarZZ8CAAUm2Z5PMaNA/lixZwpo1a5g4cSIALVq0oGfPntjY2FC6dGnKli3LL7/88tB8bYx6CdBjWbx4MQcOHGDBggWmeTNmzODo0aPUr1+f7777jjlz5uDq6kpoaCidOnWiZcuWfPTRRyna/p3Q0EfG7D94kJmzZ2MwGCjg4cHIYcO4fuMGY8aNY+X9J5KTi8mZMydNPvqIO3fvmt0n9VqZMgwaOJC/z59nzLhxREdH4+DgwJf9+1PqlVcemY/xETe8Ahw4dIiZc+ZgiIujgIcHI7y9E3MeP56VS5ZYjMn5n3v05i1cSPjt26bX3Fy9do1xkyYRGhZGQkICnTp2pE7Nmo/MJyFz1kfGABw4sJ9ZM2cSF2fAw6MAw0eMJGfOnJw5fZqxY8eYXk9jKe5BFSu8xfYdu8xec3PixHEmT5rIqtVrH5qHYd/+FOX7j0NnTjNn6w/ExcfhkccF75atuXHrFuO/Xc2Sfl8CsOHgftYf2I+dnS0uTjnp16Q5+fPkISY2lqkbvuP05cvEJcTzXtlyfF7vg4f+UEqOXf68qYo/+OuvzF6zCkNcHB7u7gzr1oMbQYGMmz+PpeMmsGTjBuZ/u5Zi/3lKfcYQb3Lefz0PQJPePfmqT9/Hes2NnUuehy4/cPQIMxctIs5gwCN/fkYM/JLrATcZO3UqK+bMtRiT08mJyKgohk+YwLUbNzBipMMnLahXqxYAv5z8namzZ2OIi8Mld26G9OmLx/0Hdh4m50vWeWJfJKM5eDJpFy6tvFPW/dFBFhgMBipWrMixY8ews7Pj5s2btGnTht27dyeJnThxIj/99BMLFy4kb97En78bN27kjTfeMD1E2bVrV1q2bEm1apabGCoQH1PDhg3p27cvNWrUMM27desWNWrUYP369Rw4cIBvv/0WGxsbjEYjn3zyCW3atEnx9lNSID5rUlIgPmtSWiA+K1JbID4LUlsgPgseVSA+a1Qgijye56VABPj8889p2LAhDRs2ZPbs2QQFBTF8+HCzmCVLlrB582YWL15s9vDjhAkTiI6OZsSIEVy4cIGOHTuyZcuWZN/n+w8ViM8oFYjpQwVi2lOBmPZUIIo8nv2/p1+BWPm1JysQr1+/jqenJ7du3SJfvnxMnTqVnDlzsmrVKoKCgujduzcVKlTA0dHRrDicN28e2bNnZ8iQIVy4cAEbGxu8vLyoVKnSQ/enAvEZpQIxfahATHsqENOeCkSRx/M8FYjpTU8xi4iISIakHplleopZRERERMyoQBQRERERMxpiFhERkQxJI8yWqYMoIiIiImbUQRQREZEMKUEdRIvUQRQRERERM+ogioiISIak19xYpg6iiIiIiJhRB1FEREQyJDUQLVMHUURERETMqIMoIiIiGZKeYrZMHUQRERERMaMOooiIiGRIeorZMnUQRURERMSMOojPqBjj8/elsf3jj6edQqplLvvq004hVYxVKj/tFFLt+q17TzuFVCuUJe5pp5AqoSd+fdoppFruN19/2imI6Cnmh1AHUURERETMPH9tKhEREREr0FPMlqmDKCIiIiJmVCCKiIiIiBkNMYuIiEiGpNfcWKYOooiIiIiYUQdRREREMiQ1EC1TB1FEREREzKiDKCIiIhmSXnNjmTqIIiIiImJGHUQRERHJkNRAtEwdRBERERExow6iiIiIZEgJeozZInUQRURERMSMOogiIiKSIamBaJk6iCIiIiJiRh1EERERyZDUQbRMHUQRERERMaMO4nPu4IH9zJ0zk1hDLMWKlWDwEG+yZ3d8rLghgwfi4uJKv/5fms0/euQws2Z9wxLflVbN/cCpk8zZsA5DXBzFPAowpF0HsmfLZhbjd/gQK3duxwYbsmTOTN9PWlKqcGGmrl7J73/9ZYoLDg8jT86cLBs20qo57j9wAJ/Zs4k1GChRrBhDvbxwzJ49RTExMTFMmDyZ02fOYDQaebV0aQYNGIDBYKBLjx5m2/j7/Hl69+xJm5YtrZL3gf37mTXbB0NsLMWLl8DLayjZHZNeF5biYmJimDxpAmfOnCYhwcirr77KgIGDyJo1q2ndI4cP4+PzDcuWW/e6ADhx9CDLl8whzhDLS0WK073PYBwcsicbazQa8Zk2lkIvFaVxs1YATBrrRcDNa6aYoICblC5TjsHDJ1olv/2HDjFz3rzEr3nRongPGpT0unhITO1GjXB1dTXFtm3RgsqVKtGlTx+zbZy/cIHeXbvS+pNPrJL3Pw78+guzV6/GEGegWMFCeH3ehewODmYxfvt/ZsUPm7GxSfze69e+A6WKFjMtvxMZSbdRI/Hq0sVsvsjzRE8xW2ZjNOrsWNPu3bvx9/fniy++eKLtBN+KeGRMWFgYbVt/wuy5CyhYsBCzZs4gKiqSAQM9Ux23YvlSVq1cRo2atU0F4r17MfguWcz6dWtxdXVj2Yo1D83H9tTvKT6+sDt3aD1yGHMHelLQ3Z2Z674j6l4MA1u1McVcDgig55RJLPYeikvOXBw8dZJJK5azYbz5L/mbISF0mzyBiT168XLBQinOASBz2Vct5xgWxsetW7Nw7lwKFSzINzNnEhUVhefAgSmKmTV3LgEBAYwYOhSj0cjQkSMpVKAAXT//3Gw/q7/9lj179jBrxgzs7R/+f7Y420yPPKawsDBatfyYufMWUqhQIXx8viEqKoovv0x6XViKmzNnFoEBAQwdNgKj0ciI4UMpWLAQn3fpSkxMDEuWLOK7b9fi5ubGylVrH5rP9Vv3Hpnzg27fDqNP1zaMnTyH/B4FWbZoFtHRUXzeY0CS2GtXLjF/1hT+PPcHLdp0MhWID/r7zzNMGuvF2MmzcXF1T1EOhbLHWVwWFh7OJ+3bs2DmTAoVKMCMOXOIjIrCs1+/FMVcunKF/oMHs27FiofmsGbdOnb/9BOzpk599HVx/WaKjgsgLCKC1l8OYO7wkRTMl4+Zq1YQFR3DwE8/M8VcvnGDHmNGsWTsOFycnTn4669MXLSAjTNmAnDw11/5epkvN4ODmTdy1GMViLnffD3V64hY27qfrqbbvppVK5hu+7IGDTFbWc2aNZ+4OEypY0cPU6pUaQreL4qaNG3Gzh1+/Lfmf1TcLyeOc+TwIRp/2NRsvSOHDxMTE83gIUOtnvvR039Q6qXCFHRP/IXdtFp1dhw5YpZ7Znt7PNu1xyVnLgBeeakwtyJuY4gz/+U9frkvLWrVTnVx+CiHjx6ldKlSFCqY+E3dvGlTtm3fbpbjw2LeKFeOzzp2xNbWFjs7O0q+/DI3AwLM9nH16lUWLV7MqOHDH1kEpNSRI4lf70KFEs9H06bN2e63Lcl18bC418u9QcdPPzPl/nLJkgQE3DStFxMdjZf3MKvk+1+//3KU4i+XIr9H4jmt+0ETfv5xR5L8Abb9sI73an/AO1VqJLstg8HAjClj+LTLFykuDh/l8LFjlH7lFQoVKABAs8aN8du1y/y6eEjMSX9/bG1t6frFF7Ts2JH5S5YQHx9vto+r166xaNkyRnl5We26+MfRkycpVbQYBfPlA6BprdpsP7Df/Hsvkz2DO3+Oi7MzAK8ULcqt8HDT997a7X4M7drdtFxEXjwaYk6FI0eOMGnSJBISEsiZMye2trbcuXOH4OBgPvjgAwYMGMD69es5evQo48ePp0aNGjRq1Ij9+/cTHR3NhAkT+N///me1fAIDA3Fz//eXnqurG5GRkURFRZoNHz8sLjoqmulfT2HKtBls2rjebPtVq1WnarXq/PLLCavlbMopLBT33Ln/zcnZmciYaKJiYkzDzPlcXMjn4gIkDiN+8+0aKr9WjkwP/MI85H+KwNAwPqpRy/o5Bgbi7uZmmnZzdSUyMpLIqCjTUOHDYipVrGiaf/PmTVatWYPXoEFm+5g1dy4ff/QRefPmtVreQYGBuD/w9XZzu//1jow0G2Z+WFzFSpXMcl+zehWeg70AqFatOtWqVefEieNWy/lBIcFBuLj8e07zuLgmXqvRUUmGmTt37w/Aqd+Tz2X3jh9wzuNCxXeqWS2/wKCgR18XD4mJj4+n4ltv0btbN+7du0cfT0+yZ89Oq48+MsXPWrCAj5s2Ja+7dYpas/xDb+GWJ49p2jV3HiKjo4mKjjYNM+dzdSOfa2L+RqORb5Yvo8qbb5q+9772HGz1vESeBo2hWqYOYipdunQJX19fKleuTIMGDVi7di3ff/89K1euJDQ0NEl8rly5+O6772jRogVz5861ai6W7g6wtbVLUZzRCMOHedH7i3643C/E0osxwVLuSS/J6Hv38J43h+vBwQxu295s2epdO2n7fj3sklnvSSUkJCQ7/8F9pSTmzNmzdOrWjY+bNaNK5cqm+QGBgRw6coSWH39spYzv52RMPidbO7tUx509c4auXTrR/KOPqVy5ivWSfAijpbwe42v8w4Y1NG/R/tGBqWBMwdf8YTFNGjZkwBdfkDlzZnLkyEHrjz9m788/m2ICgoI4fOwYLZo3t2re/7B0zSb7vRcTg9f0r7kWGMDgzl3SJB8ReTapg5hKRYoUIUeOHHz22WccPnyYhQsX8tdff2EwGIiOjk4SX6VK4i/VEiVKsGPHjife/4L5c9i/fx8AkZGRFCta3LQsJDiYHDmcyPafBz3c3d05/Yd/krhLFy9w8+Z1ZsyYBkDorVskJCQQGxuL52DvJ871Ydxz5+aPSxdN08Hh4eRwcCBblixmcQGht/hy5gxeypsPn34DyJI5s2lZ2J07nL54kfHdzB/4sJa8efPif/r0vzkGB+OUI4fZ+X1UzPadO5kwaRJf9u/P+3Xrmm1/9549vFetGtmzJ//wRWrMmzuHn39+4Loo9u89YcHBwTg5JXdd5OUPf3+LcTt3bGfSpAn0H/Aldeu+/8Q5PsyqZfM5fmQ/AFFRUbxUuKhp2a2QEBwdc5A1azZLqyfrwvk/iU+I59Uy1r3Xzd3dHf8zZ0zTwSEhSa6Lh8Vs3b6dEsWLU+L+18hoNJoNI+/Zu5fqlSsneWjEWvK6uHD6/N//5hYaSo7s2cn2wANIAAEhIQycPJHC+T3w8R5G1ge+90ReFOogWqYOYir98xTn+PHjWbZsGfnz56dbt244Ozsn26nLcr/gsbGxscr+O3XuyhLflSzxXcm8eYv54w9/rl69AsDGjeuoUqVqknUqVKiUbNz/ypRl/cYtpu01/rAZNWrWTvPiEKBC6Vf548J5rgYGJua0by9VXitnFhMReZcekydRrdwbjO7cxaw4BDh5/m9KFS6cpKi0lkoVKuDv78+Vq4k3Ma/bsIFqVaumOGbXnj1MnjYNn+nTkxSHAL/89hvl33rLKrl+3qUry5avZNnylSxYuDgxpyuJX+8N69dRpUrSIdaKFStZjNuzexdTp05m+jc+aV4cArRs25kpPr5M8fFl/NR5/Hn2D25cTzynO7ZuoHyl1HcvT5/6lTJl37Da994/KpUvj//p01y5lviU9Lrvv6fqu++mOOb8xYvMXbSI+Ph4Yu7dY+2GDdR+7z3Tur/8/jvl33zTqjk/qEKZsvj/9TdXbybeU7ph9y6qvml+Hd6+e5fuo0dSvXwFRvf+QsWhSAakDuJjOnDgACNHjuSNN97g8OHDBAYGWhy6SSvOuXMzxGsY3l6exBkMeHgUwHvYCADOnjnN+PFjWOK78qFxT0tuJye82nfEa95sDHFxeLi6Mazjp5y5dInxy3zxHTqc9T/tJTD0Fvt++5V9v/1qWvebvv3J6ejItcBA8j1wL5XVc8ydm2He3gwaMgSDwUABDw9GDhvG6TNnGDNuHCuXLrUYAzBz9myMRiNjxo0zbfO1MmUYdP8p6KtXr5L//oMC1s576NBhDBk8CEOcgQIeBRg2PPH1P2fOnOarsWNYtnzlQ+NmzZqJ0Wjkq7FjTNstW/Y1Bn45KNl9WlPOXM706DuEyV95ExdnIG9eD3oNSHxQ6u8/zzD7m/FM8fF95HZuXr+Gm3sanF9nZ4Z5euI5bJjpaz5iyBBOnz3LmEmTWLlwocUYgM4dOjDx669p2bEjcXFx1KxenQ8bNDBt/8q1a+S34j2pSfLPmRPvLl0ZMn1a4veeuzvDuvXgzIXzjJs/j6XjJrBh104CQ0L46fgxfjp+zLTujCHe5MyRI81yE0lves2NZXrNTSocOXIEHx8fli1bxg8//MDXX3+Nk5MTefLkITQ0lP79+xMQEGD2kMrSpUspUKCA2bopkZLX3DxrUvOam2fFw15z8yxKyWtunjWpfc3Ns+Bhr7l5FqXmNTfPCr3mRp4Fa/ZcSbd9fVLDum/aSGsqEJ9RKhDThwrEtKcCMe2pQBR5PKt3p1+B2KLm81Ug6h5EERERETGjexBFREQkQ9IYqmXqIIqIiIiIGXUQRUREJEPSU8yWqYMoIiIiImbUQRQREZEMSQ1Ey9RBFBEREREz6iCKiIhIhqQOomXqIIqIiIiIGRWIIiIiImJGQ8wiIiKSIek1N5apgygiIiIiZtRBFBERkQxJDUTL1EEUERERETPqIIqIiEiGpA6iZSoQRURERJ5xN27cYODAgdy6dYsiRYowefJksmfPniTmgw8+oFChQgC4uLiwcOFCYmNj8fLywt/fn6xZszJ58mSKFSv20P2pQHxGZY6OeNoppNplj1JPO4VUe+nO3aedQqoYbwY+7RRSLe/t2087hVSzebvC004hVeyccz3tFFLt4rWwp51CqhQp4Py0U5A0kPAcdRBHjhxJq1at+OCDD5g5cyazZs1i4MCBZjGnTp2iYcOGjBo1ymz+smXLyJYtG9u2bePYsWN4enry7bffPnR/ugdRREREJI1FRERw7dq1JJ+IiEc3hAwGA8eOHaNu3boANG3aFD8/vyRxp06d4s8//6Rp06a0a9eOc+fOAbB3714aNWoEQPny5QkLC+PGjRsP3ac6iCIiIpIhGdPxJkRfX198fHySzO/Zsye9evV66LphYWE4Ojpib59Ytrm6uhIYmHREKUuWLHz44Ye0aNGCn376iR49erB161aCgoJwdXU1xbm6uhIQEED+/Pkt7lMFooiIiEgaa9++PU2aNEky38nJyWx627ZtjBs3zmxe4cKFk6xnY2OTZN6DhWa1atWYMmUKFy5cSDYfW9uHDyKrQBQREZEMKT3vQXRyckpSDCanXr161KtXz2yewWCgYsWKxMfHY2dnR3BwMG5ubknWXbZsGQ0aNMDZOfGeWaPRiL29PW5ubgQHB/PSSy8BWFz/QboHUUREROQZlilTJt566y22bt0KwMaNG6latWqSuGPHjvHdd98BcPToURISEihatCjVqlVj06ZNABw/fpwsWbI8dHgZwMaYngPwkmK3r1172imk2uXorE87hVR7KXPU004hVeKfw6eYE57Dp5izPGdPMSeE3HraKaRaaOZcTzuFVNFTzC+mud8nP/yaFro0KvpE61+/fh1PT09u3bpFvnz5mDp1Kjlz5mTVqlUEBQXxxRdfEBgYiKenJ8HBwWTJkoWxY8fyyiuvcO/ePYYNG4a/vz+ZM2dmzJgxvPrqqw/dnwrEZ5QKxPShAjHtqUBMeyoQ054KxBfT81QgpjfdgygiIiIZ0vP0HsT0pnsQRURERMSMCkQRERERMaMhZhEREcmQ9BSGZeogioiIiIgZdRBFREQkQ9KLXCxTB1FEREREzKiDKCIiIhmSXnNjmTqIIiIiImJGHUQRERHJkHQLomUqEJ9j+w8fZtaCBcQaDBQvWhTvAQNwzJ49RTHx8fFMmjGDX3//HYB3Klakd5cu2NjYcPzXX/lm3jzi4uLImiUL/Xv25NVXXkmTYzhx7CArfedgMMTyUuHidPtiMA4O2ZONNRqNzPx6LIVeKkqjpq0AuHMngvmzJnHpwl9kzZqN92rVp17Dj6yW3/4jR5i1aGHi+StSBO9+/ZOeYwsxtyMimDDjG/48f55sWbPSoE5dPvnwQwBuR0QweeZMLl65zL17sXRs1ZL6tWpbLe9/HPjtV2Z/uxZDnIFiBQvh9VknsmdzMIvxO7CfFdu2YmMDWTJnoV+btpQqUhRDXBxTlvny+5/nAHi77Gv0+KQldrZpO/Bw8A9/5mzeRGxcHMXzezC4ZWuyZ8tmFvPdvr1s2P8zNjY2eORxwbNla5xz5DAtDwwL4/Opk/AdNIRcjo5WyWv//v34zJxJbGwsJUqUYKi3N47/2balmPj4eKZNm8ahw4eJj4+nTZs2NG/WzGzd69ev07ZdO3xmzKB06dL8sGULK1esMC2/GxlJYGAgW7dsIU+ePE9+PEePMGvx4n+v2z59k1zbkPh9N2rqFIq9VJg2zZub5t+5e5cuAwfg3bcfpV9++YnzSYkjhw+weMEsDAYDRYoWp+8AL7Ink/M/eU+ZOJrCRYrR/OPWpvl3795hQJ+u9BvozcslS6VL3iLPIw0xP6fCwsMZPWkS40eM4DtfXzzy5WPmggUpjtm2cyeXr15l5YIFrJg/n19OnmT3vn0YDAa8xozBq18/Vs6fT8fWrRk+blyaHMPt22HM+nosAwaP5Zu5q3HPm58VS2YnG3vt6iVGevXm0P49ZvN9508na1YHps1awdjJ8/j1+GFOHD1glfzCwsMZPXky44cN47tFixPP38KFKY6ZNmcO2bJmY838BSya/g2Hjh3l58OHARg1eRJuri4snz0HnwkTmDJrFoHBwVbJ25RbRARjF8xnXK8vWDNhMh6ubsxau8Ys5vLNG/isWcW0AQNZOvorOjZqzOBvpgPw3a4dhN+5w4qx41k2Zhyn/vqL3UcOWzXHJDnfucPYFcsY+2lnVnsPJ38eF2Zv3mQWc/bKFVbt2c3cvgNYPtibgm5uzN+y2bR829EjdJ8+lRAr/g3osLAwRo4axcQJE1i/bh0eHh74+PikOGb9+vVcuXqVNatXs9TXl1WrVuH/xx+mde/du8fQYcMwGAymeQ0++ICVK1eycuVKli5dSp48efjyyy+tUhyGhYczeupUxnsP5bsFC/HIm4+Zixcnibt45QrdB3uy6+efzeYfOHqUDn2+4FI6/s348PAwpk4aw9AR41jou5Z8+fKzeMHMZGOvXL6I54Ce/PzTbrP5R48c5Ivun3Lt6uX0SFmeA0Zj+n2eNyoQn1NHjh+ndMmSFCpQAIBmjRrht3u32SP7D4uJT0ggJiYGg8FArMGAwWAgS6ZMZMqUiS1r1lCyRAmMRiM3bt4kp5NTmhzDyV+OUqxEKfJ5FASgTv0m/Lx3R7KvHfD7YR3v1fqAtyvXMJt/4e9zVHuvLnZ2dmTKlIk3yr/DoQM/WiW/IydOULrkyxTyuH/+GjTEb89/zvFDYs7+9Rf1a9Uy5fZuxYrs+XkftyMiOPrLL3Ru0xYAd1dXFn0zg5wPdMCs4aj/KUoVLULBvHkBaFqjJtsPHTTLP7N9JgZ/2gmXXM4AvFKkCLduh2OIi6Pl+/UZ070ntra2RNy9y52oKJys1I2zmPPZM5Qq9BIF3dwAaFK5CjuOHzPL+ZVChVgzdASO2bJxz2AgODwcp/tdpODb4ew7+TuTu3S3al6HDx+mdOnSFCpUCIDmzZqxzc/PLK+Hxfy4dy+NGjbE3t4eJycn6tSpw7Zt20zrTpg4kYYNGpArV65k97/E1xdnZ2eaNW1qleM58ssvlH75ZQp5eADQrMEH+P24J8n33nc/bKZh7drUqlLFbP6a7zcxvH9/XHPntko+KfHL8SO8XLIUHgUSz+8HjZqyZ/f2ZH9ebN60jtrvN6BKtZpm8zdtWEv/QcPIncclXXIWeZ5piDkVAgICGDBgAFFRUdja2uLt7U2/fv1YunQpBQoU4MiRI/j4+LBs2TLatm1LmTJlOHHiBKGhoXh7e1OtWjWr5RIYHIybq6tp2s3VlcjISCKjokzDRA+LaVC3Lrv37eODTz4hPj6eim+9RZV33gHA3t6eW6GhtOvalfCICMZ6e1st7weFhATh4uJmms7j4kp0VCTR0VFJhpk7desPwKnfj5vNL17yVX76cTslS5fFYIjl8MG92NtZ57JO9vxFRT36HN+PefWVV9i6axevvfoqsQYDe37ej729Hddu3CBP7tysWLeOQ8eOEmsw0Kb5R7x0v5C3lsDQW7jl/rfb5Jo7N5HR0UTFRJuGmfO5upLvfv5Go5FvVq6gyutvkMk+8Rza29sza+1qvtu1k1eKFKHcyyWtmuN/BYWH4+bs/G/OuXIRGRNDVEyM2TCzvZ0d+07+zvhVK8hkb0+n+g0S43PmYlynz62eV2BgIO7u7qZpNze3xO+lyEjTMPPDYv67zN3Njb//+guAjRs3EhcXR5MmTViUTBcvPDycFStWsHzZMusdT8h/rluXpNc2wMDuPQA49ttvZut/M2as1XJJqeDgIFxd/z2Hrq5uREVGEhUVlWSYuUfvAQD89ssxs/ljx3+d5nnK8yXheWztpRN1EFPhu+++o3r16qxfv56BAwdy4sSJh8YbDAbWrFnD4MGDmT59ulVzSUhISHb+g/eHPSxmwdKlOOfMid933/HD6tVERESwYu1aU0ye3LnZsnYtC7/5htGTJnH56lWr5g9gNCafn20q7nFr/1lPbGzgy94dmDR2MK+VK4+9fSar5JdgIT+zc/yQmD5dumBjA226dePLESOo+MYbZLLPRFx8HDcCAnB0cGDB19MZO8SLaXPncObPP62S97+5Jf+DL7nzG30vBq+ZM7gWFMjgTzuZLev+cQt2zJpLPhdXJvomLWCsydL5TC7nqmVfY+u4iXxW7wP6zfaxeL1bJ6/kz6WdnV2KYpLrctna2XH27FnWrV/PkMGDLe57/YYNVKtaFY/73T5rSLDwbo8Hj+dZY0zBzzwRsR59Z6XC22+/zaJFi+jfvz+BgYG0adPmofFV7g/LlChRgvDwcKvmktfNjVuhoabp4JAQnHLkINsDXZaHxfy4fz8N33+fTJky4ejoyAd16nD8t9+4e/cuP+7fb1rnlZdfpkSxYpy/eNEqea9ePp8BvdozoFd7dm//gbCwW6ZlobdCyO6Yg6xZsz1kC+aioiJp07EHU2ctZ9iY6djY2pI3v3V+keZ1TcE5fkhMZFQUvTp1ZvX8+fhMmICNrQ0F8ufH5X5X74M6dQAo6OHBa6++yh/nzlklb1NuufNw64HrLjgsjBzZs5MtS1azuIBbIXw+ehR2trb4eHqR43435vc//+RKwE0gsZP4QeUqnLt8yao5JsnZOTe3Hrh3MOR2ODkcHMiWJYtp3rXgIH4//7dp+oNKbxMQGsqd6Ki0y8vdnZCQENN0cHAwTk5O5tfCQ2L+uywoOBg3Nze2bNlCZGQkn376Ka1atSI4OBjvoUP56aefTLE7d+6kYcOG1j0eN9ek162jI9myZn3IWulv6eJ5dP+8Ld0/b4vftu8JDf33HIaEBOOYw4ms2VL+80Lkv3QPomUqEFPhzTffZMuWLVSuXJmtW7fStWtX4N8/1RMXF2cWn+X+LzUbGxur51LxrbfwP32aK/dvEl+/eTNV7w8RpySmZIkS7Lr/SyguLo59hw7xv9KlsbWzY8ykSfzu7w/A+UuXuHTlCq+Wss7Tfi3adGbyDF8mz/Dlqynz+OvcH9y8ntid3LF1A+UrVXnEFszt3LaRNcvnAxAeFsqu7d9TuVodq+Ra8c038T9zhivX75+/H36g6ttvpzhm/Q+bmbfUF4BbYWFs2raN92vUwCNfPl4pXoItO3ealp06fdrqT4JWKFMG//N/czUgAIANe3ZT9fU3zGJu371L96/GUv3NtxjdvSdZM2c2LTtx5g+mr1xOXHw8CQkJbD90kLdKlbZqjklyfqUUf1y+xNWgoMSc9++nSpmyZjEhEREMX7KY8Lt3Adhx/BhF8+UnZ/a0uz+yUqVK+Pv7c+XKFQDWrVtHtapVUxxTtVo1vv/+e+Li4rhz5w47duygerVq9O/fn/Xr1pkeRnF1dWXM6NGm21EiIiK4evUqr732mlWPp+Ibb+J/9ixXrl8HYP3WLUmu7WdBu46fM2veMmbNW8bXMxZw9rQ/168lnt8tmzfw9jup+3khIimnexBTYeLEibi5udGhQwcqVqxIkyZNKFCgAH///TcFCxZk9+7dj96IleR2dmbol1/iOXIkcXFxeOTLxwhPT06fO8fYKVNYMW+exRiAvt26MdnHh486dMDW1pbyb7xB+xYtsLe3Z9KoUUydNYu4uDgyZ8rEaC8v3B+4X8lacuZypvsXQ5gyzpu4OAPu+Tzo2W8oAOf/OsPsb8YzeYbvQ7fR5KO2zJg6mn7d22DEyMetPqP4y9YpZnM7OzN0wAA8R48mzmDAI39+Rgz8ktN/nmPs1KmsmDPXYgxA+xYtGT5hAi06d8aIkc5t2lK6ZOI9fBNHjGDijBms3/IDxoQEPmvdxrTMWnI75cS70+cM8fkGQ1wcHm5uDPu8K2cuXmDcogUsHf0VG/bsJvBWCD/9cpyffvn3/s4ZgwbT9oOGfL1iGe28h2Bja8NrJUrS7aNPrJrjfznnyMGQVm3wXrQAQ3wcHi6uDG3TjjNXLjN+1Qp8Bw2hXLHitK9Tl54zvsbO1haXnDkZ19n69x0+KHfu3AwbNoxBnp4YDAYKFCjAyBEjOH36NGPGjGHlypUWYyDxgZXr167RqlUrDHFxNG3ShDfffPOR+7169SouLi7Y21v3R3XuXLkY2rcfnmPH/PuzYcBATv/5J2Onf82KmbOsuj9ryOWcm35fDmXMyCHExRnIl68AAz2HAfDnuTN8PeUrZs2z3n2akjE8j5299GJj1F+qTrGbN2/Sv39/IiMjsbOzo1OnTmTPnp3Ro0eTM2dOKleuzC+//GJ6SKVnz55UrFiRa9eu0a5dO/bs2fPondx3Ox1fH2Etl6OfreGplHgpc9oNS6aF+JuBTzuFVEuw4utm0kuWtys87RRSJSHk1qODnjGhmXM97RRSpUgB50cHyXNnypq/Hx1kJf0/KZ5u+7IGFYjPKBWI6UMFYtpTgZj2VCCmPRWILyYViJZpiFlEREQyJL3mxjI9pCIiIiIiZtRBFBERkQxJDUTL1EEUERERETPqIIqIiEiGpA6iZeogioiIiIgZdRBFREQkQ9JTzJapgygiIiIiZtRBFBERkQxJDUTL1EEUERERETPqIIqIiEiGpA6iZeogioiIiIgZdRBFREQkQ9JTzJapgygiIiIiZtRBFBERkQxJDUTL1EEUERERETMqEEVERETEjIaYn1FBrT5/2imkWuEf1jztFFItau3Wp51CqmRv3uhpp5BqBuPz9//Qy8GxTzuFVCnk5Pi0U0g1l+fst8+dkJCnnUKq5XBxedopPPM0xGzZ8/eTW0RERETS1HP2fzgRERER69BrbixTB1FEREREzKiDKCIiIhmSGoiWqYMoIiIiImbUQRQREZEMSR1Ey9RBFBEREREz6iCKiIhIhqSnmC1TB1FEREREzKiDKCIiIhmSGoiWqYMoIiIiImbUQRQREZEMSR1Ey9RBFBEREREz6iCKiIhIhpSgDqJF6iCKiIiIiBkViCIiIiJiRkPMIiIikiEZ9ZSKRSoQXyAOlcrj0qUDNpkyce/8RYImfE1CVLRZTM6mDcnVtCHGe/eIvXyVoGmzSLhzF2xtce3TjWzlygAQdfgYIbMWWiWv/fv3M3OmD7GxsZQoUQJv76E4OjqmOC4+Pp5p06Zx+PAh4uPjadOmDc2aNQfg9u3bTJo0iYsXL3Dv3j0+/fRT6tf/wGy7e/fuZcSI4ezd+9MTH8uh838xb99eDPFxFHV1Y9D7DcieJUuysT//dY6vtn7Pti8GAjB993ZOXr1iWh589y55sjuyuGPnJ87rQfv378dn9uzE81i8OEO9vJKc70fFBAQG0vGzz1i1fDm5cuUyW/f6jRu0bd8en2++oXSpUlbL+8CB/cyeNRODIZZixUvg5eVN9uxJrxNLcTExMUyePJEzZ05jTEig9Kv/Y8CAL8maNSsxMTH4+HzDyZO/ExMdQ6PGH9KmTVur5Q5w4uhBli+ZQ5whlpeKFKd7n8E4OGRPNtZoNOIzbSyFXipK42atAJg01ouAm9dMMUEBNyldphyDh0+0Sn77Dx5k5ty5iV/zYsXwHjwYx+zZUx0zcMgQXF1c+LJfPwCuXrvG+MmTCQsPJy4ujkYffECbli2tk/OBA/jMmkWswfDvdfrfnC3ExMTEMGHyZE6fOYMxIYFXX32VQQMGkDVrVtO6h48c4RsfH1YuW2adfA8exGfOnH+/ryyc4+Ri7t69y6hx47h0+TJGo5EP6tWjQ5s2XLh4Ee8RI0zrxyckcP7CBSaOHUuN6tWtkrdIcjTE/IKwy+mE++C+3Bw6lsttPsdwM4A8XTqaxWR7vSzOrT7iet/BXPmsF5GHj+M2sDcAOerUIHOhAlzp0J0rHXuQ7bUyOFav/MR5hYWFMWrUSCZMmMi6devx8PDAx8cnVXHr16/n6tUrrF69Bl/fpaxatYo//vAHYOTIEbi7u7FixUpmzpzF5MmTCQwMNG33ypUrTJ/+NQkJCU98LOFRkYz3+4HRHzZjeadu5M/lzNx9e5KNvRYWyuy9u83+d/pFzbos7NCZhR06M6bJR2S2t2NI/YZPnNeDwsLCGDlmDBPHjWP9t98mnsdZs1IV88PWrXTu0oXg4OAk27937x5Dhw/HYDBYPe+xY0YxbtwE1qxdh0d+D2bNTP46sRTnu2Qx8fHxLFu2kmXLVxF77x5Lly4BYNZMHyIiIli8eCmLFvuy7rtv8fc/ZbX8b98Ow2faWAZ6jWXG/NW4583P8sWzk429duUSIwb35uDP5tfOQK+xTPHxZYqPL916e+KQ3ZHO3ftbJb+wsDBGffUVE8aMYd2qVXjkz4/P7Nmpjlm6YgW/nTxpNm/k2LHUrlmTlUuWsGjOHDZs2sSxEyeskrPpOl27NjGfmTNTHLNoyRLi4+NZtWwZq5Yv5969eyxZuhSAmJgYZs2Zg6eXF3Hx8U+cqymXsWOZOHYs61evtniOLcXMnj8fd1dX1i5fztIFC1i3YQMn/f0pWqQIK319TZ9KFSpQt3ZtFYdWYjSm3+d5k+EKxHPnzvHBB+YdpkWLFvH+++9Tt25dduzYYZq/efNm6tevT+3atVmxYgUA165do0aNGqYYg8FA9+7d6dOnD3FxcelzEMlwqPAG987+ieHaDQBub9xCjtrvmcVkKVmc6BO/Ehd8C4C7+w6Q/Z2KYG+PjZ0ttlmzYpMpEzaZM2GTyR5jbOwT53X48GFKly5NoUKFAGjWrDl+ftuStPUfFrd37480bNgIe3t7nJycqFOnDtu2beP27dscPXqUzp0/B8Dd3Z3Fi5eQM2dOIPGXwLBhQ+nTp+8THwfAsUsXeSVvPgo45wagcbk32HX6jyTHEmMwMGbLJnq8V8vitiZt38rHb1WkhHteq+T2j8NHjlC6VCnTeWzetCnb/PzMcnxYTHBwMD/99BPTp05NdvsTJk2i4QcfJOkqPqmjRw5TqlRpCt7PqWnTZmzf7pfk3D4srtzrr9Ox46fY2tpiZ2fHyy+XJCAgAKPRiJ/fVjp37oKdnR2Ojo7MnDWbl14qbLX8f//lKMVfLkV+j4IA1P2gCT//uCPZ4attP6zjvdof8E6VGkmWQeLPlBlTxvBply9wcXW3Sn6Hjx1L/JoXTMyvWZMm+O3caX5dPCLm+C+/cOjIEZo2bmy27UYNGvB+7doAODo6UqBAAW4GBDx5zsldp9u3P/pavh/zxuuv81nHjqbroeTLL5vyOnzkCNExMQzz8nriPE25HD1qdv6aN2nCth3m18DDYgb06cMXPXsCEHLrFrEGQ5Lu46+//cbuH39k8MCBVstbxJIMVSBu3LiRTp06ER3977DryZMn+f7779m0aRMrV65k4sSJhIeHExgYyLRp01i5ciWbNm1izZo1/P3332bbi4uLo1+/fmTLlo0pU6Zgb//0Ruzt3VyJCwr5N7fgEOwcs2PrkM00L+bMn2R74zXs3d0AcKpfG9vMmbDLmYOIbbuIv3OHIuuXUnTDcgzXbxJ58OgT5xUYGIi7+7+/5Nzc3IiMjCQyMjLFcUmXuRMYGMS1a1fJk8eFFSuW89lnn9KuXVvOnTtrGkL66quxNG3alBIlSjzxcQAE3YnALYeTado1hxORsfeI+k8hPXnHVhq+9jpFXd2S3c7hC38TfCeCZm+Ut0peD0rJ+X5YjKurK5MmTKBo0aJJtr1x0ybi4uJo8uGH1s87KBC3B3JyvZ9TVFRkiuMqVqxEoUIvAXDz5k3WrFlFjRo1CQsLIyoqimPHjtK9WxfatW3Fzz/vI0eOHFbLPyQ4CBeXf7/eeVxciYqKJDo6Kkls5+79qV7zfYvb2r3jB5zzuFDxnWpWyy8wMBB3t3/zc3N1TfyaR0WlKCY4JIQp06czetgw7GzNf200+uAD0/fcwcOHOenvzzsVKz55zkFByV+nD+b8kJhKFSvy0v3C8ebNm6xas4Za9/9zX71aNfr36YOT07/fz1bJ91Hn+CExNjY22NvbM3TkSD5p25Y3X3/dlP8/vp45k+5duiQpHOXxJRjT7/O8eWRFYzQamTx5Mrt27cLOzo5PPvmEqlWrMmzYMMLDw3FwcMDLy4uyZcvi6emJo6Mjf/zxB4GBgfTo0YNmzZpx6NAhJk2aBEDOnDmZMmUKUVFRtGvXjj17EodZZsyYAUCvXr149913ee+99zh+/Diurq60atWKZcuWERAQwPjx46lQoQKXL19mxIgRhIeHkzVrVoYOHUrp0qUtHsedO3fYvXs3U6dOZdCgQab5+/bto3bt2mTJkoUsWbJQoUIF9u7di9FopFKlSqZOSd26dfHz8+PD+78c4+PjGTBgAA4ODowbNw7b+z80a9SoQb169di7dy92dnb069ePRYsWcfnyZQYNGkT9+vVT/1VKCRubZGcbHxhajfndn9AlK8k31hsSjERs3UH87QiMhjhyd2hFfHgEFxq3xjZLZvKNHUquT5oQvmbDE6VlNCY/tGtnZ5fiuOS6MHZ2tsTFxXHjxnWyZ3dk4cJFXL16lc6dO1GwYCH8/f2xs7OnUaPG3Lhx44mO4R8JFsYIbB849xt+PY6drS0flCnHzdvhycb/v707j6sp7+MA/rmV1BTSjMou+4wRg+xkm8iIkKxFGstMCyGVJcZeIetgxhhZSkLJFlLDMIPMMLSN5zFIDIWWoWi59/mj6T4u3Zutzrndz/v18np1T6f6qHPv/Z3vbwu/dBFjOnV55Y22PDO++Pt+nXNelpKSgv0HDuD7LVveLaASUiWvnlpa2m98XkpKMny8vTDc3gHdu/dAeno6ioqKcPduGjZs3ISszEx8/fVUmJnVhpVVr/eSX9n1q/UWf+PDEWGY6jH7XSMpUDYQ/8VrUOlgfZkMcxcswAwPD3z00UdKf8bhY8ewZsMGrFi8WOV5r0vZsJAXM7/OOckpKZjl7Q0He3v06P7uw2aUeV95Fy9YAF8vL8yeOxdbf/wRU778EgDwx7VryMrKkldrSfPcu3cPXl5eePToEczNzbFy5UoYvHSzMHXqVPz9998Aiq+369evY9++fWjZsiU6deqE+v9Wr4Hi4VuqXvfLbCBGR0fj999/x6FDh1BQUIAxY8YgJCQEM2fOhLW1Na5cuYJp06bh+PHjAID79+8jJCQE169fh5OTE4YPH45vv/0WCxcuhIWFBXbs2IGkpCQ0atRI6c98+PAhevXqhSVLlsDR0RExMTEICQlBREQEgoOD0bFjR3h7e8PPzw+ffPIJ/vvf/8LV1VWeoTTVqlXD+vXrkZaWpnA8PT0drVu3lj+uVasW7t+/D4lEglq1asmPm5iY4Oq/Y2+Kioowe/ZsnDx5EkeOHHnlTcDExARHjhyBr68vvvvuO+zYsQO///47li1bVm4NxMIHGdD7pIX8sc5HH6Eo5x/Inj2XH5Po6yPvyjXkHCnuRteuaYQPXRwhzfkHhj27ImPtZqCwENLCQuREn0K1Xt3fqoG4efNmnDlzBgDw9OlTNG3aRP65jIwMVK9eHfr6+gpfY2pqhoSEhFLPMzU1w8OHD1/4XDpMTEzw0UfFf59BgwYBAOrXr4+2bdsiMTERhw8fwrNnzzBmzBgUFhbg+fPnGDNmDNauXavwd30TptWqI/nvu/LHD//5B9X09KCvqys/Fp1wFc8LC+Gy/XsUSKXyj/3tR+Ejw2rIyn2K5L/vYYmd/VtlKIuZqanS3+ObnPOyI0eP4unTp5j475tVRkYG5vn5YZq7O6x69nyrrN99txlnf/7/ddKkSVOFTNVKyWRmaoqkxASl5508eQKBgf6YOdML/fsXV+lq1qwJHR0d2AwYCC0tLRh/+CG6de+OhGvX3qmBGLrze1y6cBYAkJubi4aN/l91ffTwIQwNq0FPT/nvtDR/3biOImkRWrX+7K1zlcbU1BQJSUnyxxkPH6J6tWoKv19l5/x16xbu/v03gv69iX/0+DGkUiny8/Mxz8cHMpkMazZsQOxPP2HjmjVo8Z4q9mampkhITPx/HmXXsopzjp88Cf/AQMyeORMD+vd/L7mU5jUzK/N3rOqcXy9cQNPGjVGrVi188MEH6N+vH2JP/39i3clTp/CFjc1b3XSQcjKoT2nvm2++wZgxY/DFF19g48aN+Pbbb+H10nCDzZs3yz9eu3Yt2rZti9atWyMhIQGfffYZfvjh9SeflnmlxcfHw8bGBrq6ujAwMEBISAgyMzNhbW0NAGjbti1q1KiBv/76CwDQrVs3SCQSNG/eHFlZWQCAvn37ws3NDYsWLUKTJk3Q/TXu4nr++6ZTt25ddO7cGQBQp04d5OTk4OnTp0hISICvry+GDBmCmTNnIjc3F5mZma/9Hy9R2l2zlpZWqccl/1aK7t+/jw8++ADTpk2Dl5fXK2MPS7LXqVMHlpaW0NHRkWcvL7nxv0Pvk5aoUq8OAKDGkIF4eva8wjk6Hxmj7lp/ebez8fjR+OdU8QvQ8+s3YNi7R/GJ2tow7N4JeUkpb5Vl6tSpCAkJQUhICH788UckJCQgNbV49u7+/fvRs+erXWedO3dWep6VVU9ERUWhsLAQ//zzD06cOAErq16oW7cuWrZsiSNHDgMAHj16hKtXr+Ljjz9GcPAOhIXtRUhICNasWYuqVasiJCTkrRuHAGDZqDGS7t1DWuZjAEDUH7+jW9PmCudscZyI7c6T8cOESfAfPhJVdXTww4RJ+MiwuDvz2t00tDSrrdCofJ86d+qk+Hs8cABWPXq88TkvmzljBg7s24eQXbsQsmsXatWqhSWLFr114xAAJk+eih07Q7BjZwi+31p8ndz5N1NExH707PHq9+7YqbPS82JjTyFo9UqsXbte3jgEgCpVqqB79x44euwIgOLGXPzFC/hYRY/D6xjtOEk+qWTF6u9wPSUR9+7eAQCcOBoBy86qf6elSbp2Ga0t2slfa96Xzh07IiExEal3ivPtj4xEz5evCyXnWHz6KY4cOICQ7dsRsn07hg8Zgs/79ME8Hx8AwKq1a3H5jz+wY+vW99Y4BEq5TiMiyr6WXzgnJjYWK1evxoa1a8u9cQiU8vsrLa+Kc07GxuK7H3+ETCZDfn4+TsbGokO7dvKv/f3yZXRs377c/x9UfnJycpCWlvbKv9dpGxQUFCA+Ph79/72Whw0bhujoaKXn37hxA5GRkfIe02vXruHx48dwcHCAg4MDLl4sewhZmRXEl8fV3blz55XGk0wmQ9G/M8Gq/rvkx4svcBMmTEDv3r0RFxeHwMBAXL16FYMHD1b4PoWFhQo/S/eFN9CXS6BSqRS6uro4ePCg/Nj9+/ffauC8qampwmzNjIwMmJubQyaT4dKlS/Lj6enFVSuguEK4aNEiyGQynD59GmvWrMGsWbPk51apUkX+cUWNSyzKysaDFUGovWgOJFV0UHD3Pu4vXYmqLZrBdLYHUl3cUXDnLjJD9qL+liBAooW8a4nICCqeQZex4TuYTPsKDXdugUwqRd5vV5C5O/ydcxkbG8PPzw8+Pt4oKChAvXr1sHDhNwCApKQkLFmyBCEhISrPGz7cHmlpd+XVwKFDh6H9vy+UgYEr4e/vj/37D0Amk+LLL79Eq1at3jl3aWoaGMDHZhD8Du5HQVER6hrVxJyBg5Fy/x4Co4/ghwllL1eTlvkYZv9OoikPxsbG8Js/H96+vigoLES9unXxzYIFSEpOxpKlSxGya5fSc4RkbGyMefP9MGeODwoKClC3Xj34+S0EACQnJ2H5siXYsTNE5Xmbvt0ImUyG5cuWyL9va4s28PLyho/vXKwJWoXRoxwglRbB2noA+vTp+97y1zCqCVfPOVi5bB4KCwtgZlYX7rPmAwD+ez0Zm9atwKoNwWV+n7/vpsHEtPZ7y1XCuGZN+M2ZA5958+R/84Xz5iEpJQVLVqxAyPbtSs9R5f6DB9i7fz9qm5nB1fP/k8FGjRiBwS9NBnzjzCXX6Zw58teEb/z8iq/lZcsQsnOn0nMAYOO330Imk2HJsmXy79nGwgLe5TTBo+T35z1vXnGWunXxzfz5xXlXrEBIcLDScwDA080NywIDMdLRERKJBL169MBoBwf5909NS0Pt2u//2tB0FTm7ODg4uNRVPNzc3ODu7q7yazMzM2FoaChvU9SqVUthxY6Xbdq0CS4uLvLlyyQSCfr27QtXV1ckJydj0qRJOHToEIyNjZV+D4msjFUiT548iR07dmDbtm3FA9SHDsXjx4+xZMkSeRezq6sr4uLi4Ofnh44dO2LYsGEAgBYtWuDPP//EiBEj8M033+CTTz5BZGQkTp06hWXLlsHKygoxMTEwNDTEqFGj0Lt3b7i7u8u/DgB8fHzk3/PChQvYsGEDdu7ciWHDhmH8+PEYMmQIzp07Bz8/P8TExJR5552WlqYw9vHq1avw8/NDaGgo8vLyYG9vj9DQUADA6NGjsW/fPujr62PUqFFYvHgxjI2NFb4+LS0NdnZ2WL9+Pbp06YI+ffpgx44dqFevnsK4ypd/bln+07OcxiqWI9PDYUJHeGO5e99tjGVFM7AfLHSEN1YgU78usXuP330Gf0VqUF19uslKSASc1PdW3tNyOBWp2nsYC1rZeW5MLPuk9+Qbx/qlVgurV6+uMGHq2LFjWL58ucI5jRo1wq1bt+TDtwoLC/HZZ5/h2rVXl+vKzs7GgAED8NNPP8mLdi/76quvMHz4cPTrp3y1jTKfoZ9//jkSEhIwbNgwSKVSODk5oVOnTli4cCHWr1+PKlWqYP369QoVv5fNmDEDPj4+0NHRQdWqVfHNN9+gWrVqcHFxgb29PczMzBTGAb6OwMBALFy4EFu3bkWVKlUQFBT0Vt0yFhYWGDx4MOzt7VFYWAgPDw/5rDhPT084OTmhoKAA9vb2sLCweGUMY7169eDr6wsvLy9ERUW98c8nIiIiYVTk7OKXG4LK2NjYwMbGRuFYQUEBOnXqhKKiImhrayMjI0Peq/my06dPo2fPngqNw8jISLRr106+JJRMJlPo7SxNmRVEEgYriBWDFcTyxwpi+WMFsQKwglgpTdtQcRXEtW7vNvxp8uTJsLW1ha2tLTZt2oT09HQsKGV40KJFi/Dxxx9jxIgR8mP+/v7Iy8vDwoUL8ddff8HZ2RlHjhwpdVezEmr2DFVt+/btiIh49Q3fxMQE33//vQCJiIiISKzUqUa2YMEC+Pj4YNOmTahduzZW/7uhQWhoKNLT0zFt2jQAxXNFer20046rqyvmzJmDQYMGQSKRwN/fX2XjEGAFUbRYQawYrCCWP1YQyx8riBWAFcRKyWN9QtknvSfr3D+tsJ/1PqjZM5SIiIjo/WCJTDn1u7UnIiIionLFCiIRERFpJHXcI7misIJIRERERArYQCQiIiIiBexiJiIiIo3EhVyUYwWRiIiIiBSwgkhEREQaiQVE5VhBJCIiIiIFrCASERGRRuIyN8qxgkhEREREClhBJCIiIo3EWczKsYJIRERERApYQRSpZmeOCh1BI1T/0knoCCRCxjWFTkBEFYEFROVYQSQiIiIiBawgEhERkUbiLGblWEEkIiIiIgWsIBIREZFG4ixm5VhBJCIiIiIFrCASERGRRuIYROVYQSQiIiIiBWwgEhEREZECdjETERGRRuIcFeVYQSQiIiIiBawgEhERkUZiBVE5VhCJiIiISAEriERERKSRpCwhKsUKIhEREREpYAWRiIiINBILiMqxgkhEREREClhBJCIiIo3ECqJyrCASERERkQJWEImIiEgjcRazcqwgEhEREZECVhCJiIhII7GAqBwriERERESkgBVEIiIi0kisICrHCiIRERERKWADkYiIiIgUsIuZiIiINBKXuVGOFUQiIiIiUsAKIhEREWkkFhCVYwWRiIiIiBSwgkhEREQaiRVE5VhBJCIiIiIFrCASERGRRuIsZuVYQSQiIiIiBWwgEhER9u/fj6tXr8ofr1q1Cvv27RMwEVH5k8kq7p+6YQNRQ/z2228IDQ1Ffn4+4uPjhY7z2rKzs4WOoNK9e/dU/qP3Jz8/H5s2bcLs2bPx5MkTbNiwAfn5+ULHei1iv4537tyJPXv2wNDQUH6sZ8+eCA0NRUhIiIDJiEgoHIOoAYKDgxETE4P09HQMGDAAfn5+sLe3h4uLi9DRlEpOToanpyeePXuGsLAwjBs3DmvWrEGrVq2EjqZg3LhxkEgkeP78OR49eoT69etDS0sLqampqF+/Po4fPy50RKXu3r2LefPm4e7du9i1axdmzZqFZcuWoV69ekJHK9WiRYtgbGyMpKQkaGtrIzU1FXPnzkVgYKDQ0ZRSl+t437592L17t0ID0dLSEt9//z0mTJiAMWPGCJiubElJSdi8eTOys7Mhe6FUs2PHDgFTKffzzz8jKCgIOTk5kMlkkMlkkEgkOHXqlNDRVIqOjsaWLVuQk5MDAGqTWxV1rOxVFDYQNUBERAT27t0LBwcH1KxZE/v27cOIESNE3UBcsmQJNm7ciJkzZ8LU1BQLFy7EggULRNflFRsbCwDw9PTE2LFj0aFDBwDA1atXsXXrViGjlcnPzw8uLi5YtWoVatWqhUGDBsHb2xu7d+8WOlqpEhMTERERgTNnzkBfXx/+/v6wtbUVOpZK6nIda2lpKTQOSxgbG0NLS/wdTd7e3hg5ciSaNWsGiUQidJwyLVmyBD4+PmqTt4S/vz8CAgJQp04doaNQBWADUQNoaWlBV1dX/rhq1arQ1tYWMFHZ8vLy0KRJE/njbt26wd/fX8BEqt24cUPeOAQACwsL3Lx5U8BEZcvMzET37t2xcuVKSCQSODg4iLZxCAASiQT5+fnyN9TMzEzRv7mqy3Wsra2NR48e4cMPP1Q4/vDhQxQVFQmU6vXp6elh3LhxQsd4bTVr1kTv3r2FjvHGGjRogPbt26vFTcPr4ixm5dhA1AAdO3aEv78/8vLyEBMTg7CwMHTu3FnoWCoZGRkhJSVF3gCIiopCjRo1BE6lnJmZGdauXYuBAwdCKpUiKioKjRo1EjqWSnp6erh//778d3zp0iWFGwmxcXJygrOzMzIyMrB06VLExMTA1dVV6Fgqqct1PG7cOEyaNAlz5syBhYUFZDIZrl27hhUrVmDkyJFCxytT9+7dsXPnTnTv3h1Vq1aVHxdrpat9+/ZYvnw5evTooZDX0tJSwFRlmzhxIpycnGBpaalQZHBzcxMwFZUXiUzG5nNlJ5VKsXfvXvzyyy+QSqXo0qULRo4cCR0d8d4fpKamwtvbG9euXYOenh4aNmyIwMBANG7cWOhopcrOzsa6detw8eJFAEDXrl3h7u5earedWFy9ehXz589HamoqGjRogOzsbKxZswZt27YVOppS//3vf3HhwgUUFRWhY8eOaNmypdCRVFKn6zgsLAybN2/G33//DaC4WuTi4oKOHTvC3Nxc4HSq9enT55VjYh4b5+jo+MoxiUQi2jGTJezs7PDxxx+jbt26CsfVuYH4he+lCvtZR5Z3KPskEWEDUQM8ffoUkZGRGDt2LB48eIA9e/Zg8uTJ0NfXFzpamXJzcyGVSkXd0CqRm5uL1NRUNG/eHM+ePcMHH3wgdKQyFRQU4NatWygqKkLjxo1FWUGMjIxU+Xk7O7sKyfEuHjx4AKlUitq1awsdpUyZmZmQyWT49ddfsWfPHiQkJODy5ctCxyIRGDRoEA4fPix0jPeKDUTlxFtCovdm5syZaNGiBQDAwMAAUqkUs2fPxvr16wVOptylS5cQHBz8yvIgYr3D/vXXX+Hn54eioiKEhYXB1tYWK1euRPfu3YWO9gpfX1+Vn1++fHkFJXk9Fy5cAFBcjbt9+zZ69eoFLS0tnD17Fk2bNhV1AzElJQWzZ8/GgwcPIJPJ0LhxY/j7+6Nhw4ZCRyvVnTt3EBYWhoiICGRnZ2Pq1KlYu3at0LGUWr9+Pdzd3ZVe02K7lks4OjqWOn5WrK9vJXr16oVdu3ahR48eqFKlivy4WLvy6d2wgagB7t27h82bNwMADA0N4enpiSFDhgicSjUfHx+4ubmpzQvP6tWrERISgkmTJqFWrVrYtWsXZsyYIcoGYseOHQEAcXFxePr0KQYPHgwdHR0cPXoU1apVEzjdq0re5B0dHREVFQVjY2MAxd36Yh+DOGfOHHh6esonJJw8eRK+vr6iW1vw5MmT2LNnDxITE/H5558jICAA8+fPF33XYclyQSXXtLpwd3eXf1xYWIhTp06hevXqAiZ6PUePHgUAbNu2TX5MzF35r4N9qMqxgagBJBIJ/vzzT3kV8caNG6IefwgApqamoq4MvUwqlaJWrVryx02bNhUwjWpDhw4FAISEhCAsLEw+I9HGxgYODg5CRlMpPT0dRkZG8sf6+vrIyMgQLtBrkMlkCrNVP//8c2zcuFHARKVzd3fHgAEDEBYWJq9uin2GOPD/sYdDhw5FVlYW8vLyIJPJUFRUhLS0NIHTKfdyg7Zr164YMWIEpk2bJlAi1aRSKbS0tOTLer0oMzNTgERUEcTdSqD3wtvbGxMnToSpqSmA4id0QECAwKlUc3R0xKxZs9C5c2eFxqxYG41mZmaIi4uDRCJBTk4Odu/eLfrq5z///IOsrCx5Re7hw4fIzc0VOJVyvXr1grOzM6ytrSGVShEdHQ0bGxuhY6nUoUMHfPvtt3BwcIC2tjaOHj2KJk2ayHfZEcs1EhUVhYiICIwZMwZ169bFF198oRbL25RYvXo1du/ejcLCQtSsWRMPHjzAp59+ivDwcKGjlerFXZZkMhn+85//ICsrS7hAZZg1axZWrVr1yk3D+fPnMXv2bJw5c0agZO+Oy9wox0kqGiI/Px/Xr1+Hjo6OaCcjvMjJyQkAXpktJ9YxRY8ePcLSpUvxyy+/QCaToVOnTpg3bx5MTEyEjqZUZGQkVq5ciXbt2kEqleKPP/7AvHnz0L9/f6GjKXX8+HFcvHgREokEXbp0Qd++fYWOpFJps2tLiLFrrqioCHFxcYiIiMDp06fRtWtXjB07FlZWVkJHU6lPnz6IiorC0qVL8dVXX+HevXv48ccfsWXLFqGjlapPnz6QSCSQyWTQ0tJCzZo14e7ujp49ewodrVSurq4wMDCQFxakUimCgoKwZ88e+Pr6YtiwYQInfHsDvCtu69lo//ezjNHatWuhpaWlMFShRH5+PubOnYuEhATo6elh5cqVaNKkCWQyGQICAhAXFwctLS0sXrwY7du3V/lz2EDUACVbqb28DZVYG1tAcXfnsWPHhI7xxrKyshS6QcUuPT0dly9fhkQiQfv27V9ZKFkMEhMT0apVK6V7iIt57biMjAyFoQfq5PHjxzh48CAiIiIQFRUldByVRo4cibCwMGzbtg316tWDtbU1hg8fjv379wsdrVR//PEHfvvtN4wbNw5Tp05FYmIiFi1aJNqbs8LCQsyYMQMGBgb46quvMGvWLFStWhUrVqx45SZe3fSvwAbi8XdsIP7zzz9Yvnw5jhw5gi+//LLUBuIPP/yA27dvY9GiRYiPj0dAQADCw8MRHR2NAwcOYPPmzbh9+zYmT56MY8eOqRxuxi5mDTB9+nR06NABHTp0UItxRUBx11xcXBx69Ogh+vGSgPrsuQsUr3c3cuRIbNiwQeH49evXAYhvTbM9e/Zg8eLFWLdu3SufE/vacePGjUPDhg0xbNgw9O3bV2Hmp9gZGxvD2dkZzs7OQkcpU7Vq1RAZGYlWrVph165dMDExke8XLEZLly6Fl5cXTpw4AT09PURGRsLNzU20DUQdHR0EBQVh5syZGDhwIKZNm4Yvv/xSbd5PxCInJ6fU67J69eqvNUnp1KlTaNSokcrn5E8//SQfy2ppaYnMzEzcu3cPp0+fxsCBA6GlpQVzc3PUqVMHly9fVnmDLf53XnpnhYWF8Pb2FjrGG4mLi3tl/JBEIkFycrJAiVRTlz13AUDdOg0WL14MANi5c6fC8SdPnoh+fczjx48jPj4ekZGRCAwMhJWVFYYOHYrWrVsLHa1SkUqlyMzMhJ2dHeLi4uDn54fp06cLHUspqVQKS0tLzJw5E9bW1qhdu7box3xqa2tj9erV8PLyQlpaWqVpHL5rVe9NrF+//pUbc6D4pry0auDLSsbgq1qiLj09XaHXolatWrh//z7S09MVhjyVHFeFDUQN0L59e8TGxqJ79+6iH3tY4uzZs0JHeCPqsucuAIwaNQpA8YtSfn4+dHV1cfv2bdy8eVO0Y6CA4puGS5cu4euvv4a9vT0eP34MDw8PjB07VuhoKllaWsLCwgLHjh1DUFAQYmNjYWxsDD8/P1HvWqNOsrOzMWLECADFS2SJnb6+PrZt24YLFy7Az88PwcHBMDAwEDqWUiVjJoHicar379/HTz/9BG1tbVGOpRWr8ePHy1eReNHL1cNjx469MgSscePG2L59+1v9XC0trVILA2Xtqc0GogaIjo7Grl27FI6JuRoHoNS7LEB83Z8l1GXP3Rdt3LgRt2/fxvTp0zF27Fg0a9YMp06dklfsxGbDhg0ICAjA0aNHYWFhAT8/Pzg6Ooq6gfjLL7/g4MGD+OWXX2BlZYWgoCC0a9cOf/75JyZNmqTWsz/FREtLC3369IG5ubnC3sZiHX6wcuVKhIeHY926dahRowbS09OxatUqoWMp9XL1nt7O63Yl29jYvPUKDSYmJsjIyJAvV5WRkQETExOYmpoqLAtWclwVNhA1gLpV415WUFCAn3/+GW3atBE6ilILFy6Et7c3/vOf/6BDhw7yPXfF7NSpU9izZw+2b9+OwYMHY/bs2aKfjdikSROsXr0agwcPhoGBAQoKCoSOpNLGjRsxfPhwLFy4UGFryxYtWmDixIkCJqtcvLy8hI7wRkxNTRVudsWev27durhx4waOHz+O+/fvQ0tLCyYmJujRoweHS4iMlZUVDh48iA4dOuDSpUuoWrUq6tSpg549e2L//v0YNGgQ0tLScOvWrTL/dmwgaoBHjx7h0KFDePr0KWQyGaRSKdLS0kS9FuLLlUJXV1dRv6E2aNAAoaGharXnrlQqha6uLuLi4jB9+nRIpVLk5eUJHUupjz76CIsXL0ZCQgICAwOxYsUK0awjqEzPnj1faXSvXr0aM2bMwIQJE4QJVQmp204q6mb37t3Yu3cv+vfvL29UZGRkYP78+Rg8eLCoX5s1QWhoKNLT0zFt2jQ4OjrCz88PX3zxBXR1deXv8wMGDMDVq1cxePBgAMUTpfT09FR+Xy5zowFGjx6NBg0a4MqVK+jXrx/OnTuHli1bYsWKFUJHe22ZmZkYPnx4qSv5i4G67bkLAP7+/vj555+hp6eHvXv3Yty4cWjbti1mz54tdLRSPXnyBDExMfjss8/QsGFD7N69G3Z2dqIcu7Vy5Uo8evQIsbGxCmshFhYW4urVqzh+/LiA6YjeTP/+/REZGalQBQeKx14PHToU0dHRAiWj8sQKogbIzMxEaGgo/P39YW1tjalTp4q+evHioGiZTIacnBy4uLgInEo5ddlz90Xe3t5wdHSEmZkZtLS0MH/+fHz88cdCx1LK19dXYfbe2LFjMX78eAQHBwuYqnTW1ta4ceMGzp8/r1Dd0tbWFv3+0UQv09HRQWFh4SvHnz17plZLN9GbYQNRA5RMljA3N0dKSgratGlT6pNdTF4cFC2RSFC9enVRL2miLnvuvkhdFlB3dXVFSkoKHjx4oLBzSlFREczMzARMppyFhQUsLCzQr18/VKtWrdRzpkyZItqdPoheNHXqVNjZ2aFLly7yJVQyMjJw/vx5eHp6CpyOygsbiBqgc+fO8PDwkO/JnJiYqDDTT4wMDAyQlJSErl27YsuWLUhMTISHhweaNm0qdLRSdejQARs3bsTIkSNFvefui9RlAXV/f39kZWVh6dKlmDdvnvy4jo6OKHd+eZGyxiEAPHjwoAKTEL09W1tbdOzYEb/++ivS09Mhk8nQoUMHuLu7w9TUVOh4VE44BlFDpKamokGDBkhISMClS5cwcOBAUe8T7OLigt69e6Nx48YIDAzE+PHjER4ejt27dwsdrVQv7q36Ytc4IM49dwFg6NChiIiIEDrGa1PHrfZUUbffP2m2nJwcxMXF4cGDB5BIJDAxMUGXLl1E/T5C70b1KolUKbi7u6NBgwYAgE8//RQTJkwQ/bIK2dnZGDduHE6dOoWhQ4fCzs5O1DNsg4KCMHbsWERHR6Nhw4Z48uQJZs+ejdjYWFE2DoH/L6Cen58vdJTXsm7dOvm/1atXY8qUKfj++++FjkVU6Z08eRLDhw9HfHw8cnNz8fTpU1y8eBGjR4/GoUOHhI5H5YRdzJWYOo7dKiGVSpGQkICYmBjs2rULycnJot6KStneqgMGDBA6mlLqtoD6y4v13rlzR3TjJYkqo1WrViEsLAzGxsYKxx8/foyxY8fC1tZWoGRUnthArMTUeeyWl5cXAgIC4OzsjPr168PBwUHUW2ip496q6r6Aev369fHXX38JHeOtcXQPqQuJRFLqeFoDAwNoa2sLkIgqAhuIlZihoSEMDQ2xdu1a/PXXX2jZsiUOHTqEpKQkODs7i3rsSJcuXdClSxf547179wqYpmzqtLdqWFgYRo4cqXbbGfr6+io8vnHjBpo3by5Qmjf35MkT/P3332jWrBkAwM7OTthARK9pxIgRGDlyJD7//HP5LOaHDx/ixIkTsLe3FzgdlRc2EDWAl5cXGjdujOfPn2P9+vUYMmQIfHx8sG3bNqGjKRUREYEVK1YgJydH4bhYuz/VaW9Vda1cvbieoEQiwYABAxRuIsQoPDwcv//+O7y8vOSLeltbW8PT01P0a5ESlZg4cSIsLS1x+vRpXL16FUDxnr8LFy6EhYWFwOmovHAWswYYPnw49u/fj4CAABgZGWHy5MnyY2LVt29fbNq0Sa0qRJWJWNfou379Oi5evIjCwkJ06tRJ1At7A8CwYcOwbds2REVF4ebNm5g7dy4cHBxw4MABoaMREanEWcwaoKioCI8fP8apU6fQq1cvZGRk4NmzZ0LHUsnU1JSNQwGJcY2+yMhIfP3110hLS8O9e/fg5uaGffv2CR2rTEZGRjh9+jR69eoFHR0dPH/+XOhIRERlYhezBnBxcYGDgwP69OmD5s2bo3///pg2bZrQsVRq1aoVPDw80K1bN4VFvTluq2KIceHsH3/8EeHh4ahZsyaA4t0dnJycRD0GqmnTppgyZQrS0tLQpUsXTJs2DZ9++qnQsYjeyKBBg0pdZqxk3VexLuVF74YNRA1ga2ursAzB0aNHRT/z7MmTJzAwMMCVK1cUjrOBqLmkUqm8cQgAxsbGomzIvmjZsmW4fPkymjVrBl1dXQwZMgRWVlZCxyJ6I6tWrcKkSZOwevVq1K5dW+g4VEE4BrESKxlHVrLLx8vEftdXUFCAmzdvoqioCM2aNYOODu9nKooYd/mYNWsWatasKa8Y7tu3D1lZWQgMDBQ4mXKPHj3CoUOH8PTpU8hkMkilUqSlpSEgIEDoaERvJDIyErGxsVi3bp3QUaiCsIFYiW3ZsgWmpqZKZ60OHTq0ghO9voSEBHh4eMDIyAhSqRQPHz7Exo0b0aZNG6GjaQQ7OztERkYKHUPBs2fPsH79epw/fx4ymQydO3fG119/DUNDQ6GjKTV69Gg0aNAAV65cQb9+/XDu3Dm0bNkSK1asEDoa0Rt78uSJqJ9v9H6xJFOJ3bp1C7du3cKdO3dw+/ZtWFlZQUtLC2fPnkXTpk1F3UBcsmQJgoKC5A3CK1euYPHixWoxKUGdFBYW4s8//4S2tjZatGghrzSLsStfT09P6RaRYp11nZmZidDQUPj7+8Pa2hpTp07l8jaktlQ1DsX6HKS3xwZiJVayDZmjoyMOHjwo3yYpOzsbrq6uQkYrU25urkK1sG3btpz9+Z6dO3cO3t7eMDExgVQqRU5ODtasWQMLCwu1a8SIcdY1ANSoUQMAYG5ujpSUFLRp0wYFBQUCpyJ6/8T6HKS3xwaiBkhPT4eRkZH8sb6+PjIyMoQL9Bpq1KiBmJgY9OvXDwAQExOj8H+gd7d8+XJs3boVLVu2BABcu3YNCxYsUMs1+sQ6WaVz587w8PCAt7c3Jk6ciMTEROjr6wsdi+i9E+tzkN4eG4gaoFevXnB2doa1tTWkUimio6NhY2MjdCyVFi9ejClTpmDu3LnyY3v27BEwUeWjq6srbxwCQOvWrQVMUzk1atQI9evXR3x8PEaNGoXc3Fy0a9cO169f5zqfRCRqbCBqAF9fXxw/fhwXL16ERCLBxIkT0bdvX6FjqXTmzBno6+sjIiICqamp8PT0xMWLF2Fubi50tErDwsJCvrOHtrY2jhw5grp16yI+Ph4AYGlpKXBC9RcbG4vk5GT58+2nn36CiYkJdu7cCVtbW7XryicizcFZzCRKgwYNQnh4uLw7Li8vDw4ODjh06JDAySoPR0dHpZ+TSCTYsWNHBaZ5N2KcdQ0Ao0aNwnfffYfq1asDKJ4FOnXqVGzfvh3Dhg1DVFSUwAmJ3g+xPgfp7bGCSKJUUFCAKlWqyB+/+DG9Hzt37hQ6whtTp1nXQPEsZgMDA/njqlWrIjs7Gzo6OhyzRWorOztbPgGrhFifg/T2WEEkUQoMDMSVK1fkYyVPnDiBdu3aYfr06cIGq0QuXbqE4OBgZGdnKxwXa+VQ1axrsVq1ahUuX74MGxsbSKVSnDhxAu3bt0ejRo1w+PBhbN26VeiIRK8tOTkZnp6eePbsGcLCwjBu3DisWbMGrVq1EjoalQM2EEm0oqOjER8fDx0dHVhaWspnNNP70a9fP7i5uaFOnToKxzt27ChQItUGDRqElStXqt2s67i4OJw7dw7a2tro2rUrrKyscOXKFZibm79ShSESs7Fjx2LRokWYOXMmIiMjce7cOQQFBXF92kqKXcwkWgMGDMCAAQOEjlFpmZqaqlW3kLrOuu7duzd69+6tcKxt27bChCF6B3l5eWjSpIn8cbdu3eDv7y9gIipPbCASaShHR0fMmjULnTt3VtjnWqyNRs66JhKWkZERUlJS5ONno6KiWAWvxNjFTKShnJycAAB169ZVOF6yA4/YVKZZ10TqKDU1Fd7e3rh27Rr09PTQsGFDBAYGonHjxkJHo3LABiKRhrKxscGxY8eEjkFEaiY3NxdSqVTl3syk/tjFTKShOnTogLi4OPTo0UOhi1ms1G3WNVFlw+egZmEFkUhDde/eHQ8fPgRQ3EUrk8kgkUiQnJwscLLSqdusa6LKhs9BzSL+sgERlYuzZ88KHeGNqNusa6LKhs9BzcIKIpGGys/Px7Zt23Dz5k3Mnz8f27dvx+TJk6Grqyt0tFJFR0cjJiZGbWZdE1U2fA5qFlYQiTTUokWLYGxsjMTERGhrayM1NRVz585FYGCg0NFKFRISAgD47bffFI7zzYmoYvA5qFnYQCTSUImJiYiIiMCZM2egr68Pf39/2NraCh1LqYyMDM66JhIQn4OaRUvoAEQkDIlEgvz8fPmit5mZmfKPxahk1nVhYaHQUYg0Ep+DmoVjEIk0VGRkJMLDw3H79m3Y2Njg5MmTcHNzg729vdDRSqVus66JKpsXn4Ml+BysvNhAJNJQ7u7umD59Os6fPw+pVApLS0ssX74cwcHBQkcjIiKBsYFIpGFcXV2RkpKC9PR0mJiYoOQlQCqVonbt2ggNDRU4YenUbdY1UWWzYcOGUo+7ublVcBKqCJykQqRh/P39kZWVhaVLl2LevHny4zo6Ovjwww8FTKaaus26JqrMCgoK8PPPP6NNmzZCR6FywgoiEamFoUOHIiIiAnZ2doiMjIRMJoOtrS0OHz4sdDQijZSfn4+JEydi165dQkehcsBZzESkFtRt1jVRZff06VPcu3dP6BhUTtjFTERqwcnJCc7OzsjIyMDSpUvls66JqGL06dNHflMmk8mQk5MDFxcXgVNReWEXMxGpBc66JhLW3bt35R9LJBJUr14dhoaGAiai8sQGIhGJmrrOuiaqbLKyspCUlISuXbtiy5YtSExMhIeHB5o2bSp0NCoHbCASkag9efJE5axrHR2OlCGqCC4uLujduzcaN26MwMBAjB8/HuHh4di9e7fQ0agcsIFIREREZbK3t8e+ffuwePFiNGzYEE5OThg2bBgOHDggdDQqB5zFTERERGWSSqVISEhATEwMevfujeTkZBQVFQkdi8oJ+2aIiIioTF5eXggICICzszPq168PBwcH+Pj4CB2Lygm7mImIiIhIASuIREREVKaIiAisWLECOTk5CseTk5MFSkTliRVEIiIiKlPfvn2xadMmNG/eXOgoVAE4SYWIiIjKZGpqysahBmEFkYiIiMq0dOlSPHjwAN26dUPVqlXlx+3s7IQLReWGYxCJiIioTE+ePIGBgQGuXLmicJwNxMqJFUQiIiJ6LQUFBbh58yaKiorQrFkz7mRUifEvS0RERGVKSEiAh4cHjIyMIJVK8fDhQ2zcuBFt2rQROhqVA1YQiYiIqEyjRo2Cr6+vvEF45coVLFmyBPv27RM4GZUHzmImIiKiMuXm5ipUC9u2bYvnz58LmIjKExuIREREVKYaNWogJiZG/jgmJgZGRkbCBaJyxS5mIiIiKtOtW7cwZcoUZGVlyY/t2bMH5ubmwoWicsMKIhEREZXpzJkz0NfXR1xcHIKDg2FsbIyLFy8KHYvKCSuIREREVKZBgwYhPDwc+vr6AIC8vDw4ODjg0KFDAiej8sAKIhEREZWpoKAAVapUkT9+8WOqfLgOIhEREZWpX79+GD9+PGxsbAAAJ06cQN++fQVOReWFXcxERET0WqKjoxEfHw8dHR1YWlqiX79+QkeicsIGIhEREREp4BhEIiIiIlLABiIRERERKWADkYiIiIgUsIFIRERERAr+B8sTnJvgdAo1AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(10,10))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Feature selection.2" + ] + }, + { + "cell_type": "code", + "execution_count": 540, + "metadata": {}, + "outputs": [], + "source": [ + "X = df_train[['speed', 'temp_inside','distance','consume', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y = df_train['consume_100Km'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 541, + "metadata": {}, + "outputs": [], + "source": [ + "X_train,X_test,y_train,y_test = train_test_split(X,y, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Models pipelines" + ] + }, + { + "cell_type": "code", + "execution_count": 542, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# We train different model to see which give us less error\n", + "models = { \"ridge\": Ridge(),\n", + " \"lasso\": Lasso(),\n", + " \"sgd\": SGDRegressor(),\n", + " \"knn\": KNeighborsRegressor(),\n", + " \"gradient\": GradientBoostingRegressor(),\n", + " \"rdm\": RandomForestRegressor(),}" + ] + }, + { + "cell_type": "code", + "execution_count": 543, + "metadata": {}, + "outputs": [], + "source": [ + "# Building pipelins of standard scaler and model for varios regressors.\n", + "\n", + "pipeline_lr=Pipeline([(\"scalar1\",StandardScaler()),\n", + " (\"lr_classifier\",LinearRegression())])\n", + "\n", + "pipeline_dt=Pipeline([(\"scalar2\",StandardScaler()),\n", + " (\"dt_classifier\",DecisionTreeRegressor())])\n", + "\n", + "pipeline_rf=Pipeline([(\"scalar3\",StandardScaler()),\n", + " (\"rf_classifier\",RandomForestRegressor())])\n", + "\n", + "pipeline_kn=Pipeline([(\"scalar4\",StandardScaler()),\n", + " (\"rf_classifier\",KNeighborsRegressor())])\n", + "\n", + "pipeline_xgb=Pipeline([(\"scalar5\",StandardScaler()),\n", + " (\"rf_classifier\",XGBRegressor())])\n", + "\n", + "pipeline_ridge=Pipeline([(\"scalar6\",StandardScaler()),\n", + " (\"rf_classifier\",Ridge())])\n", + "\n", + "pipeline_lasso=Pipeline([(\"scalar7\",StandardScaler()),\n", + " (\"rf_classifier\",Lasso())])\n", + "\n", + "pipeline_xgbr=Pipeline([(\"scalar8\",StandardScaler()),\n", + " (\"rf_classifier\",GradientBoostingRegressor())])" + ] + }, + { + "cell_type": "code", + "execution_count": 544, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "code", + "execution_count": 545, + "metadata": {}, + "outputs": [], + "source": [ + "# Dictionary of pipelines and model types for ease of reference\n", + "pipe_dict = {0: \"LinearRegression\", 1: \"DecisionTree\", 2: \"RandomForest\",\n", + " 3: \"KNeighbors\", 4: \"XGBRegressor\", 5:\"Ridge\", 6:\"Lasso\",\n", + " 7:'GradientBoostingRegressor'}" + ] + }, + { + "cell_type": "code", + "execution_count": 546, + "metadata": {}, + "outputs": [], + "source": [ + "# Fit the pipelines\n", + "for pipe in pipelines:\n", + " pipe.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 547, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LinearRegression: -0.047035 \n", + "DecisionTree: -0.093148 \n", + "RandomForest: -0.084951 \n", + "KNeighbors: -0.231354 \n", + "XGBRegressor: -0.072891 \n", + "Ridge: -0.047132 \n", + "Lasso: -0.504632 \n", + "GradientBoostingRegressor: -0.066258 \n" + ] + } + ], + "source": [ + "cv_results_rms = []\n", + "for i, model in enumerate(pipelines):\n", + " cv_score = cross_val_score(model, X_train,y_train,scoring=\"neg_root_mean_squared_error\", cv=10)\n", + " cv_results_rms.append(cv_score)\n", + " print(\"%s: %f \" % (pipe_dict[i], cv_score.mean()))" + ] + }, + { + "cell_type": "code", + "execution_count": 548, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar1', StandardScaler()),\n", + " ('lr_classifier', LinearRegression())]) R^2: 0.9925376978865574\n", + "Adjusted R^2: 0.9922880297861076\n", + "MAE: 0.02837607364261138\n", + "MSE: 0.0020482755913549078\n", + "RMSE: 0.04525787877657224\n", + "Pipeline(steps=[('scalar2', StandardScaler()),\n", + " ('dt_classifier', DecisionTreeRegressor())]) R^2: 1.0\n", + "Adjusted R^2: 1.0\n", + "MAE: 0.0\n", + "MSE: 0.0\n", + "RMSE: 0.0\n", + "Pipeline(steps=[('scalar3', StandardScaler()),\n", + " ('rf_classifier', RandomForestRegressor())]) R^2: 0.9937861379766549\n", + "Adjusted R^2: 0.9935782392472493\n", + "MAE: 0.014543322580645234\n", + "MSE: 0.001705599923050192\n", + "RMSE: 0.041298909465628655\n", + "Pipeline(steps=[('scalar4', StandardScaler()),\n", + " ('rf_classifier', KNeighborsRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n", + "Pipeline(steps=[('scalar5', StandardScaler()),\n", + " ('rf_classifier',\n", + " XGBRegressor(base_score=0.5, booster='gbtree',\n", + " colsample_bylevel=1, colsample_bynode=1,\n", + " colsample_bytree=1, gamma=0, gpu_id=-1,\n", + " importance_type='gain',\n", + " interaction_constraints='',\n", + " learning_rate=0.300000012, max_delta_step=0,\n", + " max_depth=6, min_child_weight=1, missing=nan,\n", + " monotone_constraints='()', n_estimators=100,\n", + " n_jobs=8, num_parallel_tree=1, random_state=0,\n", + " reg_alpha=0, reg_lambda=1, scale_pos_weight=1,\n", + " subsample=1, tree_method='exact',\n", + " validate_parameters=1, verbosity=None))]) R^2: 0.9999916674769973\n", + "Adjusted R^2: 0.9999913886936999\n", + "MAE: 0.0010687737832359861\n", + "MSE: 2.2871364923928635e-06\n", + "RMSE: 0.001512328169542862\n", + "Pipeline(steps=[('scalar6', StandardScaler()), ('rf_classifier', Ridge())]) R^2: 0.9925190981140424\n", + "Adjusted R^2: 0.9922688077163709\n", + "MAE: 0.028603398575988363\n", + "MSE: 0.002053380914011125\n", + "RMSE: 0.04531424625888778\n", + "Pipeline(steps=[('scalar7', StandardScaler()), ('rf_classifier', Lasso())]) R^2: 0.0\n", + "Adjusted R^2: -0.03345724907063197\n", + "MAE: 0.3432252283500982\n", + "MSE: 0.2744830697306047\n", + "RMSE: 0.5239113185746274\n", + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9993674801009855\n", + "Adjusted R^2: 0.9993463177251821\n", + "MAE: 0.009869758098748365\n", + "MSE: 0.0001736160035471743\n", + "RMSE: 0.013176342570955504\n" + ] + } + ], + "source": [ + "for i, model in enumerate(pipelines):\n", + " pred = model.predict(X_train)\n", + " print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + " print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + " print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + " print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + " print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 549, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 550, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9925190981140424\n", + "Adjusted R^2: 0.9922688077163709\n", + "MAE: 0.028603398575988363\n", + "MSE: 0.002053380914011125\n", + "RMSE: 0.04531424625888778\n" + ] + } + ], + "source": [ + "pred = pipeline_ridge.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 551, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.359248-0.067748
10.65190.659642-0.007742
20.83600.8246960.011304
30.70930.6733650.035935
40.56640.5596900.006710
50.33810.518197-0.180097
60.79950.832087-0.032587
70.40670.3814000.025300
81.01281.0045310.008269
90.30340.2277740.075626
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.359248 -0.067748\n", + "1 0.6519 0.659642 -0.007742\n", + "2 0.8360 0.824696 0.011304\n", + "3 0.7093 0.673365 0.035935\n", + "4 0.5664 0.559690 0.006710\n", + "5 0.3381 0.518197 -0.180097\n", + "6 0.7995 0.832087 -0.032587\n", + "7 0.4067 0.381400 0.025300\n", + "8 1.0128 1.004531 0.008269\n", + "9 0.3034 0.227774 0.075626" + ] + }, + "execution_count": 551, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_ridge = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_ridge.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 552, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAHXCAYAAACrlpebAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABBNElEQVR4nO3deXRU9f3/8VfIKoJFkT32SxGoWkBWBaskrAGSkJhQZCkoKIJVqIgxfEmUlIKAIIpQf1WsrdQosiUQRVBDscXIF4GyhOIGxmYIO0UIELJ9fn94MiUEyITcmTuZPB/n5JzcJff9ec/NTOaVu4yfMcYIAAAAAAAPq2P3AAAAAAAAtROBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWwTYWbygoEDZ2dlq1KiR/P397RwKAAAAAMBiJSUlOnbsmNq1a6eQkJAKy20NpNnZ2Ro5cqSdQwAAAAAAuFlqaqq6du1aYb6tgbRRo0aSfhxc06ZNXf65l7e8rCe7P+mmUXmuhqfq0It31qEX76xDL95Zh168s44v9eKpOvTinXXoxTvr0It31qlqjcOHD2vkyJHO7HcpWwNp2Wm6TZs2VWhoqMs/V+/melVa/1p4ooan6tCLd9ahF++sQy/eWYdevLOOL/XiqTr04p116MU769CLd9a51hpXukSTmxoBAAAAAGxBIAUAAAAA2IJACgAAAACwha3XkAIAAADAtSgqKpLD4VBBQUG1thPxkwjt27fPolHZV8NTda5UIyQkRKGhoQoMDKzS9gikAAAAAGoch8Oh+vXrq2XLlvLz87vm7eSdyVPz+s0tHJk9NTxV53I1jDE6ceKEHA6Hfvazn1Vpe5yyCwAAAKDGKSgoUMOGDasVRmENPz8/NWzY8JqOVhNIAQAAANRIhFHvca37gkAKAAAAwCcUFpVU+WdcOcX1WrZ7NRs3btSf//znKv3MwoULlZmZaek4vAHXkAIAAADwCUGB/oqessby7Wa8GGPp9vbu3Vvln/ntb39r6Ri8BYEUAAAAAKopISFBXbt21QMPPCBJGjVqlJ5++mndeeed5db79ttvtWzZMklS8+bNlZeXp507d+rQoUMaOXKk2rRpo5deekkFBQX64YcflJCQoIEDB2rq1Km66667dNddd+mJJ55QmzZttG/fPjVs2FALFy5UgwYNPN2yJThlFwAAAACqKT4+XmvXrpUkHTx4UCdPnqwQRiWpdevWGjZsmIYNG6b4+HhJUmFhodatW6eRI0fq7bff1syZM5WWlqZZs2bp1VdfrbCNL7/8UmPGjNH777+vG264QRkZGe5tzo0IpAAAAABQTXfffbeOHj0qh8Oh9PR0xcS4fppvhw4dnN/PmzdP33zzjf7whz/oz3/+s86ePVth/YYNG+qOO+6QJLVp00Y//PBD9RuwCYEUAAAAAKrJz89PsbGx+uCDD7R+/foqBdKQkBDn9yNGjNDu3bvVrl07TZgw4bLrBwcHl6trjLn2gduMa0gBAAAAwAJxcXEaMWKEWrdurSZNmlxxPX9/f124cKHC/FOnTiknJ0fvvPOOgoODtWjRIpWUWHuHX29DIAUAAAAACzRr1kzNmjXT/ffff9X1unXrpsTERN18883l5jdo0EC/+tWvFBkZqXr16qljx44qKCjQuXPn3DlsWxFIAQAAAPiEwqISyz+ipWy7QYH+V13HGKOjR4/q+PHj6tu371XX7datmzZu3HjZZVOnTtXUqVOd0ykpKZKkOXPmOOdd/LMTJ06sbPhejUAKAAAAwCdUFhovJ+9MnprXb17t7W7YsEEpKSlKSUlRUFCQ5s6dq6ysLElSUWmRAusESpLatWunWbNmVXmcvopACgAA4ANKiwtVJyBIkpQSnlJhHgD3GjBggAYMGOCcTkxMdH7vSuitrQikAAAAPqBOQJAOzIovN69V0iqbRgMAruFjXwAAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAIBPKC0urPLPuHL322vZrif9/Oc/v+ry3NxcTZs2rUrbzMzM1MKFC6szLJdwl10AAAAAPuFyd5u2Qk2/Y3VeXp5yc3Or9DN9+vRRnz593DSi/yKQAgAAAEA1JSQkqGvXrnrggQckSaNGjdLTTz+tO++8s8K6U6dOlZ+fn77++mvl5+frscceU2xsrBYtWqSdO3fq0KFDGjlypO69916lpKTo1KlTCgkJ0bPPPqs77rhDDodDCQkJOnfu3GW3f6mZM2fK4XDod7/7nQYMGKB58+aptLRUbdq00VNPPaVp06bpzJkzOnbsmCIjI/X0009r9erV2rp1q+bMmaPevXtr8ODB2rx5s06fPa0F8xaoXbt2ljxunLILAAAAANUUHx+vtWvXSpIOHjyokydPXjUsHjlyRMuWLdNbb72lF154QceOHZMkFRYWat26dRo5cqQSExOVkJCgtLQ0/f73v9fkyZMlSb///e8VFxenNWvWqHPnzpWOLTk5We3atdP06dMlSTk5OXrrrbc0d+5cvf/++4qKitLy5cu1du1avfPOOzp58mSFbTRo0EArV67U4LjBeu2116r8+FwJgRQAAAAAqunuu+/W0aNH5XA4lJ6erpiYmKuuHxcXp8DAQDVt2lSdO3fW9u3bJUkdOnSQJJ09e1bZ2dn63//9X8XExGjKlCk6d+6c/vOf/2jr1q0aOHCgJGnw4MEKDAys0lh/9rOfqX79+pKkhx9+WM2aNdOf/vQnzZo1S0VFRTp//nyFn7nvvvt+/NnWP9OpU6eqVO9qOGUXAAAAAKrJz89PsbGx+uCDD7R+/Xq98cYbV13f39/f+X1paakCAn6MZiEhIc55QUFBWrNmjXO9w4cPq0GDBpIkY4yzrp+fX5XGWlZDkubMmaPc3FxFRUWpb9++ysrKcm77YsHBwT/WU9VqVYYjpAAAAABggbi4OC1btkxNmzZVkyZNrrruhx9+KGOMDh48qN27d6tLly7lltevX18tW7Z0BtLPPvtMI0eOlCTdc889ztODP/roIxUWXv0uwP7+/iouLr7sss8++0wPP/ywBg4cqEOHDunIkSMqLS11qV8rcIQUAAAAACzQrFkzNWvWTPfff3+l6xYUFCg+Pl6FhYWaMWOGbrzxxgrrzJs3TykpKXrjjTcUGBiol156SX5+fnruueeUkJCgZcuWqX379rr++uuvWuvWW2/VmTNnlJCQoCFDhpRbNn78eD3zzDO64YYb1LBhQ7Vr104Oh6NqjVcDgRQAAACATygtLnTLR7SUFheqTkDQVdcxxujo0aM6fvy4+vbtW+k2BwwYoLi4uHLzJk6cWG761ltv1V//+tcKP9ukSRMtXbrUOf38889ftdaNN96o999/3zl99913O7+PiopSVFTUZX+ubHwbN250zuvYtaMG9Rp01XpVQSAFAAAA4BMqC42Xk3cmT83rN6/2djds2KCUlBSlpKQoKChIc+fOVVZWliSpqLRIgXV+vPGQVR+Xcql169Zp8f9b7KxzsYuvQ/U2BFIAAAAAqKYBAwZowIABzunExETn966E3uoaNGiQOt7X0e11rMZNjQAAAGqgwqISu4cAANXGEVIAAIAaKCjQX9FT/nsaXsaLV//MQwDwRhwhBQAAAADYgkAKAAAAALCFS6fsLly4UBs2bJCfn5+GDBmiMWPGlFu+ePFirVq1SjfccIMkaejQoc4PbQUAAAAATygsKVKQf8W7zF6NKzcBupbtwjWVBtKtW7dqy5YtWrt2rYqLizVo0CCFhYWpVatWznWys7O1YMECderUya2DBQAAAIArCfIP1ND3HrN8u8sf+H+WbxM/qjSQ3nXXXVq6dKkCAgJ05MgRlZSUqG7duuXWyc7O1pIlS5Sbm6tu3bopMTFRwcHBbhs0AAAAAHib119/XR9++KFKSkp07733avjw4Ro3bpyuv+F61a9bX4MHD1ZaWppOnTqlXr16afTo0UpKSlJeXp4CAgI0efJk9ezZU4sWLdLOnTt16NAhjRw50qfPPvUzxhhXVnzllVf05ptvasCAAZo9e7b8/PwkSWfPntWTTz6p5ORktWjRQlOnTlWLFi00efLkSrfpcDjUp08fRc+KVr2b67k86E05mxTeMtzl9a+FJ2p4qg69eGcdevHOOvTinXXoxTvr+FIvnqpjZY2U8JQKd9k9MCu+3DqtklYpZVOKJfUuxX7xzjq1qZeIn0Tof1r/T7l5zes3d9sR0rwzeVddZ2vWVq1bs07PPv+s/Pz89Pxzz+t/Wv6P3vzjm1qycolat2yt9Rnr9fabb+utFW/JP8BfKVNTdEe7OzT010OV58jTpEcm6fXU17V25Vrt3L5TL7/+cpXGeebCGdUPrl+NTqtX4/tvv9eGHzaUm5d/PF8ZSRnKzMxUaGhohZ9x+WNfJk2apHHjxmnChAlavny5HnjgAUnS9ddfryVLljjXGzt2rKZNm+ZSIC3zZPcnLzu4K0nZlKKU8BSX178WnqjhqTr04p116MU769CLd9ahF++s40u9eKqOp3opV9NN9dgv3lmnNvWyb98+l67/tEpltb7a+ZW+/tfXeuLBJyRJBQUFCvEPUcOGDdW6ZWs1r99cDUIaqEO7DrrlxlskSbu27dKLc15U/fr11fz25urUsZOO7D+i+sH11a1ztyr3l6c8tz8mV6vxQ8gPSumUUm6ew+FQhjKuuL1KA+n+/ftVWFio22+/Xdddd5369++vr7766r8DystTVlaWhgwZIkkyxigggI83BQAAAFB7lJSU6MEHH3TeAPb06dM6fPiwdu7cWW69kJAQ5/eXnqxqjFFJSUmF9XxZpR/74nA4lJycrMLCQhUWFiozM1NdunRxLg8JCdG8efOUm5srY4xSU1PVr18/tw4aAAAAALxJ9+7dtWbNGp09e1bFxcV6/PHHlZ2dXenPrFy5UpKUm5urHTt2qGPHjh4Yrfeo9FBmWFiYdu3apdjYWPn7+6t///6KjIzUuHHjNGnSJLVv314zZszQY489pqKiInXu3LnCx8IAAAAAgC/r3bu3vvzySw0dOlQlJSW677771K1bt6v+TFJSkp577jmtXr1akjRz5kw1btzYE8P1Gi6dWztp0iRNmjSp3LyLrxuNiIhQRESEtSMDAAAAgCooLClyy0e0uPo5pL/5zW/0m9/8pty8jRs3Om+IFBcXp7i4OOeyJk2a6LXXXquwnYkTJ1ZzxDVHpafsAgAAAEBN4EpovFRld8+91u3CNQRSAAAAAIAtCKQAAAAAAFsQSAEAAADUSJd+bArsc637gkAKAAAAoMYJCQnRiRMnCKVewBijEydOXNNnp7p0l10AAAAA8CahoaFyOBw6duxYtbZzquCUfgj5waJR2VfDU3WuVCMkJEShoaFV3h6BFAAAAECNExgYqJ/97GfV3k7KphSldEqp/oBsruGpOlbX4JRdAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAW7gUSBcuXKhBgwYpMjJSf/7znyss37dvn+Lj4xUREaGkpCQVFxdbPlAAAAAAgG+pNJBu3bpVW7Zs0dq1a7Vq1Sr99a9/1YEDB8qtk5CQoGeffVYbNmyQMUbLly9324ABAAAAAL6h0kB61113aenSpQoICNCJEydUUlKiunXrOpcfPHhQBQUF6tixoyQpLi5O69evd9uAAQAAAAC+waVTdgMDA/XKK68oMjJSPXr0UJMmTZzLjh49qkaNGjmnGzVqpCNHjlg/UgAAAACAT/EzxhhXVz5//rwmTJigQYMG6YEHHpAk7dixQ/PmzdO7774rSfr+++81fvx4l46SOhwO9enTR9GzolXv5nouD3pTziaFtwx3ef1r4YkanqpDL95Zh168sw69eGcdevHOOr7Ui6fqWFkjJTxF0VPWOKczXozRgVnx5dZplbRKKZtSLKl3KfaLd9ahF++sU5t7yT+er4ykDGVmZio0NLTiCqYS3377rfnXv/7lnH777bfN7373O+e0w+Ewffv2dU5/8cUXZtSoUZVt1hhjTG5urmnbtq3Jzc11af0y0/82vUrrXwtP1PBUHXrxzjr04p116MU769CLd9bxpV48VcfqGlFPpTu/jDFm/8y4cl/uxH7xzjr04p11anMvlWW+Sk/ZdTgcSk5OVmFhoQoLC5WZmakuXbo4l7do0ULBwcHavn27JCk9PV09e/Z0OTEDAAAAAGqnSgNpWFiYwsLCFBsbq/j4eHXq1EmRkZEaN26c9uzZI0maP3++Zs+erYEDB+r8+fMaPXq02wcOAAAAAKjZAlxZadKkSZo0aVK5eUuWLHF+f9ttt2nlypXWjgwAAAAA4NNcussuAAAAAABWI5ACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtghwZaXFixfrww8/lCSFhYXpmWeeqbB81apVuuGGGyRJQ4cO1ciRIy0eKgAAAADAl1QaSLOysrR582alpaXJz89PjzzyiD7++GP169fPuU52drYWLFigTp06uXWwAAAAAADfUWkgbdSokaZOnaqgoCBJ0q233qq8vLxy62RnZ2vJkiXKzc1Vt27dlJiYqODgYPeMGAAAAADgEyq9hrRNmzbq2LGjJCknJ0fr1q1TWFiYc/nZs2d1++23KzExUWlpaTp9+rReffVVtw0YAAAAAOAb/IwxxpUVv/nmG40fP14TJ07U/ffff8X1/vWvf2natGlKT0+vdJsOh0N9+vRR9Kxo1bu5nsuD3pSzSeEtw11e/1p4ooan6tCLd9ahF++sQy/eWYdevLOOL/XiqTpW1kgJT1H0lDXO6YwXY3RgVny5dVolrVLKphRL6l2K/eKddejFO+vU5l7yj+crIylDmZmZCg0NrbiCccG2bdvMPffcY95///0Kyw4ePGhWrFjhnM7Ozjbx8fGubNbk5uaatm3bmtzcXJfWLzP9b9OrtP618EQNT9WhF++sQy/eWYdevLMOvXhnHV/qxVN1rK4R9VS688sYY/bPjCv35U7sF++sQy/eWac291JZ5qv0lN1Dhw7p8ccf1/z58xUZGVlheUhIiObNm6fc3FwZY5SamlruhkcAAAAAAFxOpTc1+tOf/qQLFy5ozpw5znnDhg3Txo0bNWnSJLVv314zZszQY489pqKiInXu3Fljxoxx66ABAAAAADVfpYE0OTlZycnJFeYPHz7c+X1ERIQiIiKsHRkAAAAAwKdVesouAAAAAADuQCAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYwqVAunjxYkVGRioyMlIvvPBCheX79u1TfHy8IiIilJSUpOLiYssHCgAAAADwLZUG0qysLG3evFlpaWlKT0/X3r179fHHH5dbJyEhQc8++6w2bNggY4yWL1/utgEDAAAAAHxDpYG0UaNGmjp1qoKCghQYGKhbb71VeXl5zuUHDx5UQUGBOnbsKEmKi4vT+vXr3TZgAAAAAIBv8DPGGFdXzsnJ0bBhw7Rs2TK1bNlSkvTPf/5TL7zwgt59911J0vfff69HH31UGzZsqHR7DodDffr0UfSsaNW7uZ7Lg96Us0nhLcNdXv9aeKKGp+rQi3fWoRfvrEMv3lmHXryzji/14qk6VtZICU9R9JQ1zumMF2N0YFZ8uXVaJa1SyqYUS+pdiv3inXXoxTvr1OZe8o/nKyMpQ5mZmQoNDa24gnHR119/bXr16mVWr15dbv727dvNsGHDnNM5OTkmIiLCpW3m5uaatm3bmtzcXFeHYYwxZvrfpldp/WvhiRqeqkMv3lmHXryzDr14Zx168c46vtSLp+pYXSPqqXTnlzHG7J8ZV+7Lndgv3lmHXryzTm3upbLM59JNjbZv366HHnpIU6ZM0f33319uWZMmTXT8+HHn9LFjx9S4cWOXEzMAAAAAoHaqNJAeOnRIjz/+uObPn6/IyMgKy1u0aKHg4GBt375dkpSenq6ePXtaP1IAAAAAgE8JqGyFP/3pT7pw4YLmzJnjnDds2DBt3LhRkyZNUvv27TV//nwlJyfr7NmzuuOOOzR69Gi3DhoAAAAAUPNVGkiTk5OVnJxcYf7w4cOd3992221auXKltSMDAAAAAPg0l64hBQAAAADAagRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAVElpcaEkKSU8pcI8AACqIsDuAQAAgJqlTkCQDsyKLzevVdIqm0YDAKjJOEIKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAOCqCotK7B4CAMBHcZddAABwVUGB/oqessY5nfFijI2jAQD4Eo6QAgAAAABsQSAFAAAAANjC5UCan5+vqKgoORyOCssWL16sXr16KSYmRjExMUpNTbV0kAAAAAAA3+PSNaS7du1ScnKycnJyLrs8OztbCxYsUKdOnawcGwAAAADAh7l0hHT58uWaPn26GjdufNnl2dnZWrJkiaKjozVjxgxduHDB0kECAAAAAHyPS4F01qxZ6tq162WXnT17VrfffrsSExOVlpam06dP69VXX7V0kAAAAAAA3+NnjDGurty7d28tXbpUoaGhV1znX//6l6ZNm6b09PRKt+dwONSnTx9Fz4pWvZvruToMbcrZpPCW4S6vfy08UcNTdejFO+vQi3fWoRfvrEMv9tZJCU+p8LEvB2bFl1unVdIqpWxKsaTepWriY+aJGuyXmlXDU3XoxTvr1OZe8o/nKyMpQ5mZmZfPkaYKevXqZXJzc8vNO3jwoFmxYoVzOjs728THx7u0vdzcXNO2bdsK26zM9L9Nr9L618ITNTxVh168sw69eGcdevHOOvRif52op9KdX8YYs39mXLkvd6qpj5knarBfak4NT9WhF++sU5t7qSzzVftjX0JCQjRv3jzl5ubKGKPU1FT169evupsFAAAAAPi4aw6k48aN0549e3TTTTdpxowZeuyxxzRgwAAZYzRmzBgrxwgAAAAA8EEufexLmY0bNzq/X7JkifP7iIgIRUREWDcqAIDXKy0uVJ2AIKWEp5SbBgAAcFWVAikAoPYqLCpRUKC/c7pOQFC5G6i0Slplx7AAAEANRiAFALgkKNC/wh09AQAAqqPaNzUCAAAAAOBaEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFjUqkJYWF0qSUsJTyk0DAAAAAGqeALsHUBV1AoJ0YFa8c7pV0iobRwMAAAAAqI4adYQUAAAAAOA7CKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANjCawNpYVGJ3UMAAAAAALiR137sS1Cgv6KnrCk3L+PFGJtGAwAAAACwmtceIQUAAAAA+DYCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAcCDSosLJUkp4SnlpgEAAGqjALsHAAC+rLCoREGB/s7pOgFBOjAr3jndKmmVHcMCAADwCgRSAHCjoEB/RU9Z45zOeDHGxtEAAAB4F07ZBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAALhBYVHJVafhHS7+LGA+HxgAPI+PfQEAwA34yJ+a4dLPBpb4fGAA8CSOkAIAgFqDI9UA4F1cCqT5+fmKioqSw+GosGzfvn2Kj49XRESEkpKSVFxcbPkgAQAArFB25LrsCwBgr0oD6a5duzR8+HDl5ORcdnlCQoKeffZZbdiwQcYYLV++3OoxAgBQ45Vdl1h2neLF8wAAqK0qDaTLly/X9OnT1bhx4wrLDh48qIKCAnXs2FGSFBcXp/Xr11s+SAAAarqyaxUv/qoTEGT3sAAAsFWlNzWaNWvWFZcdPXpUjRo1ck43atRIR44csWZkAKqksKhEQYH+V5wGAAAAvE217rJrjKkwz8/Pr8rbeXnLy6p3c71y8y4+pelqUja5tl5VbcrZ5LZte7oOvXhnHatrpISnlLseas3cgZL8nc+l0+dOasHWVyyrdzH2y5W58lpWU17HfKkXT9Txpb9j9GIdevHOOvTinXXoxTvrVLVG/vH8qy6vViBt0qSJjh8/7pw+duzYZU/trcyT3Z9UaGjoNY3B1RfjKm93U4rbtu3pOvTinXXcXePSjzJolbSK54uX1KhQs4bvl3I1a3gvPGbVrEkvlW+XXryyDr14Zx168c46Va3hcDiUoYwrLq/Wx760aNFCwcHB2r59uyQpPT1dPXv2rM4mAQAAAAC1xDUF0nHjxmnPnj2SpPnz52v27NkaOHCgzp8/r9GjR1s6QAAAAACAb3L5lN2NGzc6v1+yZInz+9tuu00rV660dlQAAAAAAJ9XrVN2AQAAAAC4VgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFECtVFhUctVpAAAAuF+A3QMAADsEBforesoa53TGizE2jgYAAKB24ggpAEgqLS6UJKWEp1SYBwAAAPfgCCkASKoTEKQDs+LLzWuVtMqm0QAAANQOHCEFAAAAANiCQOoBl7tZCjdQ8U6XnrbJKZsAAACA+3DKrgdcevMUSVozd6Ak/3LBp05AkOcHh3IuPW2TUzYBAAAA9yGQ2oTgAwAAAKC245Rd1GqcOg0AAADYhyOkqNX4LEoAAADAPhwhBQAAAADYgkAKAPAal55Gz2n1AAD4Nk7ZBQB4DU6jBwCgduEIKQD4mEs/T/fieTWNL/UCAAAq4ggpANRwhUUlCgr0d05f+rFSUs39aClf6gUAAFREIAWAGo7TXAEAQE3FKbsAAAAAAFsQSAEA8CGXXnfLNbfegf0CAJfHKbs+5NLryC6dBgD4nsquIeaaW3uwXwDANQRSH8J1ZABQ+/Da753YLwDgGk7ZBQAAAADYgkDqw7heBQAAAIA345RdH8b1KgCAmqy0uFB1AoLK/WO1TkCQvYMCAFiq1gfSS286UFpUqDqB/PEDAMDTuBEQANQ+tT6QXu6mA/zxAwDA87gREADUPlxDCgAAAACwBYEUAAAAgNfgxpxVc/HjUxMfs1p/yi4AAAC8y8X38HDnfT24cZZ34Prx6rn08ZJq1mNGIAUAAICtKgskkjVvsAk+3smXrx93xz89Lv09rukIpAC8Hv/BBgDf5qlA4svBB97JHf/08LXfYwIpAK/Hf7ABwD6XHo3xtaMzgJV4flQdgRSA1+HFHAC8h68djQHciedL1RFIUSWXCwqEB1iNF3MA8F5cRgHUTu567hNIUSWXBgVJWjN3oCR//jABAFALcBkFUDt46iZgBFJUG3+YAAAAAN/iqTPW6riyUkZGhgYNGqR+/fopNTW1wvLFixerV69eiomJUUxMzGXXAQAAAHxdYVHJVafdpbS4UFL5z20FaoJKj5AeOXJEL730klavXq2goCANGzZMd999t1q3bu1cJzs7WwsWLFCnTp3cOlgAAADAm116VKns0iZJbv0sSs5YQ01VaSDNyspS9+7d1aBBA0lSRESE1q9fryeeeMK5TnZ2tpYsWaLc3Fx169ZNiYmJCg4OdtugUftwAwUAAFATXRoUJT6LErhYpafsHj16VI0aNXJON27cWEeOHHFOnz17VrfffrsSExOVlpam06dP69VXX3XPaFFrlb2Yl30RRgEAAHCtLj6lmdOc7VXpEVJjTIV5fn5+zu+vv/56LVmyxDk9duxYTZs2TZMnT3Z5EC9veVn1bq5Xbl7ZL0ZlUja5tt4Vf96FOp6o4ak6NaUXV+paUcMTj9mVbMrZZOm26cX6Gp6qQy9Vq2FFnSux8neZ/eKeOvRStRqeqkMvVavhqTpWv1Y+ddck3VD3pnL1T587qQVbX6nWdu3oJSU85bJHrmvCfqlpv2P5x/OvurzSQNqkSRNt27bNOX306FE1btzYOZ2Xl6esrCwNGTJE0o8BNiCgajfvfbL7kwoNDa3Sz5RxdYdUhydqeKoOvXhPnZRNKR7rwVmTXryyDr14vs6l116VTfvq73JN2S/eUsNTdejFO+vQy9VdNsTV0F7sqlPbenE4HMpQxhWXV3rK7j333KPPP/9cJ0+e1Pnz5/XRRx+pZ8+ezuUhISGaN2+ecnNzZYxRamqq+vXr51oHAADYoOzaq7Kvi8MpAADwnEoDaZMmTTR58mSNHj1asbGxioqKUocOHTRu3Djt2bNHN910k2bMmKHHHntMAwYMkDFGY8aM8cTYAQCwBB+XAACAPVw6tzY6OlrR0dHl5l183WhERIQiIiKsHRkAAB7CxyUAQEWXXt4AuEPVLvYEAAAAUCvw0TLwhEpP2QUAAAAAwB0IpAAAAAAAWxBIAQAAAAC2IJACblZYVHLVaQAAAKC24qZGgJtxQwAAAADg8jhCCgAAAMCncYaa9+IIKeBhpcWFqhMQpJTwlArzAAAAYD3OWPNeBFLAw+oEBOnArPhy81olrbJpNAAAAIB9OGUXAAAAAGALAikAAAAAwBYEUnglLjwHAAAAfB/XkMIrceE5AAAA4Ps4QgoAAAAAsAWBFIDLLj2VmlOrAQAAUB2csgvAZZxKDQAAACtxhBQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFcM1KiwslSSnhKRXmAQAAAJXhc0gBXLM6AUE6MCu+3LxWSatsGg0AAABqGo6QAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgCWKiwpuuo0AAAAUCbA7gEA8C1B/oEa+t5jzunlD/w/G0cDAAAAb8YRUgAAAACALQikAAAAAABbuBRIMzIyNGjQIPXr10+pqakVlu/bt0/x8fGKiIhQUlKSiouLLR8oqu9y1/JxfR8A2IdrrgEAtV2l15AeOXJEL730klavXq2goCANGzZMd999t1q3bu1cJyEhQTNnzlTHjh01bdo0LV++XCNGjHDrwFF1l17bJ3F9n7coLClSkH/gFacB+CauuQYA1HaVHiHNyspS9+7d1aBBA9WtW1cRERFav369c/nBgwdVUFCgjh07SpLi4uLKLQdQubI3pWVfhFHvwNEr78R+AQDAd1R6hPTo0aNq1KiRc7px48bavXv3FZc3atRIR44csXiYvs+XjpD5Ui++hP1SdRy98k6e2C88XwDX8XypOh4z4L/8jDHmaiv88Y9/1Pnz5zV58mRJ0ooVK7Rnzx7NmDFDkrRjxw7NmzdP7777riTp+++/1/jx4106SupwONSnTx9Fz4pWvZvrlVs2qdtk3XT9T8rNKym6IP/AYOf0heILCg747/TJ8//RK/+3sNK6V6tTWY1rqUMv3tnLtdRxRw1P1aGXqtXwVB16qVoNT9Whl6rV8FQdeqlaDU/VoZeq1fBUnQtF5xUceJ1zelPOJm3K2WRpDYn9UtU6tbGX/OP5ykjKUGZmpkJDQysWMpVYvXq1mTZtmnN68eLFZtGiRc5ph8Nh+vbt65z+4osvzKhRoyrbrDHGmNzcXNO2bVuTm5vr0vplpv9tuvP7Xy2b4PyyUlmNC8WFFZZdbl5167iTJ2p4qs6V9r279v+lddxVw5189XfMV/bLpa8n7np98UQdT/XiTr74fPHkfvH032Qre7m4jjH0UtUa7uTJ32VP7hd38cW/yb72fHFXDU/Vqep+qSzzVXrK7j333KNFixbp5MmTuu666/TRRx/p97//vXN5ixYtFBwcrO3bt6tLly5KT09Xz549XU7e3u5yp09wSgVgr8KSonKnadbkU50uHbe7+vBEHU/1gqrxpf3iqV488RrjS/vFU3gdq718ab946j1MTXodqzSQNmnSRJMnT9bo0aNVVFSkIUOGqEOHDho3bpwmTZqk9u3ba/78+UpOTtbZs2d1xx13aPTo0dc0GMDb+FLw8SW+9IcJgPfhNQaAu/jSP6KtUmkglaTo6GhFR0eXm7dkyRLn97fddptWrlxp7cgAL1CTnswAAACexj/vUV2VfuwLAAAAAFwO/7xHdbl0hBQAAOBqOEoCALgWNTqQ8scPAADvwFESAMC1qNGn7PLHDwAAAABqrhodSAEAAAAANReBFAAAAABgCwIpAAAAAMAWNfqmRgAAAABgBW6Yag+OkAIAAACo9bhhqj0IpAAAAAAAWxBIAQAAAAC2IJACAAAAAGzBTY0AAAB8FDdpAeDtCKSokS79A1s2jz+yAAD8FzdpAeDtOGUXNdLl/qDyRxYAAACoWQikAAAAAABbEEgBAAAAALYgkAIAAAAAbEEgBQAAAADYgkAKAAAAALAFgRQAAAAAYAsCKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsAWBFAAAAABgCwIpAAAAAMAWBFIAAAAAgC0IpAAAAAAAWwTYWbykpESSdPjw4Sr9XP7xfDkcDncMyaM1PFWHXryzDr14Zx168c469OKddXypF0/VoRfvrEMv3lmHXryzTlVrlGW9sux3KT9jjLFkZNdg27ZtGjlypF3lAQAAAAAekJqaqq5du1aYb2sgLSgoUHZ2tho1aiR/f3+7hgEAAAAAcIOSkhIdO3ZM7dq1U0hISIXltgZSAAAAAEDtxU2NAAAAAAC2IJACAAAAAGxBIAUAAAAA2IJACgAAAACwBYEUAAAAAGALAikAAAAAwBYEUgAAAACALQikAAAAAABbBNg9gMrs379fGzZs0OHDh1WnTh01btxY9913n9q3b2/30Krsk08+0aFDhxQWFqaf/vSnzvnvvfeeHnjgAcvq5OTk6LrrrlOTJk20YsUKffXVV+rcubMGDRpkWY1LzZkzR1OnTrV0m7t371aHDh0kSZ9//rk+/fRTBQQEqF+/frrzzjstq/OPf/xDd955p2644Qalp6dr9+7d+sUvfqH4+HjLasycOVMTJ07UT37yE8u2eTmff/65QkJC1KlTJ7355pvaunWr2rVrp0cffVRBQUGW1fnkk0/0ySef6NixYwoMDNRPf/pTDRw4UJ06dbKsBgAAAHyfnzHG2D2IK0lNTdXy5csVERGhRo0aSZKOHTumjz76SIMHD9bYsWNtHqHr5s+fr+zsbN1666368MMPlZiYqJiYGEnS/fffr7S0NEvq/OUvf9Ff//pXlZaWqnv37jp06JD69eunjRs3qnPnznr88cerXeN///d/K8zbuHGjevfuLUmaPXt2tWtI/31cUlNTtWzZMmdATEtL069+9Sv9+te/rnaNWbNmad++fXrppZeUmpqqPXv2qE+fPvr73/+u0NBQJScnV7uGJHXt2lUNGzbUlClT1L9/f0u2eakXXnhB27ZtU3FxsUJDQ+Xn56e4uDht3LhRJSUlmjlzpiV1XnvtNe3cuVP33XefNm7cqK5duyokJEQrVqzQgw8+qKFDh1pSB0Dt9I9//EPr168v94/onj17KiIiwu6hVUlxcbFSU1N16NAh9e3bV127dnUuW7RokSZOnGhZraysLNWvX1+33367Fi1apK+++kpdunTR2LFj5e/vb1mdiz311FNasGCBpdv85JNP1LdvX0nSihUr9Pe//935j2ir/qleXFyslStXql+/fqpfv75ef/117dmzR7/4xS80fvx4BQcHW1JnwoQJSkpK0i233GLJ9i6nuLhY6enpCgkJUUREhGbPnq0vvvhC7dq1U2Jioho0aGBJndLSUi1dulSZmZnl/hE9aNAgRUZGWlKjDM//qrHjuS9Z//z36kAaERGh9PR0XXfddeXmnz9/Xvfff7/Wr19vWa28vLyrLm/evHm1th8dHa20tDQFBAQoJydHY8eOVUJCggYOHKjY2Filp6dXa/sX11m5cqWOHz+uqKgobdmyRcHBwSosLNSQIUO0du3aateYO3eu0tPTNWHCBN1www2SpFdeeUWTJk2S9GOQtEJZII2JidFf/vIX3XjjjZKk/Px8DRkyxJL9P2jQIGVkZMjf31+xsbFavny5goKCVFJSoqioKH344YfVriFJsbGxmj9/vlJSUnThwgWNGTNGvXv3VkhIiCXbl37c92vWrFFhYaHCwsK0efNmBQYGyhijmJgYS/a9JMXExCg9PV1+fn66cOGCxo0bp6VLl+rMmTMaOnSoZY+ZxB+ma8EbU9fxxrTq3P3GdOHChdq9e7cGDx6sxo0bS5KOHj2q999/X61bt1ZiYmK1a0jSF198cdXl3bp1q3aNadOmqbS0VG3bttXbb7+toUOHasKECZKs/Uf0vHnztGPHDuXn56tx48Zq2LChIiMjtX79etWtW1fPPvtstWuMGjVKfn5+5eZlZ2erXbt2kqSlS5dWu4b038dl0aJF2rZtm0aNGiVjjN577z394he/0OTJk6tdY8qUKZKk5ORkLV68WOfOndOAAQO0adMmnT59Wi+++GK1a0hSjx49VL9+fQ0bNkyjRo1SYGCgJdu92NSpU3Xu3DkVFhbq1KlT6tChg4YOHarMzEzt3btXr7zyiiV1nn/+eRUVFSk8PFwbNmzQbbfdpmbNmmnp0qXq3r27JQc7JM88/z3x3Jc88/z3xHNf8szz36tP2Q0ICFBxcXGF+QUFBZY/scePH6+cnBw1btxYl2Z0Pz8/ZWZmVmv7xhjnzmzZsqVee+01jRkzRjfddFOFnVwdpaWlCgoKUosWLTR27Nhyb6hKSkosqZGYmKiePXvq5Zdf1lNPPaW7775bb731lmVBtExxcbFKS0vVsGFD1a1b1zk/KChIdepYc/lzSEiITpw44Xwinzt3TkFBQTp//rwCAqx7evj5+al169Z6++23lZWVpffee0+zZs1Sy5Yt1bRpU0v+ABpjdObMGZ07d04FBQXKz8/XjTfeqIKCAhUVFVnQxY8uXLig8+fPq27duiooKNCpU6ckSXXr1rVsv0hX/sO0cuVK7dy507I3ppX9Myg2NrbaNZ577jnnH6Znnnmm3B+mjRs3WhZIL/fHafjw4Vq/fr2ef/55t74xHT16tCTr3pj+4Q9/UN++fS/7xvSrr76y5I1p2e9QRESE5s6dq3PnzmnEiBHatGmTpk2bZtkb0127dunhhx926xvT5ORk5xvTt99+Wx06dNBLL72kzMxMPffcc5a9MZ0zZ46Kior0yCOPVHhjmpOTU+03puvWrdOHH35Y4bUkKipKUVFRlj3v//CHP2jnzp3q0KHDZf/mW/F7nJ2d7fxHYGxsrB566CGFhITooYceqlCzOj799FNlZGTo1KlT6tevn7Zu3ao6deqoZ8+elrx+SdKAAQP0+uuv68knn1SLFi1kjNGzzz6rJ554wpLtX+rjjz/WihUrnO9hwsPDFRUVZcnz/uuvv1ZGRoakH8PJmjVr5Ofnp7CwMEsvbWrSpIneeOMNvfDCC+rfv7+GDx+uyMhItWjRwrIae/fuVUZGhkpKShQWFqZly5ZJklq3bu08C88KW7Zscf4u33fffRo5cqTeffddhYWFafDgwZYFUk88/z3x3Jc88/z3xHNf8szz36sD6YQJExQbG6sePXqUO2V3y5YtlrwoXezdd9/ViBEjNH36dHXp0sXSbUs/7sxRo0Zp6tSp6tChg9q0aaOFCxfqiSeeUGFhoWV1+vfvr1//+tdaunSp803ul19+qeTkZA0cONCyOj169NDtt9+u6dOna9OmTZaF3YvdeOONCgsLk5+fn6ZPn645c+bo888/17x58zRgwABLajzxxBMaMmSIIiMj1apVK40aNUo9evTQ5s2b9cgjj1hSQ1K5F5977rlH99xzj4qKivTVV18pNzfXkhrjxo1T//79ZYxRQkKCxo4dqx49eujzzz+39HrYuLg4DR8+XPfee682b96suLg4HTx4UI8//riioqIsq+OpN6ZbtmzRhg0brvg7ZcWLOm9Mrx1vTF3jK29Mg4ODdfjw4QpnJeXl5Vl6HfySJUs0evRoPfjgg+rTp49l272YMUbnzp1T3bp1ddNNN2nJkiUaPny4GjZsaOk/oiWpsLBQN954oxITE52vmWfPnr3sP/WvxciRI3X33Xdr+vTp+tWvfqXY2Fhdf/31uuuuuyzZfplz587p+PHjat68uc6dO+d83hcUFFj2T+K6devqm2++UZs2bfTTn/5Uhw4dUvPmzXXkyBFLf8f8/Px0880364UXXlBOTo6WL1+usWPH6sKFC2ratKnzOVodderU0XfffaczZ87ozJkzcjgcCg0N1cmTJy3b99KPBzROnDihhg0b6tixYyooKJAkFRUVWfrPe088/z3x3Jc89/x393Nf8tDz33i5w4cPm7S0NPPaa6+ZP/7xjyYtLc0cPnzYLbV27dplkpOT3bJtY4zJysoy3377bbl5eXl5ZubMmZbW2bp1a7np/fv3m02bNlla42LLly83Y8aMcdv29+/fb/75z38aY4zZtm2b+dvf/mbp9v/973+bN99800yfPt0kJyebl19+2ezatcvSGsuXL7d0e1dy/vx5k5+fb4wx5ssvvzRvvPGG2bx5s+V1srKyzBtvvGGysrKMMcbk5+ebL7/80tIa0dHR5uDBgxXm//vf/zaDBw+2tNb48ePNihUrLN3mxaKioszZs2ed04cPHza9evUya9euNbGxsZbViYyMNAUFBcaY8r9zZ86cMYMGDbKszjfffGNGjBhh0tLSjDHG0h7K9O/f3xw7dsyMHz/enDx50jn/9OnTlvUydOhQ8/XXXxtjjHn88cedv2+HDx82MTExltQwpvzj891335m5c+ea/v37m7CwMPPAAw9YUmPw4MHmwIEDZteuXaZDhw4mNzfXGGPMiRMnLN33gwYNMsePHzfG/Pg4lfWWn59vIiMjq739zz77zISHh5uHHnrIJCQkmISEBPPQQw+Z8PBw8/nnn1d7+xc7cOCAmTdvnqXbvNiyZctM//79na+Txhjz7bffmvDwcNO+fXvL6qSmppr+/fub4uJi57zt27ebXr16mffee8+yOsYYc+HCBTN79mwzceJES3+vykydOtVERUWZLl26mCeeeMIYY8yGDRtMeHi4eeeddyypsWPHDvPLX/7STJw40TzzzDPml7/8pfnNb35jwsLCLH2vdKXXkJMnT1r2HuMf//iHCQsLM/fdd5/5+OOPzYABA8ykSZNMr169nK/PVli1apUJCwszv/3tb014eLjJyMgwOTk5JiwszKxcudKyOpd7/o8ZM8by57+7n/vGXP75v3//fkuf/1d67vfu3dvy574x7n3+e/U1pABqr6ysLCUlJally5blzpDIycnR7Nmz1b17d8tqHT16VBkZGXr44Yct2+bF3nvvPb355ptKSUlRjx49JP14B/FHHnlEJ06c0O7duy2p88477+itt97SunXrnNeL7tixQ08//bQmTJhg6Q2nCgsLtWDBAuXl5Wn//v364IMPLNu29OPN07Kzs3Xo0CH16NFDixYt0kcffaTZs2fr0Ucf1fDhw6td45///KcmTpyozp0767rrrtNnn32mO++8U3v37tXvfvc7hYWFWdCJrnifgP/85z/Kzc113k28OjZv3qzk5GSVlpbqueee04svvqi2bdtqz549mjRpkmVHyFevXq2FCxeqU6dO2rVrl6ZMmaL27dvrwQcf1MSJEy05G+ODDz7Qd999J39/f91yyy1q0qSJ7rzzTqWlpVl6R3pP3Pl+yZIlKiwsVHR0tLNGfn6+3nnnHT366KOW1JB+vKGhv7+/s5fDhw/rzJkz2rFjh2W9XPx4ORwOvf/++3r++ect/6SATz75RHl5eerZs6datmypr7/+WsYY7dy507I66enpcjgcCgkJUXFxsW6++Wbde++9+vTTTy2r8emnn6qoqMjtv2Nlj1d4eLjq1q2rbdu2qU2bNtq2bZul+6XsdzkyMlItW7ZUYWGhzp49q48++sjSOl9++aXOnDmjo0ePKicnR//3f/+nYcOGWXrWiqc+jeK7775TSEiImjVr5qzTvn17/ec//9FDDz1kWY26des6e9m1a5dCQ0OdlwVZ5eLH7L333tOuXbt07733WvaYEUgBeK0LFy5o9+7dOnr0qIwxzjemVp5W5e4bmpXJyclRUFBQue3l5+dr5cqVlv1hkuQ8ZatM2RvTNm3aWFbjYp999pk++OADPf/8827Z/vnz53X8+HHdcsstzjemP//5zy3bfn5+vrKysvT999+rpKTE+ca0adOmltX49NNPLQu3rjp+/Ljzjemtt95q6ba/++47ffXVV7rtttucb0zPnTtnyY2T5s+fr71796pVq1Zat26dpk6d6pY70nvizveeuru+r/VStv/d2YsnfsfmzZunvXv3un2/uPvxKqvjK58U4YkaldXp1KmTJZe52NXL4cOH1bdvX2vrWHq8FQAscvDgwat+WSUqKsq0a9fO9O7d2/Tq1avcV+/evS2p4alePFGHXryzjq/0EhUVZYqKiowxP57e3KtXL7Nu3TpjzJVPgfTWOlFRUc5T6XyhF1/aL/RS9Tqe+l0uKCgwDofDdOzY0XkJyoULF0x0dHSNqeGpOr7Ui1ff1AhA7eXuO1+XcfcNzSTP9eKJOper4efn57yTOL24VqeMO3uxuoYn6hgP3ZHeE3Uufnx8oRdf2i/0UvU6ZWr6J0V4ooan6vhSLxwhBeCVzpw5Y6Kjo822bdvcXsvdNzTzVC+eqEMv3lnHV3pZtGiRGT58eLmbvmzbts10797ddO7cuUbVoRfvrEMv3lvn5ZdfNiNGjCh3k559+/aZ+Ph4s2jRohpTw1N1fKkXAikAr+XuoOhJnurFE3XoxTvr+EovnrojvSfq0It31qEX763jiU+K8NSnUdCL67ipEQAAAADAFnUqXwUAAAAAAOsRSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsMX/BweF2rzsr9kTAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_ridge = results_ridge.head(35)\n", + "results_ridge.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 553, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_ridge.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 554, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.01688220269864965" + ] + }, + "execution_count": 554, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_ridge=np.mean(results_ridge.error)\n", + "meanerror_ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 555, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644335
10.555178
21.229197
30.663718
40.515901
......
650.774879
660.671756
671.801921
680.724719
690.807843
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644335\n", + "1 0.555178\n", + "2 1.229197\n", + "3 0.663718\n", + "4 0.515901\n", + ".. ...\n", + "65 0.774879\n", + "66 0.671756\n", + "67 1.801921\n", + "68 0.724719\n", + "69 0.807843\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 555, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 556, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/ridge.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline rf" + ] + }, + { + "cell_type": "code", + "execution_count": 557, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9937861379766549\n", + "Adjusted R^2: 0.9935782392472493\n", + "MAE: 0.014543322580645234\n", + "MSE: 0.001705599923050192\n", + "RMSE: 0.041298909465628655\n" + ] + } + ], + "source": [ + "pred = pipeline_rf.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 558, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.319827-0.028327
10.65190.6498250.002075
20.83600.838836-0.002836
30.70930.733131-0.023831
40.56640.571842-0.005442
50.33810.3222800.015820
60.79950.7791410.020359
70.40670.412124-0.005424
81.01281.0126360.000164
90.30340.311385-0.007985
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.319827 -0.028327\n", + "1 0.6519 0.649825 0.002075\n", + "2 0.8360 0.838836 -0.002836\n", + "3 0.7093 0.733131 -0.023831\n", + "4 0.5664 0.571842 -0.005442\n", + "5 0.3381 0.322280 0.015820\n", + "6 0.7995 0.779141 0.020359\n", + "7 0.4067 0.412124 -0.005424\n", + "8 1.0128 1.012636 0.000164\n", + "9 0.3034 0.311385 -0.007985" + ] + }, + "execution_count": 558, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_rf = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_rf.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 559, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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BLKgoCANGjRIb7/9tjZu3KiXX375ousHBwe7vy8pKVFIyNloFh4e7p4XFhamdev+d2r+oUOHdOWVV0qSzP9/5WVQUJCCgoKqNNbSGpI0b948ZWVlKTY2Vr1791Z6erp722XVrVv3bD1VrVZlKj1CKkkTJ07Uhg0blJqaqgkTJkiSlixZonbt2kmSoqOjtX79eqWlpWnu3LkKCwtzdJAAAAAA4O8SEhK0fPlyNW3atNyNYM/nnXfekTFGBw4c0J49e8qdhSpJDRo0UMuWLd2B9KOPPtKIESMkSbfffrveeustSdK7774rl+vidwEODg5WUVHReZd99NFHuu+++9S/f38dPHhQhw8fVklJiUf9OsGju+wCAAAAAC6uWbNmatasme66665K183Pz1diYqJcLpdmzZqlq666qsI68+fPV3Jysl5++WWFhobq2WefVVBQkJ544glNmTJFy5cvV7t27XT55ZdftNZ1112nkydPasqUKRo8eHC5ZePGjdNjjz2mK664Qg0bNlTbtm2VnZ1dtcargUAKAAAAICCUFLm88hEtJUUu1Qm5+Fmgxhjl5ubq6NGj6t27d6Xb7NevnxISEsrNKz0btdR1112nv//97xV+tkmTJlq6dKl7+sknn7xorauuukrr1693T992223u72NjYxUbG3venysd3+bNm93zOnTpoAE9Bly0XlUQSAEAAAAEhMpC4/nknMxR8wbNq73dtLQ0JScnKzk5WWFhYXrqqaeUnp4uSSosKVRonbM3Hmrbtm2Vx+iJDRs26IU/vuCuU1bZ61D9DYEUAAAAAKqpX79+6tevn3t66tSp7u89Cb3VNWDAAHW4s4PX6zjNo5saAQAAAADgNAIpAAAAAMAKAikAAAAAwAoCKQAAAADACgIpAAAAgIDgKi6s8s94chOgS9kuPMNddgEAAAJA2c9JTI5KrjAPqA3CgkM1ZMWDjm935d1/dHybOItACgAAEADqhITp2zmJ5ea1mr7G0miA2unPf/6z3nnnHRUXF+uOO+7QsGHDNHbsWF1+xeVqUK+BBg4cqLVr1+qHH35Qjx49NGrUKE2fPl05OTkKCQnRpEmT1L17dy1evFi7du3SwYMHNWLECI0YMcJ2a15DIAUAAACAavrHP/6hjIwMrV69WkFBQZoyZYpSU1P13Xff6Y233lCnn3bSm2++qcOHD2vDhg0K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jxs3TpmZmWrcuLHOzehBQUHatGlTtbZvjHHvzJYtW+qll17S6NGj9eMf/7jCTq6OkpIShYWFqUWLFhozZky5N1TFxcWO1Jg6daq6d++u5557To8++qhuu+02/e1vf3MsiJYqKipSSUmJGjZsqHr16rnnh4WFqU4dZy5/Dg8P17Fjx9wv5NOnTyssLExnzpxRSIhzL4+goCBdf/31eu2115Senq4VK1Zozpw5atmypZo2berIH0BjjE6ePKnTp08rPz9feXl5uuqqq5Sfn6/CwkIHujiroKBAZ86cUb169ZSfn68ffvhBklSvXj3H9ot04T9Mq1ev1q5duxx7Y1rZP4MGDRpU7RpPPPGE+w/TY489Vu4P0+bNmx0LpOf74zRs2DBt3LhRTz75pFffmI4aNUqSc29M//CHP6h3797nfWP61VdfOfLGtPQ5FB0draeeekqnT5/W8OHDtWXLFj3++OOOvTHdvXu37rvvPq++MU1KSnK/MX3ttdfUvn17Pfvss9q0aZOeeOIJx96Yzps3T4WFhbr//vsrvDHNzMys9hvTDRs26J133qnwuyQ2NlaxsbGOve7/8Ic/aNeuXWrfvv15/+Y78TzOyMhw/yNw0KBBuvfeexUeHq577723Qs3q+PDDD5WamqoffvhBffr00ccff6w6deqoe/fujvz+kqR+/frpz3/+sx555BG1aNFCxhjNmDFDDz/8sCPbP9d7772nVatWud/DREVFKTY21pHX/b/+9S+lpqZKOhtO1q1bp6CgIEVGRjp6aVOTJk308ssv6+mnn1bfvn01bNgwxcTEqEWLFo7V2Lt3r1JTU1VcXKzIyEgtX75cknT99de7z8Jzwvbt293P5TvvvFMjRozQG2+8ocjISA0cONCxQOqL178vXvuSb17/vnjtS755/ft1IB0/frwGDRqkbt26lTtld/v27Y78UirrjTfe0PDhwzVz5kx17tzZ0W1LZ3fmyJEjNW3aNLVv316tW7fWokWL9PDDD8vlcjlWp2/fvvrlL3+ppUuXut/kfvnll0pKSlL//v0dq9OtWzfdeOONmjlzprZs2eJY2C3rqquuUmRkpIKCgjRz5kzNmzdP27Zt0/z589WvXz9Hajz88MMaPHiwYmJi1KpVK40cOVLdunXT1q1bdf/99ztSQ1K5Xz633367br/9dhUWFuqrr75SVlaWIzXGjh2rvn37yhijKVOmaMyYMerWrZu2bdvm6PWwCQkJGjZsmO644w5t3bpVCQkJOnDggB566CHFxsY6VsdXb0y3b9+utLS0Cz6nnPilzhvTS8cbU88EyhvTunXr6tChQxXOSsrJyXH0OvglS5Zo1KhRuueee9SrVy/HtluWMUanT59WvXr19OMf/1hLlizRsGHD1LBhQ0f/ES1JLpdLV111laZOner+nXnq1Knz/lP/UowYMUK33XabZs6cqV/84hcaNGiQLr/8ct16662ObL/U6dOndfToUTVv3lynT592v+7z8/Md+ydxvXr19PXXX6t169b6yU9+ooMHD6p58+Y6fPiwo8+xoKAgXX311Xr66aeVmZmplStXasyYMSooKFDTpk3dr9HqqFOnjr777judPHlSJ0+eVHZ2tiIiInT8+HHH9r109oDGsWPH1LBhQx05ckT5+fmSpMLCQkf/ee+L178vXvuS717/3n7tSz56/Rs/d+jQIbN27Vrz0ksvmT/96U9m7dq15tChQ16ptXv3bpOUlOSVbRtjTHp6uvnmm2/KzcvJyTGzZ892tM7HH39cbnr//v1my5YtjtYoa+XKlWb06NFe2/7+/fvNZ599ZowxZseOHeaDDz5wdPv//ve/zSuvvGJmzpxpkpKSzHPPPWd2797taI2VK1c6ur0LOXPmjMnLyzPGGPPll1+al19+2WzdutXxOunp6ebll1826enpxhhj8vLyzJdffulojbi4OHPgwIEK8//973+bgQMHOlpr3LhxZtWqVY5us6zY2Fhz6tQp9/ShQ4dMjx49zFtvvWUGDRrkWJ2YmBiTn59vjCn/nDt58qQZMGCAY3W+/vprM3z4cLN27VpjjHG0h1J9+/Y1R44cMePGjTPHjx93zz9x4oRjvQwZMsT861//MsYY89BDD7mfb4cOHTLx8fGO1DCm/OPz3Xffmaeeesr07dvXREZGmrvvvtuRGgMHDjTffvut2b17t2nfvr3Jysoyxhhz7NgxR/f9gAEDzNGjR40xZx+n0t7y8vJMTExMtbf/0UcfmaioKHPvvfeaKVOmmClTpph7773XREVFmW3btlV7+2V9++23Zv78+Y5us6zly5ebvn37un9PGmPMN998Y6Kioky7du0cq7Ns2TLTt29fU1RU5J63c+dO06NHD7NixQrH6hhjTEFBgZk7d66ZMGGCo8+rUtOmTTOxsbGmc+fO5uGHHzbGGJOWlmaioqLM66+/7kiNTz/91Pz85z83EyZMMI899pj5+c9/bn71q1+ZyMhIR98rXeh3yPHjxx17j/HPf/7TREZGmjvvvNO89957pl+/fmbixImmR48e7t/PTlizZo2JjIw0v/71r01UVJRJTU01mZmZJjIy0qxevdqxOud7/Y8ePdrx17+3X/vGnP/1v3//fkdf/xd67ffs2dPx174x3n39+/U1pABqr/T0dE2fPl0tW7Ysd4ZEZmam5s6dq65duzpWKzc3V6mpqbrvvvsc22ZZK1as0CuvvKLk5GR169ZN0tk7iN9///06duyY9uzZ40id119/XX/729+0YcMG9/Win376qX7zm99o/Pjxjt5wyuVyaeHChcrJydH+/fv19ttvO7Zt6ezN0zIyMnTw4EF169ZNixcv1rvvvqu5c+fqgQce0LBhw6pd47PPPtOECRPUqVMnXXbZZfroo4908803a+/evfrd736nyMhIBzrRBe8T8J///EdZWVnuu4lXx9atW5WUlKSSkhI98cQTeuaZZ9SmTRt9/vnnmjhxomNHyN98800tWrRIHTt21O7duzV58mS1a9dO99xzjyZMmODI2Rhvv/22vvvuOwUHB+uaa65RkyZNdPPNN2vt2rWO3pHeF3e+X7JkiVwul+Li4tw18vLy9Prrr+uBBx5wpIZ09oaGwcHB7l4OHTqkkydP6tNPP3Wsl7KPV3Z2ttavX68nn3zS8U8KeP/995WTk6Pu3burZcuW+te//iVjjHbt2uVYnZSUFGVnZys8PFxFRUW6+uqrdccdd+jDDz90rMaHH36owsJCrz/HSh+vqKgo1atXTzt27FDr1q21Y8cOR/dL6XM5JiZGLVu2lMvl0qlTp/Tuu+86WufLL7/UyZMnlZubq8zMTP3f//2fhg4d6uhZK776NIrvvvtO4eHhatasmbtOu3bt9J///Ef33nuvYzXq1avn7mX37t2KiIhwXxbklLKP2YoVK7R7927dcccdjj1mBFIAfqugoEB79uxRbm6ujDHuN6ZOnlbl7RualcrMzFRYWFi57eXl5Wn16tWO/WGS5D5lq1TpG9PWrVs7VqOsjz76SG+//baefPJJr2z/zJkzOnr0qK655hr3G9Of/vSnjm0/Ly9P6enp+v7771VcXOx+Y9q0aVPHanz44YeOhVtPHT161P3G9LrrrnN02999952++uor3XDDDe43pqdPn3bkxkkLFizQ3r171apVK23YsEHTpk3zyh3pfXHne1/dXT/Qeind/97sxRfPsfnz52vv3r1e3y/efrxK6wTKJ0X4okZldTp27OjIZS62ejl06JB69+7tbB1Hj7cCgEMOHDhw0S+nxMbGmrZt25qePXuaHj16lPvq2bOnIzV81Ysv6tCLf9YJlF5iY2NNYWGhMebs6c09evQwGzZsMMZc+BRIf60TGxvrPpUuEHoJpP1CL1Wv46vncn5+vsnOzjYdOnRwX4JSUFBg4uLiakwNX9UJpF78+qZGAGovb9/5upS3b2gm+a4XX9Q5X42goCD3ncTpxbM6pbzZi9M1fFHH+OiO9L6oU/bxCYReAmm/0EvV65Sq6Z8U4YsavqoTSL1whBSAXzp58qSJi4szO3bs8Hotb9/QzFe9+KIOvfhnnUDpZfHixWbYsGHlbvqyY8cO07VrV9OpU6caVYde/LMOvfhvneeee84MHz683E169u3bZxITE83ixYtrTA1f1QmkXgikAPyWt4OiL/mqF1/UoRf/rBMovfjqjvS+qEMv/lmHXvy3ji8+KcJXn0ZBL57jpkYAAAAAACvqVL4KAAAAAADOI5ACAAAAAKwgkAIAAAAArCCQAgAAAACsIJACAAAAAKz4/wDQzAm/JJr5wwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_rf = results_rf.head(35)\n", + "results_rf.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 560, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_rf.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 561, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.005028800000000358" + ] + }, + "execution_count": 561, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_rf=np.mean(results_rf.error)\n", + "meanerror_rf" + ] + }, + { + "cell_type": "code", + "execution_count": 562, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.653364
10.551886
21.187203
30.699820
40.524007
......
650.745894
660.655365
671.835191
680.726997
690.825854
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.653364\n", + "1 0.551886\n", + "2 1.187203\n", + "3 0.699820\n", + "4 0.524007\n", + ".. ...\n", + "65 0.745894\n", + "66 0.655365\n", + "67 1.835191\n", + "68 0.726997\n", + "69 0.825854\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 562, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 563, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../rf.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 564, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 565, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29150.959760.33174
10.65190.650380.00152
20.83600.84794-0.01194
30.70930.424640.28466
40.56640.61854-0.05214
50.33810.72774-0.38964
60.79950.706480.09302
70.40670.47320-0.06650
81.01281.15570-0.14290
90.30340.42464-0.12124
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 0.95976 0.33174\n", + "1 0.6519 0.65038 0.00152\n", + "2 0.8360 0.84794 -0.01194\n", + "3 0.7093 0.42464 0.28466\n", + "4 0.5664 0.61854 -0.05214\n", + "5 0.3381 0.72774 -0.38964\n", + "6 0.7995 0.70648 0.09302\n", + "7 0.4067 0.47320 -0.06650\n", + "8 1.0128 1.15570 -0.14290\n", + "9 0.3034 0.42464 -0.12124" + ] + }, + "execution_count": 565, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 566, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6oAAAJDCAYAAAACQOngAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABG1UlEQVR4nO3de5hVddk//ntgGAgPWQqYUF8zNSs8m5ol4BEURhB8FOQriWVpCnmI4AmUycQTaBqWj1FWlidEBUkEFR4sQ7+eEsXHQ6njM8NBQLM4zzCs3x/+mBzOM7Nnz2dmXq/rmuuatfba6/7cs2Yf3nsddkGWZVkAAABAIlo19gAAAADg4wRVAAAAkiKoAgAAkBRBFQAAgKQUNvYAtmTt2rWxYMGC6NChQ7Ru3bqxhwMAAEAOVVVVxbJly6Jr167Rrl27zW5PMqguWLAgBg8e3NjDAAAAoAHdddddccQRR2w2P8mg2qFDh4j4aNB77rnnDt/v5mdujkuOvqSBRpXfOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsWTJkhg8eHB19ttUkkF14+G+e+65Z3Tp0mWH77fzHjvXavm6ykcdvaRZRy9p1tFLmnX0kmYdvaRZRy9p1tFLmnX0kmadutbY2qmeLqYEAABAUgRVAAAAkiKoAgAAkJQkz1EFAACoq8rKyigvL4+1a9fWeR09P9kzXnvttRyOqnFq5KvO1mq0bt06dtttt9hjjz2iVasd308qqAIAAM1KeXl57LLLLrH33ntHQUFBndaxaMWi2GuXvXI8svzXyFedLdXIsiwqKyvjvffei/Ly8vjc5z63w+tz6C8AANCsrF27Nnbfffc6h1Ryo6CgIIqKiqJz586xatWqWt1XUAUAAJodITUdtTnkt/o+DTAOAAAAqDNBFQAAaNYqKqtqfZ8dOaezLuvdljlz5sRvfvObWt3nlltuidmzZ+d0HClwMSUAAKBZK2rTOoovn5bz9U6/sW9O1/fqq6/W+j7f//73czqGVAiqAAAADWTEiBFxxBFHxFlnnRUREeecc0784Ac/iIMPPrjGcn//+9/j3nvvjYiIvfbaKxYtWhQvvfRSLF68OAYPHhz77bdf/PSnP421a9fGP//5zxgxYkSccsopMWrUqDjyyCPjyCOPjIsvvjj222+/eO2112L33XePW265JXbbbbd8t5wTDv0FAABoIAMGDIiHH344IiIWLlwYH3zwwWYhNSJi3333jYEDB8bAgQNjwIABERFRUVERM2bMiMGDB8cf/vCHuPrqq+Ohhx6KcePGxS9+8YvN1vH666/H0KFD449//GPsuuuuMX369IZtrgEJqgAAAA3kqKOOiqVLl0Z5eXlMnTo1+vbd8cOFDzrooOrfx48fH3/729/i5z//efzmN7/Z4te97L777vHlL385IiL222+/+Oc//1n/BhqJoAoAANBACgoKol+/fvHII4/EzJkzaxVU27VrV/372WefHS+//HJ07do1Lrjggi0u37Zt2xp1syyr+8AbmXNUAQAAGlD//v3j7LPPjn333Tc6deq01eVat24d69at22z+hx9+GKWlpXH33XdH27ZtY+LEiVFVldsrDqdGUAUAAJq1isqqnF+hd+N6i9q03u5yn/nMZ+Izn/lMnH766dtc7qtf/WqMHDky9thjjxrzd9ttt/iP//iP6N27d+y8885xyCGHxNq1a2P16tX1Gn/KBFUAAKBZ25EwualFKxZt97tUd2S9WZbF0qVLY/ny5XHiiSduc9mvfvWrMWfOnC3eNmrUqBg1alT1dElJSUREXHfdddXzPn7fYcOGbXdsKRNUAQAAGsisWbOipKQkSkpKoqioKK6//vqYN29eRERUbqiMNq3aRERE165dY9y4cY051KQIqgAAAA2kV69e0atXr+rpkSNHVv++I3ttWypX/QUAACApgioAAABJEVQBAABIiqAKANCMVFRu/t2KW5oHkDIXUwIAaEaK2rSO4sun1ZjXEN8fCU3JhvUV0aqwqFb32ZGLHNVlvewYQRUAAGjWWhUWxdvjBuR8vfuMfiDn68ylL37xi/HGG29s9faysrK47bbb4pprrtnhdc6ePTsWLFgQ3//+93MxxK0SVAEAAFqgRYsWRVlZWa3uc8IJJ8QJJ5zQQCP6N0EVAACggYwYMSKOOOKIOOussyIi4pxzzokf/OAHcfDBB2+27KhRo6KgoCDefPPNWLlyZVx44YXRr1+/mDhxYrz00kuxePHiGDx4cHzjG9+IkpKS+PDDD6Ndu3ZxxRVXxJe//OUoLy+PESNGxOrVq7e4/k1dffXVUV5eHj/+8Y+jV69eMX78+NiwYUPst99+cdlll8WPfvSjWLFiRSxbtix69+4dP/jBD+LBBx+MZ599Nq677ro4/vjj47TTTounnnoq/rXqX3HT+Juia9euOfm7uZgSAABAAxkwYEA8/PDDERGxcOHC+OCDD7YZIt977724995743e/+13ccMMNsWzZsoiIqKioiBkzZsTgwYNj5MiRMWLEiHjooYfiJz/5SVx66aUREfGTn/wk+vfvH9OmTYvDDjtsu2MbM2ZMdO3aNcaOHRsREaWlpfG73/0urr/++vjjH/8Yffr0icmTJ8fDDz8cd999d3zwwQebrWO33XaLKVOmxGn9T4vbb7+91n+fralXUL3lllvi1FNPjd69e8dvfvObzW6/9dZb47jjjou+fftG375946677qpPOQAAgCblqKOOiqVLl0Z5eXlMnTo1+vbd9sXN+vfvH23atIk999wzDjvssHjhhRciIuKggw6KiIhVq1bFggUL4j//8z+jb9++cfnll8fq1avjH//4Rzz77LNxyimnRETEaaedFm3atKnVWD//+c/HLrvsEhER3/rWt+Izn/lM/PrXv45x48ZFZWVlrFmzZrP7HHvssR/dd9/Px4cfflirettS50N/n3322XjmmWfi4YcfjvXr18epp54a3bt3j3322ad6mQULFsRNN90Uhx56aE4GCwAA0JQUFBREv3794pFHHomZM2fGr371q20u37p16+rfN2zYEIWFH0W2du3aVc8rKiqKadP+fXXvJUuWxG677RYREVmWVdctKCio1Vg31oiIuO6666KsrCz69OkTJ554YsybN6963R/Xtm3bj+pF7WptT533qB555JFx5513RmFhYbz//vtRVVUV7du3r7HMggULYtKkSVFcXBxXXXVVrFu3rt4DBgAAaEr69+8f9957b+y5557RqVOnbS776KOPRpZlsXDhwnj55Zfj8MMPr3H7LrvsEnvvvXd1UP3LX/4SgwcPjoiIY445pvow48ceeywqKiq2Wat169axfv36Ld72l7/8Jb71rW/FKaecEosXL4733nsvNmzYsEP95kJBtqVYXAs/+9nP4o477ohevXrFtddeW53aV61aFZdcckmMGTMmOnfuHKNGjYrOnTtXHz+9LeXl5XHCCSdE8bji2HmPnXd4LHNL50aPvXvUtZWk6uglzTp6SbOOXtKso5c06+glzTq5rFHSo2SL36NaMrekyfXS2HX0kmadHanR85M94//s+3+qpzu2/XQUFrXb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iPXr18chhxwSCxYsqLHcxIkTo0OHDjFw4MB48skn4yc/+UnMmDEjioqKtrn+8vLyOOGEE6J4XHHsvMfOOzyuuaVzo8fePWrbTq3lo45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs05ta6xcvjKmj54es2fPji5dumy+QLYdM2bMyI499tgaP+ecc0527LHHVi9TWVmZde3adXuryoqLi7PXXnttu8uVlZVl+++/f1ZWVrbdZT9u7H+PrdXydZWPOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsb3Mt92LKZ1yyilxyimn1JhXWVkZRx11VFRVVUXr1q1j2bJl0bFjx83u+/vf/z769OkTn/rUpzaG4igsrPP1mwAAAGgB6nSOaps2beKII46IGTNmRETE1KlTo1u3bpst99xzz8WUKVMiIuLZZ5+NDRs2xD777FOP4QIAANDc1fmqv2PHjo3JkyfHqaeeGs8//3xccsklERFxzz33xC233BIREaNHj4558+ZFnz594vrrr48bb7wxWrXy1a0AAABsXZ2Pw+3cuXP8/ve/32z+oEGDqn/v1KlT/OY3v6lrCQAAAFoguzcBAABIiqAKAABAUgRVAAAAkiKoAgAAkJQkv9S0qqoqIiKWLFlSq/utXL4yysvLG2JIea+jlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs45e0qxT2xobs97G7LepgizLspyMLIeef/75GDx4cGMPAwAAgAZ01113xRFHHLHZ/CSD6tq1a2PBggXRoUOHaN26dWMPBwAAgByqqqqKZcuWRdeuXaNdu3ab3Z5kUAUAAKDlcjElAAAAkiKoAgAAkBRBFQAAgKQIqgAAACRFUAUAACApgioAAABJEVQBAABIiqAKAABAUgobewD18dZbb8WsWbNiyZIl0apVq+jYsWMce+yxceCBBzb20GrliSeeiMWLF0f37t3jc5/7XPX8++67L84666yc1SktLY1PfOIT0alTp7j//vvjjTfeiMMOOyxOPfXUnNXIh5dffjkOOuigiIh4+umn48knn4zCwsI46aST4uCDD85prT//+c9x8MEHx6677hpTp06Nl19+Ob7yla/EgAEDcrL+q6++OoYNGxaf/OQnc7I+AABoDprsHtW77rorLrvssoiIOPDAA+MrX/lKRERcccUVcccddzTm0GplwoQJ8Yc//CFKS0tj4MCBMW3atOrb7r333pzV+e1vfxvf+ta3YuDAgfGf//mf8cgjj8TnP//5eOCBB+LnP/95zups6rrrrsv5OseOHRsRH/0PXHPNNbHnnnvGHnvsEVdeeWX84Q9/yFmdcePGxe233x7r1q2Lm2++OaZPnx777rtvPP7443H11VfnpMbUqVPjzDPPjMceeywn69uWp59+Ov76179GRMQdd9wRF1xwQdx6661RUVGRsxpPPPFEjBo1Kr71rW/FBRdcENdcc011TQCoiyeeeKL69/vvvz+GDRsWl156acyYMaMRRwU0tIIsy7LGHkRd9OzZM6ZOnRqf+MQnasxfs2ZNnH766TFz5syc1Fm0aNE2b99rr73qtf7i4uJ46KGHorCwMEpLS+O8886LESNGxCmnnBL9+vWLqVOn1mv9H68zZcqUWL58efTp0yeeeeaZaNu2bVRUVMQZZ5wRDz/8cL1r/Od//udm8+bMmRPHH398RERce+219a4REXH66afHQw89FH379o3f/va38alPfSoiIlauXBlnnHFGzrb9qaeeGtOnT4/WrVtHv379YvLkyVFUVBRVVVXRp0+fePTRR+tdo1+/fjFhwoQoKSmJdevWxdChQ+P444+Pdu3a5aCDf7vhhhvi+eefj/Xr10eXLl2ioKAg+vfvH3PmzImqqqqcBO/bb789XnrppTj22GNjzpw5ccQRR0S7du3i/vvvj29+85tx5pln5qATWronnngiTjzxxIj46A3rn/70p+ojKpra0SHU3p///OeYOXNmjSOpunXrFj179mzsodXK+vXr46677orFixfHiSeeGEcccUT1bRMnToxhw4blpM68efNil112iS996UsxceLEeOONN+Lwww+P8847L1q3bp2TGlty2WWXxU033ZSz9W183Z84cWI8//zzcc4550SWZXHffffFV77ylbj00ktzUmf9+vUxZcqUOOmkk2KXXXaJX/7yl/HKK6/EV77ylfjud78bbdu2rXeNCy64IEaPHh2f/exnczDirVu/fn1MnTo12rVrFz179oxrr702nnvuuejatWuMHDkydtttt3rX2LBhQ9x5550xe/bsWLZsWbRp0yY+97nPxamnnhq9e/eufxMf47FfO83lsd9kD/0tLCyM9evXbzZ/7dq10aZNm5zV+e53vxulpaXRsWPH2DTTFxQUxOzZs+u1/izLoqCgICIi9t5777j99ttj6NCh8elPf7p6fi5s2LAhioqKonPnznHeeefVeLKtqqrKSY3ddtstpk6dGhdccEHsuuuuERHxzDPPxJFHHpmT9W+0fv362LBhQ+y+++7Rvn376vlFRUXRqlXuDhJo165dvP/++9GxY8fYfffdY/Xq1VFUVBRr1qyJwsLcPHQKCgpi3333jT/84Q8xb968uO+++2LcuHGx9957x5577hk33nhjTur8+c9/jmnTpkVFRUV07949nnrqqWjTpk1069Yt+vbtm5MaM2bMiKlTp0ZBQUEMGDAgzj///LjzzjtjwIABceaZZ+Y0qHrBqr3GeNHK9QtWRMTPf/7zOPHEE7f4hvWNN97IyRvWfLxZjcjPG9Z8vFmNyM8b1ltuuSVefvnlOO2006Jjx44REbF06dKYMmVKvPTSSzFy5Mh613juuee2eftXv/rVeteIiLjyyitjw4YNsf/++8cPf/jDOPPMM+OCCy6IiI8+4M3FY3/8+PHx4osvxsqVK6tfxwYNGhQzZ86Ma665Jq644op614iIOOecczZ7v7JgwYIYMmRIRETceeedOakTEfH444/H/fffX/0Y7NGjR/Tp0ydnQXXj/1DPnj3j+uuvj9WrV8fZZ58dc+fOjR/96Ec5eU2eP39+9RFu55xzTk7fs37cmDFjYvXq1VFRURF/+MMf4qCDDoqf/vSnMXv27LjyyivjZz/7Wb1rXHfddVFZWRnf/va3Y9asWXHAAQfEZz7zmbjzzjujtLQ0Lrroohx04rFfW83psd9kg+oFF1wQ/fr1i6997WvRoUOHiIhYtmxZPPPMMzl7woqIuOeee+Lss8+OsWPHxuGHH56z9W7Uq1evOOecc2LUqFFx0EEHxX777Re33HJLXHzxxTk9JPPkk0+O//t//2/ceeed1Q+C119/PcaMGROnnHJKTmqMHDkyunXrFjfffHNcdtllcdRRR8Xvfve7OP3003Oy/o0+9alPRffu3aOgoCDGjh0b1113XTz99NMxfvz46NWrV87qXHzxxXHGGWdE7969Y5999olzzjknvva1r8VTTz0V3/72t3NS4+MffhxzzDFxzDHHRGVlZbzxxhtRVlaWkxob66xYsSJWr14da9eujZUrV8anPvWpWLt2bVRWVuakxrp162LNmjXRvn37WLt2bXz44YcREdG+ffucfoCQjxesiNju0Qz9+vWrd418vGBF5OdFK59vViMa9g1rPt6sRuTnDWs+3qxG5OcN64wZM+LRRx/d7PmkT58+0adPn5w89n/+85/HSy+9FAcddNAWP5zO1f/xggULqo9k6tevX5x77rnRrl27OPfcczerW1dPPvlkTJ8+PT788MM46aST4tlnn41WrVpFt27dcvL8tVGvXr3il7/8ZVxyySXRuXPnyLIsrrjiirj44otzVmP16tWxfPny2GuvvWL16tXVj/u1a9fm7IPjiIg333wzpk+fHhEfBZdp06ZFQUFBdO/ePWdHbHTq1Cl+9atfxQ033BAnn3xyDBo0KHr37h2dO3fOyfo3evXVV2P69OlRVVUV3bt3rz6dbN99983ZB9TPPPNM9f/xscceG4MHD4577rknunfvHqeddlrOgqrHfu00p8d+kw2qxcXFceSRR8bTTz8dS5cujSzL4ogjjohhw4ZFp06dclZn5513jquvvjruv//+BgmqF198cRx++OGx0047Vc87/PDD48EHH8zpubbf//7347nnnqux56SoqCiGDRsW3bt3z1mdr33ta/GlL30pxo4dG3Pnzs3Z3tqP2/hk8fbbb8e//vWviPiol+HDh0ePHj1yVuf444+P/fbbL5544ol4991345BDDomddtoprrvuuuqLOdXX4MGDN5vXpk2b6Nq1a3Tt2jUnNSIizj///Dj55JMjy7IYMWJEnHfeefG1r30tnn766ZxdGKp///4xaNCg+MY3vhFPPfVU9O/fPxYuXBgXXXRR9OnTJyc1IvLzghXx0QvwrFmztvrhRy6e7PPxghWRnxetfLxgReTnDWs+3qxG5OcNaz7erEbk5w1r27ZtY8mSJZudcrNo0aIoKiqq9/ojIiZNmhRDhgyJb37zm3HCCSfkZJ1bkmVZrF69Otq3bx+f/vSnY9KkSTFo0KDYfffdc3o0VUVFRXzqU5+KkSNHVj9nrlq1aotHpNXV4MGD46ijjoqxY8fGf/zHf0S/fv1ip512yunRVIcddlgMHTo0Fi9eHFdeeWVMnDgxHnvssbj22mvjO9/5Ts7qtG/fPv72t7/FfvvtF5/73Odi8eLFsddee8V7772Xs/+xgoKC2GOPPeKGG26I0tLSmDx5cpx33nmxbt262HPPPXN2fZJWrVrFO++8EytWrIgVK1ZEeXl5dOnSJT744IOcbf+qqqp4//33Y/fdd49ly5bF2rVrIyKisrIypx8geOzXXnN57EcGDWTy5MnZ0KFDG3sY/P/WrFmTrVy5MsuyLHv99dezX/3qV9lTTz2V0xrz5s3LfvWrX2Xz5s3LsizLVq5cmb3++us5rVFcXJwtXLhws/n/+7//m5122mk5rfXd7343u//++3O6zo/r06dPtmrVqurpJUuWZMcdd1z28MMPZ/369ctZnd69e2dr167Nsuyjx+VGK1asyE499dSc1fnb3/6WnX322dlDDz2UZVmW0x42GjVqVNanT5/s8MMPzy6++OIsy7Js1qxZWY8ePbK77747JzXOPPPM7M0338yyLMsuuuii6v+3JUuWZH379s1JjSyr+fd55513suuvvz47+eSTs+7du2dnnXVWTmqcdtpp2dtvv53Nnz8/O+igg7KysrIsy7Ls/fffz+m2P/XUU7Ply5dnWfbR32ljbytXrsx69+6dkxp/+ctfsh49emTnnntuNmLEiGzEiBHZueeem/Xo0SN7+umnc1Ijy7Ls7bffzsaPH5+z9W3Jvffem5188snVz5VZlmV///vfsx49emQHHnhgTmrcdddd2cknn5ytX7++et4LL7yQHXfccdl9992Xkxoft27duuzaa6/Nhg0bltP/rY0ef/zx7He/+132zjvvZFmWZW+88Ub2+uuvZ/fee2/Oarz44ovZ17/+9WzYsGHZD3/4w+zrX/969r3vfS/r3r17Nnfu3JzU2NpzyAcffJDNnz8/JzWyLMv+/Oc/Z927d8+OPfbY7PHHH8969eqVDR8+PDvuuOOqn6Pr64EHHsi6d++eff/738969OiRTZ8+PSstLc26d++eTZkyJSc1smzLj/2hQ4c2m8f+W2+9lZfH/vHHH9/kHvtN9mJKQMs0b968GD16dOy99941DvsvLS2Na6+9No4++uic1Vq6dGlMnz49vvWtb+VsnR933333xR133BElJSXxta99LSI++tqtb3/72/H+++/Hyy+/nJM6d999d/zud7+LGTNmVB9V8eKLL8YPfvCDuOCCC3J6/nBFRUXcdNNNsWjRonjrrbfikUceydm6P27NmjWxfPny+OxnPxtvvvlmZFkWX/ziF3Oy7r/+9a8xbNiwOOyww+ITn/hE/OUvf4mDDz44Xn311fjxj3+cs6NQtnbBvH/84x9RVlaWkyM3nnrqqRgzZkxs2LAhrrzyyrjxxhtj//33j1deeSWGDx+esz3qDz74YNxyyy1x6KGHxvz58+Pyyy+PAw88ML75zW/GsGHDcnbkxiOPPBLvvPNOtG7dOj772c9Gp06d4uCDD46HHnooZ1/nlq+vjJs0aVJUVFREcXFxdZ2VK1fG3XffnbO9hL/97W+jdevW1b0sWbIkVqxYES+++GJOe/n436y8vDz++Mc/xjXXXJOzv9mECRPi1VdfjX322SceffTRGDlyZPURARsvtJQrU6dOjfLy8mjXrl2sX78+9thjj/jGN74RTz75ZE56efLJJ6OysjIv/2NPPPFELFq0KHr06BHt27eP559/Pvbbb794/vnnc1Zn4/9x7969Y++9946KiopYtWpVPPbYYznt5fXXX48VK1bE0qVLo7S0NP7f//t/MXDgwJwe5ZKvr3F85513ol27dvGZz3ymus6BBx4Y//jHP+Lcc8/NWY327dtX9zJ//vzo0qVL9elFufLxv9l9990X8+fPj2984xs5+5sJqkCTs27dunj55ZerD/vf+GY1V4cARTT8Fb83Ki0tjaKiohrrW7lyZUyZMiVnL1gRUX3Y10Yb37Dut99+OavxcX/5y1/ikUceiWuuuSan683Xdlm5cmXMmzcv3n333aiqqqp+s7rnnnvmZP0RH71hzeWpFzti+fLl1W9Wv/CFL+R03e+880688cYbccABB1S/YV29enXOLtj08bAyY8aMGDVqVM7DyoQJE2LBggXxhS98oUEDUT7qNKde8vUNCfn4Hxs/fny8+uqredkuDR3u8/U/9tvf/jZ+//vfx4YNG+Loo4+OxYsXx0knnRRz5syJww47LCenFuSjxvbqHHrooTk5XaaxelmyZEmceOKJua2T0/2zAA1s4cKF2/zJlT59+mRdu3bNjj/++Oy4446r8XP88cfnpEa+eslHHdslzTrNqZc+ffpklZWVWZZ9dKj0cccdl82YMSPLsq0fTplijY11Nh6W1xx6aeg6vXv3rnEY45tvvpl9/etfz5555pmcnmLQ3P7H8tFLQ/8fb6yzdu3arLy8PDvkkEOqT2VZt25dVlxc3GRq5KtOc+qlyV5MCWiZGvorozZq6Ct+R+Svl3zU2VKNgoKC6q/gaurbpSF6aaztkusa+aqT5eHr3PJRY2OdjZpDLw1dJ1/fkNDc/sfy0ctGTf0rFvNRI191mlMv9qgCTcqKFSuy4uLi7Pnnn2/wWvPnz8/GjBnTYOvPVy/5qGO7pFmnOfUyceLEbNCgQTUuOPP8889nRx99dHbYYYc1mRr5qtOcesmyjy7W9/e//73GvEWLFmVXX311zmrYLunVyLIsu/nmm7Ozzz67xl711157LRswYEA2ceLEJlMjX3WaUy+CKtDkNHRQyad89ZKPOrZLmnWaUy/5CCv5qJGvOs2pl3yxXdKrkWVZ9uyzz9aYfuutt3J2JeZ81shXnebSi4spAQAAkJRWjT0AAAAA+DhBFQAAgKQIqgAAACRFUAUAACAp/x/8T7erRTRXEQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 567, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_kn.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 568, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.011010857142857142" + ] + }, + "execution_count": 568, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 569, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.62584
10.67650
20.71324
30.79172
40.54562
......
650.79428
660.60598
671.48028
680.73740
690.71318
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.62584\n", + "1 0.67650\n", + "2 0.71324\n", + "3 0.79172\n", + "4 0.54562\n", + ".. ...\n", + "65 0.79428\n", + "66 0.60598\n", + "67 1.48028\n", + "68 0.73740\n", + "69 0.71318\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 569, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 570, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 571, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9999916674769973\n", + "Adjusted R^2: 0.9999913886936999\n", + "MAE: 0.0010687737832359861\n", + "MSE: 2.2871364923928635e-06\n", + "RMSE: 0.001512328169542862\n" + ] + } + ], + "source": [ + "pred = pipeline_xgb.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 572, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.2910560.000444
10.65190.6486070.003293
20.83600.836601-0.000601
30.70930.709783-0.000483
40.56640.567276-0.000876
50.33810.3380060.000094
60.79950.7990580.000442
70.40670.407544-0.000844
81.01281.013486-0.000686
90.30340.3031990.000201
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.291056 0.000444\n", + "1 0.6519 0.648607 0.003293\n", + "2 0.8360 0.836601 -0.000601\n", + "3 0.7093 0.709783 -0.000483\n", + "4 0.5664 0.567276 -0.000876\n", + "5 0.3381 0.338006 0.000094\n", + "6 0.7995 0.799058 0.000442\n", + "7 0.4067 0.407544 -0.000844\n", + "8 1.0128 1.013486 -0.000686\n", + "9 0.3034 0.303199 0.000201" + ] + }, + "execution_count": 572, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgb = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgb.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 573, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJDCAYAAAAcidlTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABBvElEQVR4nO3de3RU9b03/k8EQsTL0aqgQvuz3o5tEe/XVgFvQSGC4LEgj1S0tloFRUuhBSXHilDBW7Wny2JttaKIoGAqggqHnipyrKggPl5aNT4JoIDWlltICPv3h4upETEJTGYP4fVaK2tlZu/s9/ebyQzzZu/ZuyBJkiQAAAAgx3ZKewAAAADsmBRSAAAAUqGQAgAAkAqFFAAAgFS0TDO8qqoqFi9eHPvss0+0aNEizaEAAACQZbW1tbFixYro2LFjFBUVbbY81UK6ePHi6N+/f5pDAAAAoIlNnDgxjj322M3uT7WQ7rPPPhHx6eD23XffBv/cHfPviGtOvKaJRpW7jFzlmEt+5phLfuaYS37mmEt+5jSnueQqx1zyM8dc8jPHXPIzp7EZH3zwQfTv3z/T/T4v1UK66TDdfffdNzp06NDgn9t1710btf7WyEVGrnLMJT9zzCU/c8wlP3PMJT9zmtNccpVjLvmZYy75mWMu+ZmztRlb+oimkxoBAACQCoUUAACAVCikAAAApCLVz5ACAABsjZqamqisrIyqqqpt2k7xvxXHG2+8kaVRpZeRq5wtZRQVFUWHDh2iVatWjdqeQgoAAGx3KisrY7fddosDDjggCgoKtno7S1ctjf132z+LI0snI1c5X5SRJEl89NFHUVlZGV//+tcbtT2H7AIAANudqqqq2GuvvbapjJIdBQUFsddee23V3mqFFAAA2C4po/ljax8LhRQAAIBUKKQAAECzUF1T2+ifachnLrdmu19mzpw58bvf/a5RP3PnnXfG7NmzszqOfOCkRgAAQLNQ2KpFlFw3PevbLbu1Z1a39/rrrzf6Z66++uqsjiFfKKQAAADbaOjQoXHsscfGd7/73YiIuOiii+LHP/5xHHHEEXXW+9vf/haTJk2KiIj9998/li5dGq+++mosW7Ys+vfvH4ccckjcfvvtUVVVFf/4xz9i6NChcfbZZ8fw4cPj+OOPj+OPPz6uuuqqOOSQQ+KNN96IvfbaK+68887YY489cj3lrHDILgAAwDbq06dPPPHEExERsWTJkvj44483K6MREQcffHD07ds3+vbtG3369ImIiOrq6pgxY0b0798/Hnzwwbjpppvi8ccfj9GjR8d//dd/bbaNN998MwYOHBh//OMfY/fdd4+ysrKmnVwTUkgBAAC20QknnBDLly+PysrKmDZtWvTs2fDDfDt16pT5fty4cfHXv/41fvWrX8Xvfve7WLNmzWbr77XXXvHNb34zIiIOOeSQ+Mc//rHtE0iJQgoAALCNCgoKolevXvHkk0/GzJkzG1VIi4qKMt9feOGFsWjRoujYsWNcfvnlX7h+69at6+QmSbL1A0+Zz5ACAABkQe/evePCCy+Mgw8+ONq1a7fF9Vq0aBHr16/f7P5PPvkkysvL46GHHorWrVvHXXfdFbW12T3Db75RSAEAgGahuqY262fE3bTdwlYt6l1vv/32i/322y/OO++8L13vuOOOi2HDhsXee+9d5/499tgj/uM//iO6d+8eu+66axx55JFRVVUVa9eu3abx5zOFFAAAaBYaUho/b+mqpfVei7Qh202SJJYvXx4rV66MM84440vXPe6442LOnDlfuGz48OExfPjwzO3S0tKIiBg7dmzmvs/+7KBBg+odWz5TSAEAALbRrFmzorS0NEpLS6OwsDB+8YtfxLx58yIiomZjTbTaqVVERHTs2DFGjx6d5lDzikIKAACwjbp16xbdunXL3B42bFjm+4bshd1ROcsuAAAAqVBIAQAASIVCCgAAQCoUUgCA7VB1Td1rE26sqc58X9ql9NP7NlQHQD5zUiMAgO1QYasWUXLd9Mztslt7xruj+9RZ58ARU3M9LEjVxg3VsVPLwkb9TENONrQ126VhFFIAAKBZ2Kll4Wb/MZMN+f6fO//+7/8eb7311haXV1RUxK9//eu4+eabG7zN2bNnx+LFi+Pqq6/OxhC3SCEFAABoxpYuXRoVFRWN+pnTTz89Tj/99CYa0b8opAAAANto6NChceyxx8Z3v/vdiIi46KKL4sc//nEcccQRm607fPjwKCgoiLfffjtWr14dV1xxRfTq1SvuuuuuePXVV2PZsmXRv3//+M53vhOlpaXxySefRFFRUVx//fXxzW9+MyorK2Po0KGxdu3aL9z+5910001RWVkZ//mf/xndunWLcePGxcaNG+OQQw6Ja6+9Nn72s5/FqlWrYsWKFdG9e/f48Y9/HI899li8+OKLMXbs2DjttNPi3HPPjeeeey7+ueafcdu426Jjx45Z+b05qREAAMA26tOnTzzxxBMREbFkyZL4+OOPv7QsfvjhhzFp0qS4//7745ZbbokVK1ZERER1dXXMmDEj+vfvH8OGDYuhQ4fG448/Hj//+c9jyJAhERHx85//PHr37h3Tp0+Po48+ut6xjRw5Mjp27BijRo2KiIjy8vK4//774xe/+EX88Y9/jB49esTkyZPjiSeeiIceeig+/vjjzbaxxx57xJQpU+Lc3ufGPffc0+jfz5YopAAAANvohBNOiOXLl0dlZWVMmzYtevbs+aXr9+7dO1q1ahX77rtvHH300bFgwYKIiOjUqVNERKxZsyYWL14cP/3pT6Nnz55x3XXXxdq1a+Pvf/97vPjii3H22WdHRMS5554brVq1atRYv/71r8duu+0WERGXXnpp7LfffvHb3/42Ro8eHTU1NbFu3brNfuaUU0759GcP/np88sknjcr7Mg06ZPfOO++MWbNmRUFBQZx//vkxcODAOsvvvvvumDp1auy+++4REXHBBRdE//79szZIAACAfFZQUBC9evWKJ598MmbOnBn33nvvl67fokWLzPcbN26Mli0/rWZFRUWZ+woLC2P69H+dTfuDDz6IPfbYIyIikiTJ5BYUFDRqrJsyIiLGjh0bFRUV0aNHjzjjjDNi3rx5mW1/VuvWrT/Ni8Zl1afePaQvvvhizJ8/P5544omYOnVq/OEPf4h33323zjqLFy+O2267LaZPnx7Tp09XRgEAgB1O7969Y9KkSbHvvvtGu3btvnTdp556KpIkiSVLlsSiRYvimGOOqbN8t912iwMOOCBTSJ9//vlMzzr55JMzhwc//fTTUV395dccbtGiRWzYsOELlz3//PNx6aWXxtlnnx3Lli2LDz/8MDZu3Nig+WZDvXtIjz/++HjggQeiZcuW8eGHH0ZtbW20adOmzjqLFy+OCRMmREVFRRx33HExbNiwTIMGAADIhY0bqpvkEi0NvQ7pfvvtF/vtt1+cd9559a5bVVUVffr0ierq6rjxxhtjzz333GydcePGRWlpadx7773RqlWruP3226OgoCBuuOGGGDp0aEyaNCkOP/zw2GWXXb4066CDDopVq1bF0KFD4/zzz6+z7Ic//GH85Cc/id133z322muv6NixY1RWVtY7/mwpSL5of+wX+OUvfxn33XdfdOvWLcaMGZPZLbxmzZq45pprYuTIkdG+ffsYPnx4tG/fPvOB2y9TWVkZp59+epSMLold9961wYOeWz43uhzQpcHrb41cZOQqx1zyM8dc8jPHXPIzx1zyM6c5zSVXOdnMKO1SGiXX/etQvrJbe252/cUDR0yN0rmlWcn7PI9LfubsSHMp/rfi+P8O/v+2OWfV+lWxW+vdtnk7SZLERys/imt+cE3c98h9UVj4rwL7+YyxpWPjyGOOjG4l3bY597OyNZetzXj/b+/HrH/MqnPf6pWro2xEWcyePTs6dOiw+Q8ljbB27dpkwIAByaRJk7a4zuuvv5707NmzQdurqKhIDj300KSioqIxw0hG/feoRq2/NXKRkascc8nPHHPJzxxzyc8cc8nPnOY0l1zlZDujx7XTMl9JkiTv3NS7zldT8rjkZ86ONJf/+3//b1ZylvxzSVa289RTTyUnnHBC8tRTTyVJkiRjx45Nzj333OTcc89Nzu5xdub7n/3sZ8mwYcOSqVOnZiV3kyeffLJOzme/sunLfl9f9JjU1/nqPWT3nXfeierq6vjGN74RO++8c5x11lnx1ltvZZYvXbo05s2bl9n1myRJ5gO5AAAAO4Ju3bpFt27/2uM5bNiwzPdLVy2N/Xfbv0nzzznnnDjylCObPCfb6j2pUWVlZYwcOTKqq6ujuro6Zs+eXecDt0VFRTFu3LioqKiIJEli4sSJceaZZzbpoAEAANj+1bsrs3PnzrFw4cLo1atXtGjRIs4666zo3r17XHbZZTF48OA4/PDD48Ybb4wrrrgiampq4uijj97ssjAAAADweQ06tnbw4MExePDgOvdNmDAh831xcXEUFxdnd2QAAAA0a/UesgsAAABNQSEFAACaheramkb/TENOArQ126VhnA4XAABoFgpbtIoLHrki69ud/N1fZ32bfEohBQAAyILf/OY38dRTT0VtbW185zvfiX79+sVll10Wu+y+S+zWZrc499xz4/HHH49PPvkkunbtGgMGDIgRI0bE0qVLo2XLljFkyJA49dRT46677opXX301li1bFv3794/+/funPbUmo5ACAABso//5n/+JxYsXx5QpU6KgoCCGDh0aZWVl8d5778XDTzwcR//70fHYY4/Fhx9+GDNmzIiWLVvG1VdfHSeeeGIMHDgw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HlIAAABoCgopAAAAqVBIAQAASIVCCgAAQCoUUgAAAFKhkAIAAJAKhRQAAIBUKKQAAACkQiEFAAAgFQopAAAAqVBIAQAASIVCCgAAQCoUUgAAAFKhkAIAAJAKhRQAAIBUKKQAAACkQiEFAAAgFQopAAAAqWiZZnhtbW1ERHzwwQeN+rnVK1dHZWVlUwwppxm5yjGX/Mwxl/zMMZf8zDGX/MxpTnPJVY655GeOueRnjrnkZ05jMzZ1vU3d7/MKkiRJsjKyrfDSSy9F//7904oHAAAgByZOnBjHHnvsZvenWkirqqpi8eLFsc8++0SLFi3SGgYAAABNoLa2NlasWBEdO3aMoqKizZanWkgBAADYcTmpEQAAAKlQSAEAAEiFQgoAAEAqFFIAAABSoZACAACQCoUUAACAVCikAAAApEIhBQAAIBUt0x5Afd55552YNWtWfPDBB7HTTjtF27Zt45RTTonDDz887aE12rPPPhvLli2Lzp07x9e+9rXM/Y888kh897vfzVpOeXl57LzzztGuXbt49NFH46233oqjjz46zjnnnKxl5MKiRYuiU6dOERHxwgsvxJ/+9Kdo2bJlnHnmmXHEEUdkLefPf/5zHHHEEbH77rvHtGnTYtGiRfGtb30r+vTpk7WMm266KQYNGhT/9m//lrVtAgDA9i6v95BOnDgxrr322oiIOPzww+Nb3/pWRERcf/31cd9996U5tEYbP358PPjgg1FeXh59+/aN6dOnZ5ZNmjQpazm///3v49JLL42+ffvGT3/603jyySfj61//ekydOjV+9atfZS3n88aOHZv1bY4aNSoiPv07uPnmm2PfffeNvffeO2644YZ48MEHs5IxevTouOeee2L9+vVxxx13RFlZWRx88MHxzDPPxE033ZSVjIiIadOmxQUXXBBPP/101rb5RV544YV45ZVXIiLivvvui8svvzzuvvvuqK6uzmrOs88+G8OHD49LL700Lr/88rj55pszuQCwNZ599tnM948++mgMGjQohgwZEjNmzEhxVEBTK0iSJEl7EFtSXFwc06ZNi5133rnO/evWrYvzzjsvZs6cmbWspUuXfuny/ffff5u2X1JSEo8//ni0bNkyysvL45JLLomhQ4fG2WefHb169Ypp06Zt0/Y/mzNlypRYuXJl9OjRI+bPnx+tW7eO6urqOP/88+OJJ57Y5oyf/vSnm903Z86cOO200yIiYsyYMducERFx3nnnxeOPPx49e/aM3//+97HnnntGRMTq1avj/PPPz8rjf84550RZWVm0aNEievXqFZMnT47CwsKora2NHj16xFNPPbXNGRERvXr1ivHjx0dpaWmsX78+Bg4cGKeddloUFRVlZfsREbfccku89NJLsWHDhujQoUMUFBRE7969Y86cOVFbW5u1gn3PPffEq6++GqecckrMmTMnjj322CgqKopHH300vve978UFF1yQlRx2bM8++2ycccYZEfHpG9P/+Z//yRwhsb0d7UHj/PnPf46ZM2fWOTLq1FNPjeLi4rSH1igbNmyIiRMnxrJly+KMM86IY489NrPsrrvuikGDBmUta968ebHbbrvFN77xjbjrrrvirbfeimOOOSYuueSSaNGiRdZyPuvaa6+N2267Lavb3PTv/l133RUvvfRSXHTRRZEkSTzyyCPxrW99K4YMGbLNGRs2bIgpU6bEmWeeGbvttlv85je/iddeey2+9a1vxQ9/+MNo3bp1FmYScfnll8eIESPiq1/9ala290U2bNgQ06ZNi6KioiguLo4xY8bEX/7yl+jYsWMMGzYs9thjj6zkbNy4MR544IGYPXt2rFixIlq1ahVf+9rX4pxzzonu3btnJWMTz//GSeO5H5H9539eH7LbsmXL2LBhw2b3V1VVRatWrbKa9cMf/jDKy8ujbdu28fmOXlBQELNnz96m7SdJEgUFBRERccABB8Q999wTAwcOjK985SuZ+7Nh48aNUVhYGO3bt49LLrmkzgtrbW1tVjL22GOPmDZtWlx++eWx++67R0TE/Pnz4/jjj8/K9jfZsGFDbNy4Mfbaa69o06ZN5v7CwsLYaafs7NwvKiqKjz76KNq2bRt77bVXrF27NgoLC2PdunXRsmX2nh4FBQVx8MEHx4MPPhjz5s2LRx55JEaPHh0HHHBA7LvvvnHrrbduc8af//znmD59elRXV0fnzp3jueeei1atWsWpp54aPXv2zMIsPjVjxoyYNm1aFBQURJ8+feKyyy6LBx54IPr06RMXXHBBVgupf5gar7m8Mf3Vr34VZ5xxxhe+MX3rrbe8Mf2c5vLG9M4774xFixbFueeeG23bto2IiOXLl8eUKVPi1VdfjWHDhm1zRkTEX/7yly9dftxxx21zxg033BAbN26MQw89NH7yk5/EBRdcEJdffnlEfPqfuNl63o8bNy5efvnlWL16debfsn79+sXMmTPj5ptvjuuvv36bMy666KLN3qssXrw4BgwYEBERDzzwwDZnfNYzzzwTjz76aOY52KVLl+jRo0dWnveb/oaKi4vjF7/4RaxduzYuvPDCmDt3bvzsZz/Lyr/HERELFy7MHLF20UUXZf19a0TEyJEjY+3atVFdXR0PPvhgdOrUKW6//faYPXt23HDDDfHLX/4yKzljx46Nmpqa+P73vx+zZs2Kww47LPbbb7944IEHory8PK688sqs5OTi+Z+L535Ebp7/uXjuR+Tm+Z/XhfTyyy+PXr16xUknnRT77LNPRESsWLEi5s+fn5UXpc96+OGH48ILL4xRo0bFMccck9VtR0R069YtLrroohg+fHh06tQpDjnkkLjzzjvjqquuyurhlGeddVb8n//zf+KBBx7I/LG/+eabMXLkyDj77LOzkjFs2LA49dRT44477ohrr702TjjhhLj//vvjvPPOy8r2N9lzzz2jc+fOUVBQEKNGjYqxY8fGCy+8EOPGjYtu3bplJeOqq66K888/P7p37x4HHnhgXHTRRXHSSSfFc889F9///vezkhERdf6T4+STT46TTz45ampq4q233oqKioqsZaxatSrWrl0bVVVVsXr16thzzz2jqqoqampqspIREbF+/fpYt25dtGnTJqqqquKTTz6JiIg2bdpk7T8KInL3xrS+oxN69eq1zRnemG49b0wbprm8MZ0xY0Y89dRTm72W9OjRI3r06JG15/2vfvWrePXVV6NTp05f+J/Q2fg7Xrx4ceaopF69esXFF18cRUVFcfHFF2+WuS3+9Kc/RVlZWXzyySdx5plnxosvvhg77bRTnHrqqVl5/Yr49D3Mb37zm7jmmmuiffv2kSRJXH/99XHVVVdlZfubrF27NlauXBn7779/rF27NvO8r6qqytp/Er/99ttRVlYWEZ+Wk+nTp0dBQUF07tw5q0dftGvXLu6999645ZZb4qyzzop+/fpF9+7do3379lnLeP3116OsrCxqa2ujc+fOmY+AHXzwwVn9j+j58+dn/pZPOeWU6N+/fzz88MPRuXPnOPfcc7NWSHPx/M/Fcz8iN8//XDz3I3Lz/M/rQlpSUhLHH398vPDCC7F8+fJIkiSOPfbYGDRoULRr1y6rWbvuumvcdNNN8eijjzZJIb3qqqvimGOOiV122SVz3zHHHBOPPfZYVj8Pe/XVV8df/vKXOntCCgsLY9CgQdG5c+es5Zx00knxjW98I0aNGhVz587N2t7Xz9r0ovDuu+/GP//5z4j4dC6DBw+OLl26ZCXjtNNOi0MOOSSeffbZeP/99+PII4+MXXbZJcaOHZs5oVI29O/ff7P7WrVqFR07doyOHTtmJeOyyy6Ls846K5IkiaFDh8Yll1wSJ510UrzwwgtZPUFT7969o1+/fvGd73wnnnvuuejdu3csWbIkrrzyyujRo0fWcnL1xnT+/Pkxa9asLf4nRzZe1L0xbTxvTBunubwxbd26dXzwwQebfUxm6dKlUVhYuE3b/qwJEybEgAED4nvf+16cfvrpWdvuZyVJEmvXro02bdrEV77ylZgwYUL069cv9tprr6weGRURUV1dHXvuuWcMGzYs85q5Zs2aLzzKbGv0798/TjjhhBg1alT8x3/8R/Tq1St22WWXrB8ZdfTRR8fAgQNj2bJlccMNN8Rdd90VTz/9dIwZMyZ+8IMfZCWjTZs28de//jUOOeSQ+NrXvhbLli2L/fffPz788MOs/o0VFBTE3nvvHbfcckuUl5fH5MmT45JLLon169fHvvvum5Xzh+y0007x3nvvxapVq2LVqlVRWVkZHTp0iI8//jhrj33Ep0fYffTRR7HXXnvFihUroqqqKiIiampqsno0WS6e/7l47kfk7vnf1M/9iBw9/xPYRpMnT04GDhyY9jBIkmTdunXJ6tWrkyRJkjfffDO59957k+eeey7rOfPmzUvuvffeZN68eUmSJMnq1auTN998M6sZJSUlyZIlSza7///9v/+XnHvuuVnN+uEPf5g8+uijWd3mZ/Xo0SNZs2ZN5vYHH3yQdO3aNXniiSeSXr16ZS2ne/fuSVVVVZIknz4vN1m1alVyzjnnZC3nr3/9a3LhhRcmjz/+eJIkSVbnsMnw4cOTHj16JMccc0xy1VVXJUmSJLNmzUq6dOmSPPTQQ1nJuOCCC5K33347SZIkufLKKzN/bx988EHSs2fPrGQkSd3fz3vvvZf84he/SM4666ykc+fOyXe/+92sZJx77rnJu+++myxcuDDp1KlTUlFRkSRJknz00UdZfezPOeecZOXKlUmSfPp72jS31atXJ927d9/m7T///PNJly5dkosvvjgZOnRoMnTo0OTiiy9OunTpkrzwwgvbvP3Pevfdd5Nx48ZldZufNWnSpOSss87KvE4mSZL87W9/S7p06ZIcfvjhWcuZOHFictZZZyUbNmzI3LdgwYKka9euySOPPJK1nCRJkvXr1ydjxoxJBg0alNW/q8965plnkvvvvz957733kiRJkrfeeit58803k0mTJmVl+y+//HLy7W9/Oxk0aFDyk5/8JPn2t7+d/OhHP0o6d+6czJ07NysZSZJs8TXk448/ThYuXJiVjD//+c9J586dk1NOOSV55plnkm7duiWDBw9Ounbtmnl9zoapU6cmnTt3Tq6++uqkS5cuSVlZWVJeXp507tw5mTJlStZyvuj5P3DgwKw//5v6uZ8kX/z8f+edd7L6/N/Sc/+0007L+nM/SZr2+Z/XJzUCdlzz5s2LESNGxAEHHFDnkP3y8vIYM2ZMnHjiiVnLWr58eZSVlcWll16atW1+1iOPPBL33XdflJaWxkknnRQRn17S6vvf/3589NFHsWjRoqzkPPTQQ3H//ffHjBkzMkdJvPzyy/HjH/84Lr/88qx+vre6ujpuu+22WLp0abzzzjvx5JNPZm3bn7Vu3bpYuXJlfPWrX4233347kiSJf//3f8/Ktl955ZUYNGhQHH300bHzzjvH888/H0cccUS8/vrr8Z//+Z9ZO6pkSyeu+/vf/x4VFRVZORrjueeei5EjR8bGjRvjhhtuiFtvvTUOPfTQeO2112Lw4MFZ20P+2GOPxZ133hlHHXVULFy4MK677ro4/PDD43vf+14MGjQoK0djPPnkk/Hee+9FixYt4qtf/Wq0a9cujjjiiHj88cezeom0XFyKbcKECVFdXR0lJSWZjNWrV8dDDz2UtT1+EZ+eYb9FixaZuXzwwQexatWqePnll7M2l8/+viorK+OPf/xj3HzzzVn9fY0fPz5ef/31OPDAA+Opp56KYcOGZfbwbzrhUTZMmzYtKisro6ioKDZs2BB77713fOc734k//elPWZvLn/70p6ipqWnyv7Fnn302li5dGl26dIk2bdrESy+9FIcccki89NJLWX2+bPpb7t69exxwwAFRXV0da9asiaeffjqrOW+++WasWrUqli9fHuXl5fG///u/0bdv36wetZKryyO+9957UVRUFPvtt18m5/DDD4+///3vcfHFF2cto02bNpm5LFy4MDp06JD5WFC2fPZ39sgjj8TChQvjO9/5TtZ+ZwopkLfWr18fixYtyhyyv+mNaTYPq2rqM2xvUl5eHoWFhXW2t3r16pgyZUrW/mGKiMwhW5tsemN6yCGHZC3js55//vl48skn4+abb87qdnP1uKxevTrmzZsX77//ftTW1mbemO67775Z2X7Ep29Ms/mRiYZYuXJl5o3pQQcdlNVtv/fee/HWW2/FYYcdlnljunbt2qycOOmzhWTGjBkxfPjwJikk48ePj8WLF8dBBx3UZMUnFxm5ysnVXHJxRYJc/Y2NGzcuXn/99SZ/XHJR4HP1+P/+97+PP/zhD7Fx48Y48cQTY9myZXHmmWfGnDlz4uijj87KZ1VzkVFfzlFHHZWVj7mkNZcPPvggzjjjjOzmZHV/K0CWLFmy5Eu/sqVHjx5Jx44dk9NOOy3p2rVrna/TTjstKxm5mksucjwu+ZnTXObSo0ePpKamJkmSTw9v7tq1azJjxowkSbZ8CGS+5vTo0SNzKF1zmEsuHpfu3bvXOfzw7bffTr797W8n8+fPz9pHA5rb31iu5pKrv+WqqqqksrIyOfLIIzMfQVm/fn1SUlKy3WTkKqc5zSWvT2oE7Lia+lJMmzT1GbYjcjeXXOR8UUZBQUHm0lbb++PSFHNJ63HJdkYucpIcXSItFzmf/f00h7nk4nHJxRUJmtvfWK7mssn2funCXGTkKqc5zcUeUiAvrVq1KikpKUleeumlJs9auHBhMnLkyCbbfq7mkoscj0t+5jSXudx1111Jv3796pz05aWXXkpOPPHE5Oijj96ucsxl68ybNy/529/+Vue+pUuXJjfddFNWtu9xyd+cO+64I7nwwgvr7CV/4403kj59+iR33XXXdpORq5zmNBeFFMhbTV1IcilXc8lFjsclP3Oay1yaupDkMsdc8pPHJX9zXnzxxTq333nnnaye/ThXGbnKaS5zcVIjAAAAUrFT/asAAABA9imkAAAApEIhBQAAIBUKKQAAAKn4/wE/XTQOTTQ34QAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgb = results_xgb.head(35)\n", + "results_xgb.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 574, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgb.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 575, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.0002484967735835318" + ] + }, + "execution_count": 575, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgb=np.mean(results_xgb.error)\n", + "meanerror_xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 576, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.658282
10.562751
21.115470
30.695167
40.526078
......
650.746965
660.647061
671.791030
680.770550
690.816548
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.658282\n", + "1 0.562751\n", + "2 1.115470\n", + "3 0.695167\n", + "4 0.526078\n", + ".. ...\n", + "65 0.746965\n", + "66 0.647061\n", + "67 1.791030\n", + "68 0.770550\n", + "69 0.816548\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 576, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 577, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgb.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline lr" + ] + }, + { + "cell_type": "code", + "execution_count": 578, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9925376978865574\n", + "Adjusted R^2: 0.9922880297861076\n", + "MAE: 0.02837607364261138\n", + "MSE: 0.0020482755913549078\n", + "RMSE: 0.04525787877657224\n" + ] + } + ], + "source": [ + "pred = pipeline_lr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 579, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.362385-0.070885
10.65190.657699-0.005799
20.83600.8233900.012610
30.70930.6746660.034634
40.56640.5596960.006704
50.33810.519135-0.181035
60.79950.830816-0.031316
70.40670.3812560.025444
81.01281.0048100.007990
90.30340.2264870.076913
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.362385 -0.070885\n", + "1 0.6519 0.657699 -0.005799\n", + "2 0.8360 0.823390 0.012610\n", + "3 0.7093 0.674666 0.034634\n", + "4 0.5664 0.559696 0.006704\n", + "5 0.3381 0.519135 -0.181035\n", + "6 0.7995 0.830816 -0.031316\n", + "7 0.4067 0.381256 0.025444\n", + "8 1.0128 1.004810 0.007990\n", + "9 0.3034 0.226487 0.076913" + ] + }, + "execution_count": 579, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_lr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_lr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 580, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJDCAYAAAAcidlTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABD10lEQVR4nO3deXRV9b03/k8khIjD1aKgQrusite2oIhjbWVwCgoIgteCPFKxtdUqWLQUWlBSK06orcW2y2Jta4sigoBUFBUuvbXoY52w+Di0anwSBgGtLYMhIezfH/44DyFoEnJy9iG8XmtlrbOH7M/3m52dnPfZe393QZIkSQAAAECO7ZF2AwAAANg9CaQAAACkQiAFAAAgFQIpAAAAqShMs3hlZWUsW7YsDjzwwGjVqlWaTQEAACDLampqYs2aNdGlS5coLi6uszzVQLps2bIYNmxYmk0AAACgmU2bNi2OP/74OvNTDaQHHnhgRHzcuIMOOqjB3/fTZ38a3z35u83UqtzVyFUdfcnPOvqSn3X0JT/r6Et+1mlJfclVHX3Jzzr6kp919CU/6zS2xqpVq2LYsGGZ7Le9VAPp1st0DzrooOjUqVODv2/vA/Zu1Po7Ixc1clVHX/Kzjr7kZx19yc86+pKfdVpSX3JVR1/ys46+5GcdfcnPOjtb45Nu0TSoEQAAAKkQSAEAAEiFQAoAAEAqUr2HFAAAYGdUV1dHRUVFVFZWNmk7Jf9REq+99lqWWpVejVzV+aQaxcXF0alTp2jdunWjtieQAgAAu5yKiorYZ5994tBDD42CgoKd3s6KdSvikH0OyWLL0qmRqzo7qpEkSbz//vtRUVERn//85xu1PZfsAgAAu5zKyspo165dk8Io2VFQUBDt2rXbqbPVAikAALBLEkbzx87uC4EUAACAVAikAABAi1BVXdPo72nIPZc7s91Ps2jRovjNb37TqO+58847Y+HChVltRz4wqBEAANAiFLVuFf2vmZv17c67fUBWt/fqq682+nuuuuqqrLYhXwikAAAATTRmzJg4/vjj42tf+1pERFx00UXxve99L4455pha6/3jH/+I6dOnR0TEIYccEitWrIiXX345Vq5cGcOGDYvOnTvHT37yk6isrIx//etfMWbMmDj77LNj3LhxceKJJ8aJJ54YV155ZXTu3Dlee+21aNeuXdx5552x33775brLWeGSXQAAgCYaPHhwPPLIIxERsXz58vjggw/qhNGIiCOOOCKGDBkSQ4YMicGDB0dERFVVVcyfPz+GDRsWf/jDH+KGG26I2bNnx6RJk+IXv/hFnW28/vrrMWLEiPjjH/8Y++67b8ybN695O9eMBFIAAIAmOumkk2L16tVRUVERc+bMiQEDGn6Z79FHH515PXny5Pj73/8eP//5z+M3v/lNbNiwoc767dq1iy9+8YsREdG5c+f417/+1fQOpEQgBQAAaKKCgoIYOHBgPProo/H44483KpAWFxdnXl944YXxyiuvRJcuXeKyyy7b4fpt2rSpVTdJkp1veMrcQwoAAJAFgwYNigsvvDCOOOKI6NChwyeu16pVq9i0aVOd+R9++GGUlZXF/fffH23atIkpU6ZETU12R/jNNwIpAADQIlRV12R9RNyt2y1q3are9Q4++OA4+OCD47zzzvvU9U444YQYO3ZsHHDAAbXm77fffvFf//Vf0bdv39h7772jW7duUVlZGRs3bmxS+/OZQAoAALQIDQmN21uxbkW9zyJtyHaTJInVq1fH2rVr44wzzvjUdU844YRYtGjRDpeNGzcuxo0bl5kuLS2NiIibb745M2/b7x05cmS9bctnAikAAEATLViwIEpLS6O0tDSKiorilltuiSVLlkRERPWW6mi9R+uIiOjSpUtMmjQpzabmFYEUAACgifr06RN9+vTJTI8dOzbzuiFnYXdXRtkFAAAgFQIpAAAAqRBIAQAASIVACgDQAmzZXJV5XdqrtM48gHxkUCMAgBZgj8KieHvS4FrzDhs/K6XWQDq2bK6KPQqLGvU9DRlsaGe2S8MIpAAAQIuwow9msiHfP9z5z//8z3jjjTc+cXl5eXn88pe/jBtvvLHB21y4cGEsW7Ysrrrqqmw08RMJpAAAAC3YihUrory8vFHfc/rpp8fpp5/eTC36fwRSAACAJhozZkwcf/zx8bWvfS0iIi666KL43ve+F8ccc0yddceNGxcFBQXx5ptvxvr16+Pyyy+PgQMHxpQpU+Lll1+OlStXxrBhw+KrX/1qlJaWxocffhjFxcVx7bXXxhe/+MWoqKiIMWPGxMaNG3e4/e3dcMMNUVFRET/60Y+iT58+MXny5NiyZUt07tw5rr766vjhD38Y69atizVr1kTfvn3je9/7Xjz88MPx3HPPxc033xynnXZanHvuufH000/Hvzf8O+6YfEd06dIlKz83gxoBAAA00eDBg+ORRx6JiIjly5fHBx988Klh8b333ovp06fH7373u7j11ltjzZo1ERFRVVUV8+fPj2HDhsXYsWNjzJgxMXv27Pjxj38co0ePjoiIH//4xzFo0KCYO3dudO/evd62TZgwIbp06RITJ06MiIiysrL43e9+F7fcckv88Y9/jH79+sWMGTPikUceifvvvz8++OCDOtvYb7/9YubMmXHuoHPj7rvvbvTP55MIpAAAAE100kknxerVq6OioiLmzJkTAwYM+NT1Bw0aFK1bt46DDjoounfvHi+88EJERBx99NEREbFhw4ZYtmxZ/OAHP4gBAwbENddcExs3box//vOf8dxzz8XZZ58dERHnnntutG7dulFt/fznPx/77LNPRER84xvfiIMPPjh+/etfx6RJk6K6ujo++uijOt9z6qmnfvy9R3w+Pvzww0bV+zQu2QUAAGiigoKCGDhwYDz66KPx+OOPxz333POp67dq1SrzesuWLVFY+HE0Ky4uzswrKiqKuXPnZtZbtWpV7LfffhERkSRJpm5BQUGj2rq1RkTEzTffHOXl5dGvX78444wzYsmSJZltb6tNmzYf14vG1aqPM6QAAABZMGjQoJg+fXocdNBB0aFDh09d97HHHoskSWL58uXxyiuvxHHHHVdr+T777BOHHnpoJpD+5S9/iWHDhkVExCmnnJK5PPiJJ56IqqpPf+Zwq1atYvPmzTtc9pe//CW+8Y1vxNlnnx0rV66M9957L7Zs2dKg/maDM6QAAECLsGVzVbM8oqWhzyE9+OCD4+CDD47zzjuv3nUrKytj8ODBUVVVFddff33sv//+ddaZPHlylJaWxj333BOtW7eOn/zkJ1FQUBDXXXddjBkzJqZPnx5du3aNvfba61NrHX744bFu3boYM2ZMnH/++bWWffvb347vf//7se+++0a7du2iS5cuUVFRUW/7s0UgBQAAWoSGhMbtrVi3Ig7Z55AmbzdJkli9enWsXbs2zjjjjHrX79OnTwwaNKjWvJEjR9aaPvzww+P3v/99ne/t0KFD3HfffZnp+p4vuv/++8cf//jHzPRJJ52Ued2vX7/o16/fDr9va/sWLVqUmdft+G5xTu9zPrVeYwikAAAATbRgwYIoLS2N0tLSKCoqiltuuSWWLFkSERHV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rrF58+aYOXNmnHnmmbHPPvvEr371q/jb3/4WX/rSl+Lb3/52tGnTJgs9ibjsssti/Pjx8dnPfjYr29uRzZs3x5w5c6K4uDhKSkripptuir/+9a/RpUuXGDt2bOy3335ZqbNly5a47777YuHChbFmzZpo3bp1fO5zn4tzzjkn+vbtm5UaWzn+GyeNYz8i+8d/Xl+yW1hYGJs3b64zv7KyMlq3bp3VWt/+9rejrKws2rdvH9tn9IKCgli4cGGTtp8kSRQUFERExKGHHhp33313jBgxIj7zmc9k5mfDli1boqioKDp27BiXXHJJrT+sNTU1Wamx3377xZw5c+Kyyy6LfffdNyIinn322TjxxBOzsv2tNm/eHFu2bIl27dpF27ZtM/OLiopijz2yc3K/uLg43n///Wjfvn20a9cuNm7cGEVFRfHRRx9FYWH2Do+CgoI44ogj4g9/+EMsWbIkHnzwwZg0aVIceuihcdBBB8Xtt9/e5Bp//vOfY+7cuVFVVRU9e/aMp59+Olq3bh09evSIAQMGZKEXH5s/f37MmTMnCgoKYvDgwXHppZfGfffdF4MHD44LLrggq4HUP6bGaylvTH/+85/HGWecscM3pm+88YY3pttpKW9M77zzznjllVfi3HPPjfbt20dExOrVq2PmzJnx8ssvx9ixY5tcIyLir3/966cuP+GEE5pc47rrrostW7bEkUceGd///vfjggsuiMsuuywiPv4QN1vH/eTJk+PFF1+M9evXZ/6XDR06NB5//PG48cYb49prr21yjYsuuqjOe5Vly5bF8OHDIyLivvvua3KNbT355JPx0EMPZY7BXr16Rb9+/bJy3G/9HSopKYlbbrklNm7cGBdeeGEsXrw4fvjDH2bl/3FExNKlSzNXrF100UVZf98aETFhwoTYuHFjVFVVxR/+8Ic4+uij4yc/+UksXLgwrrvuuvjZz36WlTo333xzVFdXxze/+c1YsGBBHHXUUXHwwQfHfffdF2VlZXHFFVdkpU4ujv9cHPsRuTn+c3HsR+Tm+M/rQHrZZZfFwIED48tf/nIceOCBERGxZs2aePbZZ7PyR2lbDzzwQFx44YUxceLEOO6447K67YiIPn36xEUXXRTjxo2Lo48+Ojp37hx33nlnXHnllVm9nPKss86K//W//lfcd999mV/2119/PSZMmBBnn312VmqMHTs2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_lr = results_lr.head(35)\n", + "results_lr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 581, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 582, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.017118101693194786" + ] + }, + "execution_count": 582, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_lr=np.mean(results_lr.error)\n", + "meanerror_lr" + ] + }, + { + "cell_type": "code", + "execution_count": 583, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644653
10.554524
21.231013
30.662338
40.512779
......
650.773317
660.670450
671.802453
680.725688
690.809162
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644653\n", + "1 0.554524\n", + "2 1.231013\n", + "3 0.662338\n", + "4 0.512779\n", + ".. ...\n", + "65 0.773317\n", + "66 0.670450\n", + "67 1.802453\n", + "68 0.725688\n", + "69 0.809162\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 583, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 584, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/lr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 585, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 586, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29150.959760.33174
10.65190.650380.00152
20.83600.84794-0.01194
30.70930.424640.28466
40.56640.61854-0.05214
50.33810.72774-0.38964
60.79950.706480.09302
70.40670.47320-0.06650
81.01281.15570-0.14290
90.30340.42464-0.12124
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 0.95976 0.33174\n", + "1 0.6519 0.65038 0.00152\n", + "2 0.8360 0.84794 -0.01194\n", + "3 0.7093 0.42464 0.28466\n", + "4 0.5664 0.61854 -0.05214\n", + "5 0.3381 0.72774 -0.38964\n", + "6 0.7995 0.70648 0.09302\n", + "7 0.4067 0.47320 -0.06650\n", + "8 1.0128 1.15570 -0.14290\n", + "9 0.3034 0.42464 -0.12124" + ] + }, + "execution_count": 586, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 587, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6oAAAJDCAYAAAACQOngAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABG1UlEQVR4nO3de5hVddk//ntgGAgPWQqYUF8zNSs8m5ol4BEURhB8FOQriWVpCnmI4AmUycQTaBqWj1FWlidEBUkEFR4sQ7+eEsXHQ6njM8NBQLM4zzCs3x/+mBzOM7Nnz2dmXq/rmuuatfba6/7cs2Yf3nsddkGWZVkAAABAIlo19gAAAADg4wRVAAAAkiKoAgAAkBRBFQAAgKQUNvYAtmTt2rWxYMGC6NChQ7Ru3bqxhwMAAEAOVVVVxbJly6Jr167Rrl27zW5PMqguWLAgBg8e3NjDAAAAoAHdddddccQRR2w2P8mg2qFDh4j4aNB77rnnDt/v5mdujkuOvqSBRpXfOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsWTJkhg8eHB19ttUkkF14+G+e+65Z3Tp0mWH77fzHjvXavm6ykcdvaRZRy9p1tFLmnX0kmYdvaRZRy9p1tFLmnX0kmadutbY2qmeLqYEAABAUgRVAAAAkiKoAgAAkJQkz1EFAACoq8rKyigvL4+1a9fWeR09P9kzXnvttRyOqnFq5KvO1mq0bt06dtttt9hjjz2iVasd308qqAIAAM1KeXl57LLLLrH33ntHQUFBndaxaMWi2GuXvXI8svzXyFedLdXIsiwqKyvjvffei/Ly8vjc5z63w+tz6C8AANCsrF27Nnbfffc6h1Ryo6CgIIqKiqJz586xatWqWt1XUAUAAJodITUdtTnkt/o+DTAOAAAAqDNBFQAAaNYqKqtqfZ8dOaezLuvdljlz5sRvfvObWt3nlltuidmzZ+d0HClwMSUAAKBZK2rTOoovn5bz9U6/sW9O1/fqq6/W+j7f//73czqGVAiqAAAADWTEiBFxxBFHxFlnnRUREeecc0784Ac/iIMPPrjGcn//+9/j3nvvjYiIvfbaKxYtWhQvvfRSLF68OAYPHhz77bdf/PSnP421a9fGP//5zxgxYkSccsopMWrUqDjyyCPjyCOPjIsvvjj222+/eO2112L33XePW265JXbbbbd8t5wTDv0FAABoIAMGDIiHH344IiIWLlwYH3zwwWYhNSJi3333jYEDB8bAgQNjwIABERFRUVERM2bMiMGDB8cf/vCHuPrqq+Ohhx6KcePGxS9+8YvN1vH666/H0KFD449//GPsuuuuMX369IZtrgEJqgAAAA3kqKOOiqVLl0Z5eXlMnTo1+vbd8cOFDzrooOrfx48fH3/729/i5z//efzmN7/Z4te97L777vHlL385IiL222+/+Oc//1n/BhqJoAoAANBACgoKol+/fvHII4/EzJkzaxVU27VrV/372WefHS+//HJ07do1Lrjggi0u37Zt2xp1syyr+8AbmXNUAQAAGlD//v3j7LPPjn333Tc6deq01eVat24d69at22z+hx9+GKWlpXH33XdH27ZtY+LEiVFVldsrDqdGUAUAAJq1isqqnF+hd+N6i9q03u5yn/nMZ+Izn/lMnH766dtc7qtf/WqMHDky9thjjxrzd9ttt/iP//iP6N27d+y8885xyCGHxNq1a2P16tX1Gn/KBFUAAKBZ25EwualFKxZt97tUd2S9WZbF0qVLY/ny5XHiiSduc9mvfvWrMWfOnC3eNmrUqBg1alT1dElJSUREXHfdddXzPn7fYcOGbXdsKRNUAQAAGsisWbOipKQkSkpKoqioKK6//vqYN29eRERUbqiMNq3aRERE165dY9y4cY051KQIqgAAAA2kV69e0atXr+rpkSNHVv++I3ttWypX/QUAACApgioAAABJEVQBAABIiqAKANCMVFRu/t2KW5oHkDIXUwIAaEaK2rSO4sun1ZjXEN8fCU3JhvUV0aqwqFb32ZGLHNVlvewYQRUAAGjWWhUWxdvjBuR8vfuMfiDn68ylL37xi/HGG29s9faysrK47bbb4pprrtnhdc6ePTsWLFgQ3//+93MxxK0SVAEAAFqgRYsWRVlZWa3uc8IJJ8QJJ5zQQCP6N0EVAACggYwYMSKOOOKIOOussyIi4pxzzokf/OAHcfDBB2+27KhRo6KgoCDefPPNWLlyZVx44YXRr1+/mDhxYrz00kuxePHiGDx4cHzjG9+IkpKS+PDDD6Ndu3ZxxRVXxJe//OUoLy+PESNGxOrVq7e4/k1dffXVUV5eHj/+8Y+jV69eMX78+NiwYUPst99+cdlll8WPfvSjWLFiRSxbtix69+4dP/jBD+LBBx+MZ599Nq677ro4/vjj47TTTounnnoq/rXqX3HT+Juia9euOfm7uZgSAABAAxkwYEA8/PDDERGxcOHC+OCDD7YZIt977724995743e/+13ccMMNsWzZsoiIqKioiBkzZsTgwYNj5MiRMWLEiHjooYfiJz/5SVx66aUREfGTn/wk+vfvH9OmTYvDDjtsu2MbM2ZMdO3aNcaOHRsREaWlpfG73/0urr/++vjjH/8Yffr0icmTJ8fDDz8cd999d3zwwQebrWO33XaLKVOmxGn9T4vbb7+91n+fralXUL3lllvi1FNPjd69e8dvfvObzW6/9dZb47jjjou+fftG375946677qpPOQAAgCblqKOOiqVLl0Z5eXlMnTo1+vbd9sXN+vfvH23atIk999wzDjvssHjhhRciIuKggw6KiIhVq1bFggUL4j//8z+jb9++cfnll8fq1avjH//4Rzz77LNxyimnRETEaaedFm3atKnVWD//+c/HLrvsEhER3/rWt+Izn/lM/PrXv45x48ZFZWVlrFmzZrP7HHvssR/dd9/Px4cfflirettS50N/n3322XjmmWfi4YcfjvXr18epp54a3bt3j3322ad6mQULFsRNN90Uhx56aE4GCwAA0JQUFBREv3794pFHHomZM2fGr371q20u37p16+rfN2zYEIWFH0W2du3aVc8rKiqKadP+fXXvJUuWxG677RYREVmWVdctKCio1Vg31oiIuO6666KsrCz69OkTJ554YsybN6963R/Xtm3bj+pF7WptT533qB555JFx5513RmFhYbz//vtRVVUV7du3r7HMggULYtKkSVFcXBxXXXVVrFu3rt4DBgAAaEr69+8f9957b+y5557RqVOnbS776KOPRpZlsXDhwnj55Zfj8MMPr3H7LrvsEnvvvXd1UP3LX/4SgwcPjoiIY445pvow48ceeywqKiq2Wat169axfv36Ld72l7/8Jb71rW/FKaecEosXL4733nsvNmzYsEP95kJBtqVYXAs/+9nP4o477ohevXrFtddeW53aV61aFZdcckmMGTMmOnfuHKNGjYrOnTtXHz+9LeXl5XHCCSdE8bji2HmPnXd4LHNL50aPvXvUtZWk6uglzTp6SbOOXtKso5c06+glzTq5rFHSo2SL36NaMrekyfXS2HX0kmadHanR85M94//s+3+qpzu2/XQUFrXb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iPXr18chhxwSCxYsqLHcxIkTo0OHDjFw4MB48skn4yc/+UnMmDEjioqKtrn+8vLyOOGEE6J4XHHsvMfOOzyuuaVzo8fePWrbTq3lo45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs05ta6xcvjKmj54es2fPji5dumy+QLYdM2bMyI499tgaP+ecc0527LHHVi9TWVmZde3adXuryoqLi7PXXnttu8uVlZVl+++/f1ZWVrbdZT9u7H+PrdXydZWPOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsb3Mt92LKZ1yyilxyimn1JhXWVkZRx11VFRVVUXr1q1j2bJl0bFjx83u+/vf/z769OkTn/rUpzaG4igsrPP1mwAAAGgB6nSOaps2beKII46IGTNmRETE1KlTo1u3bpst99xzz8WUKVMiIuLZZ5+NDRs2xD777FOP4QIAANDc1fmqv2PHjo3JkyfHqaeeGs8//3xccsklERFxzz33xC233BIREaNHj4558+ZFnz594vrrr48bb7wxWrXy1a0AAABsXZ2Pw+3cuXP8/ve/32z+oEGDqn/v1KlT/OY3v6lrCQAAAFoguzcBAABIiqAKAABAUgRVAAAAkiKoAgAAkJQkv9S0qqoqIiKWLFlSq/utXL4yysvLG2JIea+jlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs45e0qxT2xobs97G7LepgizLspyMLIeef/75GDx4cGMPAwAAgAZ01113xRFHHLHZ/CSD6tq1a2PBggXRoUOHaN26dWMPBwAAgByqqqqKZcuWRdeuXaNdu3ab3Z5kUAUAAKDlcjElAAAAkiKoAgAAkBRBFQAAgKQIqgAAACRFUAUAACApgioAAABJEVQBAABIiqAKAABAUgobewD18dZbb8WsWbNiyZIl0apVq+jYsWMce+yxceCBBzb20GrliSeeiMWLF0f37t3jc5/7XPX8++67L84666yc1SktLY1PfOIT0alTp7j//vvjjTfeiMMOOyxOPfXUnNXIh5dffjkOOuigiIh4+umn48knn4zCwsI46aST4uCDD85prT//+c9x8MEHx6677hpTp06Nl19+Ob7yla/EgAEDcrL+q6++OoYNGxaf/OQnc7I+AABoDprsHtW77rorLrvssoiIOPDAA+MrX/lKRERcccUVcccddzTm0GplwoQJ8Yc//CFKS0tj4MCBMW3atOrb7r333pzV+e1vfxvf+ta3YuDAgfGf//mf8cgjj8TnP//5eOCBB+LnP/95zups6rrrrsv5OseOHRsRH/0PXHPNNbHnnnvGHnvsEVdeeWX84Q9/yFmdcePGxe233x7r1q2Lm2++OaZPnx777rtvPP7443H11VfnpMbUqVPjzDPPjMceeywn69uWp59+Ov76179GRMQdd9wRF1xwQdx6661RUVGRsxpPPPFEjBo1Kr71rW/FBRdcENdcc011TQCoiyeeeKL69/vvvz+GDRsWl156acyYMaMRRwU0tIIsy7LGHkRd9OzZM6ZOnRqf+MQnasxfs2ZNnH766TFz5syc1Fm0aNE2b99rr73qtf7i4uJ46KGHorCwMEpLS+O8886LESNGxCmnnBL9+vWLqVOn1mv9H68zZcqUWL58efTp0yeeeeaZaNu2bVRUVMQZZ5wRDz/8cL1r/Od//udm8+bMmRPHH398RERce+219a4REXH66afHQw89FH379o3f/va38alPfSoiIlauXBlnnHFGzrb9qaeeGtOnT4/WrVtHv379YvLkyVFUVBRVVVXRp0+fePTRR+tdo1+/fjFhwoQoKSmJdevWxdChQ+P444+Pdu3a5aCDf7vhhhvi+eefj/Xr10eXLl2ioKAg+vfvH3PmzImqqqqcBO/bb789XnrppTj22GNjzpw5ccQRR0S7du3i/vvvj29+85tx5pln5qATWronnngiTjzxxIj46A3rn/70p+ojKpra0SHU3p///OeYOXNmjSOpunXrFj179mzsodXK+vXr46677orFixfHiSeeGEcccUT1bRMnToxhw4blpM68efNil112iS996UsxceLEeOONN+Lwww+P8847L1q3bp2TGlty2WWXxU033ZSz9W183Z84cWI8//zzcc4550SWZXHffffFV77ylbj00ktzUmf9+vUxZcqUOOmkk2KXXXaJX/7yl/HKK6/EV77ylfjud78bbdu2rXeNCy64IEaPHh2f/exnczDirVu/fn1MnTo12rVrFz179oxrr702nnvuuejatWuMHDkydtttt3rX2LBhQ9x5550xe/bsWLZsWbRp0yY+97nPxamnnhq9e/eufxMf47FfO83lsd9kD/0tLCyM9evXbzZ/7dq10aZNm5zV+e53vxulpaXRsWPH2DTTFxQUxOzZs+u1/izLoqCgICIi9t5777j99ttj6NCh8elPf7p6fi5s2LAhioqKonPnznHeeefVeLKtqqrKSY3ddtstpk6dGhdccEHsuuuuERHxzDPPxJFHHpmT9W+0fv362LBhQ+y+++7Rvn376vlFRUXRqlXuDhJo165dvP/++9GxY8fYfffdY/Xq1VFUVBRr1qyJwsLcPHQKCgpi3333jT/84Q8xb968uO+++2LcuHGx9957x5577hk33nhjTur8+c9/jmnTpkVFRUV07949nnrqqWjTpk1069Yt+vbtm5MaM2bMiKlTp0ZBQUEMGDAgzj///LjzzjtjwIABceaZZ+Y0qHrBqr3GeNHK9QtWRMTPf/7zOPHEE7f4hvWNN97IyRvWfLxZjcjPG9Z8vFmNyM8b1ltuuSVefvnlOO2006Jjx44REbF06dKYMmVKvPTSSzFy5Mh613juuee2eftXv/rVeteIiLjyyitjw4YNsf/++8cPf/jDOPPMM+OCCy6IiI8+4M3FY3/8+PHx4osvxsqVK6tfxwYNGhQzZ86Ma665Jq644op614iIOOecczZ7v7JgwYIYMmRIRETceeedOakTEfH444/H/fffX/0Y7NGjR/Tp0ydnQXXj/1DPnj3j+uuvj9WrV8fZZ58dc+fOjR/96Ec5eU2eP39+9RFu55xzTk7fs37cmDFjYvXq1VFRURF/+MMf4qCDDoqf/vSnMXv27LjyyivjZz/7Wb1rXHfddVFZWRnf/va3Y9asWXHAAQfEZz7zmbjzzjujtLQ0Lrroohx04rFfW83psd9kg+oFF1wQ/fr1i6997WvRoUOHiIhYtmxZPPPMMzl7woqIuOeee+Lss8+OsWPHxuGHH56z9W7Uq1evOOecc2LUqFFx0EEHxX777Re33HJLXHzxxTk9JPPkk0+O//t//2/ceeed1Q+C119/PcaMGROnnHJKTmqMHDkyunXrFjfffHNcdtllcdRRR8Xvfve7OP3003Oy/o0+9alPRffu3aOgoCDGjh0b1113XTz99NMxfvz46NWrV87qXHzxxXHGGWdE7969Y5999olzzjknvva1r8VTTz0V3/72t3NS4+MffhxzzDFxzDHHRGVlZbzxxhtRVlaWkxob66xYsSJWr14da9eujZUrV8anPvWpWLt2bVRWVuakxrp162LNmjXRvn37WLt2bXz44YcREdG+ffucfoCQjxesiNju0Qz9+vWrd418vGBF5OdFK59vViMa9g1rPt6sRuTnDWs+3qxG5OcN64wZM+LRRx/d7PmkT58+0adPn5w89n/+85/HSy+9FAcddNAWP5zO1f/xggULqo9k6tevX5x77rnRrl27OPfcczerW1dPPvlkTJ8+PT788MM46aST4tlnn41WrVpFt27dcvL8tVGvXr3il7/8ZVxyySXRuXPnyLIsrrjiirj44otzVmP16tWxfPny2GuvvWL16tXVj/u1a9fm7IPjiIg333wzpk+fHhEfBZdp06ZFQUFBdO/ePWdHbHTq1Cl+9atfxQ033BAnn3xyDBo0KHr37h2dO3fOyfo3evXVV2P69OlRVVUV3bt3rz6dbN99983ZB9TPPPNM9f/xscceG4MHD4577rknunfvHqeddlrOgqrHfu00p8d+kw2qxcXFceSRR8bTTz8dS5cujSzL4ogjjohhw4ZFp06dclZn5513jquvvjruv//+BgmqF198cRx++OGx0047Vc87/PDD48EHH8zpubbf//7347nnnqux56SoqCiGDRsW3bt3z1mdr33ta/GlL30pxo4dG3Pnzs3Z3tqP2/hk8fbbb8e//vWviPiol+HDh0ePHj1yVuf444+P/fbbL5544ol4991345BDDomddtoprrvuuuqLOdXX4MGDN5vXpk2b6Nq1a3Tt2jUnNSIizj///Dj55JMjy7IYMWJEnHfeefG1r30tnn766ZxdGKp///4xaNCg+MY3vhFPPfVU9O/fPxYuXBgXXXRR9OnTJyc1IvLzghXx0QvwrFmztvrhRy6e7PPxghWRnxetfLxgReTnDWs+3qxG5OcNaz7erEbk5w1r27ZtY8mSJZudcrNo0aIoKiqq9/ojIiZNmhRDhgyJb37zm3HCCSfkZJ1bkmVZrF69Otq3bx+f/vSnY9KkSTFo0KDYfffdc3o0VUVFRXzqU5+KkSNHVj9nrlq1aotHpNXV4MGD46ijjoqxY8fGf/zHf0S/fv1ip512yunRVIcddlgMHTo0Fi9eHFdeeWVMnDgxHnvssbj22mvjO9/5Ts7qtG/fPv72t7/FfvvtF5/73Odi8eLFsddee8V7772Xs/+xgoKC2GOPPeKGG26I0tLSmDx5cpx33nmxbt262HPPPXN2fZJWrVrFO++8EytWrIgVK1ZEeXl5dOnSJT744IOcbf+qqqp4//33Y/fdd49ly5bF2rVrIyKisrIypx8geOzXXnN57EcGDWTy5MnZ0KFDG3sY/P/WrFmTrVy5MsuyLHv99dezX/3qV9lTTz2V0xrz5s3LfvWrX2Xz5s3LsizLVq5cmb3++us5rVFcXJwtXLhws/n/+7//m5122mk5rfXd7343u//++3O6zo/r06dPtmrVqurpJUuWZMcdd1z28MMPZ/369ctZnd69e2dr167Nsuyjx+VGK1asyE499dSc1fnb3/6WnX322dlDDz2UZVmW0x42GjVqVNanT5/s8MMPzy6++OIsy7Js1qxZWY8ePbK77747JzXOPPPM7M0338yyLMsuuuii6v+3JUuWZH379s1JjSyr+fd55513suuvvz47+eSTs+7du2dnnXVWTmqcdtpp2dtvv53Nnz8/O+igg7KysrIsy7Ls/fffz+m2P/XUU7Ply5dnWfbR32ljbytXrsx69+6dkxp/+ctfsh49emTnnntuNmLEiGzEiBHZueeem/Xo0SN7+umnc1Ijy7Ls7bffzsaPH5+z9W3Jvffem5188snVz5VZlmV///vfsx49emQHHnhgTmrcdddd2cknn5ytX7++et4LL7yQHXfccdl9992Xkxoft27duuzaa6/Nhg0bltP/rY0ef/zx7He/+132zjvvZFmWZW+88Ub2+uuvZ/fee2/Oarz44ovZ17/+9WzYsGHZD3/4w+zrX/969r3vfS/r3r17Nnfu3JzU2NpzyAcffJDNnz8/JzWyLMv+/Oc/Z927d8+OPfbY7PHHH8969eqVDR8+PDvuuOOqn6Pr64EHHsi6d++eff/738969OiRTZ8+PSstLc26d++eTZkyJSc1smzLj/2hQ4c2m8f+W2+9lZfH/vHHH9/kHvtN9mJKQMs0b968GD16dOy99941DvsvLS2Na6+9No4++uic1Vq6dGlMnz49vvWtb+VsnR933333xR133BElJSXxta99LSI++tqtb3/72/H+++/Hyy+/nJM6d999d/zud7+LGTNmVB9V8eKLL8YPfvCDuOCCC3J6/nBFRUXcdNNNsWjRonjrrbfikUceydm6P27NmjWxfPny+OxnPxtvvvlmZFkWX/ziF3Oy7r/+9a8xbNiwOOyww+ITn/hE/OUvf4mDDz44Xn311fjxj3+cs6NQtnbBvH/84x9RVlaWkyM3nnrqqRgzZkxs2LAhrrzyyrjxxhtj//33j1deeSWGDx+esz3qDz74YNxyyy1x6KGHxvz58+Pyyy+PAw88ML75zW/GsGHDcnbkxiOPPBLvvPNOtG7dOj772c9Gp06d4uCDD46HHnooZ1/nlq+vjJs0aVJUVFREcXFxdZ2VK1fG3XffnbO9hL/97W+jdevW1b0sWbIkVqxYES+++GJOe/n436y8vDz++Mc/xjXXXJOzv9mECRPi1VdfjX322SceffTRGDlyZPURARsvtJQrU6dOjfLy8mjXrl2sX78+9thjj/jGN74RTz75ZE56efLJJ6OysjIv/2NPPPFELFq0KHr06BHt27eP559/Pvbbb794/vnnc1Zn4/9x7969Y++9946KiopYtWpVPPbYYznt5fXXX48VK1bE0qVLo7S0NP7f//t/MXDgwJwe5ZKvr3F85513ol27dvGZz3ymus6BBx4Y//jHP+Lcc8/NWY327dtX9zJ//vzo0qVL9elFufLxv9l9990X8+fPj2984xs5+5sJqkCTs27dunj55ZerD/vf+GY1V4cARTT8Fb83Ki0tjaKiohrrW7lyZUyZMiVnL1gRUX3Y10Yb37Dut99+OavxcX/5y1/ikUceiWuuuSan683Xdlm5cmXMmzcv3n333aiqqqp+s7rnnnvmZP0RH71hzeWpFzti+fLl1W9Wv/CFL+R03e+880688cYbccABB1S/YV29enXOLtj08bAyY8aMGDVqVM7DyoQJE2LBggXxhS98oUEDUT7qNKde8vUNCfn4Hxs/fny8+uqredkuDR3u8/U/9tvf/jZ+//vfx4YNG+Loo4+OxYsXx0knnRRz5syJww47LCenFuSjxvbqHHrooTk5XaaxelmyZEmceOKJua2T0/2zAA1s4cKF2/zJlT59+mRdu3bNjj/++Oy4446r8XP88cfnpEa+eslHHdslzTrNqZc+ffpklZWVWZZ9dKj0cccdl82YMSPLsq0fTplijY11Nh6W1xx6aeg6vXv3rnEY45tvvpl9/etfz5555pmcnmLQ3P7H8tFLQ/8fb6yzdu3arLy8PDvkkEOqT2VZt25dVlxc3GRq5KtOc+qlyV5MCWiZGvorozZq6Ct+R+Svl3zU2VKNgoKC6q/gaurbpSF6aaztkusa+aqT5eHr3PJRY2OdjZpDLw1dJ1/fkNDc/sfy0ctGTf0rFvNRI191mlMv9qgCTcqKFSuy4uLi7Pnnn2/wWvPnz8/GjBnTYOvPVy/5qGO7pFmnOfUyceLEbNCgQTUuOPP8889nRx99dHbYYYc1mRr5qtOcesmyjy7W9/e//73GvEWLFmVXX311zmrYLunVyLIsu/nmm7Ozzz67xl711157LRswYEA2ceLEJlMjX3WaUy+CKtDkNHRQyad89ZKPOrZLmnWaUy/5CCv5qJGvOs2pl3yxXdKrkWVZ9uyzz9aYfuutt3J2JeZ81shXnebSi4spAQAAkJRWjT0AAAAA+DhBFQAAgKQIqgAAACRFUAUAACAp/x/8T7erRTRXEQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 588, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 589, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.011010857142857142" + ] + }, + "execution_count": 589, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 590, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644653
10.554524
21.231013
30.662338
40.512779
......
650.773317
660.670450
671.802453
680.725688
690.809162
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644653\n", + "1 0.554524\n", + "2 1.231013\n", + "3 0.662338\n", + "4 0.512779\n", + ".. ...\n", + "65 0.773317\n", + "66 0.670450\n", + "67 1.802453\n", + "68 0.725688\n", + "69 0.809162\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 590, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 591, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 592, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9993674801009855\n", + "Adjusted R^2: 0.9993463177251821\n", + "MAE: 0.009869758098748365\n", + "MSE: 0.0001736160035471743\n", + "RMSE: 0.013176342570955504\n" + ] + } + ], + "source": [ + "pred = pipeline_xgbr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 593, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.293343-0.001843
10.65190.660147-0.008247
20.83600.8293070.006693
30.70930.735015-0.025715
40.56640.5554470.010953
50.33810.340216-0.002116
60.79950.7850160.014484
70.40670.427782-0.021082
81.01281.035999-0.023199
90.30340.3028000.000600
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.293343 -0.001843\n", + "1 0.6519 0.660147 -0.008247\n", + "2 0.8360 0.829307 0.006693\n", + "3 0.7093 0.735015 -0.025715\n", + "4 0.5664 0.555447 0.010953\n", + "5 0.3381 0.340216 -0.002116\n", + "6 0.7995 0.785016 0.014484\n", + "7 0.4067 0.427782 -0.021082\n", + "8 1.0128 1.035999 -0.023199\n", + "9 0.3034 0.302800 0.000600" + ] + }, + "execution_count": 593, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgbr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgbr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 594, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJDCAYAAAAcidlTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABDnElEQVR4nO3de3QV5b0//k8EQsTL0aqgQvuz3o61oIh3q4LXoBBB8FiUr1S0tloFRUuhgpJjQVG8Vnu6LNZWK4oICqZeUOHQU0WPFRXFr5dWjd8EUEBry8WQEOb3h4tdAmgS2NmzE16vtbJW5pL5PE9mz85+Z2aeKUiSJAkAAADIsW3SbgAAAABbJ4EUAACAVAikAAAApEIgBQAAIBWt0yxeVVUVCxYsiN122y1atWqVZlMAAADIstra2li6dGl07tw5ioqKNlqeaiBdsGBBDBw4MM0mAAAA0MQmTZoUhx122EbzUw2ku+22W0R82bjdd9+9wT93+0u3xxVHXdFErcpdjVzV0Zf8rKMv+VlHX/Kzjr7kZ52W1Jdc1dGX/KyjL/lZR1/ys05ja3z88ccxcODATPbbUKqBdN1lurvvvnt06tSpwT+3/a7bN2r9zZGLGrmqoy/5WUdf8rOOvuRnHX3JzzotqS+5qqMv+VlHX/Kzjr7kZ53NrfFVt2ga1AgAAIBUCKQAAACkQiAFAAAgFaneQwoAALA5ampqorKyMqqqqrZoO8X/Vhxvv/12llqVXo1c1fmqGkVFRdGpU6do06ZNo7YnkAIAAM1OZWVl7LDDDrHXXntFQUHBZm9n0fJFsecOe2axZenUyFWdTdVIkiQ+/fTTqKysjG9/+9uN2p5LdgEAgGanqqoqdtllly0Ko2RHQUFB7LLLLpt1tlogBQAAmiVhNH9s7r4QSAEAAEiFQAoAALQI1TW1jf6ZhtxzuTnb/TqzZ8+O3/3ud436mTvuuCNmzZqV1XbkA4MaAQAALUJhm1ZRctWMrG+37JY+Wd3eW2+91eifufzyy7PahnwhkAIAAGyh4cOHx2GHHRbf//73IyLivPPOi5/+9Kdx8MEH11nvb3/7W0yePDkiIvbcc89YtGhRvP7667F48eIYOHBg7LfffnHbbbdFVVVV/OMf/4jhw4fHaaedFiNHjowjjjgijjjiiLjssstiv/32i7fffjt22WWXuOOOO2KnnXbKdZezwiW7AAAAW6h///7x+OOPR0TEwoUL47PPPtsojEZE7LvvvjFgwIAYMGBA9O/fPyIiqqur48knn4yBAwfGAw88EGPHjo3HHnssxo0bF//1X/+10TbeeeedGDx4cPzxj3+MHXfcMcrKypq2c01IIAUAANhCRx55ZCxZsiQqKytj+vTp0adPwy/zPeiggzLfT5gwIf7617/Gr371q/jd734XK1eu3Gj9XXbZJQ488MCIiNhvv/3iH//4x5Z3ICUCKQAAwBYqKCiIvn37xhNPPBFPP/10owJpUVFR5vtzzz033njjjejcuXNcfPHFm1y/bdu2deomSbL5DU+Ze0gBAACyoF+/fnHuuefGvvvuGx06dPjK9Vq1ahWrV6/eaP7nn38e5eXl8eCDD0bbtm3jzjvvjNra7I7wm28EUgAAoEWorqnN+oi467Zb2KZVvevtsccesccee8SZZ575tesdfvjhMWLEiNh1113rzN9pp53iP/7jP6JXr16x/fbbR9euXaOqqipWrVq1Re3PZwIpAADQIjQkNG5o0fJF9T6LtCHbTZIklixZEsuWLYuTTz75a9c9/PDDY/bs2ZtcNnLkyBg5cmRmurS0NCIixo8fn5m3/s8OGTKk3rblM4EUAABgC82cOTNKS0ujtLQ0CgsL48Ybb4y5c+dGRETN2ppos02biIjo3LlzjBs3Ls2m5hWBFAAAYAv17NkzevbsmZkeMWJE5vuGnIXdWhllFwAAgFQIpAAAAKRCIAUAACAVAikAQDNUXVP7tdMAzYFBjQAAmqHCNq2i5KoZmekZN54WEV8+mqK0R2lERKxdUx3btC5MoXWQjs15zTdksCHHUtMRSAEAWoBtWhfGB+P615m396hpKbUG0rGp4yAb8v1Y+vd///d49913v3J5RUVF/PrXv47rr7++wducNWtWLFiwIC6//PJsNPErCaQAAAAt2KJFi6KioqJRP3PSSSfFSSed1EQt+heBFAAAYAsNHz48DjvssPj+978fERHnnXde/PSnP42DDz54o3VHjhwZBQUF8d5778WKFSvikksuib59+8add94Zr7/+eixevDgGDhwYxx57bJSWlsbnn38eRUVFcc0118SBBx4YlZWVMXz48Fi1atUmt7+hsWPHRmVlZfznf/5n9OzZMyZMmBBr166N/fbbL6688sq4+uqrY/ny5bF06dLo1atX/PSnP41HH300Xn755Rg/fnyceOKJccYZZ8Tzzz8f/1z5z7h1wq3RuXPnrPzeDGoEAACwhfr37x+PP/54REQsXLgwPvvss68Ni5988klMnjw57rvvvrjpppti6dKlERFRXV0dTz75ZAwcODBGjBgRw4cPj8ceeyx+8YtfxLBhwyIi4he/+EX069cvZsyYEd26dau3baNHj47OnTvHmDFjIiKivLw87rvvvrjxxhvjj3/8Y/Tu3TumTJkSjz/+eDz44IPx2WefbbSNnXbaKaZOnRpn9Dsj7r777kb/fr6KQAoAALCFjjzyyFiyZElUVlbG9OnTo0+fPl+7fr9+/aJNmzax++67R7du3WLevHkREXHQQQdFRMTKlStjwYIF8fOf/zz69OkTV111VaxatSr+/ve/x8svvxynnXZaREScccYZ0aZNm0a19dvf/nbssMMOERFx4YUXxh577BG//e1vY9y4cVFTUxNffPHFRj9z3HHHffmz+347Pv/880bV+zoNumT3jjvuiJkzZ0ZBQUGcddZZMXjw4DrL77rrrpg2bVrsuOOOERFx9tlnx8CBA7PWSAAAgHxWUFAQffv2jSeeeCKefvrpuOeee752/VatWmW+X7t2bbRu/WU0KyoqyswrLCyMGTP+NZr2xx9/HDvttFNERCRJkqlbUFDQqLauqxERMX78+KioqIjevXvHySefHHPnzs1se31t27b9sl40rlZ96j1D+vLLL8dLL70Ujz/+eEybNi3+8Ic/xAcffFBnnQULFsStt94aM2bMiBkzZgijAADAVqdfv34xefLk2H333aNDhw5fu+5TTz0VSZLEwoUL44033ohDDz20zvIddtgh9tprr0wgfeGFFzI565hjjslcHvzMM89EdXX119Zq1apVrFmzZpPLXnjhhbjwwgvjtNNOi8WLF8cnn3wSa9eubVB/s6HeM6RHHHFE3H///dG6dev45JNPora2Ntq1a1dnnQULFsTEiROjoqIiDj/88BgxYkQmQQMAAOTC2jXVTfKIloY+h3SPPfaIPfbYI84888x6162qqor+/ftHdXV1XHfddbHzzjtvtM6ECROitLQ07rnnnmjTpk3cdtttUVBQENdee20MHz48Jk+eHF26dIntttvua2vts88+sXz58hg+fHicddZZdZb9+Mc/jp/97Gex4447xi677BKdO3eOysrKetufLQXJps7HbsIvf/nLuPfee6Nnz55xww03ZE4Lr1y5Mq644ooYPXp0dOzYMUaOHBkdO3bM3HD7dSorK+Okk06KknElsf2u2ze40XPK50SPvXo0eP3NkYsauaqjL/lZR1/ys46+5GcdfcnPOi2pL7mqk80apT1Ko+Sqf13KV3ZLn00+h7R0TmlW6m3IfsnPOltTX4r/rTj+v33/vy2us3z18tih7Q5bvJ0kSeLTZZ/GFT+6Iu59+N4oLPxXgN2wxvjS8dH10K7Rs6TnFtddX7b6srk1PvrbRzHzHzPrzFuxbEWUjSqLWbNmRadOnTb+oaQRVq1alQwaNCiZPHnyV67z1ltvJX369GnQ9ioqKpL9998/qaioaEwzkjH/PaZR62+OXNTIVR19yc86+pKfdfQlP+voS37WaUl9yVWdbNfofeX0zFeSJMn7Y/vV+WpK9kt+1tma+vJ//+//zUqdhf9cmJXtPPXUU8mRRx6ZPPXUU0mSJMn48eOTM844IznjjDOS03qflvn+6quvTkaMGJFMmzYtK3XXeeKJJ+rUWf8rm77u97WpfVJf5qv3kt33338/qqur4zvf+U5su+22ceqpp8a7776bWb5o0aKYO3du5tRvkiSZG3IBAAC2Bj179oyePf91xnPEiBGZ7xctXxR77rBnk9Y//fTTo+txXZu8TrbVO6hRZWVljB49Oqqrq6O6ujpmzZpV54bboqKimDBhQlRUVESSJDFp0qQ45ZRTmrTRAAAANH/1nsrs3r17zJ8/P/r27RutWrWKU089NXr16hUXXXRRDB06NLp06RLXXXddXHLJJVFTUxPdunXb6LEwAAAAsKEGXVs7dOjQGDp0aJ15EydOzHxfXFwcxcXF2W0ZAAAALVq9l+wCAABAUxBIAQCAFqG6tqbRP9OQQYA2Z7s0jOFwAQCAFqGwVZs4++FLsr7dKd//dda3yZcEUgAAgCz4zW9+E0899VTU1tbGscceG+ecc05cdNFFsd2O28UO7XaIM844Ix577LH4/PPP44QTTohBgwbFqFGjYtGiRdG6desYNmxYHH/88XHnnXfG66+/HosXL46BAwfGwIED0+5akxFIAQAAttD//M//xIIFC2Lq1KlRUFAQw4cPj7Kysvjwww/joccfim7/3i0effTR+OSTT+LJJ5+M1q1bx+WXXx5HHXVUDB48OCoqKuKcc86J6dOnR0REdXV1PPnkk+l2KgcEUgAAgC304osvxhtvvBH9+vWLiIiqqqpIkiR22WWX2H3P3TPrHXjggdG69Zcx7KWXXoqxY8dGRMQ3v/nNOPjgg2P+/PkREXHQQQfluAfpEEgBAAC2UG1tbfzgBz+IwYMHR0TEP//5z/j444/j9ddfr7NeUVFR5vskSeosS5IkamtrN1qvJTPKLgAAwBY66qijYsaMGbFy5cpYs2ZNXHrppbFgwYJ6f2bq1KkREVFRURGvvvpqdO3aNQetzR/OkAIAAC1CdW1Nk4yIW11bE4Wt2nztOieeeGK88847cfbZZ0dtbW0cd9xxcfjhh3/tz4waNSquvfbaePTRRyMiYuzYsdG+ffustbs5EEgBAIAWob7QuCmLli+q91mkDd3uT37yk/jJT35SZ97s2bNj0fJFERHRr1+/zD2mEREdOnSIu+++e6PtDBkypEH1WgKX7AIAAJAKgRQAAIBUCKQAAACkQiAFAACapQ0fm0J6NndfCKQAAECzU1RUFJ9++qlQmgeSJIlPP/10s56dapRdAACg2enUqVNUVlbG0qVLt2g7n1d9Hv8o+keWWpVejVzV+aoaRUVF0alTp0ZvTyAFAACanTZt2sS3v/3tLd5O6ZzSKD2kdMsblHKNXNXJdg2X7AIAAJAKgRQAAIBUCKQAAACkQiAFAAAgFQIpAAAAqRBIAQAASIVACgAAQCoEUgAAAFIhkAIAAJAKgRQAAIBUCKQAAACkQiAFAAAgFQIpAAAAqRBIAQAASIVACgAAQCoEUgAAAFIhkAIAAJAKgRQAAIBUCKQAAACkQiAFAAAgFQIpAAAAqRBIAQAASIVACgAAQCoEUgAAAFIhkAIAAJAKgRQAAIBUCKQAAACkQiAFAAAgFQIpAAAAqRBIAQAASIVACgAAQCoEUgAAAFIhkAIAAJAKgRQAAIBUCKQAAACkQiAFAAAgFQIpAAAAqRBIAQAASIVACgAAQCoEUgAAAFIhkAIAAJAKgRQAAIBUNCiQ3nHHHXH66adHr1694ne/+91Gy99+++3o379/FBcXx6hRo2LNmjVZbygAAAAtS72B9OWXX46XXnopHn/88Zg2bVr84Q9/iA8++KDOOsOHD49rrrkmZs6cGUmSxJQpU5qswQAAALQM9QbSI444Iu6///5o3bp1fPrpp1FbWxvt2rXLLF+4cGFUVVVF165dIyKiX79+8fTTTzdZgwEAAGgZCpIkSRqy4i9/+cu49957o2fPnnHDDTdEQUFBRES89tprcdNNN8VDDz0UEREfffRR/OhHP4qZM2fWu83Kyso46aSTomRcSWy/6/YNbvSc8jnRY68eDV5/c+SiRq7q6Et+1tGX/KyjL/lZR1/ys05L6kuu6mSzRmmP0ii5akZmuuyWPvHBuP511tl71LQonVOalXobsl/ys46+5GedrbkvK5atiLJRZTFr1qzo1KnTxiskjbBq1apk0KBByeTJkzPz5s2blwwYMCAzXV5enhQXFzdoexUVFcn++++fVFRUNKYZyZj/HtOo9TdHLmrkqo6+5GcdfcnPOvqSn3X0JT/rtKS+5KpOtmv0vnJ65itJkuT9sf3qfDUl+yU/6+hLftbZmvtSX+ar95Ld999/P95+++2IiNh2223j1FNPjXfffTezvEOHDrFs2bLM9NKlS6N9+/YNTswAAABsneoNpJWVlTF69Oiorq6O6urqmDVrVhx66KGZ5R07doy2bdvGvHnzIiJi+vTpcfzxxzddiwEAAGgR6g2k3bt3j+7du0ffvn2jf//+ccghh0SvXr3ioosuijfffDMiIm6++ea44YYb4rTTTosvvvgiBg0a1OQNBwAAoHlr3ZCVhg4dGkOHDq0zb+LEiZnvDzjggJg6dWp2WwYAAECLVu8ZUgAAAGgKAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKgRSAAAAUiGQAgAAkAqBFAAAgFQIpAAAAKRCIAUAACAVAikAAACpEEgBAABIhUAKAABAKlo3ZKW77rornnrqqYiI6N69e/zsZz/baPm0adNixx13jIiIs88+OwYOHJjlpgIAANCS1BtI586dG88//3w89thjUVBQED/84Q/j2WefjVNOOSWzzoIFC+LWW2+NQw45pEkbCwAAQMtRbyDdbbfdYuTIkVFYWBgREfvss08sWrSozjoLFiyIiRMnRkVFRRx++OExYsSIaNu2bdO0GAAAgBahIEmSpKErl5eXx4ABA2Ly5Mmx1157RUTEypUr44orrojRo0dHx44dY+TIkdGxY8cYNmxYvdurrKyMk046KUrGlcT2u27f4EbPKZ8TPfbq0eD1N0cuauSqjr7kZx19yc86+pKfdfQlP+u0pL7kqk42a5T2KI2Sq2Zkpstu6RMfjOtfZ529R02L0jmlWam3IfslP+voS37W2Zr7smLZiigbVRazZs2KTp06bbxC0kDvvfdecsIJJySPPvro16731ltvJX369GnQNisqKpL9998/qaioaGgzkiRJkjH/PaZR62+OXNTIVR19yc86+pKfdfQlP+voS37WaUl9yVWdbNfofeX0zFeSJMn7Y/vV+WpK9kt+1tGX/KyzNfelvszXoFF2582bF+eff35cddVVceaZZ9ZZtmjRopg6der6ATdat27QWEkAAABsxeoNpIsXL45LL700br755ujVq9dGy4uKimLChAlRUVERSZLEpEmT6gx4BAAAAJtS76nM3/72t7F69eoYP358Zt6AAQNi9uzZMXTo0OjSpUtcd911cckll0RNTU1069YtBg8e3KSNBgAAoPmrN5COHj06Ro8evdH8c845J/N9cXFxFBcXZ7dlAAAAtGgNuocUAAAAsk0gBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAik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N+Kggw6KiIgXX3wx/vSnP0Xr1q3jlFNOiYMPPjhrdf785z/HwQcfHDvuuGNMnz493njjjfjud78b/fv3z1qNsWPHxpAhQ+Lf/u3fsrZNAABo7vL6DOmkSZPiyiuvjIiILl26xHe/+92IiLjmmmvi3nvvTbNpjXbzzTfHAw88EOXl5TFgwICYMWNGZtnkyZOzVuf3v/99XHjhhTFgwID4+c9/Hk888UR8+9vfjmnTpsWvfvWrrNXZ0Pjx47O+zTFjxkTEl6+D66+/PnbffffYdddd49prr40HHnggKzXGjRsXd999d6xevTpuv/32KCsri3333TeeffbZGDt2bFZqRERMnz49zj777HjmmWeyts1NefHFF+O1116LiIh77703Lr744rjrrruiuro6q3Wee+65GDlyZFx44YVx8cUXx/XXX5+pCwCb47nnnst8/8gjj8SQIUNi2LBh8eSTT6bYKqCpFSRJkqTdiK9SXFwc06dPj2233bbO/C+++CLOPPPMePrpp7NWa9GiRV+7fM8999yi7ZeUlMRjjz0WrVu3jvLy8rjgggti+PDhcdppp0Xfvn1j+vTpW7T99etMnTo1li1bFr17946XXnop2rZtG9XV1XHWWWfF448/vsU1fv7zn280b/bs2XHiiSdGRMQNN9ywxTUiIs4888x47LHHok+fPvH73/8+dt5554iIWLFiRZx11llZ2f+nn356lJWVRatWraJv374xZcqUKCwsjNra2ujdu3c89dRTW1wjIqJv375x8803R2lpaaxevToGDx4cJ554YhQVFWVl+xERN910U7zyyiuxZs2a6NSpUxQUFES/fv1i9uzZUVtbm7WAfffdd8frr78exx13XMyePTsOO+ywKCoqikceeSR+8IMfxNlnn52VOmzdnnvuuTj55JMj4ssPpv/zP/+TuUKiuV3tQeP8+c9/jqeffrrOlVHHH398FBcXp920RlmzZk1MmjQpFi9eHCeffHIcdthhmWV33nlnDBkyJGu15s6dGzvssEN85zvfiTvvvDPefffdOPTQQ+OCCy6IVq1aZa3O+q688sq49dZbs7rNdX/377zzznjllVfivPPOiyRJ4uGHH47vfve7MWzYsC2usWbNmpg6dWqccsopscMOO8RvfvObePPNN+O73/1u/PjHP462bdtmoScRF198cYwaNSq++c1vZmV7m7JmzZqYPn16FBUVRXFxcdxwww3xl7/8JTp37hwjRoyInXbaKSt11q5dG/fff3/MmjUrli5dGm3atIlvfetbcfrpp0evXr2yUmMdx3/jpHHsR2T/+M/rS3Zbt24da9as2Wh+VVVVtGnTJqu1fvzjH0d5eXm0b98+NszoBQUFMWvWrC3afpIkUVBQEBERe+21V9x9990xePDg+MY3vpGZnw1r166NwsLC6NixY1xwwQV13lhra2uzUmOnnXaK6dOnx8UXXxw77rhjRES89NJLccQRR2Rl++usWbMm1q5dG7vssku0a9cuM7+wsDC22SY7J/eLiori008/jfbt28cuu+wSq1atisLCwvjiiy+idevsHR4FBQWx7777xgMPPBBz586Nhx9+OMaNGxd77bVX7L777nHLLbdscY0///nPMWPGjKiuro7u3bvH888/H23atInjjz8++vTpk4VefOnJJ5+M6dOnR0FBQfTv3z8uuuiiuP/++6N///5x9tlnZzWQ+sPUeC3lg+mvfvWrOPnkkzf5wfTdd9/1wXQDLeWD6R133BFvvPFGnHHGGdG+ffuIiFiyZElMnTo1Xn/99RgxYsQW14iI+Mtf/vK1yw8//PAtrnHttdfG2rVrY//994+f/exncfbZZ8fFF18cEV/+Ezdbx/2ECRPi1VdfjRUrVmT+lp1zzjnx9NNPx/XXXx/XXHPNFtc477zzNvqssmDBghg0aFBERNx///1bXGN9zz77bDzyyCOZY7BHjx7Ru3fvrBz3615DxcXFceONN8aqVavi3HPPjTlz5sTVV1+dlb/HERHz58/PXLF23nnnZf1za0TE6NGjY9WqVVFdXR0PPPBAHHTQQXHbbbfFrFmz4tprr41f/vKXWakzfvz4qKmpiR/+8Icxc+bMOOCAA2KPPfaI+++/P8rLy+PSSy/NSp1cHP+5OPYjcnP85+LYj8jN8Z/XgfTiiy+Ovn37xtFHHx277bZbREQsXbo0Xnrppay8Ka3voYceinPPPTfGjBkThx56aFa3HRHRs2fPOO+882LkyJFx0EEHxX777Rd33HFHXHbZZVm9nPLUU0+N//N//k/cf//9mRf7O++8E6NHj47TTjstKzVGjBgRxx9/fNx+++1x5ZVXxpFHHhn33XdfnHnmmVnZ/jo777xzdO/ePQoKCmLMmDExfvz4ePHFF2PChAnRs2fPrNS47LLL4qyzzopevXrF3nvvHeedd14cffTR8fzzz8cPf/jDrNSIiDr/5DjmmGPimGOOiZqamnj33XejoqIiazWWL18eq1atiqqqqlixYkXsvPPOUVVVFTU1NVmpERGxevXq+OKLL6Jdu3ZRVVUVn3/+eUREtGvXLmv/KIjI3QfT+q5O6Nu37xbX8MF08/lg2jAt5YPpk08+GU899dRG7yW9e/eO3r17Z+24/9WvfhWvv/56HHTQQZv8J3Q2XscLFizIXJXUt2/fOP/886OoqCjOP//8jWpuiT/96U9RVlYWn3/+eZxyyinx8ssvxzbbbBPHH398Vt6/Ir78DPOb3/wmrrjiiujYsWMkSRLXXHNNXHbZZVnZ/jqrVq2KZcuWxZ577hmrVq3KHPdVVVVZ+yfxe++9F2VlZRHxZTiZMWNGFBQURPfu3bN69UWHDh3innvuiZtuuilOPfXUOOecc6JXr17RsWPHrNV46623oqysLGpra6N79+6ZW8D23XffrP4j+qWXXsq8lo877rgYOHBgPPTQQ9G9e/c444wzshZIc3H85+LYj8jN8Z+LYz8iN8d/XgfSkpKSOOKII+LFF1+MJUuWRJIkcdhhh8WQIUOiQ4cOWa21/fbbx9ixY+ORRx5pkkB62WWXxaGHHhrbbbddZt6hhx4ajz76aFbvh7388svjL3/5S50zIYWFhTFkyJDo3r171uocffTR8Z3vfCfGjBkTc+bMydrZ1/Wte1P44IMP4p///GdEfNmXoUOHRo8ePbJS48QTT4z99tsvnnvuufjoo4+ia9eusd1228X48eMzAyplw8CBAzea16ZNm+jcuXN07tw5KzUuuuiiOPXUUyNJkhg+fHhccMEFcfTRR8eLL76Y1QGa+vXrF+ecc04ce+yx8fzzz0e/fv1i4cKFcemll0bv3r2zVidXH0xfeumlmDlz5lf+kyMbb+o+mDaeD6aN01I+mLZt2zY+/vjjjW6TWbRoURQWFm7Rttc3ceLEGDRoUPzgBz+Ik046KWvbXV+SJLFq1apo165dfOMb34iJEyfGOeecE7vssktWr4yKiKiuro6dd945RowYkXnPXLly5SavMtscAwcOjCOPPDLGjBkT//Ef/xF9+/aN7bbbLutXRnXr1i0GDx4cixcvjmuvvTbuvPPOeOaZZ+KGG26IH/3oR1mp0a5du/jrX/8a++23X3zrW9+KxYsXx5577hmffPJJVl9jBQUFseuuu8ZNN90U5eXlMWXKlLjgggti9erVsfvuu2dl/JBtttkmPvzww1i+fHksX748Kisro1OnTvHZZ59lbd9HfHmF3aeffhq77LJLLF26NKqqqiIioqamJqtXk+Xi+M/FsR+Ru+O/qY/9iBwd/wlsoSlTpiSDBw9OuxkkSfLFF18kK1asSJIkSd55553knnvuSZ5//vms15k7d25yzz33JHPnzk2SJElWrFiRvPPOO1mtUVJSkixcuHCj+f/v//2/5IwzzshqrR//+MfJI488ktVtrq93797JypUrM9Mff/xxcsIJJySPP/540rdv36zV6dWrV1JVVZUkyZfH5TrLly9PTj/99KzV+etf/5qce+65yWOPPZYkSZLVPqwzcuTIpHfv3smhhx6aXHbZZUmSJMnMmTOTHj16JA8++GBWapx99tnJe++9lyRJklx66aWZ19vHH3+c9OnTJys1kqTu7+fDDz9MbrzxxuTUU09Nunfvnnz/+9/PSo0zzjgj+eCDD5L58+cnBx10UFJRUZEkSZJ8+umnWd33p59+erJs2bIkSb78Pa3r24oVK5JevXpt8fZfeOGFpEePHsn555+fDB8+PBk+fHhy/vnnJz169EhefPHFLd7++j744INkwoQJWd3m+iZPnpyceuqpmffJJEmSv/3tb0mPHj2SLl26ZK3OpEmTklNPPTVZs2ZNZt68efOSE044IXn44YezVidJkmT16tXJDTfckAwZMiSrr6v1Pfvss8l9992XfPjhh0mSJMm7776bvPPOO8nkyZOzsv1XX301+d73vpcMGTIk+dnPfpZ873vfS37yk58k3bt3T+bMmZOVGkmSfOV7yGeffZbMnz8/KzX+/Oc/J927d0+OO+645Nlnn0169uyZDB06NDnhhBMy78/ZMG3atKR79+7J5ZdfnvTo0SMpKytLysvLk+7duydTp07NWp1NHf+DBw/O+vHf1Md+kmz6+H///fezevx/1bF/4oknZv3YT5KmPf7zelAjYOs1d+7cGDVqVOy11151LtkvLy+PG264IY466qis1VqyZEmUlZXFhRdemLVtru/hhx+Oe++9N0pLS+Poo4+OiC8fafXDH/4wPv3003jjjTeyUufBBx+M++67L5588snMVRKvvvpq/PSnP42LL744q/f3VldXx6233hqLFi2K999/P5544omsbXt9X3zxRSxbtiy++c1vxnvvvRdJksS///u/Z2Xbr732WgwZMiS6desW2267bbzwwgtx8MEHx1tvvRX/+Z//mbWrSr5q4Lq///3vUVFRkZWrMZ5//vkYPXp0rF27Nq699tq45ZZbYv/9948333wzhg4dmrUz5I8++mjccccdccghh8T8+fPjqquuii5dusQPfvCDGDJkSFauxnjiiSfiww8/jFatWsU3v/nN6NChQxx88MHx2GOPZfURabl4FNvEiROjuro6SkpKMjVWrFgRDz74YNbO+EV8OcJ+q1atMn35+OOPY/ny5fHqq69mrS/r/74qKyvjj3/8Y1x//fVZ/X3dfPPN8dZbb8Xee+8dTz31VIwYMSJzhn/dgEfZMH369KisrIyioqJYs2ZN7LrrrnHsscfGn/70p6z15U9/+lPU1NQ0+Wvsueeei0WLFkWPHj2iXbt28corr8R+++0Xr7zySlaPl3Wv5V69esVee+0V1dXVsXLlynjmmWeyWuedd96J5cuXx5IlS6K8vDz+93//NwYMGJDVq1Zy9XjEDz/8MIqKimKPPfbI1OnSpUv8/e9/j/PPPz9rNdq1a5fpy/z586NTp06Z24KyZf3f2cMPPxzz58+PY489Nmu/M4EUyFurV6+ON954I3PJ/roPptm8rKqpR9hep7y8PAoLC+tsb8WKFTF16tSs/WGKiMwlW+us+2C63377Za3G+l544YV44okn4vrrr8/qdnO1X1asWBFz586Njz76KGprazMfTHffffesbD/iyw+m2bxloiGWLVuW+WC6zz77ZHXbH374Ybz77rtxwAEHZD6Yrlq1KisDJ60fSJ588skYOXJkkwSSm2++ORYsWBD77LNPkwWfXNTIVZ1c9SUXTyTI1WtswoQJ8dZbbzX5fslFgM/V/v/9738ff/jDH2Lt2rVx1FFHxeLFi+OUU06J2bNnR7du3bJyr2ouatRX55BDDsnKbS5p9eXjjz+Ok08+Obt1snq+FSBLFi5c+LVf2dK7d++kc+fOyYknnpiccMIJdb5OPPHErNTIVV9yUcd+yc86LaUvvXv3TmpqapIk+fLy5hNOOCF58sknkyT56ksg87VO7969M5fStYS+5GK/9OrVq87lh++9917yve99L3nppZeydmtAS3uN5aovuXotV1VVJZWVlUnXrl0zt6CsXr06KSkpaTY1clWnJfUlrwc1ArZeTf0opnWaeoTtiNz1JRd1NlWjoKAg82ir5r5fmqIvae2XbNfIRZ0kR49Iy0Wd9X8/LaEvudgvuXgiQUt7jeWqL+s090cX5qJGruq0pL44QwrkpeXLlyclJSXJK6+80uS15s+fn4wePbrJtp+rvuSijv2Sn3VaSl/uvPPO5Jxzzqkz6Msrr7ySHHXUUUm3bt2aVR192Txz585N/va3v9WZt2jRomTs2LFZ2b79kr91br/99uTcc8+tc5b87bffTvr375/ceeedzaZGruq0pL4IpEDeaupAkku56ksu6tgv+VmnpfSlqQNJLuvoS36yX/K3zssvv1xn+v3338/q6Me5qpGrOi2lLwY1AgAAIBXb1L8KAAAAZJ9ACgAAQCoEUgAAAFIhkAIAAJCK/x+flKqUVmqvmgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgbr = results_xgbr.head(35)\n", + "results_xgbr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 595, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgbr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 596, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.0018557211348477257" + ] + }, + "execution_count": 596, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgbr=np.mean(results_xgbr.error)\n", + "meanerror_xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 597, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.642547
10.542795
21.128493
30.693970
40.530295
......
650.748831
660.653880
671.799503
680.727153
690.791244
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.642547\n", + "1 0.542795\n", + "2 1.128493\n", + "3 0.693970\n", + "4 0.530295\n", + ".. ...\n", + "65 0.748831\n", + "66 0.653880\n", + "67 1.799503\n", + "68 0.727153\n", + "69 0.791244\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 597, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 598, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgbr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### data frame errores medios" + ] + }, + { + "cell_type": "code", + "execution_count": 599, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
xgbr-0.001856
kn0.011011
rf0.005029
lr-0.017118
xgb-0.000248
ridge-0.016882
\n", + "
" + ], + "text/plain": [ + " 0\n", + "xgbr -0.001856\n", + "kn 0.011011\n", + "rf 0.005029\n", + "lr -0.017118\n", + "xgb -0.000248\n", + "ridge -0.016882" + ] + }, + "execution_count": 599, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame([[meanerror_xgbr, meanerror_kn, meanerror_rf, meanerror_lr, meanerror_xgb, meanerror_ridge]], \n", + " columns=['xgbr','kn','rf','lr','xgb','ridge']).T\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exporting best model" + ] + }, + { + "cell_type": "code", + "execution_count": 600, + "metadata": {}, + "outputs": [], + "source": [ + "import pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 605, + "metadata": {}, + "outputs": [], + "source": [ + "#Saving the Model\n", + "pickle_out = open(\"../reto_data/outputs/xgb.pkl\", \"wb\") \n", + "pickle.dump(pipeline_xgb, pickle_out) \n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 606, + "metadata": {}, + "outputs": [], + "source": [ + "df_train.to_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 607, + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 608, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
0028.05.02621.51200001.4000
1112.04.23021.51300000.5040
2211.25.53821.51500000.6160
3312.93.93621.51400000.5031
4418.54.54621.51500000.8325
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 distance consume speed temp_inside temp_outside gas_type \\\n", + "0 0 28.0 5.0 26 21.5 12 0 \n", + "1 1 12.0 4.2 30 21.5 13 0 \n", + "2 2 11.2 5.5 38 21.5 15 0 \n", + "3 3 12.9 3.9 36 21.5 14 0 \n", + "4 4 18.5 4.5 46 21.5 15 0 \n", + "\n", + " AC rain sun consume_100Km \n", + "0 0 0 0 1.4000 \n", + "1 0 0 0 0.5040 \n", + "2 0 0 0 0.6160 \n", + "3 0 0 0 0.5031 \n", + "4 0 0 0 0.8325 " + ] + }, + "execution_count": 608, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conclusiones_\n" + ] + }, + { + "cell_type": "code", + "execution_count": 649, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
distance100.000000-12.89667656.2298827.5178238.817534-5.341141-2.573817-1.9790658.11198199.210074
consume-12.896676100.000000-22.786618-16.062288-32.081059-1.5326979.65914024.811771-17.066738-5.218780
speed56.229882-22.786618100.0000005.9292961.541101-9.736041-3.5408000.9489468.16182855.184655
temp_inside7.517823-16.0622885.929296100.00000035.9500421.01976729.737625-3.69372424.2247946.237325
temp_outside8.817534-32.0810591.54110135.950042100.00000014.87050116.756227-18.63148934.6903413.787710
gas_type-5.341141-1.532697-9.7360411.01976714.870501100.00000010.5285406.0328192.276096-5.534834
AC-2.5738179.659140-3.54080029.73762516.75622710.528540100.00000024.2914718.859801-1.870021
rain-1.97906524.8117710.948946-3.693724-18.6314896.03281924.291471100.000000-11.2649990.912464
sun8.111981-17.0667388.16182824.22479434.6903412.2760968.859801-11.264999100.0000006.424729
consume_100Km99.210074-5.21878055.1846556.2373253.787710-5.534834-1.8700210.9124646.424729100.000000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "distance 100.000000 -12.896676 56.229882 7.517823 8.817534 \n", + "consume -12.896676 100.000000 -22.786618 -16.062288 -32.081059 \n", + "speed 56.229882 -22.786618 100.000000 5.929296 1.541101 \n", + "temp_inside 7.517823 -16.062288 5.929296 100.000000 35.950042 \n", + "temp_outside 8.817534 -32.081059 1.541101 35.950042 100.000000 \n", + "gas_type -5.341141 -1.532697 -9.736041 1.019767 14.870501 \n", + "AC -2.573817 9.659140 -3.540800 29.737625 16.756227 \n", + "rain -1.979065 24.811771 0.948946 -3.693724 -18.631489 \n", + "sun 8.111981 -17.066738 8.161828 24.224794 34.690341 \n", + "consume_100Km 99.210074 -5.218780 55.184655 6.237325 3.787710 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "distance -5.341141 -2.573817 -1.979065 8.111981 99.210074 \n", + "consume -1.532697 9.659140 24.811771 -17.066738 -5.218780 \n", + "speed -9.736041 -3.540800 0.948946 8.161828 55.184655 \n", + "temp_inside 1.019767 29.737625 -3.693724 24.224794 6.237325 \n", + "temp_outside 14.870501 16.756227 -18.631489 34.690341 3.787710 \n", + "gas_type 100.000000 10.528540 6.032819 2.276096 -5.534834 \n", + "AC 10.528540 100.000000 24.291471 8.859801 -1.870021 \n", + "rain 6.032819 24.291471 100.000000 -11.264999 0.912464 \n", + "sun 2.276096 8.859801 -11.264999 100.000000 6.424729 \n", + "consume_100Km -5.534834 -1.870021 0.912464 6.424729 100.000000 " + ] + }, + "execution_count": 649, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(df_train.corr())*100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* El mejor modelo de prediccion es XGB. Diferentes variables afectan al consumo: velocidad, distancia por supuesto. En cuanto al tipo de combustible, solo afecta un 5,53% al precio." + ] + }, + { + "cell_type": "code", + "execution_count": 645, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 18.639912\n", + "consume 4.899123\n", + "speed 40.820175\n", + "temp_inside 21.938007\n", + "temp_outside 12.228070\n", + "gas_type 1.000000\n", + "AC 0.100877\n", + "rain 0.140351\n", + "sun 0.087719\n", + "consume_100Km 0.883618\n", + "dtype: float64" + ] + }, + "execution_count": 645, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#SP98\n", + "gas_type.get_group(1).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 646, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 21.096250\n", + "consume 4.931250\n", + "speed 43.506250\n", + "temp_inside 21.917429\n", + "temp_outside 10.118750\n", + "gas_type 0.000000\n", + "AC 0.043750\n", + "rain 0.100000\n", + "sun 0.075000\n", + "consume_100Km 1.008933\n", + "dtype: float64" + ] + }, + "execution_count": 646, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#E10\n", + "gas_type.get_group(0).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 644, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
01.00893343.50625021.096250
10.88361840.82017518.639912
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 1.008933 43.506250 21.096250\n", + "1 0.883618 40.820175 18.639912" + ] + }, + "execution_count": 644, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'mean','speed':'mean','distance':'mean' })" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* El consumo de E10es superior pero también la velocidad y la distancia." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.8.3" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "402.712px" + }, + "toc_section_display": true, + "toc_window_display": true + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/.ipynb_checkpoints/models - copia-checkpoint.ipynb b/.ipynb_checkpoints/models - copia-checkpoint.ipynb new file mode 100644 index 0000000..b9da565 --- /dev/null +++ b/.ipynb_checkpoints/models - copia-checkpoint.ipynb @@ -0,0 +1,5130 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 289, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import matplotlib.pylab as pylab\n", + "from sklearn import metrics\n", + "import numpy as np # linear algebra\n", + "import pandas as pd # data processing\n", + "#from sklearn.preprocessing import OneHotEncoder, LabelEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.tree import DecisionTreeRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "from xgboost import XGBRegressor\n", + "from sklearn.neighbors import KNeighborsRegressor\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn import metrics\n", + "from sklearn.linear_model import Ridge, Lasso\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import SGDRegressor\n", + "from sklearn import linear_model\n", + "from scipy import stats" + ] + }, + { + "cell_type": "code", + "execution_count": 290, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsunrefill litersrefill gas
02852621,512NaNE1000045E10
1124,23021,513NaNE10000NaNNaN
211,25,53821,515NaNE10000NaNNaN
312,93,93621,514NaNE10000NaNNaN
418,54,54621,515NaNE10000NaNNaN
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28 5 26 21,5 12 NaN E10 0 \n", + "1 12 4,2 30 21,5 13 NaN E10 0 \n", + "2 11,2 5,5 38 21,5 15 NaN E10 0 \n", + "3 12,9 3,9 36 21,5 14 NaN E10 0 \n", + "4 18,5 4,5 46 21,5 15 NaN E10 0 \n", + "\n", + " rain sun refill liters refill gas \n", + "0 0 0 45 E10 \n", + "1 0 0 NaN NaN \n", + "2 0 0 NaN NaN \n", + "3 0 0 NaN NaN \n", + "4 0 0 NaN NaN " + ] + }, + "execution_count": 290, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train=pd.read_csv('../reto_data/inputs/measurements.csv')\n", + "df_train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### drop nan" + ] + }, + { + "cell_type": "code", + "execution_count": 291, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 0\n", + "consume 0\n", + "speed 0\n", + "temp_inside 12\n", + "temp_outside 0\n", + "specials 295\n", + "gas_type 0\n", + "AC 0\n", + "rain 0\n", + "sun 0\n", + "refill liters 375\n", + "refill gas 375\n", + "dtype: int64" + ] + }, + "execution_count": 291, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "metadata": {}, + "outputs": [], + "source": [ + "#eliminamos columnas con demasiados elementos vacios\n", + "df_train=df_train.drop(['specials', 'refill liters', 'refill gas'], axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null object\n", + " 1 consume 388 non-null object\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null object\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null object\n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: int64(5), object(4)\n", + "memory usage: 27.4+ KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Categorical and numerical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['speed', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['gas_type', 'consume', 'distance', 'temp_inside']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gas_type > {'E10', 'SP98'}\n", + "\n", + "consume > {'5,9', '5,4', '5,7', '4,5', '5,8', '3,8', '8,7', '3,7', '5,3', '5,5', '5', '4,9', '10,8', '4', '5,6', '5,1', '4,1', '6,3', '7,9', '4,8', '6,2', '9,9', '6', '4,3', '4,2', '7,4', '6,4', '6,5', '3,3', '6,6', '6,1', '5,2', '12,2', '4,4', '3,6', '3,9', '8,1', '7,1', '6,9', '11,5', '9', '4,6', '4,7'}\n", + "\n", + "distance > {'21,6', '5,4', '39,4', '9,8', '4,5', '24,9', '8,7', '5,3', '48,6', '35,8', '5,5', '14,7', '10,8', '6,8', '7,8', '17,3', '7,9', '19', '15,3', '21', '53,2', '16,9', '14,1', '6,1', '12', '34,8', '13', '2', '21,5', '37,2', '22,2', '67,2', '24,7', '12,2', '14,2', '24,5', '13,6', '18,1', '8,3', '40,6', '10,5', '2,4', '16,6', '153,5', '18,8', '81,2', '13,3', '18,7', '21,1', '20,6', '100,9', '18,4', '14,5', '31,9', '32,1', '19,8', '25,9', '5,1', '14', '16,1', '7', '51,6', '129,7', '28,2', '12,5', '44,9', '4,8', '39,5', '28,8', '211', '19,6', '28', '20,9', '14,3', '1,3', '11,9', '22,7', '10,1', '16,7', '43,5', '18,9', '23,5', '13,2', '17,2', '27,3', '17,4', '38,6', '2,1', '17', '25,7', '35,9', '38,5', '101,9', '28,5', '25,5', '36,6', '16', '36,5', '4,9', '16,4', '16,8', '16,3', '21,4', '11,7', '9,9', '12,6', '56,1', '15,4', '9,7', '29,9', '4,2', '12,1', '16,2', '6,7', '2,9', '27,1', '5,2', '1,7', '39', '25,3', '18,5', '18,3', '11,5', '11,6', '22,1', '31,5', '41,9', '13,4', '15,9', '43,7', '11,2', '31,8', '36,9', '20,8', '9,2', '24,8', '13,1', '130,3', '58,7', '22,4', '10,6', '20,1', '26,6', '12,4', '32', '10,2', '4,1', '12,8', '11,3', '32,6', '31,1', '17,9', '44,4', '29', '12,3', '13,9', '6', '7,4', '6,4', '6,6', '26,2', '33,4', '31,4', '11,8', '12,9', '15,7', '25,2', '16,5', '162,7', '12,7', '20', '93,9', '22,9', '216,1'}\n", + "\n", + "temp_inside > {nan, '24', '20,5', '24,5', '22,5', '23,5', '22', '25', '20', '21,5', '23', '19', '25,5', '21'}\n", + "\n" + ] + } + ], + "source": [ + "#visualizar contenido de las columnas categoricas\n", + "for c in cat_cols:\n", + " print(c, \">\", set(df_train[c]))\n", + " print(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "metadata": {}, + "outputs": [], + "source": [ + "#convertimos en numéricas las que no son strings\n", + "df_train['temp_inside'] = pd.to_numeric(df_train['temp_inside'], errors='coerce')\n", + "df_train['consume'] = pd.to_numeric(df_train['consume'], errors='coerce')\n", + "df_train['distance'] = pd.to_numeric(df_train['distance'], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 187, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['distance', 'consume', 'speed', 'temp_inside', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['gas_type']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0, 1}" + ] + }, + "execution_count": 188, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#con un diccionario mapeamos y convertimos en numéricos los dos tipos de combustibles\n", + "df_train['gas_type'] = df_train['gas_type'].map({'SP98': 1, 'E10': 0})\n", + "set(df_train['gas_type'])" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "metadata": {}, + "outputs": [], + "source": [ + "#solo una pequeá cantidad de rows en temp_inside están vacías, las rellenamos con la media de la columna\n", + "temp_inside = df_train['temp_inside'].dropna()\n", + "temp_inside_avg = temp_inside.mean()\n", + "df_train['temp_inside'] = df_train['temp_inside'].fillna(temp_inside_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "52" + ] + }, + "execution_count": 190, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train['distance'].count()" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "metadata": {}, + "outputs": [], + "source": [ + "##muchos nan en distance, eliminaremos\n", + "#print(set(df_train['distance']))" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": {}, + "outputs": [], + "source": [ + "#distance = df_train['distance'].dropna()\n", + "#distance_avg = distance.mean()\n", + "#df_train['distance'] = df_train['distance'].fillna(distance_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [], + "source": [ + "df_train.drop(['distance'], inplace=True, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 194, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{nan, nan, nan, nan, nan, 5.0, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 9.0, 4.0, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 6.0, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan}\n" + ] + } + ], + "source": [ + "print(set(df_train['consume']))" + ] + }, + { + "cell_type": "code", + "execution_count": 195, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 8 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 consume 49 non-null float64\n", + " 1 speed 388 non-null int64 \n", + " 2 temp_inside 388 non-null float64\n", + " 3 temp_outside 388 non-null int64 \n", + " 4 gas_type 388 non-null int64 \n", + " 5 AC 388 non-null int64 \n", + " 6 rain 388 non-null int64 \n", + " 7 sun 388 non-null int64 \n", + "dtypes: float64(2), int64(6)\n", + "memory usage: 24.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### correlations" + ] + }, + { + "cell_type": "code", + "execution_count": 196, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(8.5, -0.5)" + ] + }, + "execution_count": 196, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(16,12))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 197, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeedtemp_insidetemp_outsidegas_typeACrainsun
consume100.000000-27.261035-18.313129-23.5242856.485230-9.95062615.408254-11.104052
rain15.4082540.948946-1.705006-18.6314896.03281924.291471100.000000-11.264999
gas_type6.485230-9.736041-6.08470214.870501100.00000010.5285406.0328192.276096
AC-9.950626-3.54080025.15768016.75622710.528540100.00000024.2914718.859801
sun-11.1040528.16182810.61454434.6903412.2760968.859801-11.264999100.000000
temp_inside-18.3131296.451800100.00000020.631894-6.08470225.157680-1.70500610.614544
temp_outside-23.5242851.54110120.631894100.00000014.87050116.756227-18.63148934.690341
speed-27.261035100.0000006.4518001.541101-9.736041-3.5408000.9489468.161828
\n", + "
" + ], + "text/plain": [ + " consume speed temp_inside temp_outside gas_type \\\n", + "consume 100.000000 -27.261035 -18.313129 -23.524285 6.485230 \n", + "rain 15.408254 0.948946 -1.705006 -18.631489 6.032819 \n", + "gas_type 6.485230 -9.736041 -6.084702 14.870501 100.000000 \n", + "AC -9.950626 -3.540800 25.157680 16.756227 10.528540 \n", + "sun -11.104052 8.161828 10.614544 34.690341 2.276096 \n", + "temp_inside -18.313129 6.451800 100.000000 20.631894 -6.084702 \n", + "temp_outside -23.524285 1.541101 20.631894 100.000000 14.870501 \n", + "speed -27.261035 100.000000 6.451800 1.541101 -9.736041 \n", + "\n", + " AC rain sun \n", + "consume -9.950626 15.408254 -11.104052 \n", + "rain 24.291471 100.000000 -11.264999 \n", + "gas_type 10.528540 6.032819 2.276096 \n", + "AC 100.000000 24.291471 8.859801 \n", + "sun 8.859801 -11.264999 100.000000 \n", + "temp_inside 25.157680 -1.705006 10.614544 \n", + "temp_outside 16.756227 -18.631489 34.690341 \n", + "speed -3.540800 0.948946 8.161828 " + ] + }, + "execution_count": 197, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " *- El consumo no solo se relaciona con el tipo de combustible, sino con la lluvia y la velocidad, así como la temperatura en el exterior y en el interior*" + ] + }, + { + "cell_type": "code", + "execution_count": 198, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "corr_mat=df_train.corr(method='pearson')\n", + "plt.figure(figsize = (16,5))\n", + "corr_mat['consume'].sort_values(ascending = False).plot(kind = 'bar');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Chequear media de consumo por tipo de combustible y resto de variables" + ] + }, + { + "cell_type": "code", + "execution_count": 199, + "metadata": {}, + "outputs": [], + "source": [ + "gas_type=df_train.groupby('gas_type')" + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeedtemp_insidetemp_outsideACrainsun
gas_type
04.75000043.50625021.99371310.118750.0437500.1000000.075000
14.86206940.82017521.89364712.228070.1008770.1403510.087719
\n", + "
" + ], + "text/plain": [ + " consume speed temp_inside temp_outside AC rain \\\n", + "gas_type \n", + "0 4.750000 43.506250 21.993713 10.11875 0.043750 0.100000 \n", + "1 4.862069 40.820175 21.893647 12.22807 0.100877 0.140351 \n", + "\n", + " sun \n", + "gas_type \n", + "0 0.075000 \n", + "1 0.087719 " + ] + }, + "execution_count": 200, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 201, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(1).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 202, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(0).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 203, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 203, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gas_type.size().sort_values(ascending=True).plot(kind='barh')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 292, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 292, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gas_type[['consume','speed',]].mean().plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 293, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 293, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gas_type.agg({'consume':'min','speed':'max',}).plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 206, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeed
gas_type
04.088
14.090
\n", + "
" + ], + "text/plain": [ + " consume speed\n", + "gas_type \n", + "0 4.0 88\n", + "1 4.0 90" + ] + }, + "execution_count": 206, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume':'min','speed':'max', })" + ] + }, + { + "cell_type": "code", + "execution_count": 207, + "metadata": {}, + "outputs": [], + "source": [ + "### El consumo medio es similar, pero la distancia recorrida es mayor con SP98" + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeed
gas_type
04.014
14.016
\n", + "
" + ], + "text/plain": [ + " consume speed\n", + "gas_type \n", + "0 4.0 14\n", + "1 4.0 16" + ] + }, + "execution_count": 208, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume':'min','speed':'min',})" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeed
gas_type
04.75000043.506250
14.86206940.820175
\n", + "
" + ], + "text/plain": [ + " consume speed\n", + "gas_type \n", + "0 4.750000 43.506250\n", + "1 4.862069 40.820175" + ] + }, + "execution_count": 209, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume':'mean','speed':'mean', })" + ] + }, + { + "cell_type": "code", + "execution_count": 210, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
consumemin4.0000004.000000
max6.0000009.000000
mean4.7500004.862069
speedmin14.00000016.000000
max88.00000090.000000
mean43.50625040.820175
temp_insidemin21.00000019.000000
max25.00000025.000000
mean21.99371321.893647
temp_outsidemin-5.000000-3.000000
max27.00000031.000000
mean10.11875012.228070
ACmin0.0000000.000000
max1.0000001.000000
mean0.0437500.100877
rainmin0.0000000.000000
max1.0000001.000000
mean0.1000000.140351
sunmin0.0000000.000000
max1.0000001.000000
mean0.0750000.087719
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "consume min 4.000000 4.000000\n", + " max 6.000000 9.000000\n", + " mean 4.750000 4.862069\n", + "speed min 14.000000 16.000000\n", + " max 88.000000 90.000000\n", + " mean 43.506250 40.820175\n", + "temp_inside min 21.000000 19.000000\n", + " max 25.000000 25.000000\n", + " mean 21.993713 21.893647\n", + "temp_outside min -5.000000 -3.000000\n", + " max 27.000000 31.000000\n", + " mean 10.118750 12.228070\n", + "AC min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.043750 0.100877\n", + "rain min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.100000 0.140351\n", + "sun min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.075000 0.087719" + ] + }, + "execution_count": 210, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg(['min', 'max','mean']).T" + ] + }, + { + "cell_type": "code", + "execution_count": 211, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeedtemp_insidetemp_outsidegas_typeACrainsun
319NaN9022.0211001
\n", + "
" + ], + "text/plain": [ + " consume speed temp_inside temp_outside gas_type AC rain sun\n", + "319 NaN 90 22.0 21 1 0 0 1" + ] + }, + "execution_count": 211, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_max_speed=df_train[df_train.speed == df_train['speed'].max()]\n", + "df_max_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 212, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeedtemp_insidetemp_outsidegas_typeACrainsun
147NaN1421.934911100010
\n", + "
" + ], + "text/plain": [ + " consume speed temp_inside temp_outside gas_type AC rain sun\n", + "147 NaN 14 21.934911 10 0 0 1 0" + ] + }, + "execution_count": 212, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_min_speed=df_train[df_train.speed == df_train['speed'].min()]\n", + "df_min_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 213, + "metadata": {}, + "outputs": [], + "source": [ + "group_cols = ['gas_type']\n", + "agg_dict = {'speed':['min', 'max','mean','var'],\n", + " 'consume':['min', 'max','mean','var']}\n", + "df_groupby=df_train.groupby(group_cols).agg(agg_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['speed', 'speed', 'speed', 'speed', 'consume', 'consume', 'consume',\n", + " 'consume'],\n", + " dtype='object')" + ] + }, + "execution_count": 214, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level0 = df_groupby.columns.get_level_values(0)\n", + "level0" + ] + }, + { + "cell_type": "code", + "execution_count": 215, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['min', 'max', 'mean', 'var', 'min', 'max', 'mean', 'var'], dtype='object')" + ] + }, + "execution_count": 215, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level1 = df_groupby.columns.get_level_values(1)\n", + "level1" + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "metadata": {}, + "outputs": [], + "source": [ + "df_groupby.columns = level0 + '_' + level1" + ] + }, + { + "cell_type": "code", + "execution_count": 217, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
speed_min14.00000016.000000
speed_max88.00000090.000000
speed_mean43.50625040.820175
speed_var198.188640173.452102
consume_min4.0000004.000000
consume_max6.0000009.000000
consume_mean4.7500004.862069
consume_var0.3026321.051724
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "speed_min 14.000000 16.000000\n", + "speed_max 88.000000 90.000000\n", + "speed_mean 43.506250 40.820175\n", + "speed_var 198.188640 173.452102\n", + "consume_min 4.000000 4.000000\n", + "consume_max 6.000000 9.000000\n", + "consume_mean 4.750000 4.862069\n", + "consume_var 0.302632 1.051724" + ] + }, + "execution_count": 217, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_groupby.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### speed outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 218, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable height\n", + "ax = sns.distplot(df_train.speed, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of speed', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 219, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of consume')" + ] + }, + "execution_count": 219, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ACYmJoiPjwcAvHjxAoaGhjAzM4OZmVmhxkgf8ZgFEcm6cOECzp07VyzLMjExQUREBC5cuID58+fnOs/UqVOxb98+TJ06tUDL/Omnn7Bu3Tps2LAh1+lbtmzBtWvXsGXLllwf5zd/SkoKVq9ejZcvXwJ4fc0lc3NzODk5oWfPnujZsyecnZ3L1HWqioJhQUSlSrNVYWBggLS0NERFRWlNj42NRVxcHABAqVTizp07+S7v6dOnCA8PhxACR44cka7emtf02NjYQs2fkJCQYxdSWloarly5gm3btmHt2rVFGoeypkR2QyUnJ+Pp06fSN7kpf7GxsVCrinf/almnVr1AbGws/4f0RGxsbLFdk2ndunWwtraWLl8xd+5c/PLLL9L0BQsWaM2/YMECLF++PM/lbdmyRXozV6vV2LJlC4YNG5bn9DePMxRk/qNHj2LcuHF49uwZUlNTkZKSgufPn0s/devWfYfRKDt4zIKISlV6errWGUKamwJpaLYqNPL7PgMA/PHHH9JBc5VKhWPHjmm9+b89/c3lFWR+zfR/8r3BC6JEwsLS0hKWlpa8rk8Baa4NRf/P0NgM9rw2lN4ozi28ihUraoXF22/CtWvX1goMuftqt2nTBocPH4ZKpYKxsTG8vb3znV6zZk08ePAgz/lbt26NI0eO5Dn934rHLIioVAUHB2s9njhxotbj8ePH5/v4bX369JFO8zQ0NESfPn3ynT5u3Lh85+/bt2++0/+tGBZEVKrc3d2l+02bm5vD1dVVa7q9vT1q164N4PVWRb169fJdnpWVFdq1awcDAwP4+PjkOBX27en29vaFmj+3U2v/jRgWRFTqgoODYWhomGOrQmP8+PGoUKGC7FaFRp8+feDo6JjnVsDb0ws7P/EANxHpgLu7O/bu3ZvndHt7e2zdurXAy7OyssLcuXMLPL2w8xO3LIiIqAAYFkREJIthQUREshgWREQki2FBRESyGBZERCSLYUFERLIYFkREJIthQUREshgWREQki2FBRESyGBZERCSLYUFERLIYFkREJIthQUREshgWREQki2FBRESyGBZERCSLYUFERLIYFkREJIthQUREshgWREQki2FBRESyGBZERCSLYUFERLIYFkREJIthQUREshgWREQki2FBRESyGBZERCSLYUFERLIYFkREJIthQUREshgWREQki2FBRESyGBZE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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.speed)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(80,0), xytext=(75,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "ax.annotate('Outlier', xy=(90,0), xytext=(95,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('consume', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### consume outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 220, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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bAghhGgcJRtCtGj37t0YPHgwfHx8MHLkSPzxxx/IyMiAh4cHDh8+jJCQEPTo0QMrV65UmT/m6tWreOONN+Dr64vhw4fj0KFDKvv99ddfMXjwYAQEBGD8+PFITk5m15WUlODjjz9GQEAA/vWvf+H69evaOl1CqrXo4DeEkHpdv36d8fLyYk6fPs1kZGQwGzduZHx9fZkbN24w7u7uzJAhQ5grV64w//zzD/PKK68wa9euZRiGYXJycpiAgABmx44dzP3795ljx44xQUFBTFxcHMMwDBMXF8f07duXOX36NHPv3j1m48aNjL+/P5Odnc0wDMN8/PHHzKhRo5hr164x586dY/r168e4u7vr7PdA2idKNoRoyalTpxgvLy/mxo0bDMMwjFwuZ86fP8/cvn2bcXd3Z06dOsXW3bdvH9OrVy9GLpcz69evZ95//32VfW3YsIGZPHkywzAMM378eGb79u0q6ydNmsR89913TFFREePp6cn8888/7LqdO3dSsiFa1zYmXyGkFejfvz+6d++O0aNHw93dHa+++ireeOMNdjbIqsnbAOXEXgUFBcjNzcXdu3dx/vx5lfUymQyWlpYAlPOyrFu3Dt988w27XiqVokOHDrh37x7kcjm6deumsm9CtI2SDSFaIhQK8euvvyI+Ph5//PEHTp48iV27dmH37t0AAD09PbauQqEAAHC5XMhkMgwfPhwffPCByv64XOUtV7lcjk8++QT9+/dXWW9oaIjMzEwAYCfFAtBmJvgjrQt1ECBES0QiETZu3IgePXpgwYIFOHHiBKytrXHu3DkAUJlu+9q1a7C2toaVlRWcnZ3x4MEDODk5sa8LFy5g3759AJTTOWdlZams37ZtGy5fvgwXFxfweDykpKSw+75586Z2T5wQULIhRGsMDAywceNG7NmzBxkZGfj999+RmZkJCwsLAMDnn3+OlJQUXLx4Ed9++y0mTJgADoeDCRMm4MaNG/jqq69w//59nDx5El988QXs7OwAAO+88w527tyJgwcP4uHDh/juu++wf/9+uLi4wNjYGK+//jo+++wzJCYm4p9//sHGjRt1+Wsg7RRNnkaIFh0+fBgxMTHIyMiAra0tpk6digEDBmDw4MH4z3/+g507d0Iul+PNN9/E3Llz2aayixcv4ssvv0RaWhpsbGwwadIkTJs2jd3vzp07sWPHDuTk5MDFxQUff/wxBgwYAAAoLy9HVFQUTpw4AXNzc0ycOBFr165FWlqaTn4HpH2iZEOIjmVkZGDw4ME4deoUnJycdB0OIRpBzWiEEEI0jpINIYQQjaNmNEIIIRpHVzaEEEI0jpINIYQQjaNkQwghROMo2RBCCNE4SjaEEEI0jpINIYQQjft/uUFsxNlkDUgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.speed, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 221, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of consume')" + ] + }, + "execution_count": 221, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.consume)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('consume', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 222, + "metadata": {}, + "outputs": [], + "source": [ + "q_low = df_train[\"consume\"].quantile(0.01)\n", + "q_hi = df_train[\"consume\"].quantile(0.99)\n", + "\n", + "df_train = df_train[(df_train[\"consume\"] < q_hi) & (df_train[\"consume\"] > q_low)]" + ] + }, + { + "cell_type": "code", + "execution_count": 223, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.consume, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('consume', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 224, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consumespeedtemp_insidetemp_outsidegas_typeACrainsun
consume100.000000-28.91594712.699392-23.33800115.593358-16.87898935.445878-10.107974
rain35.44587818.864880-10.850518-26.58972722.1719794.615385100.000000-11.516336
gas_type15.593358-15.5396741.74924131.526720100.0000004.54809822.17197923.831729
temp_inside12.699392-5.555860100.00000028.4618211.74924135.159893-10.8505181.735559
sun-10.107974-10.8036561.73555928.15002023.83172924.184306-11.516336100.000000
AC-16.878989-2.14290435.15989336.9977064.548098100.0000004.61538524.184306
temp_outside-23.338001-14.51432828.461821100.00000031.52672036.997706-26.58972728.150020
speed-28.915947100.000000-5.555860-14.514328-15.539674-2.14290418.864880-10.803656
\n", + "
" + ], + "text/plain": [ + " consume speed temp_inside temp_outside gas_type \\\n", + "consume 100.000000 -28.915947 12.699392 -23.338001 15.593358 \n", + "rain 35.445878 18.864880 -10.850518 -26.589727 22.171979 \n", + "gas_type 15.593358 -15.539674 1.749241 31.526720 100.000000 \n", + "temp_inside 12.699392 -5.555860 100.000000 28.461821 1.749241 \n", + "sun -10.107974 -10.803656 1.735559 28.150020 23.831729 \n", + "AC -16.878989 -2.142904 35.159893 36.997706 4.548098 \n", + "temp_outside -23.338001 -14.514328 28.461821 100.000000 31.526720 \n", + "speed -28.915947 100.000000 -5.555860 -14.514328 -15.539674 \n", + "\n", + " AC rain sun \n", + "consume -16.878989 35.445878 -10.107974 \n", + "rain 4.615385 100.000000 -11.516336 \n", + "gas_type 4.548098 22.171979 23.831729 \n", + "temp_inside 35.159893 -10.850518 1.735559 \n", + "sun 24.184306 -11.516336 100.000000 \n", + "AC 100.000000 4.615385 24.184306 \n", + "temp_outside 36.997706 -26.589727 28.150020 \n", + "speed -2.142904 18.864880 -10.803656 " + ] + }, + "execution_count": 224, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "code", + "execution_count": 225, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(8.5, -0.5)" + ] + }, + "execution_count": 225, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAJpCAYAAADL48S0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACCKklEQVR4nO3dd3yN5//H8ddJIoQIQhLEHm1pS4fZ2rMURVXVVtVBomYFsWrv2l2K2jsoYpeWGjG+tg67yCCDJGSd3x/a83MkDiU5xznezz7O49H7Otc59+c6Mj75XPd13Qaj0WhEREREROyak60DEBEREZEnp6RORERExAEoqRMRERFxAErqRERERByAkjoRERERB6CkTkRERMQBKKkTEREReUK3bt2iUaNGXL58OdVzp06d4t1336V+/foMHDiQpKQkAK5cuUKbNm146623+Oyzz4iNjX2iGJTUiYiIiDyB//3vf3zwwQecP38+zef79u3LoEGD2LRpE0ajkWXLlgEwbNgwWrduTXBwMC+99BIzZ858ojiU1ImIiIg8gWXLljFkyBC8vb1TPff3339z+/ZtXnnlFQCaN29OcHAwiYmJHDhwgPr165u1PwmXJ3q1iIiIiAOKiYkhJiYmVbuHhwceHh5mbSNHjnzg+4SFheHl5WU69vLyIjQ0lMjISNzd3XFxcTFrfxJK6kRERMQu/FGlvtXOFfx+I6ZPn56q3c/PD39//0d+n7TuxmowGB7Y/iSU1ImIiIjcp0OHDjRr1ixV+/1Vuofx8fEhIiLCdBweHo63tzeenp7cunWL5ORknJ2dTe1PQkmdiIiI2AeD9ZYCpDXN+jh8fX3JnDkzBw8e5PXXXycoKIhq1aqRKVMmypUrx4YNG2jcuLGp/UlooYSIiIhIOuvSpQvHjh0DYMKECYwePZoGDRoQHx9P+/btARgyZAjLli2jYcOGhISE0KNHjyc6p8GY1qSuiIiIyFPmj2oNrXaukrs2WO1c6UWVOhEREREHoKRORERExAFooYSIiIjYB6cn2/LD0alSJyIiIuIAVKkTERERu2Cw4pYm9kifjoiIiIgDUKVORERE7IOuqbNIlToRERERB6BKnYiIiNiHJ7zhvaNTpU5ERETEAahSJyIiIvbBSbUoS/TpiIiIiDgAVepERETEPuiaOotUqRMRERFxAKrUiYiIiF0wqFJnkSp1IiIiIg5AlToRERGxD1r9apE+HREREREHoKRORERExAFo+lVERETsgxZKWKRKnYiIiIgDUKVORERE7IOTKnWWqFInIiIi4gBUqRMRERH7YFAtyhJ9OiIiIiIOQJU6ERERsQsGXVNnkSp1IiIiIg5AlToRERGxD9qnziJV6kREREQcgCp1IiIiYh+0+tUifToiIiIiDkCVOhEREbEPWv1qkSp1IiIiIg5AlToRERGxD1r9apEqdSIiIiIOQJU6ERERsQsGJ9WiLNGnIyIiIuIAlNSJiIiIOABNv4qIiIh90EIJi1SpExEREXEAqtSJiIiIfdBCCYv06YiIiIg4AFXqRERExD7omjqLVKkTERERcQCq1ImIiIh9UKXOIlXqRERERByAKnUiIiJiF3SbMMv06YiIiIg4AFXqRERExD7omjqLVKkTERERcQCq1ImIiIh9cFKlzhJV6kREREQcgCp1IiIiYh8MqkVZok9HRERExAEoqRMRERFxAJp+FREREfughRIWqVInIiIi4gBUqRMRERH7oM2HLVKlTkRERMQBqFInIiIidsHwlG5psm7dOmbNmkViYiIdO3akTZs2pudOnTpFQECA6fjGjRvkyJGDn376iaCgICZMmEDu3LkBqFGjBj179nzsOJTUiYiIiDym0NBQJk+ezKpVq3B1daVVq1ZUrFiREiVKAFCqVCnWrFkDQHx8PO+99x5Dhw4F4NixYwQEBNCoUaN0ieXpTHlFRERE7udksN7jEe3Zs4dKlSqRM2dOsmbNSv369QkODk6z7zfffEP58uUpV64ccDepCwoKokmTJvTp04fo6Ogn+3ie6NUiIiIiDigmJobLly+nesTExJj1CwsLw8vLy3Ts7e1NaGhomu+3bNky/Pz8TG1eXl74+/uzZs0a8uXLx5dffvlEMWv6VUREROyDFVe/zps3j+nTp6dq9/Pzw9/f33RsNBpT9TGkEee6deuoU6eO6fo5gBkzZpj+/6OPPqJOnTpPFLOSOhEREZH7dOjQgWbNmqVq9/DwMDv28fEhJCTEdBwWFoa3t3eq123dupVPPvnEdHzz5k1WrlxJx44dgbvJoYvLk6VlSupERETEPjhZ76oxDw+PVAlcWt544w2mTZvGjRs3cHNzY/PmzQwfPtysj9Fo5MSJE7z66qumtqxZs/L999/z6quvUrZsWRYsWEDdunWfKGYldSIiIiKPycfHh549e9K+fXsSExNp0aIFZcqUoUuXLnTv3p2XX36ZGzdukClTJjJnzmx6nbOzM1999RVDhw7l9u3bFClShHHjxj1RLAZjWpPBIiIiIk+ZC359rXauwtPHW+1c6UWrX0VEREQcgKZfRURExC4Y/sP+cc8imyR1RqORCRMmsHXrVpydnXn//fepVq0agwcPJioqiqxZszJw4EDKlClDQEAA7u7unDhxgtDQULp168a7777Lb7/9xvjxd0ujOXLkYOLEicTFxdG+fXu2b98OwLRp0wDw9/fnzTffpGbNmoSEhODl5UXr1q2ZP38+165dY8yYMVSoUIELFy4wdOhQoqKiyJIlC4MGDaJ06dK2+IhERERE/hObTL8GBwdz6NAh1q1bx/Lly1m1ahWffvop7dq1Y926dfTv35/PP/+chIQEAK5du8aiRYuYNWuW6SLCmTNnMnToUFatWkXNmjU5efKkxXNGRERQo0YN0y7PW7duZdGiRfj7+zNv3jwA+vXrR9++fVm9ejXDhw9/ovuviYiIiFiTTSp1Bw4coEGDBri6uuLq6sqiRYuoWbMm9erVA+CVV14hR44cnD17FoA333wTg8HAc889R1RUFAC1a9fGz8+POnXqULt2bd58800uX75s8bzVqlUDwNfXl9dffx2A/PnzExMTQ2xsLMePH6d///6m/nFxcURGRpIrV670/ghERETkvzJoKYAlNknq7t9c79KlS6l2ZDYajSQnJwOYlgDfu0Nzx44dqVmzJjt27GD8+PEcPXqUJk2amL1PUlKS2blcXV1N/+/s7Gx2vpSUFFxdXU033YW7FcKcOXM+5ihFRERErMcmKW/58uXZsmULiYmJxMfH06NHDwwGA5s3bwbgyJEjREREULJkyQe+x3vvvUdsbCwdO3akY8eOnDx5Eg8PD6Kjo7lx4wYJCQn88ssvjxxT9uzZKVKkiCmp2717N23atHmygYqIiEj6MRis97BDNqnU1a1bl+PHj9O8eXNSUlJo3749FStWZOjQoUybNo1MmTIxbdo0s8ra/Xr16kVAQAAuLi5kzpyZYcOGkT17djp37kyLFi3ImzcvL7/88n+Ka/z48QwdOpTvv/+eTJkyMXny5DTv3yYiIiLytNHmwyIiImIXLvYaYLVzFZo0ymrnSi+64lBERETEAWjzYREREbEPWv1q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KnUiIiIiDkCVOhEREbELuqTOMlXqRERERByAkjoRERERB6DpVxEREbELmn61TJU6EREREQegSp2IiIjYhRSV6ixSpU5ERETEAahSJyIiInZBhTrLVKkTERERcQCq1ImIiIhdUKXOMlXqRERERByAKnUiIiJiF7T61TJV6kREREQcgCp1IiIiYhdUqLNMlToRERERB6BKnYiIiNgFVeosU6VORERExAGoUiciIiJ2QatfLVOlTkRERMQBKKkTERERcQCafhURERG7oNlXy1SpExEREXEAqtSJiIiIXVClzjJV6kREREQcgCp1IiIiYhe0pYllqtSJiIiIOABV6kRERMQuqFBnmSp1IiIiIg5AlToRERGxC6rUWaZKnYiIiIgDUKVORERE7IJWv1qmpM4ORUdHkyNHDluHkW6uXLli8fn8+fNbKRIRyxztew9g5cqVlCxZkjJlygAwceJEChcuTIsWLWwcmYj8V0rq7MipU6fo2bMnt2/fZunSpbRt25avvvqKF1980dahPZG2bdtiMBi4c+cO169fp2DBgjg5OXHx4kUKFizIpk2bbB1iuvj7778JDAzk77//ZsGCBfTp04dRo0ZRoEABW4f2xBISEpg9ezbnzp1j8ODBzJ07l48//hhXV1dbh5YuHPV7b/78+axdu5axY8ea2qpVq8aYMWNISEigdevWNowu/Zw8eZKvv/6a6OhojPdUen788UcbRpV+fvnlFyZPnkxMTAxGoxGj0YjBYGDbtm22Di3dqVBnmZI6OzJixAhmzJhB79698fHxYejQoQwZMoQVK1bYOrQnsn37dgB69uxJmzZtKFeuHABHjx7l+++/t2Vo6Wrw4MF07tyZiRMn4uXlRaNGjejXrx8LFy60dWhP7Msvv8TT05OTJ0/i7OzMxYsXGThwIOPHj7d1aOnCUb/3VqxYwcKFC3F3dze1lS9fnu+++46OHTs6TFLXr18/3n//fUqWLInBYLB1OOluxIgRBAQEOOz45NFpoYQdiY+Pp3jx4qbjN998k4SEBBtGlL7++usvU0IHUKZMGc6dO2fDiNJXZGQkVapUMf0V3bJlS27dumXrsNLFiRMn6NWrFy4uLri5uTF27FhOnTpl67DSjaN+7zk5OZkldP/y9PTEyclxfj1kyZKFtm3bUrFiRSpUqGB6OIpcuXJRs2ZNChQogK+vr+nhiIxG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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(10,10))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* Al eliminar los outliers, los datos tienen más sentido. Aunque seguimos comprobando que ambos tipos de combustible tienen un onsumo muy similar" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Feature selection.2" + ] + }, + { + "cell_type": "code", + "execution_count": 226, + "metadata": {}, + "outputs": [], + "source": [ + "X = df_train[['speed', 'temp_inside', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y = df_train['consume'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 227, + "metadata": {}, + "outputs": [], + "source": [ + "X_train,X_test,y_train,y_test = train_test_split(X,y, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Models pipelines" + ] + }, + { + "cell_type": "code", + "execution_count": 228, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# We train different model to see which give us less error\n", + "models = { \"ridge\": Ridge(),\n", + " \"lasso\": Lasso(),\n", + " \"sgd\": SGDRegressor(),\n", + " \"knn\": KNeighborsRegressor(),\n", + " \"gradient\": GradientBoostingRegressor(),\n", + " \"rdm\": RandomForestRegressor(),}" + ] + }, + { + "cell_type": "code", + "execution_count": 229, + "metadata": {}, + "outputs": [], + "source": [ + "# Building pipelins of standard scaler and model for varios regressors.\n", + "\n", + "pipeline_lr=Pipeline([(\"scalar1\",StandardScaler()),\n", + " (\"lr_classifier\",LinearRegression())])\n", + "\n", + "pipeline_dt=Pipeline([(\"scalar2\",StandardScaler()),\n", + " (\"dt_classifier\",DecisionTreeRegressor())])\n", + "\n", + "pipeline_rf=Pipeline([(\"scalar3\",StandardScaler()),\n", + " (\"rf_classifier\",RandomForestRegressor())])\n", + "\n", + "pipeline_kn=Pipeline([(\"scalar4\",StandardScaler()),\n", + " (\"rf_classifier\",KNeighborsRegressor())])\n", + "\n", + "pipeline_xgb=Pipeline([(\"scalar5\",StandardScaler()),\n", + " (\"rf_classifier\",XGBRegressor())])\n", + "\n", + "pipeline_ridge=Pipeline([(\"scalar6\",StandardScaler()),\n", + " (\"rf_classifier\",Ridge())])\n", + "\n", + "pipeline_lasso=Pipeline([(\"scalar7\",StandardScaler()),\n", + " (\"rf_classifier\",Lasso())])\n", + "\n", + "pipeline_xgbr=Pipeline([(\"scalar8\",StandardScaler()),\n", + " (\"rf_classifier\",GradientBoostingRegressor())])" + ] + }, + { + "cell_type": "code", + "execution_count": 230, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "code", + "execution_count": 231, + "metadata": {}, + "outputs": [], + "source": [ + "# Dictionary of pipelines and model types for ease of reference\n", + "pipe_dict = {0: \"LinearRegression\", 1: \"DecisionTree\", 2: \"RandomForest\",\n", + " 3: \"KNeighbors\", 4: \"XGBRegressor\", 5:\"Ridge\", 6:\"Lasso\",\n", + " 7:'GradientBoostingRegressor'}" + ] + }, + { + "cell_type": "code", + "execution_count": 232, + "metadata": {}, + "outputs": [], + "source": [ + "# Fit the pipelines\n", + "for pipe in pipelines:\n", + " pipe.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 233, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LinearRegression: -0.293633 \n", + "DecisionTree: -0.293782 \n", + "RandomForest: -0.264978 \n", + "KNeighbors: -0.236464 \n", + "XGBRegressor: -0.291459 \n", + "Ridge: -0.282854 \n", + "Lasso: -0.209605 \n", + "GradientBoostingRegressor: -0.308575 \n" + ] + } + ], + "source": [ + "cv_results_rms = []\n", + "for i, model in enumerate(pipelines):\n", + " cv_score = cross_val_score(model, X_train,y_train,scoring=\"neg_root_mean_squared_error\", cv=10)\n", + " cv_results_rms.append(cv_score)\n", + " print(\"%s: %f \" % (pipe_dict[i], cv_score.mean()))" + ] + }, + { + "cell_type": "code", + "execution_count": 234, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar1', StandardScaler()),\n", + " ('lr_classifier', LinearRegression())]) R^2: 0.15044146252622004\n", + "Adjusted R^2: -0.22124039761855863\n", + "MAE: 0.1646025546947217\n", + "MSE: 0.06489683272369152\n", + "RMSE: 0.254748567657782\n", + "Pipeline(steps=[('scalar2', StandardScaler()),\n", + " ('dt_classifier', DecisionTreeRegressor())]) R^2: 1.0\n", + "Adjusted R^2: 1.0\n", + "MAE: 0.0\n", + "MSE: 0.0\n", + "RMSE: 0.0\n", + "Pipeline(steps=[('scalar3', StandardScaler()),\n", + " ('rf_classifier', RandomForestRegressor())]) R^2: 0.7702545454545455\n", + "Adjusted R^2: 0.6697409090909092\n", + "MAE: 0.06833333333333332\n", + "MSE: 0.017549999999999993\n", + "RMSE: 0.13247641299491766\n", + "Pipeline(steps=[('scalar4', StandardScaler()),\n", + " ('rf_classifier', KNeighborsRegressor())]) R^2: 0.10545454545454558\n", + "Adjusted R^2: -0.28590909090909067\n", + "MAE: 0.14166666666666672\n", + "MSE: 0.06833333333333333\n", + "RMSE: 0.2614064523559687\n", + "Pipeline(steps=[('scalar5', StandardScaler()),\n", + " ('rf_classifier',\n", + " XGBRegressor(base_score=0.5, booster='gbtree',\n", + " colsample_bylevel=1, colsample_bynode=1,\n", + " colsample_bytree=1, gamma=0, gpu_id=-1,\n", + " importance_type='gain',\n", + " interaction_constraints='',\n", + " learning_rate=0.300000012, max_delta_step=0,\n", + " max_depth=6, min_child_weight=1, missing=nan,\n", + " monotone_constraints='()', n_estimators=100,\n", + " n_jobs=8, num_parallel_tree=1, random_state=0,\n", + " reg_alpha=0, reg_lambda=1, scale_pos_weight=1,\n", + " subsample=1, tree_method='exact',\n", + " validate_parameters=1, verbosity=None))]) R^2: 0.9999951882527967\n", + "Adjusted R^2: 0.9999930831133952\n", + "MAE: 0.00029098987579345703\n", + "MSE: 3.6756402247798786e-07\n", + "RMSE: 0.0006062705851993711\n", + "Pipeline(steps=[('scalar6', StandardScaler()), ('rf_classifier', Ridge())]) R^2: 0.14999634607235757\n", + "Adjusted R^2: -0.22188025252098598\n", + "MAE: 0.16138220158431818\n", + "MSE: 0.06493083467502825\n", + "RMSE: 0.25481529521405943\n", + "Pipeline(steps=[('scalar7', StandardScaler()), ('rf_classifier', Lasso())]) R^2: 0.0\n", + "Adjusted R^2: -0.4375\n", + "MAE: 0.15277777777777754\n", + "MSE: 0.0763888888888889\n", + "RMSE: 0.27638539919628335\n", + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9999999989126355\n", + "Adjusted R^2: 0.9999999984369135\n", + "MAE: 4.928139442269182e-06\n", + "MSE: 8.30625716773691e-11\n", + "RMSE: 9.113866999104667e-06\n" + ] + } + ], + "source": [ + "for i, model in enumerate(pipelines):\n", + " pred = model.predict(X_train)\n", + " print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + " print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + " print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + " print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + " print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 235, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 236, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.14999634607235757\n", + "Adjusted R^2: -0.22188025252098598\n", + "MAE: 0.16138220158431818\n", + "MSE: 0.06493083467502825\n", + "RMSE: 0.25481529521405943\n" + ] + } + ], + "source": [ + "pred = pipeline_ridge.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 237, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.095087-0.095087
15.04.9820500.017950
25.05.017402-0.017402
35.05.170163-0.170163
45.05.183476-0.183476
55.04.9225670.077433
65.05.173586-0.173586
75.04.9026530.097347
85.04.9472970.052703
95.05.182642-0.182642
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.095087 -0.095087\n", + "1 5.0 4.982050 0.017950\n", + "2 5.0 5.017402 -0.017402\n", + "3 5.0 5.170163 -0.170163\n", + "4 5.0 5.183476 -0.183476\n", + "5 5.0 4.922567 0.077433\n", + "6 5.0 5.173586 -0.173586\n", + "7 5.0 4.902653 0.097347\n", + "8 5.0 4.947297 0.052703\n", + "9 5.0 5.182642 -0.182642" + ] + }, + "execution_count": 237, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_ridge = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_ridge.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 238, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5oAAAHXCAYAAADdrCUQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAydUlEQVR4nO3de5hVdaE//vcwMCCgaaigUl9L6XRBybtUipl38AZ4QVJTs/yWmKYEKcl0QsOsED2dc8xOnUwLxQQlUUv5YSl6zEoJK7vilxEU0FAQcWDYvz98mCNymQ2umb0HXq/n4Xlm1lqftd7svWbv/d5r7bVrSqVSKQAAAFCQDpUOAAAAwJZF0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoTq21opXrFiROXPmZKeddkptbW1rbQYAAIAKaGpqyqJFi9K3b9906dJlrXmtVjTnzJmT4cOHt9bqAQAAqAK33npr9t9//7WmtVrR3GmnnZo32qtXr7e9vuseuy4XH3zx215PkWQqj0zlq8ZcMpVHpvJVYy6ZyiNT+aoxl0zlkal81ZhLpvIUlen555/P8OHDm7vfm7Va0VxzumyvXr3Su3fvt72+7jt2L2Q9RZKpPDKVrxpzyVQemcpXjblkKo9M5avGXDKVR6byVWMumcpTdKb1fVTSxYAAAAAolKIJAABAoRRNAAAACtVqn9HckNWrV2fx4sVZsmRJmpqayh539DuOzh//+MdWTLbptoRMtbW12X777bPjjjumQwfvOwAAAG9fmxfNhoaG1NTUZPfdd0+nTp1SU1NT1rj5S+dn1213beV0m6a9ZyqVSlm5cmVeeOGFNDQ05N3vfncrpwMAALYGbX4I69VXX81uu+2Wurq6sksmraOmpiZ1dXXZbbfd8uqrr1Y6DgAAsIWoyLmSTtGsLu4PAACgSFXRMBpXtvxZzc05RbWc9W6KGTNm5Ac/+MEmjZk4cWIefPDBQnMAAABUszb/jOb61HWqzfGX3lX4eqd968RC1/f0009v8pgvfOELhWYAAACodlVRNCtp5MiR2X///XPaaaclSc4888xcdtll6dev31rL/fWvf82kSZOSJLvuumvmz5+f//nN/+SlhS9l+PDh6dOnTyZMmJAVK1bk5ZdfzsiRI3Psscdm9OjROfDAA3PggQfmwgsvTJ8+ffLHP/4xPXr0yMSJE7P99tu39X8ZAACgVVXFqbOVNGTIkNx9991Jkueeey4vvfTSOiUzSfbcc8+cfvrpOf300zNkyJAkSePrjZk+fXqGDx+eW265JePGjcuUKVNy1VVX5d///d/XWcef/vSnnHPOOfnZz36W7bbbLtOmTWvd/xwAAEAFbPVF86CDDsrChQvT0NCQqVOn5sQTyz/d9gN9P9D887XXXpu//OUv+c53vpMf/OAH672Ka48ePfLBD34wSdKnT5+8/PLLb/8/AAAAUGW2+qJZU1OTk046Kffcc0/uu+++TSqanTt3bv75jDPOyOzZs9O3b99ccMEFLS5fU1OTUqm0+cEBAACqVFlFc8aMGRk8eHCOOeaYjBs3rrUztbnBgwdn0qRJ6dWrV3r27LnB5Wpra7Nq1ap1pi9ZsiRz587NF77whQwYMCCPPPJImpqKveItAABAe9HixYDmzZuXsWPHZvLkyenRo0fOPvvsPPTQQxkwYEBb5GsTu+yyS3bZZZecfPLJG13ugAMOyKhRo7LjjjuuNX377bfPKaeckoEDB6Z79+758Ic/nBUrVmT58uWtGRsAAKAqtVg0f/GLX+S4445Lr169kiQTJkxY6xTQIjSubCr8q0jWrLeuU+1GlymVSlm4cGEWL16cI444YqPLHnDAAZkxY0bz7/OXzm/+efTo0Rk9enTz7/X19UmS8ePHN09789gRI0aU9X8AAABob1osms8++2w6deqU8847L4sWLcrHP/7xXHzxxYWGaKkMJm+Uul233bXw9d5///2pr69PfX196urqcs0112TWrFnrLNe3b99cddVVm7R9AACArVFNqYUr0owZMya/+93v8qMf/Shdu3bN5z73uQwaNCiDBw/e6IobGhryiU98IsdfdXy679i9efrR7zg6/2fP/7PJQZe+vjTbdt52k8e1pi0p07N/fTb3v3x/KyRKZs6dmcN2P6xV1r25qjFTUp25ZCqPTOWrxlwylaetM110wCV5Z7d3rDP9pVdfzvW/nlCRTOWqxlwylUem8rVlrg09HiTV/5iwJWdatnhZpl0xLQ8++GB69+699sxSCyZMmFD62te+1vz7LbfcUho7dmxLw0rz5s0rve997yvNmzdvrel/+MMfWhy7Ps+98txmjWtNW1Kmzb1fyjH2/xvbauveXNWYqVSqzlwylUem8lVjLpnKU4lMg744dZ1/lc5UjmrMJVN5ZCpfW+da3+NBe3hM2JIzbajzlUqlUotXnf34xz+ehx9+OK+88kqampryq1/9Kh/60IfedvsFAABgy9TiZzT79euXT3/60znjjDOycuXKfPSjH82QIUPaIhsAAADtUItFM0mGDh2aoUOHtnYWAAAAtgAtnjoLAAAAm6IqiubqVY0tLrOpX21S7nor6V/+5V82On/evHm5/PLLN2mdjzz0SCZOnPh2YgEAALwtZZ0629o6dKzL368q/nOf773ip4Wvsy3Nnz8/8+bN26QxHx3w0ew6aNNLOQAAQFGqomhW0siRI7P//vvntNNOS5KceeaZueyyy9KvX791lh09enRqamry5z//OcuWLcuwc4blU6d/KjfccEOefPLJLFiwIMOHD8/HPvax1NfXZ8mSJenSpUu+8pWv5IMf/GAaGhoycuTILF++fL3rf6tx48aloaEhX/3qV3PMMcfk2muvzerVq9OnT5988YtfzOWXX56lS5dm0aJFGThwYC677LLcN+2+/Hn2nzN+/PgcfvjhOeGEE/Lwww/ntddeyzXXXJO+ffsWfhsCAAC8WVWcOltJQ4YMyd13350kee655/LSSy9ttAS+8MILmTRpUn74wx/mPyf+ZxYtWpQkaWxszPTp0zN8+PCMGjUqI0eOzJQpU/K1r30tl1xySZLka1/7WgYPHpy77ror++67b4vZxowZk759+2bs2LFJkrlz5+aHP/xhrrnmmvzsZz/LoEGDcvvtt+fuu+/Oj3/847z00kvrrGP77bfPHXfckdNPPz033njjJt8+AAAAm2qrL5oHHXRQFi5cmIaGhkydOjUnnnjiRpcfPHhwOnXqlF69eqVvv775zW9+kyTZe++9kySvvvpq5syZky9/+cs58cQTc+mll2b58uX55z//mccffzzHHntskuSEE05Ip06dNinre97znmy77bZJkvPOOy+77LJL/uu//itXXXVVVq5cmddee22dMYccckiSpE+fPlmyZMkmbQ8AAGBzbPWnztbU1OSkk07KPffck/vuuy/f+973Nrp8bW1t88+rV69Ox45v3IRdunRpnlZXV5e77rqrebnnn38+22+/fZKkVCo1b7empmaTsq7ZRpKMHz8+8+bNy6BBg3LEEUdk1qxZzet+s86dOzdvDwAAoC1s9Uc0kzeOUk6aNCm9evVKz549N7rsvffem1KplOeeey5/nPPH7LfffmvN33bbbbP77rs3F81HHnkkw4cPT5J85CMfaT5N9+c//3kaGzd+Vdza2tqsWrVqvfMeeeSRnHfeeTn22GOzYMGCvPDCC1m9enVZ/18AAIDWtNUf0UySXXbZJbvssktOPvnkFpddsWJFhgwZksbGxlx6xaXZYYcd1lnm2muvTX19fb73ve+lU6dOmTBhQmpqanLllVdm5MiRmTRpUvbaa69069Zto9vaY489snTp0owcOTJDhw5da95nP/vZfOlLX8p2222XHj16pG/fvmloaNi0/zgAAEArqIqiuXpVY6t8FcnqVY3p0LFuo8uUSqUsXLgwixcvzhFHHNHiOo855pgMHjw4STJ/6fwkyYgRI9ZaZo899siPfvSjdcb27NkzN998c/PvV1999Ua3tcMOO+RnP/tZ8+8HHXRQ88+DBg3KoEGD1hmz+16759wzzk2SzJgxY62xbx4PAADQWqqiaLZUBpM3St2u227a90OWs977778/9fX1qa+vT11dXa655prMmjVrneVa62tBpk+fvsGrwb75c54AAADtRVUUzUo65phjcswxxzT/PmrUqDbd/nHHHZfjjjuuTbcJAADQmlwMCAAAgEIpmgAAABRK0QQAAKBQiiYAAACFqoqi2di0ssVlNvWKs+WuFwAAgGJVxVVn62o75dTb/m/h6739tP8ofJ0AAABsXFUUzUr77ne/m3vvvTdNTU352Mc+lmHDhuX888/PDjvskM6dO+eEE07IlClTsmTJknz84x/PWWedlSuuuCL/r+H/pUtdl1xyySU59NBDc8MNN+TJJ5/MggULMnz48AwfPrzS/zUAAIA2t9UXzV/+8peZM2dO7rjjjtTU1GTkyJGZNm1a/vGPf+R73/teevfunTvvvDMvvPBCpk+fno4dO+YLX/hCDj744IwdOjZNS5oybNiwTJ06NUnS2NiY6dOnV/Y/BQAAUEFbfdF89NFHM3v27AwePDhJsmLFipRKpfTo0SO9e/duXu6DH/xgOnZ84+Z67LHHMm7cuCzN0rzrXe9Kv3798tRTTyVJ9t5777b/TwAAAFSRrb5oNjU15eyzz84555yTJHnllVfy/PPP58knn1xruS5dujT/XCqV1ppXKpXS1NS0znIAAABbo6q46mwlHXzwwbnrrrvy6quvZtWqVfn85z+fOXPmtDjmjjvu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X87y5ctz9dVX5/LLLy974xcffHF69+5dftoybe7O1ppkKo9M5avGXDKVR6byVWMumcojU/mqMZdM5ZGpfNWYS6bybG6mhoaGTMu09c7baNH8wQ9+0PzznXfemccff3yTSiYAAABbH9+jCQAAQKE2ekTzzQYPHpzBgwe3ZhYAAAC2AI5oAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAocoqmhMnTsxxxx2XgQMH5gc/+EFrZwIAAKAd69jSAo8//ngee+yx3H333Vm1alWOO+64DBgwIO9973vbIh8AAADtTItHNA888MDcfPPN6dixY1588cU0NTWla9eubZENAACAdqisU2c7deqU66+/PgMHDkz//v3Ts2fP1s4FAABAO9XiqbNrXHTRRTn//PNzwQUX5Pbbb89pp51W1rjrHrsu3XfsvsH59YfVlxth7XEzN29cWeuuwkzJ5uWSqcwxVZgpsZ+XPUam8sZUYabEfl72GJnKG1OFmRL7edljZCpvTBVmSuznZY/ZgjItW7xsg/NaLJp/+9vf0tjYmA984APZZpttctRRR+WZZ54pe+MXH3xxevfuXfby5drcna01yVQemcpXjblkKo9M5avGXDKVR6byVWMumcojU/mqMZdM5dncTA0NDZmWaeud1+Kpsw0NDRkzZkwaGxvT2NiYBx98MPvtt99mBQEAAGDL1+IRzQEDBuSpp57KSSedlNra2hx11FEZOHBgW2QDAACgHSrrM5oXXXRRLrrootbOAgAAwBag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eGusGgAAgCpx6623Zv/9919rWqsVzRUrVmTOnDnZaaedUltb2xqbAAAAoEKampqyaNGi9O3bN126dFlrXqsVTQAAALZOLgYEAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAoVMdKB1ifv/3tb7n//vvz/PPPp0OHDtl5551zyCGHZK+99qp0tKrywAMPZMGCBRkwYEDe/e53N0+/7bbbctppp1Us19y5c7PNNtukZ8+emTx5cp555pnsu+++Oe644yqW6a3Gjx+f0aNHV2z7s2fPzt57750kefTRR/PQQw+lY8eOOfLII9OvX7+K5frVr36Vfv36ZbvttsvUqVMze/bsfOhDH8qQIUMqkmfcuHEZMWJE3vGOd1Rk+xvz6KOPpkuXLtlnn33y/e9/P48//nj69u2bz3zmM6mrq6tIpgceeCAPPPBAFi1alE6dOuXd7353jj322Oyzzz4VyQMAbL1qSqVSqdIh3uzWW2/N7bffnqOPPjo77bRTkmTRokX5+c9/nhNOOCHnnntuhRNWh29+85uZM2dO9thjj9x7770ZNWpUTjzxxCTJySefnClTplQk13//93/nRz/6UVavXp2DDz44CxYsyJFHHpkZM2Zk3333zec///k2z/TlL395nWkzZszI4YcfniT5+te/3taRmu+jW2+9NZMmTWouclOmTMkpp5yST37yk22e6aqrrsof//jHTJgwIbfeemt+//vf5xOf+ER++ctfpnfv3hkzZkybZ9p///3To0ePXHrppTnqqKPafPsb8o1vfCNPPPFEVq1ald69e6empiaDBw/OjBkz0tTUlHHjxrV5phtvvDFPPvlkDjnkkMyYMSP7779/unTpksmTJ+fss8/Oqaee2uaZANhy/OpXv8p999231oGgQw89NEcffXSlo1WNVatW5dZbb82CBQtyxBFHZP/992+ed8MNN2TEiBEVyTVr1qxsu+22+cAHPpAbbrghzzzzTPbbb7+ce+65qa2tbbXtVt0RzZtvvjlTp07NNttss9b0c845JyeffHLFiub8+fM3On/XXXdtoyRveOihhzJlypR07NgxZ555Zs4999zU1dXl2GOPTSXfO/jpT3+a6dOnZ/HixRk0aFAee+yxdO7cOaecckqGDh1akaK5/fbbZ+rUqbnggguy3XbbJUkee+yxHHjggW2e5a1uv/323Hzzzdlhhx2SJEOHDs3QoUMrUjQfeeSRTJs2LbW1tZk5c2Zuv/321NXV5bTTTsugQYPaPE+S9O7dO9/85jdTX1+fm266Keecc04OP/zwdOnSpSJ51vjVr36Vu+66K42NjRkwYEAefvjhdOrUKYceemjzGz5tbfr06Zk6dWpqamoyZMiQnH/++bn55pszZMiQnHrqqRUtml6ctMyLk7fni1/8Yr797W9XbPsPPPBAjjjiiCTJ5MmT88tf/rL5LJVKnc2zatWq3HHHHTnyyCOz7bbb5rvf/W5+//vf50Mf+lA++9nPpnPnzm2e6YILLsgVV1yRd73rXW2+7Q1ZtWpVpk6dmi5duuToo4/O17/+9fz6179O3759M2rUqGy//fYVybV69ercfPPNefDBB9c6S+W4447LwIED2zzPxIkTM3v27JxwwgnZeeedkyQLFy7MHXfckSeffDKjRo1q80y//vWvNzr/gAMOaKMk/+vKK6/M6tWr8773vS9f+tKXcuqpp+aCCy5I8sZBjko8ll977bX57W9/m2XLlmXnnXdOjx49MmzYsNx33325+uqr85WvfKXVtl11RbNjx45ZtWrVOtNXrFiRTp06VSDRGz772c9m7ty52XnnndcpcjU1NXnwwQfbNE+pVEpNTU2SZPfdd8+NN96Yc845J+985zubp1fC6tWrU1dXl9122y3nnnvuWk9kTU1NFck0atSoHHroobnuuuvyxS9+MQcddFB++MMf5uSTT65InuSNJ7bVq1enR48e6dq1a/P0urq6dOhQmY9Od+nSJS+++GLzg9Dy5ctTV1eX1157LR07VuahoqamJnvuuWduueWWzJo1K7fddluuuuqq7L777unVq1e+9a1vVSRXqVTK0qVLs3z58qxYsSLLli3LDjvskBUrVmTlypUVyfT666/ntddeS9euXbNixYosWbIkSdK1a9eK7VNJdb44mTp16kbnn3TSSW2S4828OCnfmWeeuc7z3Jw5c3LWWWcleeMN67b2ne98J0cccURuuOGGPPHEEznzzDNTKpVy22235Zlnnskll1zS5pnW/G0dffTRueaaa7J8+fKcccYZmTlzZi6//PKKPH4+9dRTOe+883L66afnzDPPrOjrujXGjBmT5cuXp7GxMbfcckv23nvvTJgwIQ8++GCuvPLKXH/99RXJNX78+KxcuTKf/vSnc//99+f9739/dtlll9x8882ZO3dum79xP3369Nx7773rPJ8MGjQogwYNqshj+Xe+8508+eST2Xvvvdf72rwSjwVz5szJ3XffneSN55JPfepT6dKlSz71qU9V7EDQQw89lGnTpmXJkiU58sgj8/jjj6dDhw459NBDW/35ruqK5gUXXJCTTjop/fv3X+vU2ccee6wiD9Rr/OQnP8kZZ5yRsWPHZr/99qtYjjWOOeaYnHnmmRk9enT23nvv9OnTJxMnTsyFF16YxsbGiuU66qij8slPfjI333xz8wujP/3pTxkzZkyOPfbYiuXq379/PvCBD2Ts2LGZOXNmxUrvGjvssEMGDBiQmpqajB07NuPHj8+jjz6aa6+9Nsccc0xFMl144YUZOnRoBg4cmPe+970588wz079//zz88MP59Kc/XZFMb35Q/shHPpKPfOQjWblyZZ555pnMmzevIpmS5Pzzz89RRx2VUqmUkSNH5txzz03//v3z6KOPVuzzrIMHD86wYcPysY99LA8//HAGDx6c5557Lp///OcrdkQ6qc4XJ4899ljuv//+Df6tVaJoenFSvmOOOSbf/e53c/HFF2e33XZLqVTKV77ylVx44YUVy7TGL37xi0yePLn5TdbDDjssgwYNqsjrlz//+c+ZNm1akjeO/Nx1112pqanJgAEDKnaUtWfPnvne976Xb3zjGznqqKMybNiwDBw4MLvttltF8iTJ008/nWnTpqWpqSkDBgzIpEmTkiR77rlnxc5QSd54nFrzmHDIIYdk+PDh+clPfpIBAwbkhBNOaPOi2blz5zz//PPrnME3f/78il2X4KabbspZZ52Vs88+O5/4xCcqkuGtSqVSli9fnq5du+ad73xnbrrppgwbNiw9evSo6IGgxsbG7LDDDhk1alTz8/Grr7663oN7Raq6onn88cfnwAMPzKOPPpqFCxemVCpl//33z4gRI9KzZ8+K5erevXvGjRuXyZMnV0XRvPDCC7PffvulW7duzdP222+/3Hnnnfn+979fsVxf+MIX8utf/3qtU6rq6uoyYsSIDBgwoGK5kjdOoZ04cWLzBYoqac27bH//+9/zyiuvJHnjdrroooty2GGHVSTT4Ycfnj59+uSBBx7Is88+mw9/+MPp1q1bxo8f33zhorY2fPjwdaZ16tQpffv2Td++fSuQ6A0nnnhijj766DQ1NaVbt2454IAD8vDDD+eyyy7LRz/60Ypk+sxnPpO99torf/jDHzJ69Oj0798/r776aq655pr8y7/8S0UyJdX54mT8+PFZsmRJ9ttvvwwdOrQiGd7Ki5PyDR8+PAcddFDGjh2bU045JSeddFK6detW0Y9DLF++PIsXL86uu+6a5cuXNxfNFStWVOyMkK5du+Yvf/lL+vTpk3e/+91ZsGBBdt1117zwwgsV+9urqanJjjvumG984xuZO3dubr/99px77rl5/fXX06tXr+aS15Y6dOiQf/zjH1m6dGmWLl2ahoaG9O7dOy+99FJF9/Ompqa8+OKL6dGjRxYtWpQVK1YkSVauXFmRfWr06NEZPnx4dt9997UOBM2dO7ci17pI3ng9cPXVV+enP/1p1RTNT37ykzn55JNTX1+f/v37p2fPnrnpppvy6U9/Oi+++GJFMp1xxhk54YQTMn369JxyyilJkt/+9re57LLLms+caS1VdzEgALYcs2bNyhVXXLHBFycHH3xwRXItXLgw06ZNy3nnnVeR7b/Vbbfdlu9///vNL06SN67AvubFyezZs9s8049//OP88Ic/zPTp05vfPHzzi5NKX2CqsbEx3/72tzN//vz87W9/yz333FOxLF/+8pczZ86cLFiwIP37988NN9yQn//85/n617+ez3zmMxk2bFibZ/rd736XESNGZN99980222yTRx55JP369cvTTz+dr371qxV58/ekk05a76nr//znPzNv3ryKvKn58MMPZ8yYMVm9enWuvPLKfOtb38r73ve+/P73v89FF11UsaP3d955ZyZOnJh99tknTz31VC699NLstddeOfvsszNixIiKnD1zzz335B//+Edqa2vzrne9Kz179ky/fv0yZcqUin3bQTV+A8NNN92UxsbGHH/88c2Zli1blh//+Mf5zGc+U5FM//3f/53a2trm2+n555/P0qVL89vf/rZVbydFE4BW9frrr2f27NnNZ6mseXFSqaMq1XZxtzXmzp2burq6tba/bNmy3HHHHfnUpz5VkUxrju6ssebFSZ8+fSqSZ30eeeSR3HPPPbn66qsrHSWvvfZaFi9enHe9613585//nFKpVNEzCpYtW5ZZs2bl2WefTVNTU3bcccd87GMfS69evSqS56GHHqr42U0tWbx4cZ544on06dMne+yxR0Wz/OMf/8gzzzyT97///dl9993T2NiY5cuXV+QCRd/85jfz9NNP573vfW+mT5+e0aNHV/zbDqrxGxhkWlvVnToLwJZjTanbbbfd1voc1uLFi5NUptRV28XdkrVPJX5rEa7UV/vMnz8/HTp0WCdPt27dMn/+/IoV8rfmec973pMLL7yweXolcr05U21tbebPn5/u3bs3z6tkprd+1GD16tUVy9SnT5+NvtFT6ftujTVHViu9n3fu3HmtLGssX77ctx1UcaapU6emtra2qjJV6nZSNAFoNdVY6qrt4m5Jdd5O1ZhpQ7lqamqar8buttpwJrdT+8hUjbmq8dsOqjXTGtWUqWK3UwkAWsnSpUtLxx9/fOmJJ56odJS1PPXUU6UxY8ZUOkazarydqjFTqVSduWQqj0zlq7ZcN9xwQ2nYsGGlp556qnnaE088UTr44INL++67r0wyrZeiCUCrqrZSV62q8XaqxkylUnXmkqk8MpWv2nLNmjWr9Ne//nWtafPnzy+NGzeuQolkKlelMrkYEAAAAIXq0PIiAAAAUD5FEwAAgEIpmgAAABRK0QQAAKBQiiYAAACF+v8BVDFzTOp6v/0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_ridge = results_ridge.head(35)\n", + "results_ridge.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 239, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_ridge.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 240, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.440892098500626e-16" + ] + }, + "execution_count": 240, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_ridge=np.mean(results_ridge.error)\n", + "meanerror_ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 241, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.257896
15.244015
25.097875
35.188044
45.062894
55.152970
65.026716
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.257896\n", + "1 5.244015\n", + "2 5.097875\n", + "3 5.188044\n", + "4 5.062894\n", + "5 5.152970\n", + "6 5.026716" + ] + }, + "execution_count": 241, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 242, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/ridge.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline rf" + ] + }, + { + "cell_type": "code", + "execution_count": 243, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.7702545454545455\n", + "Adjusted R^2: 0.6697409090909092\n", + "MAE: 0.06833333333333332\n", + "MSE: 0.017549999999999993\n", + "RMSE: 0.13247641299491766\n" + ] + } + ], + "source": [ + "pred = pipeline_rf.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 244, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.000.00
15.05.03-0.03
25.05.000.00
35.05.000.00
45.05.000.00
55.05.12-0.12
65.05.09-0.09
75.05.000.00
85.05.000.00
95.05.01-0.01
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.00 0.00\n", + "1 5.0 5.03 -0.03\n", + "2 5.0 5.00 0.00\n", + "3 5.0 5.00 0.00\n", + "4 5.0 5.00 0.00\n", + "5 5.0 5.12 -0.12\n", + "6 5.0 5.09 -0.09\n", + "7 5.0 5.00 0.00\n", + "8 5.0 5.00 0.00\n", + "9 5.0 5.01 -0.01" + ] + }, + "execution_count": 244, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_rf = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_rf.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 245, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5oAAAHXCAYAAADdrCUQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAxt0lEQVR4nO3de5hVdaE//vdwGRDQNFRQqa+ldEXJu1SKeb/gDfCC5D3Tb4mXlKAkmRIMs0LyeM4xLdO0VExQErWUH5aix8zUsLKL4pcRFNBQEHFg2L8/fJgjcpkNrpm9gdfreXiembXWZ6337Fns2e+91l6rplQqlQIAAAAFaVPpAAAAAGxYFE0AAAAKpWgCAABQKEUTAACAQimaAAAAFKpdS6148eLFmT59erbaaqu0bdu2pTYDAABABTQ2Nmbu3Lnp1atXOnbsuMK8Fiua06dPz+DBg1tq9QAAAFSBW265JbvvvvsK01qsaG611VZNG+3evfv7Xt9Vj12VC/a+4H2vp0gylUem8lVjLpnKI1P5qjGXTOWRqXzVmEum8shUvmrMJVN5isr08ssvZ/DgwU3d791arGguP122e/fu6dGjx/teX5ctuxSyniLJVB6ZyleNuWQqj0zlq8ZcMpVHpvJVYy6ZyiNT+aoxl0zlKTrTqj4q6WJAAAAAFErRBAAAoFCKJgAAAIVqsc9ors6yZcsyb968zJ8/P42NjWWPO+QDh+Svf/1rCyZbextCprZt22bzzTfPlltumTZtvO8AAAC8f61eNOvr61NTU5Ptt98+7du3T01NTVnjZi2YlW033baF062d9T1TqVTKkiVL8sorr6S+vj4f/vCHWzgdAACwMWj1Q1hvvvlmtttuu9TW1pZdMmkZNTU1qa2tzXbbbZc333yz0nEAAIANREXOlXSKZnXx+wAAAIpUFQ2jYUnzn9Vcl1NUy1nv2pgyZUpuuOGGtRozbty4PPjgg4XmAAAAqGat/hnNValt3zZHXnRX4eud9IOjC13fs88+u9Zjzj///EIzAAAAVLuqKJqVNHTo0Oy+++454YQTkiQnn3xyLr744vTu3XuF5f75z3/m1ltvTZJsu+22mTVrVv7nj/+T1+a8lsGDB6dnz54ZO3ZsFi9enNdffz1Dhw7NYYcdluHDh2fPPffMnnvumXPPPTc9e/bMX//613Tt2jXjxo3L5ptv3to/MgAAQIuqilNnK2nAgAG5++67kyQvvfRSXnvttZVKZpLsuOOOOfHEE3PiiSdmwIABSZKGtxsyefLkDB48ODfffHNGjRqVCRMmZPTo0fnP//zPldbxt7/9Laeffnp+/etfZ7PNNsukSZNa9ocDAACogI2+aO61116ZM2dO6uvrM3HixBx9dPmn236y1yebvr7yyivzj3/8I9dcc01uuOGGVV7FtWvXrvnUpz6VJOnZs2def/319/8DAAAAVJmNvmjW1NTkmGOOyT333JP77rtvrYpmhw4dmr4+6aST8swzz6RXr14555xzml2+pqYmpVJp3YMDAABUqbKK5pQpU9K/f/8ceuihGTVqVEtnanX9+/fPrbfemu7du6dbt26rXa5t27ZZunTpStPnz5+fGTNm5Pzzz0/fvn3zyCOPpLGx2CveAgAArC+avRjQzJkzM3LkyIwfPz5du3bNqaeemoceeih9+/ZtjXytYptttsk222yTY489do3L7bHHHhk2bFi23HLLFaZvvvnmOe6443LEEUekS5cu+cxnPpPFixdn0aJFLRkbAACgKjVbNH/729/m8MMPT/fu3ZMkY8eOXeEU0CI0LGks/FYky9db277tGpcplUqZM2dO5s2blwMPPHCNy+6xxx6ZMmVK0/ezFsxq+nr48OEZPnx40/d1dXVJkjFjxjRNe/fYIUOGlPUzAAAArG+aLZovvvhi2rdvnzPPPDNz587NF77whVxwwQWFhmiuDCbvlLptN9228PXef//9qaurS11dXWpra3PFFVdk2rRpKy3Xq1evjB49eq22DwAAsDGqKTVzRZoRI0bkT3/6U37+85+nU6dO+cpXvpJ+/fqlf//+a1xxfX19DjjggBw5+sh02bJL0/RDPnBI/s+O/2etgy54e0E27bDpWo9rSRtSphf/+WLuf/3+FkiUTJ0xNfttv1+LrHtdVWOmpDpzyVQemcpXjblkKk9rZzpvjwvzwc4fWGn6a2++nh/9YWxFMpWrGnPJVB6ZyteauVb3fJBU/3PChpxp4byFmXTJpDz44IPp0aPHijNLzRg7dmzpsssua/r+5ptvLo0cObK5YaWZM2eWPvaxj5Vmzpy5wvS//OUvzY5dlZfeeGmdxrWkDSnTuv5eyjHy/xvZYuteV9WYqVSqzlwylUem8lVjLpnKU4lM/b42caV/lc5UjmrMJVN5ZCpfa+da1fPB+vCcsCFnWl3nK5VKpWavOvuFL3whDz/8cN544400Njbm97//fT796U+/7/YLAADAhqnZz2j27t07X/rSl3LSSSdlyZIl+dznPpcBAwa0RjYAAADWQ80WzSQZOHBgBg4c2NJZAAAA2AA0e+osAAAArI2qKJrLljY0u8za3tqk3PVW0sc//vE1zp85c2a++c1vrtU6H3nokYwbN+79xAIAAHhfyjp1tqW1aVeb50cX/7nPj17yq8LX2ZpmzZqVmTNnrtWYz/X9XLbtt/alHAAAoChVUTQraejQodl9991zwgknJElOPvnkXHzxxendu/dKyw4fPjw1NTX5+9//noULF2bQ6YNy2omn5eqrr85TTz2V2bNnZ/Dgwfn85z+furq6zJ8/Px07dsy3vvWtfOpTn0p9fX2GDh2aRYsWrXL97zVq1KjU19fn29/+dg499NBceeWVWbZsWXr27Jmvfe1r+eY3v5kFCxZk7ty5OeKII3LxxRfnvkn35e/P/D1jxozJ/vvvn6OOOioPP/xw3nrrrVxxxRXp1atX4Y8hAADAu1XFqbOVNGDAgNx9991JkpdeeimvvfbaGkvgK6+8kltvvTU33nhj/nvcf2fu3LlJkoaGhkyePDmDBw/OsGHDMnTo0EyYMCGXXXZZLrzwwiTJZZddlv79++euu+7Krrvu2my2ESNGpFevXhk5cmSSZMaMGbnxxhtzxRVX5Ne//nX69euX22+/PXfffXd+8Ytf5LXXXltpHZtvvnnuuOOOnHjiibn22mvX+vEBAABYWxt90dxrr70yZ86c1NfXZ+LEiTn66KPXuHz//v3Tvn37dO/ePb1698of//jHJMnOO++cJHnzzTczffr0fOMb38jRRx+diy66KIsWLcq///3vPP744znssMOSJEcddVTat2+/Vlk/8pGPZNNNN02SnHnmmdlmm23yk5/8JKNHj86SJUvy1ltvrTRmn332SZL07Nkz8+fPX6vtAQAArIuN/tTZmpqaHHPMMbnnnnty33335frrr1/j8m3btm36etmyZWnX7p2HsGPHjk3Tamtrc9dddzUt9/LLL2fzzTdPkpRKpabt1tTUrFXW5dtIkjFjxmTmzJnp169fDjzwwEybNq1p3e/WoUOHpu0BAAC0ho3+iGbyzlHKW2+9Nd27d0+3bt3WuOy9996bUqmUl156KX+d/tfstttuK8zfdNNNs/322zcVzUceeSSDBw9Oknz2s59tOk33N7/5TRoa1nxV3LZt22bp0qWrnPfII4/kzDPPzGGHHZbZs2fnlVdeybJly8r6eQEAAFrSRn9EM0m22WabbLPNNjn22GObXXbx4sUZMGBAGhoactElF2WLLbZYaZkrr7wydXV1uf7669O+ffuMHTs2NTU1ufTSSzN06NDceuut2WmnndK5c+c1bmuHHXbIggULMnTo0AwcOHCFeWeffXa+/vWvZ7PNNkvXrl3Tq1ev1NfXr90PDgAA0AKqomguW9rQIrciWba0IW3a1a5xmVKplDlz5mTevHk58MADm13noYcemv79+ydJZi2YlSQZMmTICsvssMMO+fnPf77S2G7duuWmm25q+v7yyy9f47a22GKL/PrXv276fq+99mr6ul+/funXr99KY7bfafuccdIZSZIpU6asMPbd4wEAAFpKVRTN5spg8k6p23bTtbs/ZDnrvf/++1NXV5e6urrU1tbmiiuuyLRp01ZarqVuCzJ58uTVXg323Z/zBAAAWF9URdGspEMPPTSHHnpo0/fDhg1r1e0ffvjhOfzww1t1mwAAAC3JxYAAgPXKsqX/ezG9uv3qVjkdgMra6I9oAgDrlzbtavP86AErTW+J6z0AsG4c0QQAAKBQiiYAAACFqoqi2dC4pNll1vaKs+WuFwAAgGJVxWc0a9u2z/G3/d/C13v7Cf9V+DoBAABYs6oompX24x//OPfee28aGxvz+c9/PoMGDcpZZ52VLbbYIh06dMhRRx2VCRMmZP78+fnCF76QU045JZdcckn+X/3/S8fajrnwwguz77775uqrr85TTz2V2bNnZ/DgwRk8eHClfzQAAIBWt9EXzd/97neZPn167rjjjtTU1GTo0KGZNGlSXnjhhVx//fXp0aNH7rzzzrzyyiuZPHly2rVrl/PPPz977713Rg4cmcb5jRk0aFAmTpyYJGloaMjkyZMr+0MBAABU0EZfNB999NE888wz6d+/f5Jk8eLFKZVK6dq1a3r06NG03Kc+9am0a/fOw/XYY49l1KhRWZAF+dCHPpTevXvn6aefTpLsvPPOrf9DAAAAVJGNvmg2Njbm1FNPzemnn54keeONN/Lyyy/nqaeeWmG5jh07Nn1dKpVWmFcqldLY2LjScgAAQMtatrQhbdrVJknq9qtb5XRaX1VcdbaS9t5779x111158803s3Tp0nz1q1/N9OnTmx1zxx13JElmzpyZJ598Mp/5zGdaIS0AAPBubdrV5vnRA1b6p2RW1kZ/RHP//ffP3/72txx//PFpbGzMPvvskz322GONYy655JJceumluW38bWnftn1GjRqVrbfeupUSAwAAVLeqKJoNjUta5FYkDY1LUtu2fbPLfeUrX8lXvvKVFaZNmTKl6ev+/fs3fYYzSbp165Zrr702sxbMWuH+nkOGDCkgNQAAwPqtKk6dLacMzlowq0XWCwAAQLGqomgCAACw4VA0AQAAKFRFiuayZcsqsVlWw+8DAAAoUqsXzc6dO+ell15KQ0PDSvejpHWVSqU0NDTkpZdeSufOnSsdBwAA2EC0+lVne/TokXnz5uXFF1/M0qVLyx43f/H8vN7x9RZMtvY2hEzt2rXLBz7wgWy55ZYtmAoAANiYtHrRbNOmTbbeeuu1vu9k3dS61O1S1zKh1pFMAAAAK3MxIAAAAAqlaAIAAFAoRRMAAIBCKZoAAAAUStEEAACgUIomAAAAhVI0AQAAKJSiCQAAQKEUTQAAAAqlaAIAAFAoRROAFrVsacMK39ftV7faeQDAhqFdpQMAsGFr0642z48esMp5H73kV62cBgBoDY5oAgAAUChFE4CN0rtP23U6LwAbutb+u+fUWQA2Sqs7pdfpvABsiFr7754jmgAAABRK0QQAAKBQiiYAAACFUjShgtxfEACADZGLAUEFub8gAAAbIkc0gZW47QMAAO+HI5rAStz2AQCA96OsonnKKafk1VdfTbt27yz+ne98J717927RYAAAAKyfmi2apVIpzz//fKZOndpUNAEAAGB1mv2M5vPPP5+ampqcddZZOeqoo3LzzTe3Rq6q5bNrAADrzmsp2Dg0e4jyjTfeSJ8+fVJXV5fFixfnlFNOyUc+8pF87nOfa418Vcdn14BqtmxpQ9q0q02y8gu45dMBKslrKdg4NFs0d9lll+yyyy5Jkk6dOmXgwIF56KGHyi6aVz12Vbps2WW188/b48J8sPMHVpreuOTttG3foen7d79gemPRa/nh4z8qa/vrYnWZmlM3ta74MO9SzmPVmo+TTO8/U3Nacp+qxkzJ+vX7q8ZMa3oBV6nfXXPs5/+rGvepSmZ69/bKHlMFv7ukel63VOM+tSbV8Purlsep2jO1dq51eT5I7FPlWtfHaeG8haudV1MqlUprGvzEE09kyZIl6dOnT5LkhhtuyNy5c/P1r399jRutr6/PAQcckAcffDA9evRY47JHXnTXStMm/eDoit5fcFWZktXnaq134dbmsZJpRetTpsR+/l4yrWx9z5TYz99LppWt75kS+/l7ybSy9T1TYj9/r40l05o6X7Of0VywYEG+973v5e23387ChQszYcKEHHTQQescBgAAgA1bs6fOfuELX8jTTz+dY445JsuWLctJJ53UdCotAAAAvFdZ9yu54IILcsEFF7RwFAAAADYEzZ46CwAAAGtD0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAAClV20bziiisyfPjwlswCAADABqCsovnoo49mwoQJLZ0FAACADUCzRXP+/PkZO3ZszjnnnNbIAwAAwHqu2aJ56aWX5sILL8xmm23WGnkAAABYz7Vb08zx48dnm222SZ8+fXLnnXeu0waueuyqdNmyy2rn1+1Xt07rrZu6buPKWncVZkrWLZdMZY6pwkyJ/bzsMTKVN6YKMyX287LHyFTemCrMlNjPyx4jU3ljqjBTYj8ve8wGlGnhvIWrnbfGojl58uTMnTs3Rx99dF5//fUsWrQol19+eb75zW+WvfEL9r4gPXr0KD9tmdZ1Z2tJMpVHpvJVYy6ZyiNT+aoxl0zlkal81ZhLpvLIVL5qzCVTedY1U319fSZl0irnrbFo3nDDDU1f33nnnXn88cfXqmQCAACw8XEfTQAAAAq1xiOa79a/f//079+/JbMAAACwAXBEEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAocoqmuPGjcvhhx+eI444IjfccENLZwIAAGA91q65BR5//PE89thjufvuu7N06dIcfvjh6du3bz760Y+2Rj4AAADWM80e0dxzzz1z0003pV27dnn11VfT2NiYTp06tUY2AAAA1kNlnTrbvn37/OhHP8oRRxyRPn36pFu3bi2dCwAAgPVUs6fOLnfeeeflrLPOyjnnnJPbb789J5xwQlnjrnrsqnTZsstq59ftV1duhBXHTV23cWWtuwozJeuWS6Yyx1RhpsR+XvYYmcobU4WZEvt52WNkKm9MFWZK7Odlj5GpvDFVmCmxn5c9ZgPKtHDewtXOa7Zo/utf/0pDQ0M++clPZpNNNsnBBx+c5557ruyNX7D3BenRo0fZy5drXXe2liRTeWQqXzXmkqk8MpWvGnPJVB6ZyleNuWQqj0zlq8ZcMpVnXTPV19dnUiatcl6zp87W19dnxIgRaWhoSENDQx588MHstttu6xQEAACADV+zRzT79u2bp59+Osccc0zatm2bgw8+OEcccURrZAMAAGA9VNZnNM8777ycd955LZ0FAACADUBZV50FAACAcimaAAAAFErRBAAAoFCKJgAAAIVSNAEAACiUogkAAEChFE0AAAAKpWgCAABQKEUTAACAQimaAAAAFErRBAAAoFCKJgAAAIVSNAEAACiUogkAAEChFE0AAAAKpWgCAABQKEUTAACAQimaAAAAFErRBAAAoFCK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5c7b48J8sPMHVpreuOTttG3fYZVj3l7yVjq032Sl6VNnTM3UGVPXmKscq8u0plxvL307HdqtPP21t/6dH/3PuPedaU25VpuphR+nDT1TkbnWaT9v4X3Kfi5T0bns5+8/14awT1U002p+d0nL71Pr3euW9ej35/9eeZmKzLXB7Of2qfIyvY/HaeG8hZl0yaQ8+OCD6dGjxwrzmi2aEyZMyBNPPJHRo0cnSa655pqUSqWce+65a9zo8qK5qo2ui7qpdanbr+59r6dI7810/G3/d6Vlbj/hv1ox0frxOFWDasyUrB/7VDVmqgYylW992KeqMVM1kKl81Zhrfcjk/96qVWOmpDpzyVSeov7vranzNXsxoM9+9rO5+uqr89prr2WTTTbJb37zm1x22WVlxN+4NDQuWeUvo6FxSWrbtq9AIgCA9YfXUrBhabZoduvWLRdeeGFOOeWULFmyJAMHDszOO+/cGtnWK6t7AvTECADQPK+lYMPSbNFMkiOPPDJHHnlkS2cBAABgA1BW0QRInNYEAEB5mr29CcByTmsCAKAcjmhClXL0EACA9ZUjmlClHD0EAGB9pWgCAABQKEUTAACAQimaAAAAFErRBAAAoFCuOgsA7+KKzwBsTFrq754jmgDwLq74DMDGpKX+7imaAAAAFMqpswBUjNNUAWDD5IgmABXjNFUA2DApmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABRK0QQAAKBQiiYAAACFUjQBAAAolKIJAABAoRRNAAAACqVoAgAAUChFEwAAgEIpmgAAABSqXUutuLGxMUny8ssvF7K+hfMWpr6+vpB1FUWm8shUvmrMJVN5ZCpfNeaSqTwyla8ac8lUHpnKV425ZCpPUZmWd73l3e/dakqlUul9b2EVnnjiiQwePLglVg0AAECVuOWWW7L77ruvMK3FiubixYszffr0bLXVVmnbtm1LbAIAAIAKaWxszNy5c9OrV6907NhxhXktVjQBAADYOLkYEAAAAIVSNAEAACiUogkAAEChFE0AAAAKpWgCAABQKEUTAACAQimaAAAAFErRBAAAoFDtKh1gVf71r3/l/vvvz8svv5w2bdpk6623zj777JOddtqp0tGqygMPPJDZs2enb9+++fCHP9w0/bbbbssJJ5xQsVwzZszIJptskm7dumX8+PF57rnnsuuuu+bwww+vWKb3GjNmTIYPH16x7T/zzDPZeeedkySPPvpoHnroobRr1y4HHXRQevfuXbFcv//979O7d+9sttlmmThxYp555pl8+tOfzoABAyqSZ9SoURkyZEg+8IEPVGT7a/Loo4+mY8eO2WWXXfLTn/40jz/+eHr16pUvf/nLqa2trUimBx54IA888EDmzp2b9u3b58Mf/nAOO+yw7LLLLhXJAwBsvGpKpVKp0iHe7ZZbbsntt9+eQw45JFtttVWSZO7cufnNb36To446KmeccUaFE1aH73//+5k+fXp22GGH3HvvvRk2bFiOPvroJMmxxx6bCRMmVCTXz372s/z85z/PsmXLsvfee2f27Nk56KCDMmXKlOy666756le/2uqZvvGNb6w0bcqUKdl///2TJN/97ndbO1LT7+iWW27Jrbfe2lTkJkyYkOOOOy5f/OIXWz3T6NGj89e//jVjx47NLbfckj//+c854IAD8rvf/S49evTIiBEjWj3T7rvvnq5du+aiiy7KwQcf3OrbX53vfe97eeKJJ7J06dL06NEjNTU16d+/f6ZMmZLGxsaMGjWq1TNde+21eeqpp7LPPvtkypQp2X333dOxY8eMHz8+p556ao4//vhWzwTAhuP3v/997rvvvhUOBO2777455JBDKh2taixdujS33HJLZs+enQMPPDC7775707yrr746Q4YMqUiuadOmZdNNN80nP/nJXH311Xnuueey22675Ywzzkjbtm1bbLtVd0TzpptuysSJE7PJJpusMP3000/PscceW7GiOWvWrDXO33bbbVspyTseeuihTJgwIe3atcvJJ5+cM844I7W1tTnssMNSyfcOfvWrX2Xy5MmZN29e+vXrl8ceeywdOnTIcccdl4EDB1akaG6++eaZOHFizjnnnGy22WZJksceeyx77rlnq2d5r9tvvz033XRTtthiiyTJwIEDM3DgwIoUzUceeSSTJk1K27ZtM3Xq1Nx+++2pra3NCSeckH79+rV6niTp0aNHvv/976euri7XXXddTj/99Oy///7p2LFjRfIs9/vf/z533XVXGhoa0rdv3zz88MNp37599t1336Y3fFrb5MmTM3HixNTU1GTAgAE566yzctNNN2XAgAE5/vjjK1o0vThpnhcn78/Xvva1/PCHP6zY9h944IEceOCBSZLx48fnd7/7XdNZKpU6m2fp0qW54447ctBBB2XTTTfNj3/84/z5z3/Opz/96Zx99tnp0KFDq2c655xzcskll+RDH/pQq297dZYuXZqJEyemY8eOOeSQQ/Ld7343f/jDH9KrV68MGzYsm2++eUVyLVu2LDfddFMefPDBFc5SOfzww3PEEUe0ep5x48blmWeeyVFHHZWtt946STJnzpzccccdeeqppzJs2LBWz/SHP/xhjfP32GOPVkryvy699NIsW7YsH/vYx/L1r389xx9/fM4555wk7xzkqMRz+ZVXXpknn3wyCxcuzNZbb52uXbtm0KBBue+++3L55ZfnW9/6Vottu+qKZrt27bJ06dKVpi9evDjt27evQKJ3nH322ZkxY0a23nrrlYpcTU1NHnzwwVbNUyqVUlNTkyTZfvvtc+211+b000/PBz/4wabplbBs2bLU1tZmu+22yxlnnLHCH7LGxsaKZBo2bFj23XffXHXVVfna176WvfbaKzfeeGOOPfbYiuRJ3vnDtmzZsnTt2jWdOnVqml5bW5s2bSrz0emOHTvm1VdfbXoSWrRoUWpra/PWW2+lXbvKPFXU1NRkxx13zM0335xp06bltttuy+jRo7P99tune/fu+cEPflCRXKVSKQsWLMiiRYuyePHiLFy4MFtssUUWL16cJUuWVCTT22+/nbfeeiudOnXK4sWLM3/+/CRJp06dKrZPJdX54mTixIlrnH/MMce0So538+KkfCeffPJKf+emT5+eU045Jck7b1i3tmuuuSYHHnhgrr766jzxxBM5+eSTUyqVctttt+W5557LhRde2OqZlv/fOuSQQ3LFFVdk0aJFOemkkzJ16tR885vfrMjz59NPP50zzzwzJ554Yk4++eSKvq5bbsSIEVm0aFEaGhpy8803Z+edd87YsWPz4IMP5tJLL82PfvSjiuQaM2ZMlixZki996Uu5//7784lPfCLbbLNNbrrppsyYMaPV37ifPHly7r333pX+nvTr1y/9+vWryHP5Nddck6eeeio777zzKl+bV+K5YPr06bn77ruTvPO35LTTTkvHjh1z2mmnVexA0EMPPZRJkyZl/vz5Oeigg/L444+nTZs22XfffVv8713VFc1zzjknxxxzTPr06bPCqbOPPfZYRZ6ol/vlL3+Zk046KSNHjsxuu+1WsRzLHXrooTn55JMzfPjw7LzzzunZs2fGjRuXc889Nw0NDRXLdfDBB+eLX/xibrrppqYXRn/7298yYsSIHHbYYRXL1adPn3zyk5/MyJEjM3Xq1IqV3uW22GKL9O3bNzU1NRk5cmTGjBmTRx99NFdeeWUOPfTQimQ699xzM3DgwBxxxBH56Ec/mpNPPjl9+vTJww8/nC996UsVyfTuJ+XPfvaz+exnP5slS5bkueeey8yZMyuSKUnOOuusHHzwwSmVShk6dGjOOOOM9OnTJ48++mjFPs/av3//DBo0KJ///Ofz8MMPp3///nnppZfy1a9+tWJHpJPqfHHy2GOP5f7771/t/7VKFE0vTsp36KGH5sc//nEuuOCCbLfddimVSvnWt76Vc889t2KZlvvtb3+b8ePHN73Jut9++6Vfv34Vef3y97//PZMmTUryzpGfu+66KzU1Nenbt2/FjrJ269Yt119/fb73ve/l4IMPzqBBg3LEEUdku+22q0ieJHn22WczadKkNDY2pm/fvrn11luTJDvuuGPFzlBJ3nmeWv6csM8++2Tw4MH55S9/mb59++aoo45q9aLZoUOHvPzyyyudwTdr1qyKXZfguuuuyymnnJJTTz01BxxwQEUyvFepVMqiRYvSqVOnfPCDH8x1112XQYMGpWvXrhU9ENTQ0JAtttgiw4YNa/p7/Oabb67y4F6Rqq5oHnnkkdlzzz3z6KOPZs6cOSmVStl9990zZMiQdOvWrWK5unTpklGjRmX8+PFVUTTPPffc7LbbbuncuXPTtN122y133nlnfvrTn1Ys1/nnn58//OEPK5xSVVtbmyFDhqRv374Vy5W8cwrtuHHjmi5QVEnL32V7/vnn88YbbyR553E677zzst9++1Uk0/7775+ePXvmgQceyIsvvpjPfOYz6dy5c8aMGdN04aLWNnjw4JWmtW/fPr169UqvXr0qkOgdRx99dA455JA0Njamc+fO2WOPPfLwww/n4osvzuc+97mKZPryl7+cnXbaKX/5y18yfPjw9OnTJ2+++WauuOKKfPzjH69IpqQ6X5yMGTMm8+fPz2677ZaBAwdWJMN7eXFSvsGDB2evvfbKyJEjc9xxx+WYY45J586dK/pxiEWLFmXevHnZdttts2jRoqaiuXjx4oqdEdKpU6f84x//SM+ePfPhD384s2fPzrbbbptXXnmlYv/3ampqsuWWW+Z73/teZsyYkdtvvz1nnHFG3n777XTv3r2p5LWmNm3a5IUXXsiCBQuyYMGC1NfXp0ePHnnttdcqup83Njbm1VdfTdeuXTN37twsXrw4SbJkyZKK7FPDhw/P4MGDs/32269wIGjGjBkVudZF8s7rgcsvvzy/+tWvqqZofvGLX8yxxx6burq69OnTJ926dct1112XL33pS3n11Vcrkumkk07KUUcdlcmTJ+e4445Lkjz55JO5+OKLm86caSlVdzEgADYc06ZNyyWXXLLaFyd77713RXLNmTMnkyZNyplnnlmR7b/Xbbfdlp/+9KdNL06Sd67AvvzFyTPPPNPqmX7xi1/kxhtvzOTJk5vePHz3i5NKX2CqoaEhP/zhDzNr1qz861//yj333FOxLN/4xjcyffr0zJ49O3369MnVV1+d3/zmN/nud7+bL3/5yxk0aFCrZ/rTn/6UIUOGZNddd80mm2ySRx55JL17986zzz6bb3/72xV58/eYY45Z5anr//73vzNz5syKvKn58MMPZ8SIEVm2bFkuvfTS/OAHP8jHPvax/PnPf855551XsaP3d955Z8aNG5dddtklTz/9dC666KLstNNOOfXUUzNkyJCKnD1zzz335IUXXkjbtm3zoQ99KN26dUvv3r0zYcKEit3toBrvwHDdddeloaEhRx55ZFOmhQsX5he/+EW+/OUvVyTTz372s7Rt27bpcXr55ZezYMGCPPnkky36OCmaALSot99+O88880zTWSrLX5xU6qhKtV3cbbkZM2aktrZ2he0vXLgwd9xxR0477bSKZFp+dGe55S9OevbsWZE8q/LII4/knnvuyeWXX17pKHnrrbcyb968fOhDH8rf//73lEqlip5RsHDhwkybNi0vvvhiGhsbs+WWW+bzn/98unfvXpE8Dz30UMXPbmrOvHnz8sQTT6Rnz57ZYYcdKprlhRdeyHPPPZdPfOIT2X777dPQ0JBFixZV5AJF3//+9/Pss8/mox/9aCZPnpzhw4dX/G4H1XgHBplWVHWnzgKw4Vhe6rbbbrsVPoc1b968JJUpddV2cbdkxVOJ31uEK3Vrn1mzZqVNmzYr5encuXNmzZpVsUL+3jwf+chHcu655zZNr0Sud2dq27ZtZs2alS5dujTNq2Sm937UYNmyZRXL1LNnzzW+0VPp391yy4+sVno/79ChwwpZllu0aJG7HVRxpokTJ6Zt27ZVlalSj5OiCUCLqcZSV20Xd0uq83Gqxkyry1VTU9N0NXaP1eozeZzWj0zVmKsa73ZQrZmWq6ZMFXucSgDQQhYsWFA68sgjS0888USlo6zg6aefLo0YMaLSMZpU4+NUjZlKperMJVN5ZCpfteW6+uqrS4MGDSo9/fTTTdOeeOKJ0t57713addddZZJplRRNAFpUtZW6alWNj1M1ZiqVqjOXTOWRqXzVlmvatGmlf/7znytMmzVrVmnUqFEVSiRTuSqVycWAAAAAKFSb5hcBAACA8imaAAAAFErRBAAAoFCKJgAAAIVSNAEAACjU/w/4PdqOWOCwCQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_rf = results_rf.head(35)\n", + "results_rf.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 246, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_rf.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 247, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.011666666666666678" + ] + }, + "execution_count": 247, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_rf=np.mean(results_rf.error)\n", + "meanerror_rf" + ] + }, + { + "cell_type": "code", + "execution_count": 248, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.7
15.5
25.0
35.2
45.0
55.0
65.0
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.7\n", + "1 5.5\n", + "2 5.0\n", + "3 5.2\n", + "4 5.0\n", + "5 5.0\n", + "6 5.0" + ] + }, + "execution_count": 248, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 249, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../rf.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 250, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.10545454545454558\n", + "Adjusted R^2: -0.28590909090909067\n", + "MAE: 0.14166666666666672\n", + "MSE: 0.06833333333333333\n", + "RMSE: 0.2614064523559687\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 251, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.00.0
15.05.00.0
25.05.00.0
35.05.2-0.2
45.05.2-0.2
55.05.00.0
65.05.2-0.2
75.05.00.0
85.05.00.0
95.05.2-0.2
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.0 0.0\n", + "1 5.0 5.0 0.0\n", + "2 5.0 5.0 0.0\n", + "3 5.0 5.2 -0.2\n", + "4 5.0 5.2 -0.2\n", + "5 5.0 5.0 0.0\n", + "6 5.0 5.2 -0.2\n", + "7 5.0 5.0 0.0\n", + "8 5.0 5.0 0.0\n", + "9 5.0 5.2 -0.2" + ] + }, + "execution_count": 251, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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stb2vb0KMVOWFWYumXIjU+4KMZdMuclHpm7XTdrkv3xnykUh5pIpNzLlrq5zbe71oD68JuzImbbU+bIsy2q8dLZp06bRvn372HvvvSMi4tRTT405c+ZEnz59PnUD3mCnBiXx1ui+yfa3wcHDfpt8nyl94QtfiDfeeGOL6+fPnx8/+9nP4uabb855ny8890Is/OfCuPrqq1NEBAAA2GY13gzo5JNPjunTp8eHH34YVVVV8fzzz8fhhx9eF9k+8xYuXBjz58/fpjFf6/A1JRMAAMirGs9otmvXLi699NI477zzYs2aNfG1r30t+vZNf/YxXwYPHhxHHXVUnHPOORERMWDAgLjhhhuiXbt2m2w7dOjQKCoqijfffDMqKiqi30X94sJzL4xx48bFK6+8EosWLYr+/fvHCSecEKWlpbFs2bJo3Lhx3HTTTXHYYYdFeXl5DB48OFasWLHZ/X/SqFGjory8PL797W9H586d49Zbb41169ZF69at47rrrosbb7wxli9fHu+++2507do1brjhhniq7Kl4c86bMWbMmDjllFOiR48eMX369Fi5cmXccsst0aZNm+SPIQAAwMfVWDQjIs4666w466yzajtLXvTt2zfGjRsX55xzTixYsCDef//9rZbAd955Jx566KF47733olfvXtH11K4REVFZWRmTJ0+OiIhzzz03RowYEYcddlj84x//iCuuuCKmTJkS3/3ud6NPnz7x9a9/PSZNmhTjx4/farbhw4fHT37ykxg5cmT88Y9/jHnz5sX//M//xO677x6//OUvo1u3btG7d+9Yvnx5dOjQIS6++OJN9tGkSZN45JFH4te//nXceeedMW7cuE/xaAEAANSsxktnd3THHntsLFmyJMrLy2PSpEnRs2fPrW7fp0+faNiwYbRo0SLatGsTf/7znyMiom3bthER8dFHH8XcuXPjW9/6VvTs2TOuv/76WLFiRfz73/+OF198Mc4888yIiOjRo0c0bNhwm7IedNBBsfvu6+8oe8kll8R+++0Xv/zlL2P06NGxZs2aWLly5SZjTjzxxIiIaN26dSxbtmybjgcAALA9cjqjuSMrKiqKXr16xRNPPBFPPfVU3HXXXVvdvri4uPrrdevWRYMG6x/Cxo0bVy8rKSmJxx57rHq7xYsXR5MmTSIiIvt/nyZTVFRU40fEfNKGY0REjBkzJubP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FWIumXIjU+4KMZdMuZEpd4WYS6bcyJS7QswlU262N1N5eXmURdlm1+V019k///nPceGFF8b1118fvXv33q4QAAAAfDbUeEZz0aJFccUVV8TYsWOjffv2dZEJAACAeqzGovnLX/4yVq9eHWPGjKledu6550a/fv1qNRgAAAD1U41Fc/jw4TF8+PC6yAIAAMAOIKf3aAIAAECuFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJLKuWhWVFREt27dory8vDbzAAAAUM/lVDRnz54d/fr1i3nz5tVyHAAAAOq7nIrmww8/HCNHjoxmzZrVdh4AAADquQa5bDR69OjazgEAAMAOIqei+WncNuu22K3pbltcX9qxdLv2W/rs9o3Lad8FmCli+3LJlOOYAswUYZ7nPEam3MYUYKYI8zznMTLlNqYAM0WY5zmPkSm3MQWYKcI8z3nMDpSpYmnFFtfVetG85rhromXLlsn3u72TrTbJlBuZcleIuWTKjUy5K8RcMuVGptwVYi6ZciNT7goxl0y52d5M5eXlURZlm13n400AAABIStEEAAAgqW26dHbatGm1lQMAAIAdhDOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomALBDqKxas13rgB3Tlv7dez2oGw3yHQAAIIWS4oZx9vj/2uy6h8/5WR2nAfJtS68JXg/qhjOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQVE5Fs6ysLLp06RKnn356PPDAA7WdCQAAgHqsQU0bvPPOOzF27Nh49NFHo6SkJM4999w49thj49BDD62LfAAAANQzNZ7RnDFjRhx33HHRpEmT2GWXXeKMM86Ip556qi6yAQAAUA8VZVmWbW2DO++8M1asWBHXXnttRERMmDAh5syZE9/97ne3uuPy8vI49dRTo/vo7rFb0922uN1VR18be++65ybLq9asjuKGjTY7ZvWaldGo4c6bLH923rPx7Lxnt5orF1vKtLVctZ1pa7nqVaa1q6NRg02Xv7/y3/HjP95eUJlS5tph5nkhPn+FOM8LMVOhzvNanlM7zDwvxEzmeU6ZtpYrr/O8EJ8/mXLLVKjz3O8tuWUqxDn1KTJVLK2IsmFlMXXq1GjZsuVG62osmv/93/8dK1eu3Kho/vWvf43vfOc7Wz3ohqK5uYNuj9JnS6O0Y+mn3k9KMuXmk5nOHv9fm2zz8Dk/q8NEuWWKyH+uQlAfnr9CUB8yFeo8L8Q5JdPm1Yd5Xig8f7mRKTf15fW8EMiUm1SZttb5arx0tnnz5rF06dLq75csWRLNmjX71KEAAADYMdVYNI8//viYOXNmvP/++7Fy5cr4/e9/HyeddFJdZAMAAKAeqvGus82bN49rr702zj///FizZk2cddZZ0bZt27rIBgAAQD1UY9GMiOjevXt07969trMAAACwA6jx0lkAAADYFoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJNch3AD5bKqvWxMPn/Gyzy0uKG+Yh0ZYzbViXr1yFqBCfP3JTqPO8EOeUTKTm+SOlQn09h09yRpM6taUXv3y+KG7t2F6sN1aIzx+5KdR5XohzSiZS8/yRUqG+nsMnKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJBUg9racVVVVURELF68OMn+KpZWRHl5eZJ9pSJTbmTKXSHmkik3MuWuEHPJlBuZcleIuWTKjUy5K8RcMuUmVaYNXW9D9/u4oizLsk99hM146aWXon///rWxawAAAArEAw88EEcdddRGy2qtaK5atSrmzp0b++67bxQXF9fGIQAAAMiTqqqqePfdd6NNmzbRuHHjjdbVWtEEAADgs8nNgAAAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAkmqQ7wCb889//jOmTJkSixcvjp122imaNWsWJ554YhxxxBH5jlZQnnnmmVi0aFF06NAhPve5z1UvHz9+fJxzzjl5yzVv3rzYeeedo3nz5jFhwoR444034qtf/Wp06dIlb5kKzZw5c6Jt27YRETFz5sx47rnnokGDBnH66adHu3bt8pbr+eefj3bt2sUee+wRkyZNijlz5sThhx8effv2zUueUaNGxaBBg2LPPffMy/EBANg+BXdG84EHHojrrrsuIiKOOOKIOPzwwyMi4qabboq77747n9EKyg9+8IO4//77Y968eXHuuefGY489Vr3uoYceyluue++9Ny655JI499xz41vf+lY88cQTcdBBB8Vvf/vbuOOOO/KW65PGjBmT1+OPHDkyItbP95tvvjlatGgRTZs2jREjRsT999+fl0yjR4+OO++8M1avXh233XZblJWVxaGHHhpPP/10jBo1Ki+ZJk2aFGeffXb8/ve/z8vxt2bmzJnxl7/8JSIi7r777hg4cGD85Cc/icrKyrxleuaZZ2Lo0KFxySWXxMCBA+Pmm2+uzggAUJeKsizL8h3i484444yYNGlS7LzzzhstX7lyZfTu3TueeuqpvORauHDhVtfvv//+dZRkve7du8fEiROjQYMGMW/evLj44otj8ODBceaZZ0avXr1i0qRJdZrn47keeeSRWLp0aXTr1i1mzZoVjRo1isrKyjjrrLPi8ccfr/NM3/rWtzZZNm3atDjllFMiIuJ73/teXUeK3r17x8SJE6Nnz55x7733xl577RURERUVFXHWWWflZZ536dIlysrKori4OHr16hUPP/xwlJSURFVVVXTr1i2efPLJOs/Uq1ev+MEPfhClpaWxevXquOiii+KUU06Jxo0b13mWj/v+978fL730UqxduzZatmwZRUVF0adPn5g2bVpUVVXlpZjfeeed8corr8SJJ54Y06ZNi6OOOioaN24cEyZMiAsuuCDOPvvsOs8EnxXPPPNMnHbaaRERMWHChPjDH/5QfZWKq3nYUTz//PPx1FNPbXTF4UknnRRnnHFGvqMVjLVr18YDDzwQixYtitNOOy2OOuqo6nXjxo2LQYMG5SXXjBkzYvfdd48vfelLMW7cuHjjjTfiyCOPjIsvvjiKi4tr7bgFd+lsgwYNYu3atZssX7VqVTRs2DAPida7/PLLY968edGsWbP4ZDcvKiqKqVOn1mmeLMuiqKgoIiJatWoVd955Z1x00UWx9957Vy/Ph3Xr1kVJSUkccMABcfHFF0ejRo2q11VVVeUlU5MmTWLSpEkxcODA2GOPPSIiYtasWXHMMcfkJU/E+heidevWxT777BO77LJL9fKSkpLYaaf8XGjQuHHjeO+996JZs2axzz77xIoVK6KkpCRWrlwZDRrk56WiqKgoDj300Lj//vtjxowZMX78+Bg9enS0atUqWrRoET/84Q/zkuv555+Pxx57LCorK6NDhw4xffr0aNiwYZx00knRs2fPvGSaPHlyTJo0KYqKiqJv375x2WWXxX333Rd9+/aNs88+O69F0y8nNfPLyadz3XXXxY9+9KO8Hf+OO+6I0047LcaNGxcvvfRSDBgwILIsi/Hjx8cbb7wR1157bZ1nWrt2bTzyyCNx+umnx+677x4///nP469//Wscfvjhcfnll2/0/+e6MnDgwBg2bFgceOCBdX7sLVm7dm1MmjQpGjduHGeccUZ873vfiz/96U/Rpk2bGDJkSDRp0iQvudatWxf33XdfTJ06Nd59991o2LBhfO5zn4suXbpE165d6zzP7bffHnPmzIkePXpEs2bNIiJiyZIl8cgjj8Qrr7wSQ4YMqfNMf/rTn7a6/uijj66jJP/fiBEjYt26dfH5z38+vvnNb8bZZ58dAwcOjIj1Jzny8Vp+6623xssvvxwVFRXVv+P169cvnnrqqbj55pvjpptuqrVjF1zRHDhwYPTq1Svat28f++67b0REvPvuuzFr1qy8vFBv8Jvf/CbOO++8GDlyZBx55JF5y7FB586dY8CAATF06NBo27ZttG7dOm6//fa48sor83rpXqdOneI//uM/4r777qv+x/T666/H8OHD48wzz8xLpiFDhsRJJ50Ut912W1x33XVx7LHHxq9+9avo3bt3XvJEROy1117RoUOHKCoqipEjR8aYMWNi5syZceutt0bnzp3zkunKK6+Ms846K7p27RoHH3xwDBgwINq3bx/Tp0+PSy+9NC+ZPv5HneOPPz6OP/74WLNmTbzxxhsxf/78vGTakGv58uWxYsWKWLVqVVRUVMRee+0Vq1atijVr1uQl0+rVq2PlypWxyy67xKpVq2LZsmUREbHLLrvk7Y8XEYX5y0lNV3z06tWrTnJ8nF9OcjdgwIBN/qA6d+7cOP/88yMi4r777stHrIiIePrpp2PChAnVJa5jx47RrVu3vPz+suHf1hlnnBG33HJLrFixIs4777x49tln48Ybb8zLH+pmz55d/faaAQMG5PUEwgbDhw+PFStWRGVlZdx///3Rtm3bGDt2bEydOjVGjBgRP/7xj/OSa8yYMbFmzZq49NJLY8qUKfHFL34x9ttvv7jvvvti3rx5ccUVV9RpnsmTJ8eTTz65yf9PunXrFt26dcvLa/kdd9wRr7zySrRt23azJ4Hy8Vowd+7c6qv3evXqFRdeeGE0btw4Lrzwwk0y1pXnnnsuysrKYtmyZXH66afHiy++GDvttFOcdNJJtf7/u4Irmt27d49jjjkmZs6cGUuWLIksy+Koo46KQYMGRfPmzfOWa7fddotRo0bFhAkTCqJoXnnllXHkkUfGrrvuWr3syCOPjEcffTSv72W9+uqr409/+tNGf+kuKSmJQYMGRYcOHfKWq3379vGlL30pRo4cGc8++2zezq5usOHF76233ooPP/wwItY/TldddVV07NgxL5lOOeWUaN26dTzzzDPxr3/9K7785S/HrrvuGmPGjKm+cVFd69+//ybLGjZsGG3atIk2bdrkIdF6l112WXTq1CmyLIvBgwfHxRdfHO3bt4+ZM2fm7cZJffr0iX79+sUJJ5wQ06dPjz59+sSCBQviiiuuiG7duuUlU0Rh/nIya9asmDJlyhb/qJOPoumXk9x17tw5fv7zn8c111wTBxxwQGRZFjfddFNceeWVecu0YsWKWLp0aey///6xYsWK6qK5atWqvF0R8uabb0ZZWVlErD/z89hjj0VRUVF06NAhb5fzNm/ePO666674/ve/H506dYp+/fpF165d44ADDshLnoiIV199NcrKyqKqqio6dOhQfZ+LQw89NG9XqESsf53a8Jpw4oknRv/+/eM3v/lNdOjQIXr06FHnRbNRo0axePHiTd4qtnDhwigpKanTLBv84he/iPPPPz8uuOCCOPXUU/OS4ZOyLIsVK1bELrvsEnvvvXf84he/iH79+sU+++yT1ysOKysrY6+99oohQ4ZU///4o48+2uxVpEll8Bnz8MMPZxdddFG+Y1DPrVy5MquoqMiyLMtef/317K677sqmT5+e10wzZszI7rrrrmzGjBlZlmVZRUVF9vrrr+c1U/fu3bMFCxZssvx///d/sx49euQh0XqXX355NmHChLwd/5O6deuWffTRR9XfL168ODv55JOzxx9/POvVq1deMnXt2jVbtWpVlmXrXzc3WL58edalS5e8ZNrg73//e3beeedlEydOzLIsy9tjtMHQoUOzbt26ZUceeWR25ZVXZlmWZVOmTMk6duyYPfjgg3nJdPbZZ2dvvvlmlmVZdsUVV1T/O1y8eHHWs2fPvGT6+PP09ttvZ7fcckvWqVOnrEOHDtk555yTl0w9evTI3nrrrWz27NlZ27Zts/nz52dZlmXvvfdeXud5ly5dsqVLl2ZZtv452/DYVVRUZF27dq3zPC+88ELWsWPH7MILL8wGDx6cDR48OLvwwguzjh07ZjNnzqzzPBu89dZb2a233pq343/SQw89lHXq1Kn6/8NZlmX/+Mc/so4dO2ZHHHFEXjI98MADWadOnbK1a9dWL/vzn/+cnXzyydn48eNr9dgFdzMgAHYcM2bMiGHDhkWrVq02ejvEvHnz4nvf+14cd9xxecm1ZMmSKCsri0suuSQvx/+k8ePHx9133x2lpaXRvn37iFj/UV+XXnppvPfeezFnzpw6z/Tggw/Gr371q5g8eXL1VSovv/xy3HDDDTFw4MC832CqsrIyfvSjH8XChQvjn//8ZzzxxBN5zROx/saFS5cujQMPPDDefPPNyLIsvvCFL+Qly1/+8pcYNGhQfPWrX42dd945XnjhhWjXrl28+uqr8e1vfzsvVxlt6WaF//73v2P+/Pl5uXpm+vTpMXz48Fi3bl2MGDEifvjDH8bnP//5+Otf/xpXXXVV3s7eP/roo3H77bfHV77ylZg9e3Zcf/31ccQRR8QFF1wQgwYNysvVM0888US8/fbbUVxcHAceeGA0b9482rVrFxMnTszbx+oV4kf9/eIXv4jKysro3r17daaKiop48MEH4z//8z/zkunee++N4uLi6sdp8eLFsXz58nj55Zdr9XFSNAGoVatXr445c+ZUvx1iwy8n+brcqtDuIr7BvHnzoqSkZKPjV1RUxCOPPBIXXnhhXjKVl5dHy5Ytq7/f8MtJ69at85Jnc1544YV44okn4uabb85bhkKdUxUVFTFjxoz417/+FVVVVdG0adM44YQTokWLFnnJ89xzz+X1bTS5WLp0abz00kvRunXrOOSQQ/Ka5e2334433ngjvvjFL0arVq2isrIyVqxYkZcbFP3gBz+IV199NQ4++OCYPHlyDB06tPrS4g130s9Hprlz58YhhxwSTz75ZAwZMkSmAstUcO/RBGDHseEX8AMOOGCj92EtXbo0IvLzC3ih3UU8YuP3OX2ytHTq1KnO82zIsdNOO22SZ9ddd42FCxfmrTx9Ms9BBx0UV155ZfVyc2q9DY/HJ9/Tvm7durw9f61bt95qKc9Hps3l2XBmNd/zvFGjRhtl2WDFihV1nuu5556r/li9AQMGxMUXXxwlJSVx5pln5vV95IWYadKkSVFcXFxQmfL1OCmaANSaQvwFvNDuIh5RmI9TIWbaUq6ioqLqj/0yp9YrxMepEOdUIWYqxFxZAX6sXqFm2qCQMuXtcarVd4AC8Jm2fPnyrHv37tlLL72U7ygbmT17djZ8+PB8x6hWiI9TIWbKssLNZU7VTKbcFVqucePGZf369ctmz55dveyll17KjjvuuOyrX/2qTDJtlvdoAlCr5syZExMmTIjvfve7+Y5S0ArxcSrETBGFm6vQFOLjJFPuCi3XzJkzo1mzZhu9d3XRokVx9913x7Bhw2SSaROKJgAAAEntVPMmAAAAkDtFEwAAgKQUTQAAAJJSNAEAAEjq/wJWgFpQC3RLwQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 253, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_kn.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 254, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.008333333333333415" + ] + }, + "execution_count": 254, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 255, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.2
15.2
25.0
35.2
45.0
55.0
65.0
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.2\n", + "1 5.2\n", + "2 5.0\n", + "3 5.2\n", + "4 5.0\n", + "5 5.0\n", + "6 5.0" + ] + }, + "execution_count": 255, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 257, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9999951882527967\n", + "Adjusted R^2: 0.9999930831133952\n", + "MAE: 0.00029098987579345703\n", + "MSE: 3.6756402247798786e-07\n", + "RMSE: 0.0006062705851993711\n" + ] + } + ], + "source": [ + "pred = pipeline_xgb.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 258, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.000068-0.000068
15.05.000068-0.000068
25.05.000068-0.000068
35.05.000068-0.000068
45.05.000068-0.000068
55.05.000153-0.000153
65.05.000153-0.000153
75.05.000068-0.000068
85.05.000068-0.000068
95.05.000068-0.000068
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.000068 -0.000068\n", + "1 5.0 5.000068 -0.000068\n", + "2 5.0 5.000068 -0.000068\n", + "3 5.0 5.000068 -0.000068\n", + "4 5.0 5.000068 -0.000068\n", + "5 5.0 5.000153 -0.000153\n", + "6 5.0 5.000153 -0.000153\n", + "7 5.0 5.000068 -0.000068\n", + "8 5.0 5.000068 -0.000068\n", + "9 5.0 5.000068 -0.000068" + ] + }, + "execution_count": 258, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgb = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgb.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 259, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5oAAAJDCAYAAABqs2vYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAzkUlEQVR4nO3deZzVdd3//9cIDKioqAio2JdUrBShcsVUcENkX0xZLty95JviTqAgTFdgmOUSWTfL1ExNxQSdREnh0kTgMjMhzKVUvBgWEQ1lHGBg+Pz+4Md8RZY54HvmHPB+v9283eCc8znnycxxmAdnmaIsy7IAAACARHbK9wAAAAB2LEITAACApIQmAAAASQlNAAAAkqpfW1e8cuXKmDt3buyzzz5Rr1692roZAAAA8qCqqio++OCDaNOmTTRq1GiD82otNOfOnRsDBw6srasHAACgADzwwANx5JFHbnBarYXmPvvsU32jLVq0+MLXd9us2+LKY6/8wteTkk25sSl3hbjLptzYlLtC3GVTbmzKXSHusik3NuWuEHfZlJtUmxYvXhwDBw6sbr/PqrXQXP902RYtWkTLli2/8PU1bto4yfWkZFNubMpdIe6yKTc25a4Qd9mUG5tyV4i7bMqNTbkrxF025Sb1pk29VNKbAQEAAJCU0AQAACApoQkAAEBStfYazc1Zu3ZtLF26NJYtWxZVVVU5H3f6HqfH66+/XovLtt6OsKlevXrRpEmTaNq0aey0k393AAAAvrg6D82ysrIoKiqKVq1aRYMGDaKoqCin4xYuXxj77bZfLa/bOtv7pizLYvXq1fH+++9HWVlZfOUrX6nldQAAwJdBnT+E9emnn8b+++8fxcXFOUcmtaOoqCiKi4tj//33j08//TTfcwAAgB1EXp4r6SmahcXnAwAASElhAAAAkFRBhGbl6prfFGhbXguZy/VujWnTpsU999yzVcfcfvvtMXXq1KQ7AAAAClmdvxnQphQ3qBfdr3k8+fWW/rRn0ut77bXXtvqYK664IukGAACAQlcQoZlPQ4cOjSOPPDLOPvvsiIgYNGhQXHvttdGuXbsNLvevf/0rHnrooYiI2G+//WLhwoXxP3/9n/hoyUcxcODAaN26ddx6662xcuXK+Pjjj2Po0KFxxhlnxPDhw+Poo4+Oo48+Oi677LJo3bp1vP7667H33nvH7bffHk2aNKnrPzIAAECtKoinzuZT375944knnoiIiAULFsRHH320UWRGRBx88MHRr1+/6NevX/Tt2zciIipXVcbkyZNj4MCBcf/998eYMWNi4sSJMXbs2PjFL36x0XW88cYbcf7558cf//jH2H333aO0tLR2/3AAAAB58KUPzWOOOSaWLFkSZWVlMWnSpOjZM/en236jzTeqf33zzTfHP//5z7jjjjvinnvu2eSPC9l7773j0EMPjYiI1q1bx8cff/zF/wAAAAAF5ksfmkVFRdGrV6948skn4+mnn96q0GzYsGH1rwcMGBBz5syJNm3axODBg2u8fFFRUWRZtu3DAQAACtSX/jWaERF9+vSJAQMGxMEHHxzNmzff7OXq1asXq1at2uj0ZcuWxbx58+LBBx+Mhg0bxvjx46OqKu073gIAAGwvCiI0K1dXJX+H2PXXW9ygXo2X23fffWPfffeN3r17b/FyRx11VAwbNiyaNm26welNmjSJ7373u9G1a9do3LhxfPOb34yVK1dGRUXFF9oPAACwPSqI0MwlBhcuX7jVP0szl+vNsiyWLFkSS5cujVNPPXWLlz3qqKNi2rRpG2xab/jw4TF8+PDq35eUlERExLhx46pP++yxQ4YMqXEbAADA9qggQjOfpkyZEiUlJVFSUhLFxcVx0003xYwZMza6XJs2bWLs2LF5WAgAALB9+dKHZufOnaNz587Vvx82bFge1wAAAGz/cnrX2WnTpkWfPn2ic+fOMWbMmNreBAAAwHasxtCcP39+jB49On7xi19EaWlp/OMf/4jnn3++LrYBAACwHarxqbPPPPNMdOnSJVq0aBEREbfeeusGPw8SAAAAPqsoy7JsSxcYPXp0NGjQIN5999344IMP4qSTToorr7wyioqKtnjFZWVlccopp0T3sd2jcdPG1aefvsfp8X8O/j9bPXT5quWxW8Pdtvq42rQjbXrvX+/FlI+n1MKiiOfmPRcdW3WsleveVoW4KaIwd9mUG5tyV4i7bMpNXW+6/KirYq9d99jo9KrVq6Jeg43/0fuTio/ilpd+VhfTauTzlxubclOImyLqdtfmvh5EFP7XhEL8/KXaVL60PEpHlMbUqVOjZcuWG56Z1WDEiBFZly5dsg8//DBbsWJFdv7552d/+MMfajosmz9/fnbIIYdk8+fP3+D0f/zjHxtdtmr1qhqvb1vU1vWut+CTBbV6/dtiWzdt6vOSyuj/Hl1r172tCnFTlhXmLptyY1PuCnGXTbnJx6ZuV0/a6L8sy7K3x/TZ6L9C4vOXG5tyU4ibsqzud23q68H28DWhED9/qTZtrvmyLMtqfOps06ZNo3379rHXXntFRMQpp5wSc+bMiT59+nzhAl5vp/rF8c7Yvsmub70DR/wh+XWm9LWvfS3efPPNzZ4/f/78+OUvfxk33nhjztf54vMvxsK3F8YVV1yRYiIAAMBWq/HNgE466aSYPn16fPLJJ1FVVRUvvPBCHHbYYXWx7Utv4cKFMX/+/K065jsdviMyAQCAvKrxEc127drFRRddFAMGDIjVq1fHd77znejbN/2jj/kydOjQOPLII+Pss8+OiIhBgwbFtddeG+3atdvossOHD4+ioqJ46623ory8PPqf3z/O63dejB8/Pl599dVYtGhRDBw4MI4//vgoKSmJZcuWRaNGjeKGG26IQw89NMrKymLo0KFRUVGxyev/vDFjxkRZWVn84Ac/iM6dO8fNN98ca9eujdatW8fVV18d119/fSxfvjw++OCD6Nq1a1x77bXxdOnT8dact2LcuHFx8sknR48ePWL69OmxYsWKuOmmm6JNmzbJP4YAAACfVWNoRkSceeaZceaZZ9b2lrzo27dvjB8/Ps4+++xYsGBBfPTRR1uMwPfffz8eeuih+PDDD6NX717R9ZSuERFRWVkZkydPjoiIfv36xahRo+LQQw+Nf/3rX3HppZfGlClT4oc//GH06dMnvvvd78akSZPi4Ycf3uK2kSNHxs9//vMYPXp0/M///E/Mmzcv/vu//zt22223+M1vfhPdunWL3r17x/Lly6NDhw5xwQUXbHQdTZo0iUcffTR+97vfxZ133hnjx4//Ah8tAACAmtX41Nkd3THHHBNLliyJsrKymDRpUvTs2XOLl+/Tp080aNAgWrRoEW3atYm//vWvERHRtm3biIj49NNPY+7cuXHddddFz54945prromKior497//HS+99FKcccYZERHRo0ePaNCgwVZt/epXvxq77bbuHWUvvPDC2HfffeM3v/lNjB07NlavXh0rVqzY6JgTTjghIiJat24dy5Yt26rbAwAA2BY5PaK5IysqKopevXrFk08+GU8//XTcddddW7x8vXr1qn+9du3aqF9/3YewUaNG1acVFxfH448/Xn25xYsXR5MmTSIiIvv/f5pMUVFRjT8i5vPW30ZExLhx42L+/PnRrVu3OPXUU2PGjBnV1/1Z63/m6dbeFgAAwLb60j+iGbHuUcqHHnooWrRoEc2bN9/iZZ966qnIsiwWLFgQr899PY444ogNzt9tt92iVatW1aH54osvxsCBAyMi4rjjjosnnngiIiL+9Kc/RWVl5RZvq169erFmzZpNnvfiiy/GhRdeGGeccUYsWrQo3n///Vi7dm1Of14AAIDaVBCPaK5dU1krP4pk7ZrK2Kl+cY2X23fffWPfffeN3r1713jZlStXRt++faOysjKuGXFN7Lnnnhtd5uabb46SkpK46667okGDBnHrrbdGUVFRjBo1KoYOHRoPPfRQHH744bHrrrtu8bYOOuigWL58eQwdOnSj18hecskl8f3vfz9233332HvvvaNNmzZRVlZW434AAIDaVhChmUsMLly+MPbbbb/k15tlWSxZsiSWLl0ap556ao2X79y5c/XPEF24fGFERAwZMmSDyxx00EHxu9/9bqNjmzdvHvfdd1/172v6+Zh77rln/PGPf6z+/THHHFP9627dukW3bt02OqbV4a3iggHr3hRo2rRpGxz72eMBAABqS0GEZj5NmTIlSkpKoqSkJIqLi+Omm26KGTNmbHS52vqxIJMnT44777xzk+d99nWeAAAA24svfWh27tw5OnfuXP37YcOG1entd+nSJbp06VKntwkAAFCbvBkQAAAASQlNAAAAkhKaAAAAJCU0AQAASKogQrOyanWNl9naH22S6/UCAACQVkG862xxvQZx1sP/N/n1PnL2L5NfJwAAAFtWEKGZb7/61a/iqaeeiqqqqjj++OOjf//+cfHFF8eee+4ZDRs2jB49esTEiRNj2bJlcdJJJ8U555wTI0aMiP8t+99oVNworrrqqjjxxBNj/Pjx8eqrr8aiRYti4MCBMXDgwHz/0QAAAOrclz40//znP8fcuXPj0UcfjaKiohg6dGiUlpbGu+++G3fddVe0bNkyHnvssXj//fdj8uTJUb9+/bjiiivi2GOPjdFnjo6qZVXRv3//mDRpUkREVFZWxuTJk/P7hwIAAMijL31ozpw5M+bMmRN9+vSJiIiVK1dGlmWx9957R8uWLasvd+ihh0b9+us+XLNmzYoxY8bE8lgeBxxwQLRr1y5mz54dERFt27at+z8E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SEpoAgAAkJTQBAAAICmhCQAAQFJCEwAAgKSEJgAAAEkJTQAAAJISmgAAACQlNAEAAEhKaAIAAJBU/dq64qqqqoiIWLx4cZLrK19aHmVlZUmuKxWbcmNT7gpxl025sSl3hbjLptzYlLtC3GVTbmzKXSHusik3qTatb7317fdZRVmWZV/4Fjbh5ZdfjoEDB9bGVQMAAFAgHnjggTjyyCM3OK3WQnPlypUxd+7c2GeffaJevXq1cRMAAADkSVVVVXzwwQfRpk2baNSo0Qbn1VpoAgAA8OXkzYAAAABISmgCAACQlNAEAAAgKaEJAABAUkITAACApIQmAAAASQlNAAAAkhKaAAAAJFU/3wM25e23344pU6bE4sWLY6eddopmzZrFCSecEIcffni+pxWUZ599NhYtWhQdOnSIr3zlK9WnP/zww3H22Wfnbde8efNi5513jubNm8eECRPizTffjG9/+9vRpUuXvG0qNHPmzIm2bdtGRMTMmTPj+eefj/r168dpp50W7dq1y9uuF154Idq1axe77757TJo0KebMmROHHXZY9O3bNy97xowZE0OGDIk99tgjL7cPAMC2KbhHNB944IG4+uqrIyLi8MMPj8MOOywiIm644Ya4++678zmtoPzkJz+J+++/P+bNmxf9+vWLxx9/vPq8hx56KG+77r333rjwwgujX79+cd1118WTTz4ZX/3qV+MPf/hD3HHHHXnb9Xnjxo3L6+2PHj06Itbd32+88cZo0aJFNG3aNEaNGhX3339/XjaNHTs27rzzzli1alXcdtttUVpaGgcffHA888wzMWbMmLxsmjRpUpx11lnxpz/9KS+3vyUzZ86Mv/3tbxERcffdd8fgwYPj5z//eVRWVuZt07PPPhvDhw+PCy+8MAYPHhw33nhj9UYAgLpUlGVZlu8Rn3X66afHpEmTYuedd97g9BUrVkTv3r3j6aefzsuuhQsXbvH8/fbbr46WrNO9e/eYOHFi1K9fP+bNmxcXXHBBDB06NM4444zo1atXTJo0qU73fHbXo48+GkuXLo1u3brFrFmzomHDhlFZWRlnnnlmPPHEE3W+6brrrtvotGnTpsXJJ58cERE/+tGP6npS9O7dOyZOnBg9e/aMe++9N/bcc8+IiCgvL48zzzwzL/fzLl26RGlpadSrVy969eoVjzzySBQXF0dVVVV069YtnnrqqTrf1KtXr/jJT34SJSUlsWrVqjj//PPj5JNPjkaNGtX5ls/68Y9/HC+//HKsWbMmWrZsGUVFRdGnT5+YNm1aVFVV5SXM77zzznj11VfjhBNOiGnTpsWRRx4ZjRo1igkTJsS5554bZ511Vp1vgi+LZ599Nk499dSIiJgwYUL8+c9/rn6WimfzsKN44YUX4umnn97gGYcnnnhinH766fmeVjDWrFkTDzzwQCxatChOPfXUOPLII6vPGz9+fAwZMiQvu2bMmBG77bZbfOMb34jx48fHm2++GUcccURccMEFUa9evVq73YJ76mz9+vVjzZo1G52+cuXKaNCgQR4WrXPJJZfEvHnzolmzZvH5Ni8qKoqpU6fW6Z4sy6KoqCgiIlq1ahV33nlnnH/++bHXXntVn54Pa9eujeLi4th///3jggsuiIYNG1afV1VVlZdNTZo0iUmTJsXgwYNj9913j4iIWbNmxdFHH52XPRHrvhCtXbs29t5779hll12qTy8uLo6ddsrPEw0aNWoUH374YTRr1iz23nvvqKioiOLi4lixYkXUr5+fLxVFRUVx8MEHx/333x8zZsyIhx9+OMaOHRutWrWKFi1axE9/+tO87HrhhRfi8ccfj8rKyujQoUNMnz49GjRoECeeeGL07NkzL5smT54ckyZNiqKioujbt29cfPHFcd9990Xfvn3jrLPOymto+uakZr45+WKuvvrquOWWW/J2+3fccUeceuqpMX78+Hj55Zdj0KBBkWVZPPzww/Hmm2/GVVddVeeb1qxZE48++micdtppsdtuu8WvfvWr+Pvf/x6HHXZYXHLJJRv8/VxXBg8eHCNGjIgDDjigzm97c9asWROTJk2KRo0axemnnx4/+tGP4i9/+Uu0adMmhg0bFk2aNMnLrrVr18Z9990XU6dOjQ8++CAaNGgQX/nKV6JLly7RtWvXOt9z++23x5w5c6JHjx7RrFmziIhYsmRJPProo/Hqq6/GsGHD6nzTX/7yly2ef9RRR9XRkv9n1KhRsXbt2jjkkEPi+9//fpx11lkxePDgiFj3IEc+vpbffPPN8corr0R5eXn193j9+/ePp59+Om688ca44YYbau22Cy40Bw8eHL169Yr27dvHPvvsExERH3zwQcyaNSsvX6jX+/3vfx8DBgyI0aNHxxFHHJG3Het17tw5Bg0aFMOHD4+2bdtG69at4/bbb4/LLrssr0/d69SpU/zHf/xH3HfffdX/M73xxhsxcuTIOOOMM/KyadiwYXHiiSfGbbfdFldffXUcc8wx8dvf/jZ69+6dlz0REXvuuWd06NAhioqKYvTo0TFu3LiYOXNm3HzzzdG5c+e8bLrsssvizDPPjK5du8aBBx4YgwYNivbt28f06dPjoosuysumz/6jznHHHRfHHXdcrF69Ot58882YP39+Xjat37V8+fKoqKiIlStXRnl5eey5556xcuXKWL16dV42rVq1KlasWBG77LJLrFy5MpYtWxYREbvsskve/vEiojC/OanpGR+9evWqkx2f5ZuT3A0aNGijf1CdO3dunHPOORERcd999+VjVkREPPPMMzFhwoTqiOvYsWN069YtL9+/rP9/6/TTT4+bbropKioqYsCAAfHcc8/F9ddfn5d/qJs9e3b1y2sGDRqU1wcQ1hs5cmRUVFREZWVl3H///dG2bdu49dZbY+rUqTFq1Kj42c9+lpdd48aNi9WrV8dFF10UU6ZMia9//eux7777xn333Rfz5s2LSy+9tE73TJ48OZ566qmN/j7p1q1bdOvWLS9fy++444549dVXo23btpt8ECgfXwvmzp1b/ey9Xr16xXnnnReNGjWK8847b6ONdeX555+P0tLSWLZsWZx22mnx0ksvxU477RQnnnhirf99V3Ch2b179zj66KNj5syZsWTJksiyLI488sgYMmRING/ePG+7GjduHGPGjIkJEyYURGhedtllccQRR8Suu+5afdoRRxwRjz32WF5fy3rFFVfEX/7ylw3+pbu4uDiGDBkSHTp0yNuu9u3bxze+8Y0YPXp0PPfcc3l7dHW99V/83nnnnfjkk08iYt3H6fLLL4+OHTvmZdPJJ58crVu3jmeffTbee++9+OY3vxm77rprjBs3rvqNi+rawIEDNzqtQYMG0aZNm2jTpk0eFq1z8cUXR6dOnSLLshg6dGhccMEF0b59+5g5c2be3jipT58+0b9//zj++ONj+vTp0adPn1iwYEFceuml0a1bt7xsiijMb05mzZoVU6ZM2ew/6uQjNH1zkrvOnTvHr371q7jyyitj//33jyzL4oYbbojLLrssb5sqKipi6dKlsd9++0VFRUV1aK5cuTJvzwh56623orS0NCLWPfLz+OOPR1FRUXTo0CFvT+dt3rx53HXXXfHjH/84OnXqFP3794+uXbvG/vvvn5c9ERGvvfZalJaWRlVVVXTo0KH6fS4OPvjgvD1DJWLd16n1XxNOOOGEGDhwYPz+97+PDh06RI8ePeo8NBs2bBiLFy/e6KViCxcujOLi4jrdst6vf/3rOOecc+Lcc8+NU045JS8bPi/LsqioqIhddtkl9tprr/j1r38d/fv3j7333juvzzisrKyMPffcM4YNG1b99/Gnn366yWeRJpXBl8wjjzySnX/++fmewXZuxYoVWXl5eZZlWfbGG29kd911VzZ9+vS8bpoxY0Z21113ZTNmzMiyLMvKy8uzN954I6+bunfvni1YsGCj0//3f/8369GjRx4WrXPJJZdkEyZMyNvtf163bt2yTz/9tPr3ixcvzk466aTsiSeeyHr16pWXTV27ds1WrlyZZdm6r5vrLV++POvSpUteNq33z3/+MxswYEA2ceLELMuyvH2M1hs+fHjWrVu37Igjjsguu+yyLMuybMqUKVnHjh2zBx98MC+bzjrrrOytt97KsizLLr300ur/DxcvXpz17NkzL5s++3l69913s5tuuinr1KlT1qFDh+zss8/Oy6YePXpk77zzTjZ79uysbdu22fz587Msy7IPP/wwr/fzLl26ZEuXLs2ybN3nbP3Hrry8POvatWud73nxxRezjh07Zuedd142dOjQbOjQodl5552XdezYMZs5c2ad71nvnXfeyW6++ea83f7nPfTQQ1mnTp2q/x7Osiz717/+lXXs2DE7/PDD87LpgQceyDp16pStWbOm+rS//vWv2UknnZQ9/PDDtXrbBfdmQADsOGbMmBEjRoyIVq1abfByiHnz5sWPfvSjOPbYY/Oya8mSJVFaWhoXXnhhXm7/8x5++OG4++67o6SkJNq3bx8R637U10UXXRQffvhhzJkzp843Pfjgg/Hb3/42Jk+eXP0slVdeeSWuvfbaGDx4cN7fYKqysjJuueWWWLhwYbz99tvx5JNP5nVPxLo3Lly6dGkccMAB8dZbb0WWZfG1r30tL1v+9re/xZAhQ+Lb3/527LzzzvHiiy9Gu3bt4rXXXosf/OAHeXmW0eberPDf//53zJ8/Py/Pnpk+fXqMHDky1q5dG6NGjYqf/vSnccghh8Tf//73uPzyy/P26P1jjz0Wt99+e3zrW9+K2bNnxzXXXBOHH354nHvuuTFkyJC8PHvmySefjHfffTfq1asXBxxwQDRv3jzatWsXEydOzNuP1SvEH/X361//OiorK6N79+7Vm8rLy+PBBx+M//zP/8zLpnvvvTfq1atX/XFavHhxLF++PF555ZVa/TgJTQBq1apVq2LOnDnVL4dY/81Jvp5uVWjvIr7evHnzori4eIPbLy8vj0cffTTOO++8vGwqKyuLli1bVv9+/TcnrVu3zsueTXnxxRfjySefjBtvvDFvGwr1PlVeXh4zZsyI9957L6qqqqJp06Zx/PHHR4sWLfKy5/nnn8/ry2hysXTp0nj55ZejdevWcdBBB+V1y7vvvhtvvvlmfP3rX49WrVpFZWVlVFRU5OUNin7yk5/Ea6+9FgceeGBMnjw5hg8fXv3U4vXvpJ+PTXPnzo2DDjoonnrqqRg2bJhNBbap4F6jCcCOY/034Pvvv/8Gr8NaunRpROTnG/BCexfxiA1f5/T5aOnUqVOd71m/Y6eddtpoz6677hoLFy7MWzx9fs9Xv/rVuOyyy6pPd59aZ/3H4/OvaV+7dm3ePn+tW7feYpTnY9Om9qx/ZDXf9/OGDRtusGW9ioqKOt/1/PPPV/9YvUGDBsUFF1wQxcXFccYZZ+T1deSFuGnSpElRr169gtqUr4+T0ASg1hTiN+CF9i7iEYX5cSrETZvbVVRUVP1jv9yn1inEj1Mh3qcKcVMh7soK8MfqFeqm9QppU94+TrX6ClAAvtSWL1+ede/ePXv55ZfzPWUDs2fPzkaOHJnvGdUK8eNUiJuyrHB3uU/VzKbcFdqu8ePHZ/37989mz55dfdrLL7+cHXvssdm3v/1tm2zaJK/RBKBWzZkzJyZMmBA//OEP8z2loBXix6kQN0UU7q5CU4gfJ5tyV2i7Zs6cGc2aNdvgtauLFi2Ku+++O0aMGGGTTRsRmgAAACS1U80XAQAAgNwJTQAAAJISmgAAACQlNAEAAEjq/wNiRHmQVZzvSwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgb = results_xgb.head(35)\n", + "results_xgb.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 260, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgb.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 261, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6.357828776041666e-07" + ] + }, + "execution_count": 261, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgb=np.mean(results_xgb.error)\n", + "meanerror_xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 262, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.998207
15.907369
25.000068
35.000153
45.000068
55.000068
65.000068
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.998207\n", + "1 5.907369\n", + "2 5.000068\n", + "3 5.000153\n", + "4 5.000068\n", + "5 5.000068\n", + "6 5.000068" + ] + }, + "execution_count": 262, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 263, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgb.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline lr" + ] + }, + { + "cell_type": "code", + "execution_count": 264, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.15044146252622004\n", + "Adjusted R^2: -0.22124039761855863\n", + "MAE: 0.1646025546947217\n", + "MSE: 0.06489683272369152\n", + "RMSE: 0.254748567657782\n" + ] + } + ], + "source": [ + "pred = pipeline_lr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 265, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.094013-0.094013
15.04.9819510.018049
25.05.018049-0.018049
35.05.173203-0.173203
45.05.190083-0.190083
55.04.9136100.086390
65.05.181448-0.181448
75.04.8905820.109418
85.04.9369150.063085
95.05.186591-0.186591
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.094013 -0.094013\n", + "1 5.0 4.981951 0.018049\n", + "2 5.0 5.018049 -0.018049\n", + "3 5.0 5.173203 -0.173203\n", + "4 5.0 5.190083 -0.190083\n", + "5 5.0 4.913610 0.086390\n", + "6 5.0 5.181448 -0.181448\n", + "7 5.0 4.890582 0.109418\n", + "8 5.0 4.936915 0.063085\n", + "9 5.0 5.186591 -0.186591" + ] + }, + "execution_count": 265, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_lr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_lr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 266, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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z+g6W/fWKsZMWVacuWTKR6b8ijGXTPkUIlPPqyZt8K/QmfIoxlwy5SNTfvWda2PPBw3hOWFbzrSpzpdlWVbrqbMtWrSITp06xR577BERESeeeGLMmjUr+vTp84kb8Do7NC6NN6/vm2x963zm2t8mX2dKn/vc5+L111/f5Py5c+fGT3/607jhhhtyr/OF516Ief+aF1dccUWKiAAAAFus1psBHX/88TF16tT44IMPorq6Op5//vk4+OCD6yPbdm/evHkxd+7cLRrzlc5fUTIBAICCqvWIZseOHePiiy+Oc845J1atWhVf+cpXom/f9EcfC2XYsGFx2GGHxVlnnRUREQMHDoxrrrkmOnbsuMGyI0aMiJKSknjjjTeisrIy+l/QP84/+/wYN25cvPLKKzF//vwYMGBAHHPMMVFWVhZLliyJZs2axXXXXRcHHXRQVFRUxLBhw2LZsmUbXf/HjRkzJioqKuLb3/52dOvWLW666aZYs2ZNtGvXLq666qr41re+FUuXLo133303evToEddcc008Uf5EvDHrjRg7dmyccMIJcdppp8XUqVNj+fLlceONN0b79u2TP4YAAAAfVWvRjIg488wz48wzz6zrLAXRt2/fGDduXJx11lnx9ttvx3vvvbfZEvjOO+/E+PHjY/HixdH7jN7R48QeERFRVVUVkydPjoiIs88+O0aNGhUHHXRQ/POf/4zLLrssnnzyyfjud78bffr0ia9+9asxadKkeOCBBzabbeTIkfHjH/84Ro8eHX/84x9jzpw58T//8z+x6667xi9+8Yvo2bNnnHHGGbF06dLo3LlzXHjhhRuso3nz5vHQQw/Fr3/967jjjjti3Lhxn+DRAgAAqF2tp85u64488shYuHBhVFRUxKRJk+L000/f7PJ9+vSJJk2aROvWraN9x/bx5z//OSIiOnToEBERH374YcyePTu++c1vxumnnx5XX311LFu2LP7zn//Eiy++GKeeempERJx22mnRpEmTLcq6//77x667rr2j7EUXXRR77713/OIXv4jrr78+Vq1aFcuXL99gzLHHHhsREe3atYslS5Zs0fYAAAC2Rq4jmtuykpKS6N27dzz22GPxxBNPxJ133rnZ5Rs1alTz9Zo1a6Jx47UPYbNmzWqmlZaWxiOPPFKz3IIFC6J58+YREZH9v0+TKSkpqfUjYj5u3TYiIsaOHRtz586Nnj17xkknnRTTpk2rWfdHrfvM0y3dFgAAwNba7o9oRqw9Sjl+/Pho3bp1tGrVarPLPv7445FlWbz99tvx99l/j0MPPXS9+bvuumu0bdu2pmi+8MILMWDAgIiIOProo+PRRx+NiIjf//73UVVVtdltNWrUKFavXr3ReS+88EJcdNFFceqpp8b8+fPjnXfeiTVr1uT6/wIAANSlojiiuWZ1VZ18FMma1VWxQ+PSWpfbe++9Y++9944zzjij1mVXrFgRffv2jaqqqrj62qtj991332CZm266KcrKyuLOO++MJk2axM033xwlJSUxatSoGDZsWIwfPz4OOeSQ2HnnnTe7rQMOOCCWLl0aw4YN2+Aa2UsvvTS+8Y1vxG677RZ77rlntG/fPioqKmrNDwAAUNeKomjmKYPzls6LfXbdJ/l6syyLhQsXxqJFi+Kkk06qdflu3brVfIbovKXzIiJiyJAh6y1zwAEHxK9//esNxrZq1Sruueeemu9r+3zM3XffPX73u9/VfH/kkUfWfN2zZ8/o2bPnBmPaHtI2Ljxn7U2BpkyZst7Yj44HAACoK0VRNAvpySefjLKysigrK4vS0tK48cYbY9q0aRssV1cfCzJ58uS44447Njrvo9d5AgAANBTbfdHs1q1bdOvWreb74cOH1+v2u3fvHt27d6/XbQIAANQlNwMCAAAgKUUTAACApBRNAAAAklI0AQAASKooimZV9apal9nSjzbJu14AAADSKoq7zpY2ahL9Hvi/ydf74Fk/Tb5OAAAANq8oimah/exnP4vHH388qqur45hjjon+/fvHJZdcErvvvns0bdo0TjvttJg4cWIsWbIkjj/++Dj33HPj2muvjf+t+N9oVtosrrzyyjjuuONi3Lhx8corr8T8+fNjwIABMWDAgEL/1wAAAOrddl80//CHP8Ts2bPjoYceipKSkhg2bFiUl5fHW2+9FXfeeWe0adMmHn744XjnnXdi8uTJ0bhx47jiiiviqKOOitFnjo7qJdXRv3//mDRpUkREVFVVxeTJkwv7nwIAACig7b5oTp8+PWbNmhV9+vSJiIgVK1ZElmWx5557Rps2bWqWO+igg6Jx47UP14wZM2LMmDGxNJbGfvvtFx07doyZM2dGRESHDh3q/z8BAABQRLb7olldXR3nnXdeXHDBBRER8cEHH8SCBQvilVde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AICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkchfNG2+8MUaMGFGXWQAAANgG5Cqa06dPj4kTJ9Z1FgAAALYBtRbNJUuWxM033xyDBg2qjzwAAAA0cI1rW2DUqFFx5ZVXxvz587dqA7fMuCV2abHLJueXdSnbqvWWPbt143KtuwgzRWxdLplyjinCTBH289xjZMo3pggzRdjPc4+RKd+YIswUYT/PPUamfGOKMFOE/Tz3mG0oU+Wiyk3O22zRnDBhQuy9997RqVOnePjhh7dq40OPGhpt2rTZqrGbs7U7W12SKR+Z8ivGXDLlI1N+xZhLpnxkyq8Yc8mUj0z5FWMumfLZ2kwVFRVRHuUbnbfZojl58uR499134/TTT4/3338/li1bFjfccEN861vf2qogAAAAbPs2WzTvvvvumq8ffvjhePHFF5VMAAAANsvnaAIAAJBUrTcDWqdPnz7Rp0+fuswCAADANsARTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASCpX0bz11luje/fu0aNHj7j77rvrOhMAAAANWOPaFnjxxRdjxowZ8eijj8bq1auje/fu0blz5/jMZz5TH/kAAABoYGo9onnEEUfEPffcE40bN47FixdHdXV17LTTTvWRDQAAgAYo16mzTZo0idtuuy169OgRnTp1ilatWtV1LgAAABqoWk+dXefyyy+PSy65JAYNGhQPPvhgnHXWWbnG3TLjltilxS6bnF/WpSxvhPXHPbt143KtuwgzRWxdLplyjinCTBH289xjZMo3pggzRdjPc4+RKd+YIswUYT/PPUamfGOKMFOE/Tz3mG0oU+Wiyk3Oq7Vo/utf/4qqqqr4whe+EDvuuGN07do1Xn/99dwbH3rU0GjTpk3u5fPa2p2tLsmUj0z5FWMumfKRKb9izCVTPjLlV4y5ZMpHpvyKMZdM+WxtpoqKiiiP8o3Oq/XU2YqKihg5cmRUVVVFVVVVPPPMM3HooYduVRAAAAC2fbUe0ezcuXPMnDkzevfuHY0aNYquXbtGjx496iMbAAAADVCuazQvv/zyuPzyy+s6CwAAANuAXHedBQAAgLwUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASKpxnoV+/OMfx+OPPx4REZ07d45vfOMbdRoKAACAhqvWI5rTpk2LqVOnxsSJE2PSpEnx6quvxlNPPVUf2QAAAGiAaj2iuddee8WIESOitLQ0IiIOOOCAmDdvXp0HAwAAoGGqtWi2a9eu5us5c+bE5MmTY/z48bk3cMuMW2KXFrtscn5Zl7Lc61pv3LNbNy7XuoswU8TW5ZIp55gizBRhP889RqZ8Y4owU4T9PPcYmfKNKcJMEfbz3GNkyjemCDNF2M9zj9mGMlUuqtzkvFzXaEZE/OMf/4hLL700hg8fHm3bts298aFHDY02bdrkXj6vrd3Z6pJM+ciUXzHmkikfmfIrxlwy5SNTfsWYS6Z8ZMqvGHPJlM/WZqqoqIjyKN/ovFx3nf3zn/8c559/flx99dVxxhlnbFUIAAAAtg+1HtGcP39+XHbZZXHzzTdHp06d6iMTAAAADVitRfMXv/hFrFy5MsaOHVsz7eyzz47+/fvXaTAAAAAaplqL5siRI2PkyJH1kQUAAIBtQK5rNAEAACAvRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJLKXTQrKyujZ8+eUVFRUZd5AAAAaOByFc2ZM2dG//79Y86cOXUcBwAAgIYuV9F88MEHY/To0dGyZcu6zgMAAEAD1zjPQtdff/1Wb+CWGbfELi122eT8si5lW7Xesme3blyudRdhpoityyVTzjFFmCnCfp57jEz5xhRhpgj7ee4xMuUbU4SZIuznucfIlG9MEWaKsJ/nHrMNZapcVLnJebmK5icx9Kih0aZNm+Tr3dqdrS7JlI9M+RVjLpnykSm/YswlUz4y5VeMuWTKR6b8ijGXTPlsbaaKioooj/KNznPXWQAAAJJSNAEAAEhK0QQAACCpLbpGc8qUKXWVAwAAgG2EI5oAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAANucqupVWzSdtBoXOgAAAEBqpY2aRL8H/u8G0x8866cFSLP9cUQTAACApBRNAAAAklI0AQAASErRBAAAIClFEwDYJmzuTpLuMglQv9x1FgDYJmzqDpMR7jIJUN8c0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQatKrqVVs0HQCAute40AEAPonSRk2i3wP/d4PpD5710wKkAQDYtKrqVVHaqEnu6Q2ZoglFant6IgIA2B5sT2+QK5pQpLanJyIAALYtrtEESMx1owDA9s4RTYDEHI0GALZ3uY5olpeXR/fu3ePkk0+O++67r64zAQAA0IDVekTznXfeiZtvvjkefvjhKC0tjbPPPjuOPPLIOPDAA+sjHwBQhNywDIDNqbVoTps2LY466qho3rx5RESccsop8cQTT8TgwYPrOluD4g8uANsTp4izPfD6DrZeSZZl2eYWuOOOO2LZsmVx5ZVXRkTEhAkTYtasWfHd7353syuuqKiIE088MXpd3yt2abHLJpe7/PArY4+dP7XB9OpVK6NRk6YbHbNy9cpo2njDee8t/0/c9sdbN5srj01l2lyuus60uVwy1U2mlLns5588l0x1kyllLvv5J88lU91kSpnLfv7Jc8lUN5lS5rKff/Jc20umykWVUX5teTzzzDPRpk2b9ebVWjT/+7//O5YvX75e0fzrX/8a3/nOdza70XVFc2Mb3Rplz5ZFWZeymu+L4V3Uj2cqBh/NVCzvwjWEn93GMkUUPlcxaAg/v2LQEDIV635ejPuUTBvXEPbzYlHsPz+vETatGPcpz+f5NYSfXzFI9bPbXOer9WZArVq1ikWLFtV8v3DhwmjZsmWtG6XwNvWHwqkeALB98xoBqGu1Fs2jjz46pk+fHu+9914sX748fv/738dxxx1XH9kAAABogGq9GVCrVq3iyiuvjHPPPTdWrVoVZ555ZnTo0KE+sgEAANAA1Vo0IyJ69eoVvXr1qussAAAAbANqPXUWAAAAtoSiCQAAQFK5Tp0tNlXVqzZ6u10fngsAAFB4DbJouiU3ANsTb7ACxc7zVMNVVz87p84CQJHzBitQ7DxPNVx19bNrkEc0AQDYtjgiBtsWRRMAoA4pUPk4IpbPpvandfM8XhQLp84CANQhBYqUNrff2KcoJo5oUq+8qwsUO89TAPDJKZrUq2J8V9cpKPl5Ad5wFet+Xoz7VDE+TwFAQ+PUWbZ7TkHJzwvwhqtY93P7FABsmxRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIqnFdrbi6ujoiIhYsWJBkfZWLKqOioiLJulKRKR+Z8ivGXDLlI1N+xZhLpnxkyq8Yc8mUj0z5FWMumfJJlWld11vX/T6qJMuy7BNvYSNeeumlGDBgQF2sGgAAgCJx3333xWGHHbbetDormitWrIjZs2fHXnvtFY0aNaqLTQAAAFAg1dXV8e6770b79u2jWbNm682rs6IJAADA9snNgAAAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAkmpc6AAb869//SuefPLJWLBgQeywww7RsmXLOPbYY+OQQw4pdLSi8vTTT8f8+fOjc+fO8elPf7pm+gMPPBBnnXVWwXLNmTMndtxxx2jVqlVMmDAhXn/99fjyl78c3bt3L1imYjNr1qzo0KFDRERMnz49nnvuuWjcuHGcfPLJ0bFjx4Llev7556Njx46x2267xaRJk2LWrFlx8MEHR9++fQuSZ8yYMTFkyJD41Kc+VZDtAwCwdYruiOZ9990XV111VUREHHLIIXHwwQdHRMR1110Xd911VyGjFZUf/OAHce+998acOXPi7LPPjkceeaRm3vjx4wuW65e//GVcdNFFcfbZZ8c3v/nNeOyxx2L//feP3/72t3H77bcXLNfHjR07tqDbHz16dESs3d9vuOGGaN26dbRo0SJGjRoV9957b0EyXX/99XHHHXfEypUr45Zbbony8vI48MAD46mnnooxY8YUJNOkSZOiX79+8fvf/74g29+c6dOnx1/+8peIiLjrrrti0KBB8eMf/ziqqqoKlunpp5+OESNGxEUXXRSDBg2KG264oSYjAEB9KsmyLCt0iI865ZRTYtKkSbHjjjuuN3358uVxxhlnxBNPPFGQXPPmzdvs/H322aeekqzVq1evmDhxYjRu3DjmzJkTF154YQwbNixOPfXU6N27d0yaNKle83w010MPPRSLFi2Knj17xowZM6Jp06ZRVVUVZ555Zjz66KP1numb3/zmBtOmTJkSJ5xwQkREfO9736vvSHHGGWfExIkT4/TTT49f/vKXsfvuu0dERGVlZZx55pkF2c+7d+8e5eXl0ahRo+jdu3c8+OCDUVpaGtXV1dGzZ894/PHH6z1T79694wc/+EGUlZXFypUr44ILLogTTjghmjVrVu9ZPur73/9+vPTSS7F69epo06ZNlJSURJ8+fWLKlClRXV1dkGJ+xx13xCuvvBLHHntsTJkyJQ477LBo1qxZTJgwIc4777zo169fvWeC7cXTTz8dJ510UkRETJgwIf7whz/UnKXibB62Fc8//3w88cQT651xeNxxx8Upp5xS6GhFY/Xq1XHffffF/Pnz46STTorDDjusZt64ceNiyJAhBck1bdq02HXXXeMLX/hCjBs3Ll5//fU49NBD48ILL4xGjRrV2XaL7tTZxo0bx+rVqzeYvmLFimjSpEkBEq116aWXxpw5c6Jly5bx8W5eUlISzzzzTL3mybIsSkpKIiKibdu2cccdd8QFF1wQe+yxR830QlizZk2UlpbGvvvuGxdeeGE0bdq0Zl51dXVBMjVv3jwmTZoUgwYNit122y0iImbMmBFHHHFEQfJErH0iWrNmTey5556x00471UwvLS2NHXYozIkGzZo1i8WLF0fLli1jzz33jGXLlkVpaWksX748GjcuzFNFSUlJHHjggXHvvffGtGnT4oEHHojrr78+2rZtG61bt44f/vCHBcn1/PPPxyOPPBJVVVXRuXPnmDp1ajRp0iSOO+64OP300wuSafLkyTFp0qQoKSmJvn37xiWXXBL33HNP9O3bN/r161fQounFSe28OPlkrrrqqvjRj35UsO3ffvvtcdJJJ8W4cePipZdeioEDB0aWZfHAAw/E66+/HldeeWW9Z1q9enU89NBDcfLJJ8euu+4aP/vZz+Kvf/1rHHzwwXHppZeu9/e5vgwaNCiuvfba2G+//ep925uyevXqmDRpUjRr1ixOOeWU+N73vhd/+tOfon379jF8+PBo3rx5QXKtWbMm7rnnnnjmmWfi3XffjSZNmsSnP/3p6N69e/To0aPe89x6660xa9asOO2006Jly5YREbFw4cJ46KGH4pVXXonhw4fXe6Y//elPm51/+OGH11OS/9+oUaNizZo18dnPfja+8Y1vRL9+/WLQoEERsfYgRyGey2+66aZ4+eWXo7KysuY1Xv/+/eOJJ56IG264Ia677ro623bRFc1BgwZF7969o1OnTrHXXntFRMS7774bM2bMKMgT9Tq/+c1v4pxzzonRo0fHoYceWrAc63Tr1i0GDhwYI0aMiA4dOkS7du3i1ltvjcGDBxf01L2uXbvG1772tbjnnntqfplee+21GDlyZJx66qkFyTR8+PA47rjj4pZbbomrrroqjjzyyPjVr34VZ5xxRkHyRETsvvvu0blz5ygpKYnRo0fH2LFjY/r06XHTTTdFt27dCpJp8ODBceaZZ0aPHj3iM5/5TAwcODA6deoUU6dOjYsvvrggmT76ps7RRx8dRx99dKxatSpef/31mDt3bkEyrcu1dOnSWLZsWaxYsSIqKytj9913jxUrVsSqVasKkmnlypWxfPny2GmnnWLFihWxZMmSiIjYaaedCvbmRURxvjip7YyP3r1710uOj/LiJL+BAwdu8Ibq7Nmz49xzz42IiHvuuacQsSIi4qmnnooJEybUlLguXbpEz549C/L6Zd3v1imnnBI33nhjLFu2LM4555x49tln41vf+lZB3qibOXNmzeU1AwcOLOgBhHVGjhwZy5Yti6qqqrj33nujQ4cOcfPNN8czzzwTo0aNittuu60gucaOHRurVq2Kiy++OJ588sn4/Oc/H3vvvXfcc889MWfOnLjsssvqNc/kyZPj8ccf3+DvSc+ePaNnz54FeS6//fbb45VXXokOHTps9CBQIZ4LZs+eXXP2Xu/eveP888+PZs2axfnnn79Bxvry3HPPRXl5eSxZsiROPvnkePHFF2OHHXaI4447rs7/3hVd0ezVq1ccccQRMX369Fi4cGFkWRaHHXZYDBkyJFq1alWwXLvsskuMGTMmJkyYUBRFc/DgwXHooYfGzjvvXDPt0EMPjYcffrig17JeccUV8ac//Wm9d7pLS0tjyJAh0blz54Ll6tSpU3zhC1+I0aNHx7PPPluwo6vrrHvye/PNN+ODDz6IiLWP0+WXXx5dunQpSKYTTjgh2rVrF08//XT8+9//ji9+8Yux8847x9ixY2tuXFTfBgwYsMG0Jk2aRPv27aN9+/YFSLTWJZdcEl27do0sy2LYsGFx4YUXRqdOnWL69OkFu3FSnz59on///nHMMcfE1KlTo0+fPvH222/HZZddFj179ixIpojifHEyY8aMePLJJzf5pk4hiqYXJ/l169Ytfvazn8XQoUNj3333jSzL4rrrrovBgwcXLNOyZcti0aJFsc8++8SyZctqiuaKFSsKdkbIG2+8EeXl5RGx9sjPI488EiUlJdG5c+eCnc7bqlWruPPOO+P73/9+dO3aNfr37x89evSIfffdtyB5IiJeffXVKC8vj+rq6ujcuXPNfS4OPPDAgp2hErH2eWrdc8Kxxx4bAwYMiN/85jfRuXPnOO200+q9aDZt2jQWLFiwwaVi8+bNi9LS0nrNss7Pf/7zOPfcc+O8886LE088sSAZPi7Lsli2bFnstNNOsccee8TPf/7z6N+/f+y5554FPeOwqqoqdt999xg+fHjN3+MPP/xwo2eRJpXBdubBBx/MLrjggkLHoIFbvnx5VllZmWVZlr322mvZnXfemU2dOrWgmaZNm5bdeeed2bRp07Isy7LKysrstddeK2imXr16ZW+//fYG0//3f/83O+200wqQaK1LL700mzBhQsG2/3E9e/bMPvzww5rvFyxYkB1//PHZo48+mvXu3bsgmXr06JGtWLEiy7K1z5vrLF26NOvevXtBMq3zj3/8IzvnnHOyiRMnZlmWFewxWmfEiBFZz549s0MPPTQbPHhwlmVZ9uSTT2ZdunTJ7r///oJk6tevX/bGG29kWZZll112Wc3v4YIFC7LTTz+9IJk++nN66623shtvvDHr2rVr1rlz5+yss84qSKbTTjste/PNN7OZM2dmHTp0yObOnZtlWZYtXry4oPt59+7ds0WLFmVZtvZntu6xq6yszHr06FHveV544YWsS5cu2fnnn58NGzYsGzZsWHb++ednXbp0yaZPn17vedZ58803s5tuuqlg2/+48ePHZ127dq35O5xlWfbPf/4z69KlS3bIIYcUJNN9992Xde3aNVu9enXNtD//+c/Z8ccfnz3wwAN1uu2iuxkQANuOadOmxbXXXhtt27Zd73KIOXPmxPe+97046qijCpJr4cKFUV5eHhdddFFBtv9xDzzwQNx1111RVlYWnTp1ioi1H/V18cUXx+LFi2PWrFn1nun++++PX/3qVzF58uSas1RefvnluOaaa2LQoEEFv8FUVVVV/OhHP4p58+bFv/71r3jssccKmidi7Y0LFy1aFPvtt1+88cYbkWVZfO5znytIlr/85S8xZMiQ+PKXvxw77rhjvPDCC9GxY8d49dVX49vf/nZBzjLa1M0K//Of/8TcuXMLcvbM1KlTY+TIkbFmzZoYNWpU/PCHP4zPfvaz8de//jUuv/zygh29f/jhh+PWW2+NL33pSzFz5sy4+uqr45BDDonzzjsvhgwZUpCzZx577LF46623olGjRrHffvtFq1atomPHjjFx4sSCfaxeMX7U389//vOoqqqKXr161WSqrKyM+++/P/7rv/6rIJl++ctfRqNGjWoepwULFsTSpUvj5ZdfrtPHSdEEoE6tXLkyZs2aVXM5xLoXJ4U63arY7iK+zpw5c6K0tHS97VdWVsZDDz0U559/fkEyVVRURJs2bWq+X/fipF27dgXJszEvvPBCPPbYY3HDDTcULEOx7lOVlZUxbdq0+Pe//x3V1dXRokWLOOaYY6J169YFyfPcc88V9DKaPBYtWhQvvfRStGvXLg444ICCZnnrrbfi9ddfj89//vPRtm3bqKqqimXLlhXkBkU/+MEP4tVXX43PfOYzMXny5BgxYkTNqcXr7qRfiEyzZ8+OAw44IB5//PEYPny4TEWWqeiu0QRg27HuBfi+++673nVYixYtiojCvAAvtruIR6x/ndPHS0vXrl3rPc+6HDvssMMGeXbeeeeYN29ewcrTx/Psv//+MXjw4Jrp9qm11j0eH7+mfc2aNQX7+bVr126zpbwQmTaWZ92R1ULv502bNl0vyzrLli2r91zPPfdczcfqDRw4MC688MIoLS2NU089taDXkRdjpkmTJkWjRo2KKlOhHidFE4A6U4wvwIvtLuIRxfk4FWOmTeUqKSmp+dgv+9Raxfg4FeM+VYyZijFXVoQfq1esmdYppkwFe5zq9ApQALZrS5cuzXr16pW99NJLhY6ynpkzZ2YjR44sdIwaxfg4FWOmLCveXPap2smUX7HlGjduXNa/f/9s5syZNdNeeuml7Kijjsq+/OUvyyTTRrlGE4A6NWvWrJgwYUJ897vfLXSUolaMj1MxZooo3lzFphgfJ5nyK7Zc06dPj5YtW6537er8+fPjrrvuimuvvVYmmTagaAIAAJDUDrUvAgAAAPkpmgAAACSlaAIAAJCUogkAAEBS/x+ie/MBveAjMAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_lr = results_lr.head(35)\n", + "results_lr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 267, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 268, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.440892098500626e-16" + ] + }, + "execution_count": 268, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_lr=np.mean(results_lr.error)\n", + "meanerror_lr" + ] + }, + { + "cell_type": "code", + "execution_count": 269, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.272622
15.254613
25.097628
35.200779
45.062655
55.158872
65.022119
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.272622\n", + "1 5.254613\n", + "2 5.097628\n", + "3 5.200779\n", + "4 5.062655\n", + "5 5.158872\n", + "6 5.022119" + ] + }, + "execution_count": 269, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 270, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/lr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 271, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.10545454545454558\n", + "Adjusted R^2: -0.28590909090909067\n", + "MAE: 0.14166666666666672\n", + "MSE: 0.06833333333333333\n", + "RMSE: 0.2614064523559687\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 272, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.00.0
15.05.00.0
25.05.00.0
35.05.2-0.2
45.05.2-0.2
55.05.00.0
65.05.2-0.2
75.05.00.0
85.05.00.0
95.05.2-0.2
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.0 0.0\n", + "1 5.0 5.0 0.0\n", + "2 5.0 5.0 0.0\n", + "3 5.0 5.2 -0.2\n", + "4 5.0 5.2 -0.2\n", + "5 5.0 5.0 0.0\n", + "6 5.0 5.2 -0.2\n", + "7 5.0 5.0 0.0\n", + "8 5.0 5.0 0.0\n", + "9 5.0 5.2 -0.2" + ] + }, + "execution_count": 272, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 273, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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stb2vb0KMVOWFWYumXIjU+4KMZdMuclHpm7XTdrkv3xnykUh5pIpNzLlrq5zbe71oD68JuzImbbU+bIsy2q8dLZp06bRvn372HvvvSMi4tRTT405c+ZEnz59PnUD3mCnBiXx1ui+yfa3wcHDfpt8nyl94QtfiDfeeGOL6+fPnx8/+9nP4uabb855ny8890Is/OfCuPrqq1NEBAAA2GY13gzo5JNPjunTp8eHH34YVVVV8fzzz8fhhx9eF9k+8xYuXBjz58/fpjFf6/A1JRMAAMirGs9otmvXLi699NI477zzYs2aNfG1r30t+vZNf/YxXwYPHhxHHXVUnHPOORERMWDAgLjhhhuiXbt2m2w7dOjQKCoqijfffDMqKiqi30X94sJzL4xx48bFK6+8EosWLYr+/fvHCSecEKWlpbFs2bJo3Lhx3HTTTXHYYYdFeXl5DB48OFasWLHZ/X/SqFGjory8PL797W9H586d49Zbb41169ZF69at47rrrosbb7wxli9fHu+++2507do1brjhhniq7Kl4c86bMWbMmDjllFOiR48eMX369Fi5cmXccsst0aZNm+SPIQAAwMfVWDQjIs4666w466yzajtLXvTt2zfGjRsX55xzTixYsCDef//9rZbAd955Jx566KF47733olfvXtH11K4REVFZWRmTJ0+OiIhzzz03RowYEYcddlj84x//iCuuuCKmTJkS3/3ud6NPnz7x9a9/PSZNmhTjx4/farbhw4fHT37ykxg5cmT88Y9/jHnz5sX//M//xO677x6//OUvo1u3btG7d+9Yvnx5dOjQIS6++OJN9tGkSZN45JFH4te//nXceeedMW7cuE/xaAEAANSsxktnd3THHntsLFmyJMrLy2PSpEnRs2fPrW7fp0+faNiwYbRo0SLatGsTf/7znyMiom3bthER8dFHH8XcuXPjW9/6VvTs2TOuv/76WLFiRfz73/+OF198Mc4888yIiOjRo0c0bNhwm7IedNBBsfvu6+8oe8kll8R+++0Xv/zlL2P06NGxZs2aWLly5SZjTjzxxIiIaN26dSxbtmybjgcAALA9cjqjuSMrKiqKXr16xRNPPBFPPfVU3HXXXVvdvri4uPrrdevWRYMG6x/Cxo0bVy8rKSmJxx57rHq7xYsXR5MmTSIiIvt/nyZTVFRU40fEfNKGY0REjBkzJubP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FWIumXIjU+4KMZdMuZEpd4WYS6bcyJS7QswlU262N1N5eXmURdlm1+V019k///nPceGFF8b1118fvXv33q4QAAAAfDbUeEZz0aJFccUVV8TYsWOjffv2dZEJAACAeqzGovnLX/4yVq9eHWPGjKledu6550a/fv1qNRgAAAD1U41Fc/jw4TF8+PC6yAIAAMAOIKf3aAIAAECuFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJLKuWhWVFREt27dory8vDbzAAAAUM/lVDRnz54d/fr1i3nz5tVyHAAAAOq7nIrmww8/HCNHjoxmzZrVdh4AAADquQa5bDR69OjazgEAAMAOIqei+WncNuu22K3pbltcX9qxdLv2W/rs9o3Lad8FmCli+3LJlOOYAswUYZ7nPEam3MYUYKYI8zznMTLlNqYAM0WY5zmPkSm3MQWYKcI8z3nMDpSpYmnFFtfVetG85rhromXLlsn3u72TrTbJlBuZcleIuWTKjUy5K8RcMuVGptwVYi6ZciNT7goxl0y52d5M5eXlURZlm13n400AAABIStEEAAAgqW26dHbatGm1lQMAAIAdhDOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomALBDqKxas13rgB3Tlv7dez2oGw3yHQAAIIWS4oZx9vj/2uy6h8/5WR2nAfJtS68JXg/qhjOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQVE5Fs6ysLLp06RKnn356PPDAA7WdCQAAgHqsQU0bvPPOOzF27Nh49NFHo6SkJM4999w49thj49BDD62LfAAAANQzNZ7RnDFjRhx33HHRpEmT2GWXXeKMM86Ip556qi6yAQAAUA8VZVmWbW2DO++8M1asWBHXXnttRERMmDAh5syZE9/97ne3uuPy8vI49dRTo/vo7rFb0922uN1VR18be++65ybLq9asjuKGjTY7ZvWaldGo4c6bLH923rPx7Lxnt5orF1vKtLVctZ1pa7nqVaa1q6NRg02Xv7/y3/HjP95eUJlS5tph5nkhPn+FOM8LMVOhzvNanlM7zDwvxEzmeU6ZtpYrr/O8EJ8/mXLLVKjz3O8tuWUqxDn1KTJVLK2IsmFlMXXq1GjZsuVG62osmv/93/8dK1eu3Kho/vWvf43vfOc7Wz3ohqK5uYNuj9JnS6O0Y+mn3k9KMuXmk5nOHv9fm2zz8Dk/q8NEuWWKyH+uQlAfnr9CUB8yFeo8L8Q5JdPm1Yd5Xig8f7mRKTf15fW8EMiUm1SZttb5arx0tnnz5rF06dLq75csWRLNmjX71KEAAADYMdVYNI8//viYOXNmvP/++7Fy5cr4/e9/HyeddFJdZAMAAKAeqvGus82bN49rr702zj///FizZk2cddZZ0bZt27rIBgAAQD1UY9GMiOjevXt07969trMAAACwA6jx0lkAAADYFoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJNch3AD5bKqvWxMPn/Gyzy0uKG+Yh0ZYzbViXr1yFqBCfP3JTqPO8EOeUTKTm+SOlQn09h09yRpM6taUXv3y+KG7t2F6sN1aIzx+5KdR5XohzSiZS8/yRUqG+nsMnKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJBUg9racVVVVURELF68OMn+KpZWRHl5eZJ9pSJTbmTKXSHmkik3MuWuEHPJlBuZcleIuWTKjUy5K8RcMuUmVaYNXW9D9/u4oizLsk99hM146aWXon///rWxawAAAArEAw88EEcdddRGy2qtaK5atSrmzp0b++67bxQXF9fGIQAAAMiTqqqqePfdd6NNmzbRuHHjjdbVWtEEAADgs8nNgAAAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAkmqQ7wCb889//jOmTJkSixcvjp122imaNWsWJ554YhxxxBH5jlZQnnnmmVi0aFF06NAhPve5z1UvHz9+fJxzzjl5yzVv3rzYeeedo3nz5jFhwoR444034qtf/Wp06dIlb5kKzZw5c6Jt27YRETFz5sx47rnnokGDBnH66adHu3bt8pbr+eefj3bt2sUee+wRkyZNijlz5sThhx8effv2zUueUaNGxaBBg2LPPffMy/EBANg+BXdG84EHHojrrrsuIiKOOOKIOPzwwyMi4qabboq77747n9EKyg9+8IO4//77Y968eXHuuefGY489Vr3uoYceyluue++9Ny655JI499xz41vf+lY88cQTcdBBB8Vvf/vbuOOOO/KW65PGjBmT1+OPHDkyItbP95tvvjlatGgRTZs2jREjRsT999+fl0yjR4+OO++8M1avXh233XZblJWVxaGHHhpPP/10jBo1Ki+ZJk2aFGeffXb8/ve/z8vxt2bmzJnxl7/8JSIi7r777hg4cGD85Cc/icrKyrxleuaZZ2Lo0KFxySWXxMCBA+Pmm2+uzggAUJeKsizL8h3i484444yYNGlS7LzzzhstX7lyZfTu3TueeuqpvORauHDhVtfvv//+dZRkve7du8fEiROjQYMGMW/evLj44otj8ODBceaZZ0avXr1i0qRJdZrn47keeeSRWLp0aXTr1i1mzZoVjRo1isrKyjjrrLPi8ccfr/NM3/rWtzZZNm3atDjllFMiIuJ73/teXUeK3r17x8SJE6Nnz55x7733xl577RURERUVFXHWWWflZZ536dIlysrKori4OHr16hUPP/xwlJSURFVVVXTr1i2efPLJOs/Uq1ev+MEPfhClpaWxevXquOiii+KUU06Jxo0b13mWj/v+978fL730UqxduzZatmwZRUVF0adPn5g2bVpUVVXlpZjfeeed8corr8SJJ54Y06ZNi6OOOioaN24cEyZMiAsuuCDOPvvsOs8EnxXPPPNMnHbaaRERMWHChPjDH/5QfZWKq3nYUTz//PPx1FNPbXTF4UknnRRnnHFGvqMVjLVr18YDDzwQixYtitNOOy2OOuqo6nXjxo2LQYMG5SXXjBkzYvfdd48vfelLMW7cuHjjjTfiyCOPjIsvvjiKi4tr7bgFd+lsgwYNYu3atZssX7VqVTRs2DAPida7/PLLY968edGsWbP4ZDcvKiqKqVOn1mmeLMuiqKgoIiJatWoVd955Z1x00UWx9957Vy/Ph3Xr1kVJSUkccMABcfHFF0ejRo2q11VVVeUlU5MmTWLSpEkxcODA2GOPPSIiYtasWXHMMcfkJU/E+heidevWxT777BO77LJL9fKSkpLYaaf8XGjQuHHjeO+996JZs2axzz77xIoVK6KkpCRWrlwZDRrk56WiqKgoDj300Lj//vtjxowZMX78+Bg9enS0atUqWrRoET/84Q/zkuv555+Pxx57LCorK6NDhw4xffr0aNiwYZx00knRs2fPvGSaPHlyTJo0KYqKiqJv375x2WWXxX333Rd9+/aNs88+O69F0y8nNfPLyadz3XXXxY9+9KO8Hf+OO+6I0047LcaNGxcvvfRSDBgwILIsi/Hjx8cbb7wR1157bZ1nWrt2bTzyyCNx+umnx+677x4///nP469//Wscfvjhcfnll2/0/+e6MnDgwBg2bFgceOCBdX7sLVm7dm1MmjQpGjduHGeccUZ873vfiz/96U/Rpk2bGDJkSDRp0iQvudatWxf33XdfTJ06Nd59991o2LBhfO5zn4suXbpE165d6zzP7bffHnPmzIkePXpEs2bNIiJiyZIl8cgjj8Qrr7wSQ4YMqfNMf/rTn7a6/uijj66jJP/fiBEjYt26dfH5z38+vvnNb8bZZ58dAwcOjIj1Jzny8Vp+6623xssvvxwVFRXVv+P169cvnnrqqbj55pvjpptuqrVjF1zRHDhwYPTq1Svat28f++67b0REvPvuuzFr1qy8vFBv8Jvf/CbOO++8GDlyZBx55JF5y7FB586dY8CAATF06NBo27ZttG7dOm6//fa48sor83rpXqdOneI//uM/4r777qv+x/T666/H8OHD48wzz8xLpiFDhsRJJ50Ut912W1x33XVx7LHHxq9+9avo3bt3XvJEROy1117RoUOHKCoqipEjR8aYMWNi5syZceutt0bnzp3zkunKK6+Ms846K7p27RoHH3xwDBgwINq3bx/Tp0+PSy+9NC+ZPv5HneOPPz6OP/74WLNmTbzxxhsxf/78vGTakGv58uWxYsWKWLVqVVRUVMRee+0Vq1atijVr1uQl0+rVq2PlypWxyy67xKpVq2LZsmUREbHLLrvk7Y8XEYX5y0lNV3z06tWrTnJ8nF9OcjdgwIBN/qA6d+7cOP/88yMi4r777stHrIiIePrpp2PChAnVJa5jx47RrVu3vPz+suHf1hlnnBG33HJLrFixIs4777x49tln48Ybb8zLH+pmz55d/faaAQMG5PUEwgbDhw+PFStWRGVlZdx///3Rtm3bGDt2bEydOjVGjBgRP/7xj/OSa8yYMbFmzZq49NJLY8qUKfHFL34x9ttvv7jvvvti3rx5ccUVV9RpnsmTJ8eTTz65yf9PunXrFt26dcvLa/kdd9wRr7zySrRt23azJ4Hy8Vowd+7c6qv3evXqFRdeeGE0btw4Lrzwwk0y1pXnnnsuysrKYtmyZXH66afHiy++GDvttFOcdNJJtf7/u4Irmt27d49jjjkmZs6cGUuWLIksy+Koo46KQYMGRfPmzfOWa7fddotRo0bFhAkTCqJoXnnllXHkkUfGrrvuWr3syCOPjEcffTSv72W9+uqr409/+tNGf+kuKSmJQYMGRYcOHfKWq3379vGlL30pRo4cGc8++2zezq5usOHF76233ooPP/wwItY/TldddVV07NgxL5lOOeWUaN26dTzzzDPxr3/9K7785S/HrrvuGmPGjKm+cVFd69+//ybLGjZsGG3atIk2bdrkIdF6l112WXTq1CmyLIvBgwfHxRdfHO3bt4+ZM2fm7cZJffr0iX79+sUJJ5wQ06dPjz59+sSCBQviiiuuiG7duuUlU0Rh/nIya9asmDJlyhb/qJOPoumXk9x17tw5fv7zn8c111wTBxxwQGRZFjfddFNceeWVecu0YsWKWLp0aey///6xYsWK6qK5atWqvF0R8uabb0ZZWVlErD/z89hjj0VRUVF06NAhb5fzNm/ePO666674/ve/H506dYp+/fpF165d44ADDshLnoiIV199NcrKyqKqqio6dOhQfZ+LQw89NG9XqESsf53a8Jpw4oknRv/+/eM3v/lNdOjQIXr06FHnRbNRo0axePHiTd4qtnDhwigpKanTLBv84he/iPPPPz8uuOCCOPXUU/OS4ZOyLIsVK1bELrvsEnvvvXf84he/iH79+sU+++yT1ysOKysrY6+99oohQ4ZU///4o48+2uxVpEll8Bnz8MMPZxdddFG+Y1DPrVy5MquoqMiyLMtef/317K677sqmT5+e10wzZszI7rrrrmzGjBlZlmVZRUVF9vrrr+c1U/fu3bMFCxZssvx///d/sx49euQh0XqXX355NmHChLwd/5O6deuWffTRR9XfL168ODv55JOzxx9/POvVq1deMnXt2jVbtWpVlmXrXzc3WL58edalS5e8ZNrg73//e3beeedlEydOzLIsy9tjtMHQoUOzbt26ZUceeWR25ZVXZlmWZVOmTMk6duyYPfjgg3nJdPbZZ2dvvvlmlmVZdsUVV1T/O1y8eHHWs2fPvGT6+PP09ttvZ7fcckvWqVOnrEOHDtk555yTl0w9evTI3nrrrWz27NlZ27Zts/nz52dZlmXvvfdeXud5ly5dsqVLl2ZZtv452/DYVVRUZF27dq3zPC+88ELWsWPH7MILL8wGDx6cDR48OLvwwguzjh07ZjNnzqzzPBu89dZb2a233pq343/SQw89lHXq1Kn6/8NZlmX/+Mc/so4dO2ZHHHFEXjI98MADWadOnbK1a9dWL/vzn/+cnXzyydn48eNr9dgFdzMgAHYcM2bMiGHDhkWrVq02ejvEvHnz4nvf+14cd9xxecm1ZMmSKCsri0suuSQvx/+k8ePHx9133x2lpaXRvn37iFj/UV+XXnppvPfeezFnzpw6z/Tggw/Gr371q5g8eXL1VSovv/xy3HDDDTFw4MC832CqsrIyfvSjH8XChQvjn//8ZzzxxBN5zROx/saFS5cujQMPPDDefPPNyLIsvvCFL+Qly1/+8pcYNGhQfPWrX42dd945XnjhhWjXrl28+uqr8e1vfzsvVxlt6WaF//73v2P+/Pl5uXpm+vTpMXz48Fi3bl2MGDEifvjDH8bnP//5+Otf/xpXXXVV3s7eP/roo3H77bfHV77ylZg9e3Zcf/31ccQRR8QFF1wQgwYNysvVM0888US8/fbbUVxcHAceeGA0b9482rVrFxMnTszbx+oV4kf9/eIXv4jKysro3r17daaKiop48MEH4z//8z/zkunee++N4uLi6sdp8eLFsXz58nj55Zdr9XFSNAGoVatXr445c+ZUvx1iwy8n+brcqtDuIr7BvHnzoqSkZKPjV1RUxCOPPBIXXnhhXjKVl5dHy5Ytq7/f8MtJ69at85Jnc1544YV44okn4uabb85bhkKdUxUVFTFjxoz417/+FVVVVdG0adM44YQTokWLFnnJ89xzz+X1bTS5WLp0abz00kvRunXrOOSQQ/Ka5e2334433ngjvvjFL0arVq2isrIyVqxYkZcbFP3gBz+IV199NQ4++OCYPHlyDB06tPrS4g130s9Hprlz58YhhxwSTz75ZAwZMkSmAstUcO/RBGDHseEX8AMOOGCj92EtXbo0IvLzC3ih3UU8YuP3OX2ytHTq1KnO82zIsdNOO22SZ9ddd42FCxfmrTx9Ms9BBx0UV155ZfVyc2q9DY/HJ9/Tvm7durw9f61bt95qKc9Hps3l2XBmNd/zvFGjRhtl2WDFihV1nuu5556r/li9AQMGxMUXXxwlJSVx5pln5vV95IWYadKkSVFcXFxQmfL1OCmaANSaQvwFvNDuIh5RmI9TIWbaUq6ioqLqj/0yp9YrxMepEOdUIWYqxFxZAX6sXqFm2qCQMuXtcarVd4AC8Jm2fPnyrHv37tlLL72U7ygbmT17djZ8+PB8x6hWiI9TIWbKssLNZU7VTKbcFVqucePGZf369ctmz55dveyll17KjjvuuOyrX/2qTDJtlvdoAlCr5syZExMmTIjvfve7+Y5S0ArxcSrETBGFm6vQFOLjJFPuCi3XzJkzo1mzZhu9d3XRokVx9913x7Bhw2SSaROKJgAAAEntVPMmAAAAkDtFEwAAgKQUTQAAAJJSNAEAAEjq/wJWgFpQC3RLwQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 275, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.008333333333333415" + ] + }, + "execution_count": 275, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 276, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.272622
15.254613
25.097628
35.200779
45.062655
55.158872
65.022119
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.272622\n", + "1 5.254613\n", + "2 5.097628\n", + "3 5.200779\n", + "4 5.062655\n", + "5 5.158872\n", + "6 5.022119" + ] + }, + "execution_count": 276, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 277, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 278, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'pipeline_gbr' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mpred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpipeline_gbr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mX_train\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpipelines\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"R^2:\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mr2_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Adjusted R^2:\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m1\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mr2_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mX_test\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"MAE:\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmean_absolute_error\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"MSE:\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmean_squared_error\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_train\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'pipeline_gbr' is not defined" + ] + } + ], + "source": [ + "pred = pipeline_gbr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 279, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
05.05.00.0
15.05.00.0
25.05.00.0
35.05.2-0.2
45.05.2-0.2
55.05.00.0
65.05.2-0.2
75.05.00.0
85.05.00.0
95.05.2-0.2
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 5.0 5.0 0.0\n", + "1 5.0 5.0 0.0\n", + "2 5.0 5.0 0.0\n", + "3 5.0 5.2 -0.2\n", + "4 5.0 5.2 -0.2\n", + "5 5.0 5.0 0.0\n", + "6 5.0 5.2 -0.2\n", + "7 5.0 5.0 0.0\n", + "8 5.0 5.0 0.0\n", + "9 5.0 5.2 -0.2" + ] + }, + "execution_count": 279, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgbr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgbr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 280, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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stb2vb0KMVOWFWYumXIjU+4KMZdMuclHpm7XTdrkv3xnykUh5pIpNzLlrq5zbe71oD68JuzImbbU+bIsy2q8dLZp06bRvn372HvvvSMi4tRTT405c+ZEnz59PnUD3mCnBiXx1ui+yfa3wcHDfpt8nyl94QtfiDfeeGOL6+fPnx8/+9nP4uabb855ny8890Is/OfCuPrqq1NEBAAA2GY13gzo5JNPjunTp8eHH34YVVVV8fzzz8fhhx9eF9k+8xYuXBjz58/fpjFf6/A1JRMAAMirGs9otmvXLi699NI477zzYs2aNfG1r30t+vZNf/YxXwYPHhxHHXVUnHPOORERMWDAgLjhhhuiXbt2m2w7dOjQKCoqijfffDMqKiqi30X94sJzL4xx48bFK6+8EosWLYr+/fvHCSecEKWlpbFs2bJo3Lhx3HTTTXHYYYdFeXl5DB48OFasWLHZ/X/SqFGjory8PL797W9H586d49Zbb41169ZF69at47rrrosbb7wxli9fHu+++2507do1brjhhniq7Kl4c86bMWbMmDjllFOiR48eMX369Fi5cmXccsst0aZNm+SPIQAAwMfVWDQjIs4666w466yzajtLXvTt2zfGjRsX55xzTixYsCDef//9rZbAd955Jx566KF47733olfvXtH11K4REVFZWRmTJ0+OiIhzzz03RowYEYcddlj84x//iCuuuCKmTJkS3/3ud6NPnz7x9a9/PSZNmhTjx4/farbhw4fHT37ykxg5cmT88Y9/jHnz5sX//M//xO677x6//OUvo1u3btG7d+9Yvnx5dOjQIS6++OJN9tGkSZN45JFH4te//nXceeedMW7cuE/xaAEAANSsxktnd3THHntsLFmyJMrLy2PSpEnRs2fPrW7fp0+faNiwYbRo0SLatGsTf/7znyMiom3bthER8dFHH8XcuXPjW9/6VvTs2TOuv/76WLFiRfz73/+OF198Mc4888yIiOjRo0c0bNhwm7IedNBBsfvu6+8oe8kll8R+++0Xv/zlL2P06NGxZs2aWLly5SZjTjzxxIiIaN26dSxbtmybjgcAALA9cjqjuSMrKiqKXr16xRNPPBFPPfVU3HXXXVvdvri4uPrrdevWRYMG6x/Cxo0bVy8rKSmJxx57rHq7xYsXR5MmTSIiIvt/nyZTVFRU40fEfNKGY0REjBkzJubP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FWIumXIjU+4KMZdMuZEpd4WYS6bcyJS7QswlU262N1N5eXmURdlm1+V019k///nPceGFF8b1118fvXv33q4QAAAAfDbUeEZz0aJFccUVV8TYsWOjffv2dZEJAACAeqzGovnLX/4yVq9eHWPGjKledu6550a/fv1qNRgAAAD1U41Fc/jw4TF8+PC6yAIAAMAOIKf3aAIAAECuFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJJSNAEAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAklI0AQAASErRBAAAIClFEwAAgKQUTQAAAJLKuWhWVFREt27dory8vDbzAAAAUM/lVDRnz54d/fr1i3nz5tVyHAAAAOq7nIrmww8/HCNHjoxmzZrVdh4AAADquQa5bDR69OjazgEAAMAOIqei+WncNuu22K3pbltcX9qxdLv2W/rs9o3Lad8FmCli+3LJlOOYAswUYZ7nPEam3MYUYKYI8zznMTLlNqYAM0WY5zmPkSm3MQWYKcI8z3nMDpSpYmnFFtfVetG85rhromXLlsn3u72TrTbJlBuZcleIuWTKjUy5K8RcMuVGptwVYi6ZciNT7goxl0y52d5M5eXlURZlm13n400AAABIStEEAAAgqW26dHbatGm1lQMAAIAdhDOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomALBDqKxas13rgB3Tlv7dez2oGw3yHQAAIIWS4oZx9vj/2uy6h8/5WR2nAfJtS68JXg/qhjOaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQVE5Fs6ysLLp06RKnn356PPDAA7WdCQAAgHqsQU0bvPPOOzF27Nh49NFHo6SkJM4999w49thj49BDD62LfAAAANQzNZ7RnDFjRhx33HHRpEmT2GWXXeKMM86Ip556qi6yAQAAUA8VZVmWbW2DO++8M1asWBHXXnttRERMmDAh5syZE9/97ne3uuPy8vI49dRTo/vo7rFb0922uN1VR18be++65ybLq9asjuKGjTY7ZvWaldGo4c6bLH923rPx7Lxnt5orF1vKtLVctZ1pa7nqVaa1q6NRg02Xv7/y3/HjP95eUJlS5tph5nkhPn+FOM8LMVOhzvNanlM7zDwvxEzmeU6ZtpYrr/O8EJ8/mXLLVKjz3O8tuWUqxDn1KTJVLK2IsmFlMXXq1GjZsuVG62osmv/93/8dK1eu3Kho/vWvf43vfOc7Wz3ohqK5uYNuj9JnS6O0Y+mn3k9KMuXmk5nOHv9fm2zz8Dk/q8NEuWWKyH+uQlAfnr9CUB8yFeo8L8Q5JdPm1Yd5Xig8f7mRKTf15fW8EMiUm1SZttb5arx0tnnz5rF06dLq75csWRLNmjX71KEAAADYMdVYNI8//viYOXNmvP/++7Fy5cr4/e9/HyeddFJdZAMAAKAeqvGus82bN49rr702zj///FizZk2cddZZ0bZt27rIBgAAQD1UY9GMiOjevXt07969trMAAACwA6jx0lkAAADYFoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJNch3AD5bKqvWxMPn/Gyzy0uKG+Yh0ZYzbViXr1yFqBCfP3JTqPO8EOeUTKTm+SOlQn09h09yRpM6taUXv3y+KG7t2F6sN1aIzx+5KdR5XohzSiZS8/yRUqG+nsMnKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJCUogkAAEBSiiYAAABJKZoAAAAkpWgCAACQlKIJAABAUoomAAAASSmaAAAAJKVoAgAAkJSiCQAAQFKKJgAAAEkpmgAAACSlaAIAAJBUg9racVVVVURELF68OMn+KpZWRHl5eZJ9pSJTbmTKXSHmkik3MuWuEHPJlBuZcleIuWTKjUy5K8RcMuUmVaYNXW9D9/u4oizLsk99hM146aWXon///rWxawAAAArEAw88EEcdddRGy2qtaK5atSrmzp0b++67bxQXF9fGIQAAAMiTqqqqePfdd6NNmzbRuHHjjdbVWtEEAADgs8nNgAAAAEhK0QQAACApRRMAAICkFE0AAACSUjQBAABIStEEAAAgKUUTAACApBRNAAAAkmqQ7wCb889//jOmTJkSixcvjp122imaNWsWJ554YhxxxBH5jlZQnnnmmVi0aFF06NAhPve5z1UvHz9+fJxzzjl5yzVv3rzYeeedo3nz5jFhwoR444034qtf/Wp06dIlb5kKzZw5c6Jt27YRETFz5sx47rnnokGDBnH66adHu3bt8pbr+eefj3bt2sUee+wRkyZNijlz5sThhx8effv2zUueUaNGxaBBg2LPPffMy/EBANg+BXdG84EHHojrrrsuIiKOOOKIOPzwwyMi4qabboq77747n9EKyg9+8IO4//77Y968eXHuuefGY489Vr3uoYceyluue++9Ny655JI499xz41vf+lY88cQTcdBBB8Vvf/vbuOOOO/KW65PGjBmT1+OPHDkyItbP95tvvjlatGgRTZs2jREjRsT999+fl0yjR4+OO++8M1avXh233XZblJWVxaGHHhpPP/10jBo1Ki+ZJk2aFGeffXb8/ve/z8vxt2bmzJnxl7/8JSIi7r777hg4cGD85Cc/icrKyrxleuaZZ2Lo0KFxySWXxMCBA+Pmm2+uzggAUJeKsizL8h3i484444yYNGlS7LzzzhstX7lyZfTu3TueeuqpvORauHDhVtfvv//+dZRkve7du8fEiROjQYMGMW/evLj44otj8ODBceaZZ0avXr1i0qRJdZrn47keeeSRWLp0aXTr1i1mzZoVjRo1isrKyjjrrLPi8ccfr/NM3/rWtzZZNm3atDjllFMiIuJ73/teXUeK3r17x8SJE6Nnz55x7733xl577RURERUVFXHWWWflZZ536dIlysrKori4OHr16hUPP/xwlJSURFVVVXTr1i2efPLJOs/Uq1ev+MEPfhClpaWxevXquOiii+KUU06Jxo0b13mWj/v+978fL730UqxduzZatmwZRUVF0adPn5g2bVpUVVXlpZjfeeed8corr8SJJ54Y06ZNi6OOOioaN24cEyZMiAsuuCDOPvvsOs8EnxXPPPNMnHbaaRERMWHChPjDH/5QfZWKq3nYUTz//PPx1FNPbXTF4UknnRRnnHFGvqMVjLVr18YDDzwQixYtitNOOy2OOuqo6nXjxo2LQYMG5SXXjBkzYvfdd48vfelLMW7cuHjjjTfiyCOPjIsvvjiKi4tr7bgFd+lsgwYNYu3atZssX7VqVTRs2DAPida7/PLLY968edGsWbP4ZDcvKiqKqVOn1mmeLMuiqKgoIiJatWoVd955Z1x00UWx9957Vy/Ph3Xr1kVJSUkccMABcfHFF0ejRo2q11VVVeUlU5MmTWLSpEkxcODA2GOPPSIiYtasWXHMMcfkJU/E+heidevWxT777BO77LJL9fKSkpLYaaf8XGjQuHHjeO+996JZs2axzz77xIoVK6KkpCRWrlwZDRrk56WiqKgoDj300Lj//vtjxowZMX78+Bg9enS0atUqWrRoET/84Q/zkuv555+Pxx57LCorK6NDhw4xffr0aNiwYZx00knRs2fPvGSaPHlyTJo0KYqKiqJv375x2WWXxX333Rd9+/aNs88+O69F0y8nNfPLyadz3XXXxY9+9KO8Hf+OO+6I0047LcaNGxcvvfRSDBgwILIsi/Hjx8cbb7wR1157bZ1nWrt2bTzyyCNx+umnx+677x4///nP469//Wscfvjhcfnll2/0/+e6MnDgwBg2bFgceOCBdX7sLVm7dm1MmjQpGjduHGeccUZ873vfiz/96U/Rpk2bGDJkSDRp0iQvudatWxf33XdfTJ06Nd59991o2LBhfO5zn4suXbpE165d6zzP7bffHnPmzIkePXpEs2bNIiJiyZIl8cgjj8Qrr7wSQ4YMqfNMf/rTn7a6/uijj66jJP/fiBEjYt26dfH5z38+vvnNb8bZZ58dAwcOjIj1Jzny8Vp+6623xssvvxwVFRXVv+P169cvnnrqqbj55pvjpptuqrVjF1zRHDhwYPTq1Svat28f++67b0REvPvuuzFr1qy8vFBv8Jvf/CbOO++8GDlyZBx55JF5y7FB586dY8CAATF06NBo27ZttG7dOm6//fa48sor83rpXqdOneI//uM/4r777qv+x/T666/H8OHD48wzz8xLpiFDhsRJJ50Ut912W1x33XVx7LHHxq9+9avo3bt3XvJEROy1117RoUOHKCoqipEjR8aYMWNi5syZceutt0bnzp3zkunKK6+Ms846K7p27RoHH3xwDBgwINq3bx/Tp0+PSy+9NC+ZPv5HneOPPz6OP/74WLNmTbzxxhsxf/78vGTakGv58uWxYsWKWLVqVVRUVMRee+0Vq1atijVr1uQl0+rVq2PlypWxyy67xKpVq2LZsmUREbHLLrvk7Y8XEYX5y0lNV3z06tWrTnJ8nF9OcjdgwIBN/qA6d+7cOP/88yMi4r777stHrIiIePrpp2PChAnVJa5jx47RrVu3vPz+suHf1hlnnBG33HJLrFixIs4777x49tln48Ybb8zLH+pmz55d/faaAQMG5PUEwgbDhw+PFStWRGVlZdx///3Rtm3bGDt2bEydOjVGjBgRP/7xj/OSa8yYMbFmzZq49NJLY8qUKfHFL34x9ttvv7jvvvti3rx5ccUVV9RpnsmTJ8eTTz65yf9PunXrFt26dcvLa/kdd9wRr7zySrRt23azJ4Hy8Vowd+7c6qv3evXqFRdeeGE0btw4Lrzwwk0y1pXnnnsuysrKYtmyZXH66afHiy++GDvttFOcdNJJtf7/u4Irmt27d49jjjkmZs6cGUuWLIksy+Koo46KQYMGRfPmzfOWa7fddotRo0bFhAkTCqJoXnnllXHkkUfGrrvuWr3syCOPjEcffTSv72W9+uqr409/+tNGf+kuKSmJQYMGRYcOHfKWq3379vGlL30pRo4cGc8++2zezq5usOHF76233ooPP/wwItY/TldddVV07NgxL5lOOeWUaN26dTzzzDPxr3/9K7785S/HrrvuGmPGjKm+cVFd69+//ybLGjZsGG3atIk2bdrkIdF6l112WXTq1CmyLIvBgwfHxRdfHO3bt4+ZM2fm7cZJffr0iX79+sUJJ5wQ06dPjz59+sSCBQviiiuuiG7duuUlU0Rh/nIya9asmDJlyhb/qJOPoumXk9x17tw5fv7zn8c111wTBxxwQGRZFjfddFNceeWVecu0YsWKWLp0aey///6xYsWK6qK5atWqvF0R8uabb0ZZWVlErD/z89hjj0VRUVF06NAhb5fzNm/ePO666674/ve/H506dYp+/fpF165d44ADDshLnoiIV199NcrKyqKqqio6dOhQfZ+LQw89NG9XqESsf53a8Jpw4oknRv/+/eM3v/lNdOjQIXr06FHnRbNRo0axePHiTd4qtnDhwigpKanTLBv84he/iPPPPz8uuOCCOPXUU/OS4ZOyLIsVK1bELrvsEnvvvXf84he/iH79+sU+++yT1ysOKysrY6+99oohQ4ZU///4o48+2uxVpEll8Bnz8MMPZxdddFG+Y1DPrVy5MquoqMiyLMtef/317K677sqmT5+e10wzZszI7rrrrmzGjBlZlmVZRUVF9vrrr+c1U/fu3bMFCxZssvx///d/sx49euQh0XqXX355NmHChLwd/5O6deuWffTRR9XfL168ODv55JOzxx9/POvVq1deMnXt2jVbtWpVlmXrXzc3WL58edalS5e8ZNrg73//e3beeedlEydOzLIsy9tjtMHQoUOzbt26ZUceeWR25ZVXZlmWZVOmTMk6duyYPfjgg3nJdPbZZ2dvvvlmlmVZdsUVV1T/O1y8eHHWs2fPvGT6+PP09ttvZ7fcckvWqVOnrEOHDtk555yTl0w9evTI3nrrrWz27NlZ27Zts/nz52dZlmXvvfdeXud5ly5dsqVLl2ZZtv452/DYVVRUZF27dq3zPC+88ELWsWPH7MILL8wGDx6cDR48OLvwwguzjh07ZjNnzqzzPBu89dZb2a233pq343/SQw89lHXq1Kn6/8NZlmX/+Mc/so4dO2ZHHHFEXjI98MADWadOnbK1a9dWL/vzn/+cnXzyydn48eNr9dgFdzMgAHYcM2bMiGHDhkWrVq02ejvEvHnz4nvf+14cd9xxecm1ZMmSKCsri0suuSQvx/+k8ePHx9133x2lpaXRvn37iFj/UV+XXnppvPfeezFnzpw6z/Tggw/Gr371q5g8eXL1VSovv/xy3HDDDTFw4MC832CqsrIyfvSjH8XChQvjn//8ZzzxxBN5zROx/saFS5cujQMPPDDefPPNyLIsvvCFL+Qly1/+8pcYNGhQfPWrX42dd945XnjhhWjXrl28+uqr8e1vfzsvVxlt6WaF//73v2P+/Pl5uXpm+vTpMXz48Fi3bl2MGDEifvjDH8bnP//5+Otf/xpXXXVV3s7eP/roo3H77bfHV77ylZg9e3Zcf/31ccQRR8QFF1wQgwYNysvVM0888US8/fbbUVxcHAceeGA0b9482rVrFxMnTszbx+oV4kf9/eIXv4jKysro3r17daaKiop48MEH4z//8z/zkunee++N4uLi6sdp8eLFsXz58nj55Zdr9XFSNAGoVatXr445c+ZUvx1iwy8n+brcqtDuIr7BvHnzoqSkZKPjV1RUxCOPPBIXXnhhXjKVl5dHy5Ytq7/f8MtJ69at85Jnc1544YV44okn4uabb85bhkKdUxUVFTFjxoz417/+FVVVVdG0adM44YQTokWLFnnJ89xzz+X1bTS5WLp0abz00kvRunXrOOSQQ/Ka5e2334433ngjvvjFL0arVq2isrIyVqxYkZcbFP3gBz+IV199NQ4++OCYPHlyDB06tPrS4g130s9Hprlz58YhhxwSTz75ZAwZMkSmAstUcO/RBGDHseEX8AMOOGCj92EtXbo0IvLzC3ih3UU8YuP3OX2ytHTq1KnO82zIsdNOO22SZ9ddd42FCxfmrTx9Ms9BBx0UV155ZfVyc2q9DY/HJ9/Tvm7durw9f61bt95qKc9Hps3l2XBmNd/zvFGjRhtl2WDFihV1nuu5556r/li9AQMGxMUXXxwlJSVx5pln5vV95IWYadKkSVFcXFxQmfL1OCmaANSaQvwFvNDuIh5RmI9TIWbaUq6ioqLqj/0yp9YrxMepEOdUIWYqxFxZAX6sXqFm2qCQMuXtcarVd4AC8Jm2fPnyrHv37tlLL72U7ygbmT17djZ8+PB8x6hWiI9TIWbKssLNZU7VTKbcFVqucePGZf369ctmz55dveyll17KjjvuuOyrX/2qTDJtlvdoAlCr5syZExMmTIjvfve7+Y5S0ArxcSrETBGFm6vQFOLjJFPuCi3XzJkzo1mzZhu9d3XRokVx9913x7Bhw2SSaROKJgAAAEntVPMmAAAAkDtFEwAAgKQUTQAAAJJSNAEAAEjq/wJWgFpQC3RLwQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgbr = results_xgbr.head(35)\n", + "results_xgbr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 281, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgbr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 282, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.008333333333333415" + ] + }, + "execution_count": 282, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgbr=np.mean(results_xgbr.error)\n", + "meanerror_xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 283, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
05.999976
15.398925
25.000002
35.308656
45.000002
55.000002
65.000002
\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 5.999976\n", + "1 5.398925\n", + "2 5.000002\n", + "3 5.308656\n", + "4 5.000002\n", + "5 5.000002\n", + "6 5.000002" + ] + }, + "execution_count": 283, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 284, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgbr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### data frame errores medios" + ] + }, + { + "cell_type": "code", + "execution_count": 285, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
xgbr-8.333333e-03
kn-8.333333e-03
rf-1.166667e-02
lr4.440892e-16
xgb6.357829e-07
ridge4.440892e-16
\n", + "
" + ], + "text/plain": [ + " 0\n", + "xgbr -8.333333e-03\n", + "kn -8.333333e-03\n", + "rf -1.166667e-02\n", + "lr 4.440892e-16\n", + "xgb 6.357829e-07\n", + "ridge 4.440892e-16" + ] + }, + "execution_count": 285, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame([[meanerror_xgbr, meanerror_kn, meanerror_rf, meanerror_lr, meanerror_xgb, meanerror_ridge]], \n", + " columns=['xgbr','kn','rf','lr','xgb','ridge']).T\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exporting best model" + ] + }, + { + "cell_type": "code", + "execution_count": 286, + "metadata": {}, + "outputs": [], + "source": [ + "import pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 287, + "metadata": {}, + "outputs": [], + "source": [ + "#Saving the Model\n", + "pickle_out = open(\"../reto_data/outputs/xgbr.pkl\", \"wb\") \n", + "pickle.dump(pipeline_xgbr, pickle_out) \n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 288, + "metadata": {}, + "outputs": [], + "source": [ + "df_train.to_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 297, + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 298, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0consumespeedtemp_insidetemp_outsidegas_typeACrainsun
0052621.934911120000
1754021.93491160000
23152921.934911100000
34152921.93491170100
47452521.93491161000
58754520.000000111010
610256221.93491191010
711764223.00000041010
813462621.93491151000
913662521.93491151010
1015152821.93491190000
1115356121.93491160110
1216458021.93491130000
1318557321.934911120000
1421152220.000000121000
1522153221.93491191000
1623154321.93491111000
1723256921.93491181000
1823655521.93491190000
1924754221.934911100000
2025653121.934911120000
2125862221.934911140000
2225954121.93491180000
2326054521.93491170000
2428853022.000000171000
2530153522.000000151101
2635753521.934911181000
2735853322.000000241001
2836754821.934911311100
2938055221.934911271000
3038752525.000000301100
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 consume speed temp_inside temp_outside gas_type AC rain \\\n", + "0 0 5 26 21.934911 12 0 0 0 \n", + "1 7 5 40 21.934911 6 0 0 0 \n", + "2 31 5 29 21.934911 10 0 0 0 \n", + "3 41 5 29 21.934911 7 0 1 0 \n", + "4 74 5 25 21.934911 6 1 0 0 \n", + "5 87 5 45 20.000000 11 1 0 1 \n", + "6 102 5 62 21.934911 9 1 0 1 \n", + "7 117 6 42 23.000000 4 1 0 1 \n", + "8 134 6 26 21.934911 5 1 0 0 \n", + "9 136 6 25 21.934911 5 1 0 1 \n", + "10 151 5 28 21.934911 9 0 0 0 \n", + "11 153 5 61 21.934911 6 0 1 1 \n", + "12 164 5 80 21.934911 3 0 0 0 \n", + "13 185 5 73 21.934911 12 0 0 0 \n", + "14 211 5 22 20.000000 12 1 0 0 \n", + "15 221 5 32 21.934911 9 1 0 0 \n", + "16 231 5 43 21.934911 1 1 0 0 \n", + "17 232 5 69 21.934911 8 1 0 0 \n", + "18 236 5 55 21.934911 9 0 0 0 \n", + "19 247 5 42 21.934911 10 0 0 0 \n", + "20 256 5 31 21.934911 12 0 0 0 \n", + "21 258 6 22 21.934911 14 0 0 0 \n", + "22 259 5 41 21.934911 8 0 0 0 \n", + "23 260 5 45 21.934911 7 0 0 0 \n", + "24 288 5 30 22.000000 17 1 0 0 \n", + "25 301 5 35 22.000000 15 1 1 0 \n", + "26 357 5 35 21.934911 18 1 0 0 \n", + "27 358 5 33 22.000000 24 1 0 0 \n", + "28 367 5 48 21.934911 31 1 1 0 \n", + "29 380 5 52 21.934911 27 1 0 0 \n", + "30 387 5 25 25.000000 30 1 1 0 \n", + "\n", + " sun \n", + "0 0 \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "5 0 \n", + "6 0 \n", + "7 0 \n", + "8 0 \n", + "9 0 \n", + "10 0 \n", + "11 0 \n", + "12 0 \n", + "13 0 \n", + "14 0 \n", + "15 0 \n", + "16 0 \n", + "17 0 \n", + "18 0 \n", + "19 0 \n", + "20 0 \n", + "21 0 \n", + "22 0 \n", + "23 0 \n", + "24 0 \n", + "25 1 \n", + "26 0 \n", + "27 1 \n", + "28 0 \n", + "29 0 \n", + "30 0 " + ] + }, + "execution_count": 298, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.8.3" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "402.712px" + }, + "toc_section_display": true, + "toc_window_display": true + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/.ipynb_checkpoints/models-checkpoint.ipynb b/.ipynb_checkpoints/models-checkpoint.ipynb new file mode 100644 index 0000000..eabf939 --- /dev/null +++ b/.ipynb_checkpoints/models-checkpoint.ipynb @@ -0,0 +1,16617 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 232, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd \n", + "import numpy as np \n", + "import matplotlib.pyplot as plt \n", + "%matplotlib inline\n", + "%config InlineBackend.figure_formats = ['retina']\n", + "import seaborn as sns\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "from sklearn.preprocessing import LabelEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.metrics import mean_squared_error" + ] + }, + { + "cell_type": "code", + "execution_count": 409, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsunrefill litersrefill gas
02852621,512NaNE1000045E10
1124,23021,513NaNE10000NaNNaN
211,25,53821,515NaNE10000NaNNaN
312,93,93621,514NaNE10000NaNNaN
418,54,54621,515NaNE10000NaNNaN
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28 5 26 21,5 12 NaN E10 0 \n", + "1 12 4,2 30 21,5 13 NaN E10 0 \n", + "2 11,2 5,5 38 21,5 15 NaN E10 0 \n", + "3 12,9 3,9 36 21,5 14 NaN E10 0 \n", + "4 18,5 4,5 46 21,5 15 NaN E10 0 \n", + "\n", + " rain sun refill liters refill gas \n", + "0 0 0 45 E10 \n", + "1 0 0 NaN NaN \n", + "2 0 0 NaN NaN \n", + "3 0 0 NaN NaN \n", + "4 0 0 NaN NaN " + ] + }, + "execution_count": 409, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train=pd.read_csv('../reto_data/inputs/measurements.csv')\n", + "df_train.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 410, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsunrefill litersrefill gas
028.05.02621.512NaNE1000045.0E10
112.04.23021.513NaNE10000NaNNaN
211.25.53821.515NaNE10000NaNNaN
312.93.93621.514NaNE10000NaNNaN
418.54.54621.515NaNE10000NaNNaN
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28.0 5.0 26 21.5 12 NaN E10 0 \n", + "1 12.0 4.2 30 21.5 13 NaN E10 0 \n", + "2 11.2 5.5 38 21.5 15 NaN E10 0 \n", + "3 12.9 3.9 36 21.5 14 NaN E10 0 \n", + "4 18.5 4.5 46 21.5 15 NaN E10 0 \n", + "\n", + " rain sun refill liters refill gas \n", + "0 0 0 45.0 E10 \n", + "1 0 0 NaN NaN \n", + "2 0 0 NaN NaN \n", + "3 0 0 NaN NaN \n", + "4 0 0 NaN NaN " + ] + }, + "execution_count": 410, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train_2=pd.read_excel('../reto_data/inputs/measurements2.xlsx')\n", + "df_train_2.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### First visualizations" + ] + }, + { + "cell_type": "code", + "execution_count": 411, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null object\n", + " 1 consume 388 non-null object\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null object\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 specials 93 non-null object\n", + " 6 gas_type 388 non-null object\n", + " 7 AC 388 non-null int64 \n", + " 8 rain 388 non-null int64 \n", + " 9 sun 388 non-null int64 \n", + " 10 refill liters 13 non-null object\n", + " 11 refill gas 13 non-null object\n", + "dtypes: int64(5), object(7)\n", + "memory usage: 36.5+ KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 412, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 12 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 specials 93 non-null object \n", + " 6 gas_type 388 non-null object \n", + " 7 AC 388 non-null int64 \n", + " 8 rain 388 non-null int64 \n", + " 9 sun 388 non-null int64 \n", + " 10 refill liters 13 non-null float64\n", + " 11 refill gas 13 non-null object \n", + "dtypes: float64(4), int64(5), object(3)\n", + "memory usage: 36.5+ KB\n" + ] + } + ], + "source": [ + "df_train_2.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 413, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
speedtemp_outsideACrainsun
count388.000000388.000000388.000000388.000000388.000000
mean41.92783511.3582470.0773200.1237110.082474
std13.5985246.9915420.2674430.3296770.275441
min14.000000-5.0000000.0000000.0000000.000000
25%32.7500007.0000000.0000000.0000000.000000
50%40.50000010.0000000.0000000.0000000.000000
75%50.00000016.0000000.0000000.0000000.000000
max90.00000031.0000001.0000001.0000001.000000
\n", + "
" + ], + "text/plain": [ + " speed temp_outside AC rain sun\n", + "count 388.000000 388.000000 388.000000 388.000000 388.000000\n", + "mean 41.927835 11.358247 0.077320 0.123711 0.082474\n", + "std 13.598524 6.991542 0.267443 0.329677 0.275441\n", + "min 14.000000 -5.000000 0.000000 0.000000 0.000000\n", + "25% 32.750000 7.000000 0.000000 0.000000 0.000000\n", + "50% 40.500000 10.000000 0.000000 0.000000 0.000000\n", + "75% 50.000000 16.000000 0.000000 0.000000 0.000000\n", + "max 90.000000 31.000000 1.000000 1.000000 1.000000" + ] + }, + "execution_count": 413, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 414, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsideACrainsunrefill liters
count388.000000388.000000388.000000376.000000388.000000388.000000388.000000388.00000013.000000
mean19.6528354.91237141.92783521.92952111.3582470.0773200.1237110.08247437.115385
std22.6678371.03317213.5985241.0104556.9915420.2674430.3296770.2754418.587282
min1.3000003.30000014.00000019.000000-5.0000000.0000000.0000000.00000010.000000
25%11.8000004.30000032.75000021.5000007.0000000.0000000.0000000.00000037.600000
50%14.6000004.70000040.50000022.00000010.0000000.0000000.0000000.00000038.000000
75%19.0000005.30000050.00000022.50000016.0000000.0000000.0000000.00000039.000000
max216.10000012.20000090.00000025.50000031.0000001.0000001.0000001.00000045.000000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "count 388.000000 388.000000 388.000000 376.000000 388.000000 \n", + "mean 19.652835 4.912371 41.927835 21.929521 11.358247 \n", + "std 22.667837 1.033172 13.598524 1.010455 6.991542 \n", + "min 1.300000 3.300000 14.000000 19.000000 -5.000000 \n", + "25% 11.800000 4.300000 32.750000 21.500000 7.000000 \n", + "50% 14.600000 4.700000 40.500000 22.000000 10.000000 \n", + "75% 19.000000 5.300000 50.000000 22.500000 16.000000 \n", + "max 216.100000 12.200000 90.000000 25.500000 31.000000 \n", + "\n", + " AC rain sun refill liters \n", + "count 388.000000 388.000000 388.000000 13.000000 \n", + "mean 0.077320 0.123711 0.082474 37.115385 \n", + "std 0.267443 0.329677 0.275441 8.587282 \n", + "min 0.000000 0.000000 0.000000 10.000000 \n", + "25% 0.000000 0.000000 0.000000 37.600000 \n", + "50% 0.000000 0.000000 0.000000 38.000000 \n", + "75% 0.000000 0.000000 0.000000 39.000000 \n", + "max 1.000000 1.000000 1.000000 45.000000 " + ] + }, + "execution_count": 414, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train_2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 415, + "metadata": {}, + "outputs": [], + "source": [ + "## ambas tablas son iguales, ignoramos la 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pandas profiling for better visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 416, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas_profiling\n", + "from pandas_profiling import ProfileReport" + ] + }, + { + "cell_type": "code", + "execution_count": 417, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "aea4f7d782324fb78a1036bdcdd32421", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Summarize dataset: 0%| | 0/25 [00:00" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 417, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "profile = ProfileReport(df_train, title=\"Pandas Profiling Report\", explorative=True)\n", + "profile" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### drop nan" + ] + }, + { + "cell_type": "code", + "execution_count": 418, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 0\n", + "consume 0\n", + "speed 0\n", + "temp_inside 12\n", + "temp_outside 0\n", + "specials 295\n", + "gas_type 0\n", + "AC 0\n", + "rain 0\n", + "sun 0\n", + "refill liters 375\n", + "refill gas 375\n", + "dtype: int64" + ] + }, + "execution_count": 418, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 419, + "metadata": {}, + "outputs": [], + "source": [ + "df_train=df_train.drop(['specials', 'refill liters', 'refill gas'], axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 420, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null object\n", + " 1 consume 388 non-null object\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null object\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null object\n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: int64(5), object(4)\n", + "memory usage: 27.4+ KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Categorical and numerical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 421, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['speed', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['consume', 'distance', 'gas_type', 'temp_inside']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Explore categorical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 422, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "consume > {'5,8', '4', '10,8', '5,7', '4,1', '4,3', '3,6', '6,3', '3,8', '6,6', '6,2', '4,6', '12,2', '5,9', '6,4', '5,1', '7,1', '5,6', '8,1', '3,3', '4,7', '6', '3,7', '5,4', '5,2', '6,1', '11,5', '4,5', '5,3', '4,4', '3,9', '9,9', '6,9', '9', '7,9', '5,5', '8,7', '5', '4,9', '4,8', '7,4', '6,5', '4,2'}\n", + "\n", + "distance > {'32,6', '11,3', '12,8', '12,7', '25,2', '41,9', '12,6', '129,7', '16,1', '6,8', '22,7', '31,9', '211', '29,9', '31,1', '16,6', '6', '11,8', '24,7', '6,7', '6,1', '32', '4,5', '9,8', '22,9', '23,5', '26,2', '40,6', '31,8', '9,2', '38,6', '14,1', '13,3', '10,5', '18,4', '56,1', '48,6', '16,4', '19,8', '43,7', '13,4', '20,9', '13,2', '39,5', '28,8', '10,1', '21,1', '15,4', '2', '2,1', '18,1', '39,4', '20,6', '22,1', '12', '11,2', '58,7', '12,3', '16,3', '12,2', '14,5', '6,4', '16,8', '25,9', '12,1', '44,4', '16,2', '5,2', '216,1', '28,5', '14,3', '5,3', '11,7', '13,9', '25,3', '28', '38,5', '20', '14', '14,2', '31,5', '51,6', '11,6', '21,5', '10,6', '7,9', '7,8', '17,2', '13', '27,3', '7', '5,5', '15,3', '4,9', '20,8', '7,4', '4,8', '18,9', '4,2', '18,3', '12,4', '27,1', '13,1', '22,4', '153,5', '18,8', '16,9', '24,8', '8,3', '5,4', '35,9', '36,6', '101,9', '9,7', '26,6', '25,5', '15,7', '1,3', '67,2', '21', '17,4', '8,7', '21,4', '28,2', '16,5', '1,7', '15,9', '13,6', '10,8', '130,3', '31,4', '93,9', '19', '4,1', '37,2', '17,3', '24,5', '6,6', '20,1', '17,9', '29', '21,6', '11,9', '81,2', '19,6', '10,2', '100,9', '33,4', '5,1', '35,8', '44,9', '14,7', '2,9', '43,5', '11,5', '18,5', '22,2', '18,7', '24,9', '36,9', '9,9', '53,2', '12,5', '16', '25,7', '162,7', '39', '17', '2,4', '34,8', '12,9', '36,5', '32,1', '16,7'}\n", + "\n", + "gas_type > {'E10', 'SP98'}\n", + "\n", + "temp_inside > {'22,5', nan, '23,5', '25', '19', '22', '21', '25,5', '23', '24,5', '20', '24', '20,5', '21,5'}\n", + "\n" + ] + } + ], + "source": [ + "for c in cat_cols:\n", + " print(c, \">\", set(df_train[c]))\n", + " print(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 423, + "metadata": {}, + "outputs": [], + "source": [ + "df_train['temp_inside'] = pd.to_numeric(df_train['temp_inside'], errors='coerce')\n", + "df_train['consume'] = pd.to_numeric(df_train['consume'], errors='coerce')\n", + "df_train['distance'] = pd.to_numeric(df_train['distance'], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 424, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['distance', 'consume', 'speed', 'temp_inside', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['gas_type']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 425, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0, 1}" + ] + }, + "execution_count": 425, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train['gas_type'] = df_train['gas_type'].map({'SP98': 1, 'E10': 0})\n", + "set(df_train['gas_type'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### gas_type" + ] + }, + { + "cell_type": "code", + "execution_count": 426, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvEAAAHuCAYAAAAWUFMyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAhJ0lEQVR4nO3de5BW9X3H8c+yyGUhGhHxCgpy8YoJBrXTEDWo1EzRjpOawRQFi5eYGRyjwZqJEYOX6GhHqVinRk27WgtkUEedjBPviPEKsRTxghiVWC4KWnG56O72j8xuQnZRzF6e/eHr9Zee8ztnv+cf5+0zv+c8VY2NjY0BAACK0a3SAwAAAJ+PiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAoTPdKD9AV/d3f/V1WrFiRmpqa7LPPPpUeBwCA7dSbb76Zurq67L333rnnnnu2+ToR34oVK1bkww8/zIcffphVq1ZVehwAALZzK1as+FzrRXwrampq8uGHH+ZLX/pSDjjggEqPAwDAdmrp0qX58MMPU1NT87muE/Gt2GeffbJq1aoccMABqa2trfQ4AABspyZOnJhnn332c2/h9sVWAAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAoTPdKD8AXx/gL7q30CLCF+647qdIjAMBfxCfxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAheneHjepr6/PXXfdlbvvvjvLly9PfX19Bg4cmG9961uZMmVKevbsucX6xYsXZ9asWVm8eHHq6uoydOjQnHbaaRk/fnyr93/jjTfyL//yL3nhhRfy/vvvZ9CgQTnllFPy3e9+N926+f8QAAC+WNoc8fX19Tn33HPz2GOPpaamJoceemi6d++eF198MTNnzszjjz+ef//3f0/v3r2TJAsWLMjZZ5+dhoaGjB49Or17985vfvObXHjhhVm2bFnOP//8Le7/8ssv57vf/W7Wr1+fUaNG5ZBDDskzzzyTyy+/PC+++GKuvfbatj4CAAAUpc0RP3fu3Dz22GMZMWJEbrnlluy2225JkrVr1+bcc8/NokWLctNNN+WCCy7Ixo0b88Mf/jBJctttt+XII49Mkrz11luZOHFibr755hx33HE5+OCDkySNjY2ZNm1a1q9fn2uuuSYnnXRS870nTZqU++67L8cdd1zGjRvX1scAAIBitHkvyt13350k+dGPftQc8EnSr1+/TJ8+PUnywAMPJEnuvffevPfeexk/fnxzwCfJoEGDcuGFFyZJamtrm48vWLAgr7zySg4//PDmgP/ze//pegAA+CJoc8TvvPPOGTJkSEaOHNni3L777pskWb16dZJk/vz5SZKxY8e2WHvMMcekuro6TzzxRPOxpvXHHntsi/WjRo3KLrvskhdeeCHr169v62MAAEAx2hzxN998c371q1+lpqamxbnFixcnSXbfffckyWuvvZYkGT58eIu1ffv2zYABA7J27dq8++67SZJly5ZtdX2SDB48OA0NDXn99dfb+hgAAFCMDnu1S2NjY2644YYkyfHHH58kWbNmTZJk1113bfWapuNNEd/0Cf62rgcAgC+CDov4f/7nf85zzz2X/v37Z8qUKUmSDRs2JEl69erV6jVNx+vq6v6i9QAA8EXQIRF/ww035N/+7d/So0ePXH/99enXr1+SpLq6OlVVVamqqvrU6xsaGprXJ9nm9QAA8EXQrhH/ySef5Cc/+Uluuumm9OzZMzfeeGNGjx7dfL53795pbGzMpk2bWr1+48aNSZI+ffo0r//T45+1HgAAvgjaLeI/+uijnHPOOZk9e3Z23HHH3HrrrTnqqKO2WDNgwIAkf9wb/+f+fM980/qt7Xn/rD32AACwPWqXiP/ggw8yceLEzJ8/P3vssUfuvPPOLT6BbzJs2LAkafVtMuvXr8/q1avTr1+/9O/ff4v1TW+p+VONjY1Zvnx5qqurs99++7XHYwAAQBHaHPGbN2/OWWedlSVLlmTo0KH5r//6r62+EnLMmDFJkoceeqjFuUceeST19fVbfHrftP7hhx9usX7hwoVZu3ZtDjvssPTt27etjwEAAMVoc8TPnDkzv/3tb7PHHnuktra2+Z3wrRk3blx22WWX3H333Xn88cebj7/99tu57rrrUlVVlUmTJjUfP/zwwzNs2LAsWLAgc+bMaT6+du3aXHbZZUmSyZMnt/URAACgKN3bcvG6detSW1ubJOnXr1+uvPLKra699tpr07dv38yYMSNTp07N2WefndGjR6dPnz55+umns2HDhpx//vnZf//9m6/p1q1brrzyypx++um55JJL8stf/jIDBgzIs88+mw8++CCnnHJKvvnNb7blEQAAoDhtivjnnnuu+Q0xS5YsyZIlS7a69tprr02SjB07NrW1tZk1a1ZefPHFNDY2ZsSIEZk0aVJOOOGEFteNHDkyc+fOzcyZM/PMM8/ktddeyz777JMf/OAH+fu///u2jA8AAEVqU8Qff/zxeeWVVz73daNGjcqtt966zeuHDh2amTNnfu6/AwAA26MO+8VWAACgY4h4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAAChM90oPAAC0bvwF91Z6BGjhvutOqvQIxCfxAABQHBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFCYDvnF1nnz5uXiiy/OnXfema997WtbnPvf//3fHH300Vu9dtSoUbnrrru2OLZq1arMmjUrCxYsyJo1a7LHHnvkxBNPzJlnnpkePXp0xCMAAECX1e4Rv2jRosyYMWOr51966aUkyYgRIzJ8+PAW5wcPHrzFv69cuTLf+c53snLlyhx44IE56KCDsnDhwsycOTNPP/10brvttuywww7t+xAAANCFtWvEP/jgg7n44otTV1e31TVLly5NkkyZMiUnnnjiZ95z+vTpWblyZc4777yce+65SZK6urp8//vfz1NPPZXa2tqcccYZ7fMAAABQgHbZE79y5cpMmzYtU6dOTUNDQ/r377/VtU2fxB900EGfed/ly5fnsccey6BBg3LOOec0H6+pqckVV1yR6urq3HHHHW1/AAAAKEi7RPz111+fe++9NwcffHBmz56dIUOGbHXt0qVLU1NT02LbTGuefPLJNDY25phjjkm3bluOuueee+bAAw/M73//+yxbtqzNzwAAAKVol4gfMmRIrr766sydOzcjRozY6rr3338/77zzTgYPHpzbb789J554Yg499NB8/etfzyWXXJJVq1Ztsb4pzocNG7bVv5skr776ans8BgAAFKFd9sSfddZZ27SuaT/8kiVL8uqrr2b06NHZfffds3jx4syZMyePPvpo/uM//qM5zlevXp0kGTBgQKv323XXXZMk7777blsfAQAAitEhr5jcmqb98MOHD89NN92UgQMHJvnDF1UvueSS3H///bnwwgszb968JMmGDRuSJL169Wr1fk3HP+2LtAAAsL3p1IifNGlSjj/++PTp0yf9+vVrPl5TU5PLL788zz33XJYsWZLf/va3+cpXvpLq6uokSVVV1afet6GhoUPnBgCArqRTf7G1uro6AwcO3CLgm/Tu3TtHHnlkkj9st2k6liQbN25s9X5Nx2tqajpiXAAA6JI6NeI/S9OrKZu20TTthd/anvc1a9ZssQ4AAL4IOjXib7zxxkydOjWvvPJKq+dXrFiRJNl9992T/PGtNFt7heTrr7+eJK3+8isAAGyvOjXiX3nllTz44IP51a9+1eLce++9lwULFmSHHXbIEUcckSQZM2ZMkuTRRx9tse/9nXfeydKlS7PXXntl6NChHT88AAB0EZ0a8d/5zneSJLfffnteeOGF5uMfffRRfvSjH2X9+vX59re/3fzqyIEDB2bMmDFZvnx5brjhhub1dXV1+fGPf5z6+vpMnjy5Mx8BAAAqrlPfTvP1r389kydPzu23355/+Id/yKhRo7Lzzjvn+eefz7p16/K1r30tF1100RbXXHrppZkwYUJuvvnmPPLIIxk8eHAWLlyYNWvW5Bvf+EYmTJjQmY8AAAAV16kRnyT/9E//lEMPPTR33HFHXnrppTQ0NGTQoEGZMmVKTj/99Oywww5brB84cGDmzp2bmTNn5oknnsibb76ZgQMH5rTTTsvpp5+e7t07/REAAKCiOqSAa2trP/X8CSeckBNOOGGb77fHHnvkqquuautYAACwXehSr5gEAAA+m4gHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCdEjEz5s3LyNGjMjzzz/f6vk33ngjP/jBD3LUUUfl0EMPzfjx41NbW5uGhoZW169atSo/+clPMnbs2IwcOTLjxo3LrFmzsnnz5o4YHwAAurR2j/hFixZlxowZWz3/8ssv59vf/nYeeOCB7LnnnhkzZkxWrlyZyy+/PNOmTWuxfuXKlTnllFMye/bs7Ljjjjn66KPz0UcfZebMmfnHf/zHfPzxx+39CAAA0KV1b8+bPfjgg7n44otTV1fX6vnGxsZMmzYt69evzzXXXJOTTjopSbJ27dpMmjQp9913X4477riMGzeu+Zrp06dn5cqVOe+883LuuecmSerq6vL9738/Tz31VGpra3PGGWe052MAAECX1i6fxK9cuTLTpk3L1KlT09DQkP79+7e6bsGCBXnllVdy+OGHNwd8kvTr1y/Tp09PktTW1jYfX758eR577LEMGjQo55xzTvPxmpqaXHHFFamurs4dd9zRHo8AAADFaJeIv/7663Pvvffm4IMPzuzZszNkyJBW182fPz9Jcuyxx7Y4N2rUqOyyyy554YUXsn79+iTJk08+mcbGxhxzzDHp1m3LUffcc88ceOCB+f3vf59ly5a1x2MAAEAR2iXihwwZkquvvjpz587NiBEjtrquKbaHDx/e6vnBgwenoaEhr7/++hbrhw0bttW/mySvvvrqXzw7AACUpl32xJ911lnbtG716tVJkl133bXV803H33333S3WDxgwYJvWAwDAF0Gnvid+w4YNSZJevXq1er7peNMXYz/vegAA+CLo1Iivrq5OklRVVX3quqb3xX/e9QAA8EXQqRHfu3fvJMnGjRtbPd90vE+fPp9rfU1NTbvOCQAAXVmnRnzT3vat7WFfs2ZNkj/udd/W9VvbMw8AANujTo34prfMtPZKyMbGxixfvjzV1dXZb7/9PnN9kua32GztbTcAALA96tSIHzNmTJLk4YcfbnFu4cKFWbt2bQ477LD07dt3i/WPPvpoi33v77zzTpYuXZq99torQ4cO7eDJAQCg6+jUiD/88MMzbNiwLFiwIHPmzGk+vnbt2lx22WVJksmTJzcfHzhwYMaMGZPly5fnhhtuaD5eV1eXH//4x6mvr99iPQAAfBG0y3vit1W3bt1y5ZVX5vTTT88ll1ySX/7ylxkwYECeffbZfPDBBznllFPyzW9+c4trLr300kyYMCE333xzHnnkkQwePDgLFy7MmjVr8o1vfCMTJkzozEcAAICK69RP4pNk5MiRmTt3bsaNG5c333wzCxYsyJ577pnLLrss06dPb7F+4MCBmTt3bk4++eSsXbs2jz32WHbaaadccMEFufHGG9O9e6f+fwgAAFRchxRwbW3tp54fOnRoZs6cuc3322OPPXLVVVe1dSwAANgudPon8QAAQNuIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgH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rcKTAgBAxyvik/g777wzmzdvzqRJk5oDPklGjhyZM888M5s2bfJpPAAAXxhFRPz8+fOTJMcee2yLc03H7I0HAOCLostHfGNjY5YtW5Zu3bplyJAhLc7vu+++6datW5YtW5bGxsYKTAgAAJ2ry++J/+CDD7J58+b069cvPXr0aHG+e/fu2XnnnfPee+/lo48+St++fdv8N998880kydKlSzNx4sQ2348/+HKlB4A/M3HiLys9AnyqL1d6AGiF/3a2r6VLlyb5Y39uqy4f8Rs2bEiS9O7de6trevXqlSTtFvF1dXVJkg8//DDPPvtsm+8HAACfpqk/t1WXj/hu3bZ9x097bafZe++9s2LFitTU1GSfffZpl3sCAMCfe/PNN1NXV5e99977c13X5SO+pqYmSbJp06atrtm4ceMWa9vqnnvuaZf7AABAR+jyX2zt27dvampqsm7dunzyySctzn/yySdZt25devbsmR133LECEwIAQOfq8hFfVVWVoUOHpr6+Pr/73e9anH/jjTfS0NCwxfvjAQBge9blIz5JxowZkyR56KGHWpxrOnbUUUd16kwAAFApRUT8ySefnJ49e+aWW27J//zP/zQfX7x4cX7+85+nV69eOfXUUys4IQAAdJ6qxkJ+IenOO+/MT3/60+ywww454ogjkiTPPPNMPvnkk1x99dU56aSTKjwhAAB0jmIiPkkeffTR/PznP89LL72UHj16ZMSIEfne976Xv/qrv6r0aAAA0GmKingAAKCQPfEAAMAfiXgAACiMiAcAgMKIeAAAKIyIBwCAwoh4AAAojIgHAIDCiHgAACiMiAcAgMKIeAAAKIyIBwCAwnSv9AAAAO3to48+Sl1dXRoaGtKnT5/07du30iNBuxLxAEDxVq9enTlz5uSJJ57Ia6+9lo0bN25xvmfPnhk+fHiOOuqoTJgwIf369avQpNA+qhobGxsrPQQAwF9q7ty5ueKKK7Jp06Y0NjamW7du2XnnndOzZ88kyaZNm7Ju3bo0NDQkSXr37p0ZM2bkb//2bys5NrSJiAcAijV//vyceeaZ6du3b84888wce+yx2XfffVNdXb3Fuvr6+rzxxhv59a9/nVtvvTV1dXW5/fbbc8QRR1RocmgbEQ8AFOu0007LokWLctddd+Xggw/epmsWL16cCRMmZPTo0bn99ts7eELoGN5OAwAUa8mSJTniiCO2OeCT5JBDDsmRRx6ZpUuXduBk0LF8sRW6mIULF7bp+lGjRrXTJABdX/fu3VtsndlWmzdvbudpoPOIeOhiTj311FRVVf1F11ZVVeWll15q54kAuq4RI0bk6aefzuuvv5799ttvm65ZsmRJnn766Xz1q1/t4Omg44h46GKuvPLKXH755amrq0v//v0zePDgSo8E0GWdc845OeOMMzJhwoRMmjQpY8eOzX777Zfu3bdMnIaGhrzxxht5+OGHc8stt6S+vj5Tpkyp0NTQdr7YCl3QokWLMmXKlDQ0NGTOnDkZNmxYpUcC6LLmzZuX6dOn5+OPP06SdOvWLV/+8pfTq1evVFVVZePGjXn//fdTX1+fxsbG9OzZMxdddFFOPfXUCk8OfzkRD13Ugw8+mPPOOy8jR47MnDlzKj0OQJe2evXq3HHHHXnyySezbNmyFvvde/funWHDhmXMmDE5+eSTs9dee1VoUmgfIh66sGnTpuW+++7Lz372s5x00kmVHgegGB988EE2bNiQbt26paamJn379q30SNCu7ImHLuyCCy5IdXV1Vq9eXelRAIqy0047Zaeddqr0GNBhfBIPAACF8WNPAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUBgRDwAAhRHxAABQGBEPAACFEfEAAFAYEQ8AAIUR8QAAUJj/BwaIknAPj6MFAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 247, + "width": 376 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train.gas_type.value_counts().plot(kind='bar');" + ] + }, + { + "cell_type": "code", + "execution_count": 429, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 52 non-null float64\n", + " 1 consume 49 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 169 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: float64(3), int64(6)\n", + "memory usage: 27.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Rellenamos los nan" + ] + }, + { + "cell_type": "code", + "execution_count": 430, + "metadata": {}, + "outputs": [], + "source": [ + "temp_inside = df_train['temp_inside'].dropna()\n", + "temp_inside_avg = temp_inside.mean()\n", + "df_train['temp_inside'] = df_train['temp_inside'].fillna(temp_inside_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 431, + "metadata": {}, + "outputs": [], + "source": [ + "distance = df_train['distance'].dropna()\n", + "distance_avg = distance.mean()\n", + "df_train['distance'] = df_train['distance'].fillna(distance_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 432, + "metadata": {}, + "outputs": [], + "source": [ + "consume = df_train['consume'].dropna()\n", + "consume_avg = consume.mean()\n", + "df_train['consume'] = df_train['consume'].fillna(consume_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 433, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 388 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: float64(3), int64(6)\n", + "memory usage: 27.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Correlations map" + ] + }, + { + "cell_type": "code", + "execution_count": 434, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(9.5, -0.5)" + ] + }, + "execution_count": 434, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABb8AAAVkCAYAAAD0fGIPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAABYlAAAWJQFJUiTwAAEAAElEQVR4nOzdZ3SU1d6G8XsmhVRCSUgjoffei3Q4oNg5KgoioICiiIdzUNQXBFHEAoooSgdBUEBBBQuC9N6U3oKEkkZo6aRM5v2AicQkJIRnMjBcv7WyNM8u/z2ZQde6s9nbZLVarQIAAAAAAAAAwIGY7b0AAAAAAAAAAACMRvgNAAAAAAAAAHA4hN8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOITfAAAAAAAAAACHQ/gNAAAAAAAAAHA4hN8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOITfAAAAAAAAAACHQ/gNAAAAAAAAAA5q6dKlqlGjhnbt2nVD42JiYvTGG2+oc+fOql+/vrp166YpU6YoLS0tz/7x8fH64IMP1K1bN9WvX1+dOnXSu+++q8TERCNeRpEQfgMAAAAAAACAA/r999/11ltv3fC46OhoPfbYY1q0aJFKliypDh06KCkpSZMnT9Yzzzyj9PT0HP0TExP15JNPaubMmTKZTOrQoYNMJpPmzJmjnj17KiEhwaiXdEMIvwEAAAAAAADAwaxcuVLPPPOMkpOTb3jsmDFjFB0drZdeeknLli3T5MmT9euvv6p169basWOH5s+fn6P/pEmTdPToUT322GP66aefNHnyZK1cuVIPPvigwsLCNGnSJINe1Y0xWa1Wq10qAwAAAAAAAAAMFR0drQ8//FDff/+93N3d5enpqfPnz2vBggVq2rRpgeP//PNPde/eXSEhIVq5cqXM5r/3T0dGRqpLly4KCAjQmjVrJF097qRt27ZydnbW+vXr5eXlld0/KSlJHTt2VGpqqrZu3SoPDw/jX/B1sPMbAAAAAAAAABzEpEmT9P3336tu3bpatGiRKleufEPjN23aJKvVqo4dO+YIviUpKChItWvXVkREhMLCwiRJO3fu1JUrV9SyZcscwbckeXp6qlWrVrpy5Yp27tx5cy+sCAi/AQAAAAAAAMBBVK5cWe+9956WLFmiGjVq3PD4rFC7WrVq+c4vSceOHbuh/kePHr3htdws52KvCAAAAAAAAACwiUGDBt3U+HPnzkmSypUrl2e7n5+fJOn8+fOSpNjY2BzP8+t/4cKFm1pXURB+AwAAAAAAAEAxW7p0qZYtW1bo/g8//LB69OhhwxVdlZKSIklyc3PLsz3redZFmln/dHd3L1T/4kT4DQAAAAAAAKBYHW/Tzd5LsLuInvdpx44dhe7fvHlzG67mb05OTpIkk8l03X6ZmZlF6l+cCL8BAAAAAAAAoJgFBwffUKAdHBxsw9X8LWsH95UrV/Jsz3ru4eFRpP7FifAbAAAAAAAAAIpZjx49iuUYkxuVddZ31pne/5R1xndWv8L2z+9McFsyF3tFAAAAAAAAAMAtqVq1apKksLCwPNtPnDghSapevfoN9a9Ro4ah6ywMwm8AAAAAAAAAgCSpbdu2kqS1a9fmOqc7MjJShw8fVnBwsKpWrSpJatasmdzc3LR169Zcl1omJSVp69at8vDwUJMmTYrnBVyD8BsAAAAAAABA8TKZ+boFREZG6sSJE7p48WL2s5CQELVt21Z//vmnPv744+znycnJGjlypCwWi/r375/93MPDQw899JDi4uL05ptvKiMjQ5KUkZGhsWPHKj4+Xj179pSXl1fxvbC/cOY3AAAAAAAAANyBRowYoR07dmjIkCF68cUXs5+PHj1aTzzxhKZOnao1a9aoUqVK2rNnj2JjY9WuXTs98cQTOeYZNmyYtm/fru+++067d+9W7dq1dejQIZ05c0Z16tTJMXdxujV+xQAAAAAAAAAAuCWEhIRoyZIl6tGjhy5evKh169bJx8dH//vf//Tpp5/K2TnnnupSpUrp66+/Vp8+fZSRkaG1a9fKbDZrwIAB+uKLL+Tp6WmX12GyWq1Wu1QGAAAAAAAAcEc63vYeey/B7qpt/NneS3B47PwGAAAAAAAAADgczvwGAAAAAAAAULxMJnuvAHcAdn4DAAAAAAAAABwO4TcAAAAAAAAAwOEQfgMAAAAAAAAAHA7hNwAAAAAAAADA4XDhJQAAAAAAAIDiZebCS9geO78BAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADofwGwAAAAAAAADgcLjwEgAAAAAAAECxMpnYkwvb41MGAAAAAAAAAHA4hN8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh8OFlwAAAAAAAACKl9lk7xXgDsDObwAAAAAAAACAwyH8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcLrwEAAAAAAAAULxMXHgJ22PnNwAAAAAAAADA4RB+AwAAAAAAAAAcDuE3AAAAAAAAAMDhEH4DAAAAAAAAABwO4TcAAAAAAAAAwOE423sBAAAAAAAAAO4wZvbkwvb4lAEAAAAAAAAAHA7hNwAAAAAAAADA4RB+AwAAAAAAAAAcDuE3AAAAAAAAAMDhcOElAAAAAAAAgOJlMtl7BbgDsPMbAAAAAAAAAOBwCL8BAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADocLLwEAAAAAAAAUKxMXXqIYsPMbAAAAAAAAAOBwCL8BAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADocLLwEAAAAAAAAULzN7cmF7fMoAAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADofwGwAAAAAAAADgcLjwEgAAAAAAAEDxMpnsvQLcAdj5DQAAAAAAAABwOITfAAAAAAAAAACHQ/gNAAAAAAAAAHA4hN8AAAAAAAAAAIfDhZcAAAAAAAAAipeZCy9he+z8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMPhwksAAAAAAAAAxcvEnlzYHp8yAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMMh/AYAAAAAAAAAOBwuvAQAAAAAAABQrExmk72XgDsAO78BAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADofwGwAAAAAAAADgcLjwEgAAAAAAAEDxMnHhJWyPnd8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOFx4CQAAAAAAAKB4mdiTC9vjUwYAAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOITfAAAAAAAAAACHQ/gNAAAAAAAAAHA4zvZeAAAAAAAAAIA7jNlk7xXgDsDObwAAAAAAAACAwyH8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcLrwEAAAAAAAAULxMXHgJ22PnNwAAAAAAAADA4RB+AwAAAAAAAAAcDuE3AAAAAAAAAMDhEH4DAAAAAAAAABwOF14CAAAAAAAAKFYmM3tyYXt8ygAAAAAAAAAADofwGwAAAAAAAADgcAi/AQAAAAAAAAAOh/AbAAAAAAAAAOBwuPASAAAAAAAAQPEymey9AtwB2PkNAAAAAAAAAHA4hN8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh8OFlwAAAAAAAACKl5k9ubA9PmUAAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOFx4CQAAAAAAAKB4mUz2XgHuAOz8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMPhwksAAAAAAAAAxYsLL1EM2PkNAAAAAAAAAHA4hN8AAAAAAAAAAIdD+A0AAAAAAAAAcDiE3wAAAAAAAAAAh8OFlwAAAAAAAACKlcnMnlzYHp8yAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMMxPPw+ceKERo8ere7du6tRo0Z69dVXJUljx47Vl19+KavVanRJAAAAAAAAAAByMPTCy8WLF+utt95Senp69rPMzExJ0tatW/XVV19px44dmjRpkswcag8AAAAAAADcmUwme68AdwDDEuidO3dq9OjR8vLy0qhRo7Ry5coc7a+++qoCAwO1atUqfffdd0aVBQAAAAAAAAAgF8PC7+nTp8vJyUlz5sxR7969VaFChRzt7du317x58+Ti4qLFixcbVRYAAAAAAAAAgFwMC7/37t2rpk2bqmbNmvn2KV++vJo1a6bw8HCjygIAAAAAAAAAkIth4Xdqaqrc3d0L7Ofs7KwrV64YVRYAAAAAAAAAgFwMu/AyNDRU+/fvV1pamlxdXfPsc+XKFe3fv18hISFGlQUAAAAAAABwuzFz4SVsz7Cd3/fee6/Onz+v0aNHKy0tLVd7Wlqa3nzzTV26dEndunUzqiwAAAAAAAAAALkYtvO7f//++vXXX7Vs2TJt2bJFDRo0kCQdPXpUo0aN0rZt23TmzBlVqVJF/fv3N6osAAAAAAAAAAC5mKxWq9WoyRISEjR27Fj99NNPslgsudo7duyot99+W2XLljWqJAAAAAAAAIDbTHj/5+29BLurOOczey/B4RkafmeJiYnRrl27FBUVpczMTPn5+alp06ac9Q0AAAAAAACA8FuE38XBsGNPsqSnpysuLk733ntv9rPTp0/r0KFD8vX1lbu7u9ElAQAAAAAAANxOTIZdRQjky9BP2apVq9SmTRuNHDkyx/M9e/bopZdeUufOnbVlyxYjSwIAAAAAAAAAkIth4ffu3bs1dOhQJSUlqXr16jnaatasqYcffljx8fEaNGiQ9u7da1RZAAAAAAAAAAByMSz8njp1qsxms2bMmKG33347R1vNmjU1fvx4zZgxQxaLRZ9//rlRZQEAAAAAAAAAyMWw8Pvw4cNq1qyZWrVqlW+fVq1aqUmTJtq9e7dRZQEAAAAAAAAAyMWw8DspKUne3t4F9itTpozS0tKMKgsAAAAAAAAAQC7ORk1UsWJF7dq1SykpKXJ3d8+zT1pamn7//XeVL1/eqLIAAAAAAAAAbjdmk71XgDuAYTu/77vvPl26dEnDhg3T5cuXc7UnJibqlVde0fnz59W9e3ejygIAAAAAAAAAkIthO7/79Omjn3/+WevWrVP79u3VsGFDBQYGSpKio6O1d+9epaSkqFatWnr66aeNKgsAAAAAAAAAQC6Ghd+urq6aO3euJk2apKVLl2r79u252h977DG98sor+R6LAgAAAAAAAACAEUxWq9Vq9KRpaWk6cOCAYmNjZbFY5Ovrqzp16sjT09PoUgAAAAAAAABuM+EDXrT3Euyu4sxP7L0Eh2fYzu9rubq6qnHjxraYGgAAAAAAAMDtzsSFl7A9w8Pv5ORkhYeHKzk5WdfbVN6sWTOjSwMAAAAAAAAAIMnA8Ntisejdd9/V119/rYyMjOv2NZlMOnTokFGlAQAAAAAAAADIwbDwe86cOZo/f74kqVKlSvL19ZWzs01OVQEAAAAAAAAA4LoMS6eXLl0qZ2dnzZgxQ61atTJqWgAAAAAAAAAAbphh4ffZs2fVokULgm8AAAAAAAAA12Uyme29BNwBDPuUlSpVSiZuaQUAAAAAAAAA3AIM2/nduXNn/fDDDzp//rx8fX2NmhYAAAAAAAAAcAO2bNmiqVOn6ujRo0pPT1edOnU0cOBAtWvXrsCxffr00Y4dOwrsN2TIEL344ovZ33fp0kVnzpzJt//BgweL/Y5Iw6oNGzZMO3bs0LPPPquXX35Z9evXl4eHh1HTAwAAAAAAAAAKsHTpUr322mtydXVVy5YtlZmZqe3bt2vgwIEaO3asevbsed3xrVu3lr+/f55tSUlJWrNmjSSpVq1a2c8TEhJ09uxZ+fr65nssttlc/EfdGBZ+P/3008rMzNShQ4fUv39/SVdfUH5HoRw4cMCo0gAAAAAAAABwx4uJidHo0aPl7e2thQsXqnr16pKkffv2qX///ho3bpw6dOiQb7gtSYMHD863bfjw4ZKkgQMHqkuXLtnPDx8+LKvVqo4dO+rtt9826NXcPMPi9gMHDujkyZOyWq3ZXxaLRRkZGXl+AQAAAAAAALhDmU182cCCBQuUlpamfv36ZQffklS/fn0NHDhQqampWrRoUZHm/uGHH7R8+XLVqVNH//nPf3K0HTp0SJJUp06dIq/dFgzb+X3kyBGjpgIAAAAAAAAA3KCNGzdKUo5d2Vm6dOmijz76SBs2bNDQoUNvaN7ExES9//77MpvNevvtt3Od3X348GFJt174XfwHrQAAAAAAAAAADGW1WhUWFiaz2azKlSvnaq9YsaLMZrPCwsJktVpvaO5p06YpNjZWjz76qGrXrp2r/dChQ3JyctLJkyfVu3dvNW3aVM2aNdNzzz2nffv2Ffk13axiDb9TU1N19uxZzZ8/vzjLAgAAAAAAAIBDi4uLU1pamkqVKiVXV9dc7c7OzipdurRSUlKUlJRU6HkvX76s+fPny8XFJc/zwNPS0vTnn3/KYrHolVdeUWpqqlq0aKHSpUtr7dq16tWrl3755Zebem1FZdixJ5L05Zdfav78+YqKilJ6evp1+/bp08fI0gAAAAAAAABw21i6dKmWLVtW6P4PP/ywevTokW97SkqKJMnd3T3fPm5ubpKkpKQkeXl5FaruokWLlJKSokceeUSBgYG52o8ePaqMjAx5enpqypQpatWqVXbb3LlzNX78eL322mtq0qSJ/Pz8ClXTKIaF3z/++GOOmzxNJpOsVqvMZrMyMzOzn/v6+uqee+4xqiwAAAAAAACA243JNhc+3k4iIiK0Y8eOQvdv3rz5ddvN5sIf8lHYY08yMzO1cOFCSdKAAQPy7FOvXj1t2rRJaWlpCg4OztHWr18/7dy5U6tXr9ayZcs0aNCgQq/RCIaF319//bVMJpNGjBihnj17atmyZXr77be1du1aeXl5adOmTXrrrbeUnp6e7w8KAAAAAAAAAO4EwcHBBQba/+x/PR4eHpKuHj2dnytXruToW5A9e/YoOjpajRo1UqVKlfLtd70d3R07dtTq1at14MCBQtU0kmHh99GjR1WlShX169dPktS4cWNlZmZq27ZtevDBB9WtWzf5+/vr8ccf1/Tp0zVq1CijSgMAAAAAAADAbaVHjx7XPcbkRnl5ecnDw0OXLl1SRkaGnJ1zRr8ZGRm6dOmSSpQooZIlSxZqzt9++02SdO+99xZ5XVnBeFbwXpwMu/AyOTk5xy2ilStXlslk0pEjR7KfNWzYUHXq1NHGjRuNKgsAAAAAAAAAdzyTyaSqVavKYrEoPDw8V/vJkyeVmZmp6tWrF3rODRs2SJK6du2ab5+ffvpJ//vf/7R8+fI828+ePStJCggIKHRdoxgWfpcsWTL7UHVJcnV1lb+/v44fP56jX/ny5RUdHW1UWQAAAAAAAACApLZt20qSVq9enast61n79u0LNVdiYqJOnDih4OBg+fv759vvwoULWrFihb766qtcbVarVT/88IMkqU2bNoWqayTDwu9atWppz549iouLy35WpUoV7d+/XxaLJftZZGTkdW8cBQAAAAAAAODgzGa+bKBHjx4qUaKEZsyYkeOM7f3792vmzJlyc3NTr169sp+fPn1aJ06cUEJCQq65Dh48KKvVqrp161635r333isvLy/t3r1bc+fOzX5utVo1ZcoU/fHHH6pevbo6dep08y/wBhn2U/73v/+tpKQk9ezZU7/++qskqVOnToqLi9OYMWMUHh6u2bNna//+/apWrZpRZQEAAAAAAAAAunrqxogRI5SYmKjHH39czzzzjJ555hk98cQTSkpK0tixY1W2bNns/v369VP37t21atWqXHNlHVfi6+t73ZplypTRO++8IxcXF40fP1733Xefhg4dqrvvvluffPKJ/Pz89Mknn+Q6g7w4GFaxe/fu2rFjh77++mutWLFCXbt21SOPPKK5c+fqm2++0TfffJPd99lnnzWqLAAAAAAAAADgL71791ZQUJBmzpypPXv2yNXVVY0bN9bgwYPVqlWrQs9z8eJFSZK3t3eBfbt166bg4GBNmzZNO3fuVHh4uMqVK6c+ffro+eefV5kyZYr8em6GyWq1Wo2ccP/+/UpMTMz+QZ47d04fffSR9u3bp4CAAPXt21ft2rUzsiQAAAAAAACA28ipF4bbewl2V2HKBHsvweEZHn4XRnx8vEqWLFncZQEAAAAAAADcAgi/Cb+Lg2Fnfnfu3Fnvvfdegf2GDx+u7t27G1UWAAAAAAAAwO3GZOILNmdY+B0REaELFy5ct09iYqLCwsIUHx9vVFkAAAAAAAAAAHIp8oWXjz32mPbv35/9vclk0vLly7V8+fICx9aqVauoZQEAAAAAAAAAKFCRd36PGjVKTk5OMpvNMpv/nibr+39+OTk5yd3dXbVq1dKbb75pyOIBAAAAAAAAAMhLkXd+16tXTwcOHMj+vmbNmnrggQf0/vvvG7IwAAAAAAAAAACKqsjh9z+NHz9eISEhRk0HAAAAAAAAwEGZzFz4CNszLPx++OGH823bt2+fIiMjVadOHQJyAAAAAAAAAIDNFfnM77xs3bpVTz31lDZs2JD9bNiwYerZs6eGDRumu+++Wx999JGRJQEAAAAAAAAAyMWw8PuPP/7QwIEDtXPnToWHh0uSVq1apZ9//llubm7q2rWrSpUqpenTp2vlypVGlQUAAAAAAAAAIBfDwu/Zs2crIyNDo0aNUu/evSVJy5Ytk8lk0ujRo/Xxxx/r22+/lZubm7766iujygIAAAAAAAAAkIthZ37v2bNH9evXV69evSRJaWlp2rp1q5ydndW1a1dJUkBAgBo3bqz9+/cbVRYAAAAAAADA7cZk6GnMQJ4M+5TFxcUpKCgo+/tdu3YpJSVF9evXl4eHR/ZzDw8PJScnG1UWAAAAAAAAAIBcDAu//f39FR0dnf392rVrZTKZdNddd2U/s1qtOnLkiPz8/IwqCwAAAAAAAABALoaF3/Xq1dPevXv17bffavPmzfruu+8kKfvIk7S0NE2YMEFnz55VixYtjCoLAAAAAAAAAEAuhp35PWTIEG3btk0jR46UdHWXd/fu3VW1alVJUufOnXX+/Hn5+Pho8ODBRpUFAAAAAAAAACAXw8LvKlWqaPHixfr88891/vx5NW3aVP3798/R3qhRI73yyisqX768UWUBAAAAAAAA3G5MJnuvAHcAk9Vqtdp7EQAAAAAAAADuHKf/85q9l2B3oZPG23sJDs+wM78BAAAAAAAAALhVFPnYk6efflomk0nvvPOO/P399fTTTxd6rMlk0qxZs4paGgAAAAAAAACA6ypy+L1lyxaZTCYlJydnf19YJs70AQAAAAAAAADYUJHD73nz5kmSgoKCcnwPAAAAAAAAAIC9FTn8bt68+XW/BwAAAAAAAIA8mTkZArZX5PD7tdeKfiNr1lnhAAAAAAAAAADYQpHD72XLluV6lnWWt9VqzXOMyWSS1Wq1efh9OS7BZnPj9lLKx9veSwAAAAAAAABgB0UOv99///0c31utVs2YMUMnTpxQ9+7d1blzZwUHB8vJyUmxsbFat26dli5dqrp162r48OE3vXAAAAAAAAAAAPJT5PD7gQceyPH9woULdeLECU2cOFHdu3fP1b9Tp07q3LmznnvuOe3evVtNmzYtamkAAAAAAAAAAK7LbNRE8+bNU4MGDfIMvrO0b99eTZs21eLFi40qCwAAAAAAAOB2YzLzBZsz7KccFRUlf3//AvuVKlVKFy5cMKosAAAAAAAAAAC5GBZ+BwUFadeuXUpOTs63z8WLF7Vt2zZVqFDBqLIAAAAAAAAAAORiWPh9//3368KFC3r22Wd16tSpXO1HjhzRgAEDlJiYqMcee8yosgAAAAAAAAAA5FLkCy//acCAAdq6dat27typu+++WyEhIdnHoERERCgqKkpWq1X33HOPevfubVRZAAAAAAAAAAByMSz8dnV11ezZszVv3jwtWrRIp0+f1unTp7Pbq1atqr59++rRRx81qiQAAAAAAACA25DJbLL3EnAHMCz8liQXFxc988wzeuaZZxQTE6Nz587JZDLJ399ffn5+RpYCAAAAAAAAACBfhobf1/L3988+9gQAAAAAAAAAgOJk2IWXAAAAAAAAAADcKgi/AQAAAAAAAAAOx2bHngAAAAAAAABAnkxceAnbY+c3AAAAAAAAAMDhEH4DAAAAAAAAABwO4TcAAAAAAAAAwOEQfgMAAAAAAAAAHA4XXgIAAAAAAAAoXmb25ML2+JQBAAAAAAAAABwO4TcAAAAAAAAAwOEQfgMAAAAAAAAAHA7hNwAAAAAAAADA4XDhJQAAAAAAAIDiZTLZewW4A7DzGwAAAAAAAADgcAi/AQAAAAAAAAAOh/AbAAAAAAAAAOBwCL8BAAAAAAAAAA6HCy8BAAAAAAAAFC8uvEQxYOc3AAAAAAAAAMDhEH4DAAAAAAAAABwO4TcAAAAAAAAAwOEQfgMAAAAAAAAAHA4XXgIAAAAAAAAoViYze3Jhe3zKAAAAAAAAAAAOh/AbAAAAAAAAAOBwCL8BAAAAAAAAAA6H8BsAAAAAAAAA4HC48BIAAAAAAABA8TKZ7L0C3AHY+Q0AAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOITfAAAAAAAAAACHw4WXAAAAAAAAAIqXmQsvYXvs/AYAAAAAAAAAOBzCbwAAAAAAAACAwyH8BgAAAAAAAAA4HMJvAAAAAAAAAIDD4cJLAAAAAAAAAMXLxJ5c2B6fMgAAAAAAAACAwyH8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMNxtvcC7mTx8fGaOXOG1q9bq/Pnz6t06dJq2bKVnhkwUIGBgXaZb8niRZow4QNNnPiR2rRtm2efNWt+02uvjrjuPJ98OkXNm7e44dcAAAAAAACAO4DZZO8V4A5A+G0n8fHxGjjgaYWHh8vD01NVq1ZTZGSEli//QevWrdXnU6erWrVqxTrfkSNH9NlnUwqsdSIsTJIUHByssr6+efbx9vIu9NoBAAAAAAAAwGiE33byzjtvKzw8XK3vuktvv/2OPD09lZqaqvfee1c/rliukSNf18KFX8vJyalY5jt48ID+999hSk5OLrBW2F/h95AXh6pTp86Ff9EAAAAAAAAAUEw489sOwsPDtW7tWnl4eGjMmLHy9PSUJJUoUUL/938jVbFSJYWfPKl169bafD6LxaLFi77Wc88O0qVLlwpVL+zE1fC7cuUqheoPAAAAAAAAAMWN8NsOfvn5J1mtVrVp01Y+Pj452pycnHTfffdLklavWmXT+VJTU9X3qT6aOHGC0tPTC3U2+JUrVxQZESEXFxeVL1++UOsDAAAAAAAAgOLGsSd2cPDgAUlS/fr182yvW7eeJOmPP/6w6XxpaWk6fvyYKlWqrBEjXlWjxo31048rrlvrxIkwZWZmqnLlynJ25uMDAAAAAACAIjBx4SVszybpZXp6ug4fPqyoqCj5+vqqSZMmioyMVFBQkC3K3XbOnDkrSQoMCs6zPWv39cWLF5ScnCwPDw+bzOfi4qLRY95U167dCh1kZ112WalyZe3auVO/rvpVEWfPyt3DXQ0bNtKDDz4kb28uuwQAAAAAAABgX4aG3+np6fr000+1cOFCJSYmSpLuv/9+NWnSRC+//LJSUlL00UcfqUKFCkaWve1cvnz1bO1/HlGSpWTJktf0vVxg+F3U+dzc3NS9+72FX7iksBMnJEmbN23Sql9/zdG2ccMGffnlfH3w/gTVy2cXOgAAAAAAAAAUB8PO/E5PT9fAgQM1ffp0paenq1GjRrJardntKSkpOnTokHr37q1z584ZVfa2lJqaKunqhZR5ufZ5Vt/inO96wo4flyRlZmbqpZf+o59++kUbN23RzJmz1bhxY126eFH//e8wxcRE31QdAAAAAAAAALgZhoXf8+fP17Zt29SxY0etWbNGCxcuzNH+9ddf69FHH9X58+c1c+ZMo8relszm6//Yr/2lgakQ5x8ZPd/1tGvfXt2736uJH05Sr95Pqqyvr1xdXVWvfn1N/mSKatSsqfj4OM2ZPfum6gAAAAAAAADAzTDs2JPvvvtOZcuW1Ycffig3N7dc7a6urhozZow2bdqkTZs2GVX2tuTu7q6EhASlpaXl2X7t8/x2c9tyvut5/PEn8m1zcXFR795P6o1RI7Vp08abqgMAAAAAAADHZTIZticXyJdh4fepU6fUvn37PIPvLE5OTqpbt642bnTsYPTo0SOaMOGDPNuGD39ZPj4+SkhIUHx8XJ594uL+fl66dOkC6xk9382oXr2GJCk2NlYZGRmFvkgTAAAAAAAAAIxkWDJZokQJXbx4scB+sbGxN737+FaXmJiofXv35ttWoUJFnT17VlGRUXn2iY66+tzX1/e6v0zIYvR8Bbly5Uq+82QdseLk5CQnJ6ebrgUAAAAAAAAARWHY3y+oW7eu9u3bpxMnTuTb5/jx4zpw4IDq1q1rVNlbUpMmTbV9x648v5o0aapatWpJkg4c2J/n+KzndeoU7udk9Hz5OXbsmDq0b6v27dooNjY2zz7Hjx2TJIWGVrjp88UBAAAAAAAAoKgMC7/79euntLQ0DRo0SOvWrVNycnJ2m9Vq1ZYtW/T888/LYrGoV69eRpW9LXXo2EmStH79uhxHkkiSxWLRih9XSJLuvuceu8yXn4oVK2bv5v7ppx9ztVssFi1a9JUkqXPnzjdVCwAAAAAAAABuhmHhd7t27fTiiy8qIiJCgwcPVpMmTWQymbRq1So1aNBAzzzzjM6cOaO+ffve8cFotWrVdNddbZSUlKTXXh2huMuXJUmpqakaN+5thZ88qQoVKqhDh445xl2+fFnh4eE6e/asIfPdKFdXVz36WE9J0swZ0/Xbb6uz2xITEzVm9Bs6ePCg/MqV0xO9et9ULQAAAAAAADgws4kv2JzJmnVIs0G2bNmiWbNmaffu3bpy5YokydnZWQ0bNlTfvn31r3/9y8hyebocl2DzGjcrJiZGzw4aoKioKLm5ualixUqKjIxQfHy8vLy8NHPWHFWqVCnHmBnTp2nmzBkKDAzUd98vv+n58vLQg/crKipKEyd+pDZt2+Zqz8jI0CsvD9fmzZskSX5+fipb1lcnT/6p1NRUlSpVSp9O+VzVqlW7iZ+OcUr5eNt7CQAAAAAAAPiHiHcm2nsJdhf8+v/svQSHZ9iFl1lat26t1q1bKzMzU5cvX5bFYlGpUqXk4uJidKnbmr+/v774Yr5mzpqpjRvWKyzsuLy9vdW1azcNHPSsQkND7TpffpydnTVh4odasfwHLV+xXGFhYYqLO6Fy/v5q26at+vbrr9KlSxtSCwAAAAAAAACKyvCd37eC22HnN4oHO78BAAAAAABuPez8Zud3cTB05/exY8f07bff6tSpU0pLS8u3n8lk0qxZs4wsDQAAAAAAAABANsPC7127dqlfv36yWCwqaDO5ycSB7gAAAAAAAMAdi3wQxcCw8PvDDz9URkaG7rvvPt19993y9vYm5AYAAAAAAAAA2IVh4ffRo0dVu3ZtTZgwwagpAQAAAAAAAAAoErNRE7m7u8vf39+o6QAAAAAAAAAAKDLDwu9OnTpp7969SkxMNGpKAAAAAAAAAACKxLDw+3//+598fHw0cOBA7dq1ixAcAAAAAAAAQN7MZr5gc4ad+e3j46MHHnhAH3/8sfr06SNJcnJyyrf/gQMHjCoNAAAAAAAAAEAOhoXf8+fP1+TJkyVJVqtVkpSRkWHU9AAAAAAAAAAAFJph4feXX34ps9ms1157Td27d1eZMmWMmhoAAAAAAAAAgBtiWPgdFRWlli1b6sknnzRqSgAAAAAAAAAAisSw8DswMNCoqQAAAAAAAAA4MpPJ3ivAHcCwa0X//e9/a/v27Tp69KhRUwIAAAAAAAAAUCSG7fzu06ePdu/erSeffFI9e/ZUgwYN5OPjI2fnvEs0btzYqNIAAAAAAAAAAORgWPidFWZbrVbNmjXrun1NJpMOHTpkVGkAAAAAAAAAAHIwLPxu2rSpUVMBAAAAAAAAAHBTDAu/58+fb9RUAAAAAAAAAByYycyFl7A9wy68BAAAAAAAAADgVmHYzu/IyMgb6h8UFGRUaQAAAAAAAAAAcjAs/O7UqZNMpsL9dQUuvAQAAAAAAAAA2JJh4XdISEie4bfFYlFCQoLi4+MlSc2aNZOfn59RZQEAAAAAAAAAyMWw8HvVqlXXbf/zzz/15ptv6syZM5o0aZJRZQEAAAAAAADcbkxcRQjbK7ZPWeXKlTVlyhQlJSXpww8/LK6yAAAAAAAAAIA7ULH+isXLy0tNmzbVunXrirMsAAAAAAAAAOAOU+x/vyAuLk6JiYnFXRYAAAAAAAAAcAcptvDbarVqyZIl2rVrl6pUqVJcZQEAAAAAAAAAdyDDLrzs1q1bvm0ZGRm6dOmSUlJSZDKZ1KdPH6PKAgAAAAAAALjdmEz2XgHuAIaF36dOnSqwj7+/v/r376+HH37YqLIAAAAAAAAAAORiWPj922+/5dtmNpvl4eEhHx8fo8oBAAAAAAAAAJAvw8Lv4OBgo6YCAAAAAAAAAOCmGBZ+Z0lLS1NmZqbc3NwkSfHx8Vq0aJGioqJUr1493X///XJ2NrwsAAAAAAAAAADZDE2hP/30U82aNUvjxo1T9+7ddeXKFfXs2VPh4eGyWq0ymUxaunSpZs+eLRcXFyNLAwAAAAAAAACQzWzURD/88IM+/fRTWSwWWa1WSdKSJUt08uRJVahQQaNGjVLz5s21a9cuzZs3z6iyAAAAAAAAAG43ZhNfsDnDwu8lS5bIxcVFixcv1r333itJ+umnn2QymTR69Gj17t1bM2bMUNmyZbVixQqjygIAAAAAAAAAkIth4ffRo0fVvHlz1axZU5IUFxenvXv3ytPTUy1atJAkubq6qn79+goPDzeqLAAAAAAAAAAAuRgWfqelpcnT0zP7+82bNyszM1PNmjWT2fx3GYvFoszMTKPKAgAAAAAAAACQi2Hhd/ny5XXs2LHs73/77TeZTCa1bds2+1lycrL27t2r4OBgo8oCAAAAAAAAAJCLs1ET3XXXXZo3b55effVV+fv765dffpGzs7O6desmSdq9e7cmTZqkuLg4PfbYY0aVBQAAAAAAAHC7MRm2JxfIl2Hh95AhQ7R3715999132c+GDx+usmXLSpJeeuklnT9/Xg0bNtSgQYOMKgsAAAAAAAAAQC6Ghd/e3t6aN2+efv75Z8XGxqpZs2Zq0KBBdvtDDz2kwMBAPfroo3J1dTWqLAAAAAAAAAAAuZisVqvV3osw2uW4BHsvAbeIUj7e9l4CAAAAAAAA/iHy46n2XoLdBb30nL2X4PA4XAcAAAAAAAAA4HAMO/ZEklatWqVZs2bp+PHjSklJUX6byk0mkw4dOmRkaQAAAAAAAAC3CZPZZO8l4A5gWPi9evVqDR06NDvwNplMMpvZWA4AAAAAAAAAKH6Ghd8zZ86U1WrV4MGD1bt3b/n6+ho1NQAAAAAAAAAAN8Sw8PvIkSOqW7euXnrpJaOmBAAAAAAAAACgSAw7l6REiRLy9/c3ajoAAAAAAAAAAIrMsJ3fTZo00YEDB5SWliZXV1ejpgUAAAAAAADgaExceAnbM2zn93//+1/Fx8frzTffVHJyslHTAgAAAAAAAABwwwzb+b106VI1atRIS5cu1Y8//qgqVaqoZMmSMuXxWxyTyaRZs2YZVRoAAAAAAAAAgBwMC79nz56d/e9XrlzRwYMH8+2bVyAOAAAAAAAAALh5W7Zs0dSpU3X06FGlp6erTp06GjhwoNq1a1eo8VFRUerQoUO+7Y0bN9ZXX32V41lMTIymTJmizZs3KzY2VoGBgXrggQc0cOBAux2TbVj4PW/ePKOmAgAAAAAAAAAUwdKlS/Xaa6/J1dVVLVu2VGZmprZv366BAwdq7Nix6tmzZ4FzHDp0SJJUo0YNVa9ePVd7pUqVcnwfHR2tnj17Kjo6WrVr11adOnW0Z88eTZ48Wdu2bdPs2bPl4uJizAu8AYaF382bNzdqKgAAAAAAAACOzGzYVYS4RkxMjEaPHi1vb28tXLgwO7jet2+f+vfvr3HjxqlDhw7y9/e/7jyHDx+WJA0YMEAPPPBAgXXHjBmj6OhovfTSS3r++eclScnJyXrhhRe0ZcsWzZ8/X08//fRNvrobZ5NPWXR0tJYvX645c+ZowYIF+uWXX3ThwgVblAIAAAAAAAAASFqwYIHS0tLUr1+/HDu269evr4EDByo1NVWLFi0qcJ6snd916tQpsO+ff/6pdevWKTQ0VM8991z2cw8PD40bN05OTk768ssvi/Bqbp5hO78lKTExUaNHj9bPP/8sq9Wao81sNqtbt24aPXq0fHx8jCwLAAAAAAAAAHe8jRs3SpK6dOmSq61Lly766KOPtGHDBg0dOvS68xw+fFgeHh65jjfJy6ZNm2S1WtWxY0eZ/7GjPygoSLVr19b+/fsVFhamqlWr3sCruXmGhd+pqanq27evDh48KG9vb7Vr107ly5eXxWLRmTNntHnzZv300086deqUvv76a7uc8QIAAAAAAAAAjshqtSosLExms1mVK1fO1V6xYkWZzWaFhYXJarXKZDLlOc/ly5cVGRmpOnXqaM6cOfr+++916tQpeXt7q2PHjhoyZEiOY1PCwsIkSdWqVctzvsqVK2v//v06duzY7Rt+f/HFFzp48KA6dOigCRMmyMvLK0d7YmKihg8frvXr12vBggXq16+fUaUBAAAAAAAA4LaydOlSLVu2rND9H374YfXo0SPf9ri4OKWlpalMmTJydXXN1e7s7KzSpUvrwoULSkpKypXfZsk67/vgwYM6duyYmjVrpoCAAO3fv1+LFy/W2rVrNW/evOyA/dy5c5KkcuXK5Tmfn5+fJOn8+fOFfq1GMSz8XrFihUqXLq0PP/xQHh4eudq9vLz04YcfqnPnzvrhhx9sGn5bw8NtNjduL6f9Quy9BNwCQoNK2XsJAAAAAADgWlx4qYiICO3YsaPQ/Zs3b37d9pSUFEmSu7t7vn3c3Nwk6brhd9Z539WrV9dnn32mkJCr+VpycrJGjRqlFStWaPjw4Vq6dGmOullz51czOTn5uuu3BcPC71OnTqldu3Z5Bt9ZPDw81LRpU23evNmosgAAAAAAAABw2wkODi4w0P5n/+v553nb1/PP+xqv1a9fP3Xt2lWenp4qU6ZM9nMPDw+9/fbb2rlzpw4ePKg//vhDDRs2lJOTkyTle4xKlszMzEKvzyiGhd/Ozs7ZKf/1pKSkFPiDAAAAAAAAAABH1qNHj+seY3KjsjYlp6am5tvnypUrOfrmxcnJKXu39z+5u7urZcuW+v7773Xw4EE1bNgwe6d51txFqWkrhv39gho1amjXrl2KiorKt09ERIR27typGjVqGFUWAAAAAAAAAO54Xl5e8vDw0KVLl5SRkZGrPSMjQ5cuXVKJEiVUsmTJItfx9fWV9PdxJ1lnfed3pndsbGyOfsXJsPC7Z8+eunLlip555hnt27cvV/vevXs1YMAApaWl6bHHHjOqLAAAAAAAAADc8Uwmk6pWrSqLxaLwPO5EPHnypDIzM1W9evXrzvPpp59q6NChOnr0aJ7tZ8+elSQFBARIkqpVqyZJCgsLy7P/iRMnJKnAurZg2LEnDz74oDZs2KAff/xRPXv2VEBAQPY5NGfPnlVMTIysVqu6d++uhx56yKiyAAAAAAAAAG43HItsE23bttW+ffu0evVqVa1aNUfb6tWrJUnt27e/7hxHjx7Vr7/+qsqVK+c6wePChQvavHmzXFxc1KJFi+yakrR27VoNHz48x9njkZGROnz4sIKDg3OtpzgYeq3qhAkT9PrrrysoKEhRUVHatWuXdu3apejoaAUGBur111/XxIkTjSwJAAAAAAAAANDVc8RLlCihGTNm6MCBA9nP9+/fr5kzZ8rNzU29evXKfn769GmdOHFCCQkJ2c969uwpSZozZ452796d/TwpKUmvv/66EhMT9cgjj8jPz0+SFBISorZt2+rPP//Uxx9/nN0/OTlZI0eOlMViUf/+/W32mq/HZL3e1Z5FsG/fPoWHh6t58+Y6d+6crFar0tLS9Msvv+j+++9Xw4YNjSyXp0t799u8Bm4PCX55H86PO0toUCl7LwEAAAAAAFwjatocey/B7gKftU0gvGDBAo0dOzbH7uzt27crIyND7733nh588MHsvp06dVJERITGjx+f4/LNd999V3PmzJHZbFbjxo1VunRp7dq1S5cuXVLTpk01c+bM7IsuJenMmTN64oknFBsbq+rVq6tSpUras2ePYmNj1a5dO33++edydjbsEJJCM6yi1WrVuHHjtGDBAlWrVk0PPPBA9rkvixYt0oIFC/TVV1/pueee09ChQ40qCwAAAAAAAAD4S+/evRUUFKSZM2dqz549cnV1VePGjTV48GC1atWqUHO8+uqratCggb788ksdOnRImZmZCg0N1YABA9S3b1+5uLjk6B8SEqIlS5Zo8uTJ2rBhg06dOqWQkBA99dRT6tu3r12Cb8nAnd/fffedXn31VQUEBOiFF17Qo48+mt12+fJlrV27VpMnT1Z0dLTee+89PfDAA0aUzRM7v5GFnd+Q2PkNAAAAAMCthp3fttv5jb8ZFrkvXLhQnp6eWrRokfz9/XO0lSpVSg8//LBatWqle+65RwsWLLBp+A0AAAAAAADg1mUyc+ElbM+wCy9Pnjyp5s2b5wq+rxUQEKCmTZvq6NGjRpUFAAAAAAAAACAXw8Jvs9ms9PT0Avs5OTnJbDasLAAAAAAAAAAAuRiWQteoUUM7d+5UREREvn1iYmK0fft21ahRw6iyAAAAAAAAAADkYlj4/cQTTyg1NVX9+/fX+vXrZbFYstsyMzO1efNm9e/fX1euXFHPnj2NKgsAAAAAAAAAQC6GXXh5zz33aOvWrVq8eLGee+45ubi4yNfXV5J0/vx5paeny2q1qkePHnrooYeMKgsAAAAAAADgdmPiWGTYnmHhtySNHTtWbdq00VdffaVdu3YpMjLyahFnZzVs2FC9e/fWfffdZ2RJAAAAAAAAAAByMTT8lqSuXbuqa9eukqRLly7JYrHIx8dHLi4uRpcCAAAAAAAAACBPhoff1ypdurQtpwcAAAAAAAAAIE8crgMAAAAAAAAAcDg23fkNAAAAAAAAALmYTPZeAe4A7PwGAAAAAAAAADgcwm8AAAAAAAAAgMMh/AYAAAAAAAAAOBzCbwAAAAAAAACAwyH8BgAAAAAAAAA4HGd7LwAAAAAAAADAHcZssvcKcAdg5zcAAAAAAAAAwOEQfgMAAAAAAAAAHA7hNwAAAAAAAADA4RB+AwAAAAAAAAAcDhdeAgAAAAAAACheJvbkwvb4lAEAAAAAAAAAHA7hNwAAAAAAAADA4RB+AwAAAAAAAAAcDuE3AAAAAAAAAMDhcOElAAAAAAAAgGJlMpvsvQTcAdj5DQAAAAAAAABwOITfAAAAAAAAAACHQ/gNAAAAAAAAAHA4hN8AAAAAAAAAAIfDhZcAAAAAAAAAipeJCy9he+z8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMPhwksAAAAAAAAAxcvMnlzYHp8yAAAAAAAAAIDDIfwGAAAAAAAAADgcwm8AAAAAAAAAgMMh/AYAAAAAAAAAOBwuvAQAAAAAAABQvEwme68AdwB2fgMAAAAAAAAAHA7hNwAAAAAAAADA4XDsyS0iPjFRs75ZovU7tuv8pcsqXbKkWjZsqKcfeVSBfn43NXdmZqYGjHxdETExWjlrTr79LJkWLf31V/24bq3CIyIkSaFBQererr0eufseOTs53dQ6kL+EhHjN/2KmNm9ar4sXzsunVGk1a9ZSTz71jPwDAotlvpSUFH2zeIHWrV2l6Kgo+fj4qGbtuur5xFOqUaNWnmOsVqtWrfxJP65YppN/npCzi7MqVaqqhx5+VG3adZSJv8IEAAAAAAAAOzFZrVarvRdhtEt799t7CTckPjFRA0f9n05FRMjD3V2hgYGKjDmn+KREeXt66rMxb6pahYpFnv/zhQv0xXfL5OPtnW/4nWGxaMQH72vznt2SpGB/fzmZnXQmOkpWq1UtGjTQxBGvydn59vp9SYJfiL2XUKCEhHi9NGSgzpwOl4eHh4LLhyo6KlIJCfHy8vLWxEmfq3KVajad79Klixox/EWd/DNMkhT61+ft9Klwmc1mvfDi//TAQ4/kGJOZmal3x43W2jW/SpL8/MqpVKnSOnnyhDIyMtT5X3fr5RGj5ORk/89MaFApey8BAAAAAABcI2bhEnsvwe78ez1q7yU4PPunUtD4aVN1KiJCrRs11lv/GSZPd3elpqXp/Zkz9OO6tRo1aZIWTJwoJ/ON7by2Wq2auWSxvvhuWYF9l/66Upv37JaHu7s+eHmEmtStK0nad/SIhr/3rrbv3av5P3yv/j3+XaTXiPx9NOEdnTkdruYtWuv/3nhbHh6eSktL1ccfvadff/lR494aqemzFsqpkDvvizLfB++N1ck/w1SmTFmNeet91ap99f0/eGCfRo98WZ98/IGCgsurabOW2WOWLFqgtWt+lZOTk14a9qruufcBSdL52HMa88YI/bbqF/n5+euZgc8b+NMCAAAAAAAOgb8tjmLAmd92Fh4RoXU7tsvDzU2jX3xRnu7ukqQSrq56/bnnVDG4vMIjzmr9jh03NO+Fy5c04oP3Neubwv0W7ZcNGyRJ/R7ukR18S1L9GjU16LGekqSf1q+7oTWgYKdPh2vTxnVyd/fQiNfHyMPDU5Lk6lpC/x3+fwqtUFGnT4Vr86Z1Npvv+LEj2rl9qyRp1Jh3soNvSapTt74GPTdUkjR1yqTs5xkZGVr09TxJUp++A7KDb0ny9Sun10aOlbOzs75d8pXOnYu5wZ8KAAAAAAAAcPMIv+3sl40bZLVa1aZJU/l4eedoczI76b6OHSVJq7dsLvSc2/f+oUdfGqoNu3aqbKlSer5X7wLHxF68KEmqEhqaq61m5SqSpJjz5wu9BhTOb6t+kdVqVctWbVSypE+ONicnJ3W7+z5J0rq1q202366d2yRJNWvWUd16DXPN2aXrPfLw8NCpUycVdvyoJOnY0cNKiI+Xs7OzHurxWK4xwcEhatK0hdLT07Rx/ZpCrR0AAAAAAAAwEuG3nR08flySVK9GjTzb61a7ejbzH4ePFHrOk2fPKuXKFd3Trp0WTvxIdaoVfF60X9kykqRj4eG52v48e0aS5O/rW+g1oHCOHD4oSapdt36e7Vm7sA/s+8Nm82XtzK5aPe/PoNlsVmBQ+Rzzn4uJliQFBpWXp6dXnuOCy189b/3IkYOFWjsAAAAAAABgJMJvOzsbfTVEDCpXLs/2AD8/SdLFuMtKvpJSqDlrV62qL957X6OHDJWPt3fBAyQ90KmzJGn+999pz6G/w8qjJ//UtK+/kiT9u2u3Qs2FwouMuPqLhcCAwDzb/f2vPr906aJSUpJtOp/FYsl3XktGhiQp5q/Q++8xGfmOyfhrzLl/jAEAAAAAAACKQ5EvvIyMjLypwkFBQTc13lFcjo+XpFxHnmQp6eV1Td8Eebi5Fzhn/Ro1b3gdD3X5ly7Fx2vu0m/1wptjFFzOX07OTjoTGaUSrq569vEn9Pi9993wvLi+y5cvS5K8fXzybPcuWTL73+PiLsvd3cPw+QICrv5ZPPlnWJ5j0tJSFRUVIUlKTEyQJAUEXh0THRWllJQUubvn/lyePnVSkpSQkHDdNQMAAAAAgDuPycyeXNhekcPvTp06yVTEW1lNJpMOHTpU1NIOJTUtTdLVCy7zcu3zrL62EhoYqKBy5XTy7FmdvWa3rqeHu3y88j7aAjcnLS1VklTCtUSe7a7XPE9NTbXJfC1a3qWZ0z/VkcMHtWf3DjVu0jzHmO+WLs7um5GeLkmqVr2GypT11cUL5/X1wi/U/5nncow5cvig/vh999UxGekFrhsAAAAAAAAwWpHD75CQkFzhd3x8fPbO04oVKyo4OFjOzs6KjY3V0aNHZbFYVKlSJQUEBNzUoh2J2WxWpiUz33ZrpjX734v6y4bCmLF4kWZ9s0SlfXz01n+GqXWjxrJaM7V5zx5NmjtH78+codNRUfpP3342W8OdyGw2KzPzOu+/9cbe/6LMV7FSZXXq3E1rflupt8f+n4a8OFyt7mqrjIwMrf71Z82dPU3eJUsqIT5eTs5X/5Ph5OSsvv0G6qOJ4/X1wi/k7Oys++5/WJ5eXtqze6c+/vDd7DHOTkX+zwwAAAAAAABQZEVOpVatWpXj+zNnzuiJJ55Qo0aNNG7cOFWuXDlHe3R0tF5//XUdPHhQH3/8cVHLOhx3txJKSMpQanreu7rTrtk1m9/u8JsVHhGhOd9+K7PJrPdffkX1rrn4sFubtqpcPkT9Xhuhr39coXvbd1C1ihVtso47kZubuxITE5SWz67+9Gs+F/nt5jZivv/871VdunRRv+/ZqfHj3sgx5l/d7lVJ75L69puv5Onhmf28+30PKTIyQou+mqd5c2do3twZ2W3VqtfUAw/+WxM/GCcPT08BAAAAAAAAxc2wLZnvv/++MjIyNGPGDHnlcURGQECAPv30U3Xt2lXvvfeeZs2aZVTp25qPl7cSkpIUn5iYZ3tcwt/PS19zXrOR1u/YrkxrpprWrZsj+M5SrWJFtW3SVOt2bNdv27YSft+AsONH9enkCXm2DRk6XCVL+igxMUEJCfF59omPi8v+d59SpQusV9T53N099O4Hk7Vu7Spt3bxBcXFx8vcPUMfOXdW4SXO9984YSVKZsr455hsw6AW1bNVGq1b+qKioSJUs6aNmLVqpc5e7tfrXn66OKVO2wHUDAAAAAAAARjMs/N66datat26dZ/CdxcPDQ02aNNHGjRuNKnvbqxAcpLMx0YqKjc2zPfqv576lS8utRME7f4siq0aFoOB8+4T+dUFpdD7rRN6SkhJ18MC+fNtCQisoMvKsYqKj8uwT89fZ62XK+srNza3Aejczn9lsVqfO3dSpc7dc48LCjkm6ekTKP9Wt10B16zW4zpgqBa4bAAAAAADcYWx4vC+QxbBrVZ2dnXXx4sUC+0VERMjDw8Oosre9mpWvBoMHjx3Ls/3A8avP61StZrM1ZL0f5y9fyrdPVujt6e5us3U4ogYNm2jV2u15fjVo2ETVa9SSJB0+dCDP8VnPa9WqU6h6RZnv4sUL+n7ZEv24fFmeY2KioxR+8oRcXFxUu049SVfPDv/px++1YP5spafnvtDSarVqx/YtkqQGDRsXau0AAAAAAACAkQwLvxs0aKDdu3dr9erV+fZZsmSJDhw4oBYtWhhV9rbX4a+fxfqdOxWXmJCjzZJp0Y/r1kmSurVtZ7M1NKl9NQjdvnevzl28kKv9Ylyctu39Q5LUqHbhQlgUTpu2HSRJmzevV3x8XI42i8WiX1eukCR17nK3zeYzm82a8slETfnkQyX+4zMoSYu+mn91zL/ukbv71V+UmEwmLfvma82dPU1//L4r15gN635TVGSEQkIqqGGjpoVaOwAAAAAAAGAkw8Lv559/Xs7OznrppZf08ssv64cfftD27du1fft2LVu2TC+88ILeeOMNeXt764UXXjCq7G2vWoWKuqtxYyWlJOv1iRMVl3A1fExNS9M7U6cqPOKsKgQFqUPz5jnGXY6PV3hEhM5GR9/0Glo1aqSalSvrSmqqhr/3rk5FRmS3RZ47pxET3ld8YqIqh4Rkh/UwRuUq1dSi5V1KTkrSW2Neyz6TOy0tVR9OGKfTp8IVElJBd/0VameJi7us06fDFRlx9qbnK1WqtBo0bKL09DR9OOEdpaSkSJIslgwtWbxAy3/4Vm5u7ur1ZP8ctdp37CJJ+vzTj3Ics7JzxzZN+vBdSVLf/oPk5OR08z8oAAAAAAAA4AaZrFar1ajJ1qxZo1GjRunChQsy/ePcHqvVqpCQEL3//vtq1KiRUSXzdGnvfpvOb7RzFy5o0BsjFR0bK7cSJVQxOFiRMecUn5QoLw8PzXj7HVUqXz7HmBmLF2nWN0sU4Oen76Z8ft35dx88oBfeHCMfb2+tnDUnzz5RsbF68a03dTY6WiaTSRWCgmW1ZupMVLQyrZkKKldOk0e+ofIBAYa97uKQ4Bdi7yUUKDY2RsNefFYxMVFyc3NTSGhFRUdFKiEhXp6eXvp4ykxVqFApx5h5c2do/hcz5e8fqC+//u6m54uOjtTzg/pm9wkKLq/YczG6fPmSXF1L6K13Jqpxk2Y5xmRkZGjY0EE6cvigXFxcFBJSQckpyYqOipQk9X9msHo92c/wn1dRhAaVsvcSAAAAAADANc4tzvv41TtJuccetvcSHJ5hF15KUqdOndSyZUutWrVKu3bt0rlz52QymVSuXDm1bt1anTp1kqurq5ElHUK5smX1xbvva9Y3S7Rh106FnTotb08Pdb2rjQY81lOhgYE2X0Ogn5++ePd9ff3Tj1q7fZvORF3dyVuxfLA6NG+hJ+67X96enjZfx53Iz89fn037QvPnzdTWzRt18s8weXl5q2Onrnqq/0CVLx9q8/kCAoI0ZdoXmv/FTO3euU1/njguH59S6vyvu/VE7365wnLp6jn/70/8VF8t+EIb1v+m06fDVaKEm5o0baEejzyu5i1aF/lnAgAAAAAAHJyZCy9he4bu/L5V3G47v2E7t8POb9geO78BAAAAALi1nPvmO3svwe7KPfKQvZfg8Azd+Z1l79692rFjh6Kjo1WzZk09+uijWrt2rRo0aKAyZcrYoiQAAAAAAAAAANkMDb/Pnj2rl19+WX/88YesVqtMJpPuv/9+Pfroo5oyZYqOHz+uDz74QF27djWyLAAAAAAAAAAAOZiNmujixYvq06ePfv/9d9WpU0fPPfecrj1RpVq1akpLS9OwYcN06NAho8oCAAAAAAAAAJCLYeH3Z599pqioKA0bNkzffPON/vOf/+RoHz9+vMaNGyeLxaLp06cbVRYAAAAAAADA7cZk5gs2Z9hPec2aNapcubKeffbZfPv06NFDNWrU0L59+4wqCwAAAAAAAABALoaF37GxsapWrVqB/SpUqKDz588bVRYAAAAAAAAAgFwMC79LlSql06dPF9jv5MmT8vHxMaosAAAAAAAAAAC5GBZ+t2zZUkeOHNFvv/2Wb5/Vq1fr+PHjatGihVFlAQAAAAAAAADIxdmoiQYPHqzVq1frpZdeUp8+fbID7uTkZO3Zs0fr16/XnDlz5OLiogEDBhhVFgAAAAAAAACAXExWq9Vq1GSbNm3Sf//7X8XHx8tkMuVos1qtcnd31/jx43X33XcbVTJPl/but+n8uH0k+IXYewm4BYQGlbL3EgAAAAAAwDXOLVtu7yXYXbmH77f3EhyeYTu/JalNmzb65Zdf9M0332j79u2Kjo6WxWKRn5+fmjVrpp49e8rf39/IkgAAAAAAAAAA5GLozu9bBTu/kYWd35DY+Q0AAAAAwK2Gnd/s/C4Ohu78znLu3Dnt2rVL0dHRCg0NVZcuXbR//37VrFlTLi4utigJAAAAAAAAAEA2Q8Pv+Ph4jR07Vj///LMyMzMlSffff7+6dOmicePGKSIiQpMnT1ajRo2MLAsAAAAAAAAAQA5moyZKSkpSnz59tGLFCvn6+uq+++7TtSeqeHp6KjY2Vk8//bROnTplVFkAAAAAAAAAtxmTyXTHf8H2DAu/Z8yYoaNHj6pnz55atWqVPvjggxzts2bN0pAhQ5SSkqJp06YZVRYAAAAAAAAAgFwMC79//vlnBQUF6Y033pCrq2uefYYMGaIKFSpo9+7dRpUFAAAAAAAAACAXw8LvqKgo1atXT05OTtftV6NGDUVHRxtVFgAAAAAAAACAXAwLvz09PQsVakdERMjT09OosgAAAAAAAAAA5GJY+N24cWMdOHBAf/zxR759du3apUOHDqlRo0ZGlQUAAAAAAABwuzGZ+YLNGfZTHjRoUPY/FyxYoOPHj0uSrFarYmJitGTJEg0ZMkQmk0n9+/c3qiwAAAAAAAAAALmYrFar1ajJli5dqtGjRysjIyPvYiaTRowYob59+xpVMk+X9u636fy4fST4hdh7CbgFhAaVsvcSAAAAAADANWK//8neS7A7vwe723sJDs/ZyMl69OihBg0a6IsvvtCOHTsUHR0ti8UiPz8/NWvWTH369FHdunWNLAkAAAAAAAAAQC6Ght+SVKVKFY0dO9boaQEAAAAAAAAAKDTDw29JSk9P14EDB3Tu3Dk5OTkpICBAderUkclkskU5AAAAAAAAALcTMzkhbM/Q8Ds+Pl6TJ0/W0qVLlZKSkqOtdOnSevLJJzVw4EC5uLgYWRYAAAAAAAAAgBwMC7/j4+P15JNP6vjx43J2dlbTpk0VGBgoq9WqyMhI7d27V5988ol2796t6dOny8nJyajSAAAAAAAAAADkYFj4PW3aNB07dkzt27fX+PHjVaZMmRzt58+f14gRI7RlyxbNnz9f/fr1M6o0AAAAAAAAAAA5mI2aaOXKlfL399cnn3ySK/iWJF9fX3366acqW7asvv32W6PKAgAAAAAAAACQi2Hhd2xsrBo2bChXV9d8+7i7u6tx48Y6c+aMUWUBAAAAAAAA3G5MJr5gc4aF36GhoTpx4kSB/aKiohQYGGhUWQAAAAAAAAAAcjEs/B40aJDCwsI0YcKEfPssWbJEBw4cUP/+/Y0qCwAAAAAAAABALoZdeOnh4aGOHTtq1qxZ2rRpk+6++26FhobKyclJMTExWr9+vbZs2aKAgABdvHhRU6dOzTH+ueeeM2opAAAAAAAAAIA7nMlqtVqNmKhmzZoymUzKms70j3Nrri1zbZvVapXJZNLhw4eNWIYk6dLe/YbNhdtbgl+IvZeAW0BoUCl7LwEAAAAAAFwjdsUv9l6C3fndd7e9l+DwDNv5/cILL+QKvAEAAAAAAAAgF7NhpzED+TIs/H7xxRfzbbNYLIqLi1OZMmWMKgcAAAAAAAAAQL4M/RXLhQsX9Omnn+rQoUPZzxYuXKjmzZvrrrvuUpcuXbR+/XojSwIAAAAAAAAAkIth4Xd0dLQefPBBTZkyRfv27ZMk7d+/X2+99ZaSkpJUqlQpnT17Vi+88EKOcBwAAAAAAAAAAKMZFn5PmzZN58+fV/fu3dWmTRtJ0qJFi2S1WjVo0CBt3bpVs2bNksVi0YwZM4wqCwAAAAAAAABALoad+b1p0yaFhoZqwoQJ2Rdfrl27ViaTSU8++aQk6a677lKjRo20c+dOo8oCAAAAAAAAuN38lR8CtmTYzu+YmBjVqlUrO/g+ePCgLly4oKpVq6pcuXLZ/fz8/HT58mWjygIAAAAAAAAAkIth4XfJkiWVmJiY/X3WxZatWrXK0S8iIkJeXl5GlQUAAAAAAAAAIBfDwu/q1atr165dCg8PV2Jior7//nuZTCZ17tw5u8/q1at14MAB1a9f36iyAAAAAAAAAADkYtiZ33379tW2bdt03333ycXFRSkpKapdu7ZatGghSXr22We1adMmmc1m9evXz6iyAAAAAAAAAADkYtjO7/bt2+vjjz9WQECArFar2rRpoylTpmS3R0ZGqnTp0po8ebJat25tVFkAAAAAAAAAtxmT2XTHf8H2TFar1VochU6dOqWQkBCZzYbl7fm6tHe/zWvg9pDgF2LvJeAWEBpUyt5LAAAAAAAA1zi/crW9l2B3vt262HsJDs+wY08KUqFCheIqBQAAAAAAAAC4w9l+GzYAAAAAAAAAAMWM8BsAAAAAAAAA4HCK7dgTAAAAAAAAAJAkmdiTC9vjUwYAAAAAAAAAcDiE3wAAAAAAAAAAh0P4DQAAAAAAAABwOITfAAAAAAAAAACHw4WXAAAAAAAAAIqX2WTvFeAOwM5vAAAAAAAAAIDDIfwGAAAAAAAAADgchzz2xLlSBXsvAbcI5xSrvZeAW0B8ZJS9l4BbRMmgQHsvAQAAAAAAFBN2fgMAAAAAAAAAHA7hNwAAAAAAAADA4TjksScAAAAAAAAAbmEmk71XgDsAO78BAAAAAAAAAA6H8BsAAAAAAAAA4HAIvwEAAAAAAAAADofwGwAAAAAAAADgcLjwEgAAAAAAAEDxMrEnF7bHpwwAAAAAAAAA4HAIvwEAAAAAAAAADofwGwAAAAAAAADgcAi/AQAAAAAAAAAOhwsvAQAAAAAAABQrk9lk7yXgDsDObwAAAAAAAACAwyH8BgAAAAAAAAA4HMJvAAAAAAAAAIDDIfwGAAAAAAAAADgcLrwEAAAAAAAAULxMXHgJ22PnNwAAAAAAAADA4RB+AwAAAAAAAAAcDuE3AAAAAAAAAMDhEH4DAAAAAAAAABwOF14CAAAAAAAAKF5m9uTC9viUAQAAAAAAAAAcDuE3AAAAAAAAAMDhcOwJAAAAAAAAADiQLVu2aOrUqTp69KjS09NVp04dDRw4UO3atSv0HOvXr9e8efO0f/9+JScny8/PT23bttXzzz+vgICAHH0zMjLUqFEjpaWl5TmXv7+/NmzYcFOvqSgIvwEAAAAAAADAQSxdulSvvfaaXF1d1bJlS2VmZmr79u0aOHCgxo4dq549exY4x/Tp0zVx4kSZzWbVr19fZcuW1eHDh7Vo0SKtWrVKX375papUqZLdPywsTGlpaQoNDVWDBg1yzVeqVCkjX2KhEX4DAAAAAAAAKF4mk71X4JBiYmI0evRoeXt7a+HChapevbokad++ferfv7/GjRunDh06yN/fP985wsLC9NFHH8nDw0OzZ89Wo0aNJEnp6el65513tHDhQr3++utatGhR9pjDhw9Lknr06KHBgwfb8BXeGM78BgAAAAAAAAAHsGDBAqWlpalfv37Zwbck1a9fXwMHDlRqamqO0Dov33//vTIzM9W/f//s4FuSXFxc9Prrr6tMmTL6448/FBERkd126NAhSVKdOnUMfkU3h/AbAAAAAAAAABzAxo0bJUldunTJ1Zb1rKCzt11cXFSjRg01a9Ysz7by5ctLks6dO5f9PGvnd926dYu2cBvh2BMAAAAAAAAAuM1ZrVaFhYXJbDarcuXKudorVqwos9mssLAwWa1WmfI5embo0KEaOnRonm3JyckKCwuTpOxLL61Wqw4fPiw/Pz/99ttvWrRokU6cOKESJUqodevWGjJkSJ7rKQ6E3wAAAAAAAABQzJYuXaply5YVuv/DDz+sHj165NseFxentLQ0lSlTRq6urrnanZ2dVbp0aV24cEFJSUny8vK64TXPmDFDycnJqlevngIDAyVJZ86cUWJiohITE/XGG2+ocePGatGihQ4fPqwff/xR69at04wZM9SkSZMbrnezCL8BAAAAAAAAFC8zF15GRERox44dhe7fvHnz67anpKRIktzd3fPt4+bmJklFCr/Xr1+vadOmyWw26+WXX85+nnXet7+/v6ZNm6ZatWpJkjIyMjRx4kTNnj1bw4YN06pVq1SiRIkbqnmzCL8BAAAAAAAAoJgFBwcXGGj/s//1mM2Fv97RarUWuq8krVu3TkOHDpXFYtH//vc/tWjRIrutW7duWrduncxms/z9/bOfOzs76+WXX9b27dt18OBBrV69Wvfee+8N1b1ZhN8AAAAAAAAAUMx69Ohx3WNMbpSHh4ckKTU1Nd8+V65cydG3ML755huNHj1aGRkZGjJkiAYNGpSj3WQyZR+B8k9ms1nt27fXwYMHdeDAAcJvAAAAAAAAAMCN8fLykoeHhy5duqSM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PD09c8zbvn0733//PTt27CAtLa3Qk98iIiIiIiIiIiJy89KAj1IUbJb8vt7Fixf54YcfWL16NWFhYWR0MPfx8SmsTYqIiIiIiIiIiIiIAIWQ/N61axfff/89W7duJS0tDYPBgIeHB7169eLhhx+mRYsWtt6kiIiIiIiIiIiIiEg2Nkl+X758mR9//JFVq1YREhKS2cvbzs6O+fPn07lzZ8qWLWuLTYmIiIiIiIiIiIiI5OmGkt979+7lu+++448//sjs5d2wYUMee+wxfvrpJ44fP879999vq7aKiIiIiIiIiIiIiFilQMnvhQsXsnr1agIDAzPLmvTu3ZvHHnuMxo0bA7Bp0yabNlRERERERERERERKhnSNeClFoEDJ71mzZuHk5ESfPn3o2bMnd999N2XKFNrYmSIiIiIiIiIiIiIi+VLgjHViYiIHDx6kTJkyODg40KlTJ+zt7W3ZNhERERERERERERGRAilQtvrXX39lwIABJCcns2bNGoYNG8Y999zDzJkz8ff3t3UbRURERERERERERETyxc5gKHiBnbS0NLZu3cratWvZvn07qamp2NnZ0aRJEy5evEhERAQnTpywZXutEhUdW+TblJtTckp6cTdBbgL29nbF3QS5SdgdP1bcTZCbgH0Fj+Jugtwk7F2ci7sJchPwqONb3E0QEREplb7/M7C4m1DsnurqXdxNKPFuqFC3g4MD999/P/fffz+RkZH88ssvrFmzhqNHjwJgZ2fHoEGD6NWrF927d8fNzc0mjRYREREREREREZFbl8a7lKJwQz2/LTl+/Dg//vgjv/32G9HR0djZ2VGmTBk6derEgw8+SO/evW29yWzU81syqOe3gHp+yzXq+S2gnt9yjXp+C6jnt4iISHH57g/1/H76PvX8LmyFkvzOkJyczB9//MHatWvZvXs3aWlp2NnZFXopFCW/JYOS3wJKfss1Sn4LKPkt1yj5LaDkt4iISHFR8lvJ76JwQ2VP8uLo6EjPnj3p2bMnFy9eZO3atfz000+FuUkREREREREREREREeyLakNVq1Zl6NChrF+/vqg2KSIiIiIiIiIiIiKlVJElv0VEREREREREREREikqhlj0RERERERERERERuV7hjUIoco16fouIiIiIiIiIiIhIiaPkt4iIiIiIiIiIiIiUOEp+i4iIiIiIiIiIiEiJo+S3iIiI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xRZ3E+Qm4ZB0Ne+FpMSzK+dY3E2Qm0QqDsXdBLkJBF8yP6CLlD4+rqnF3QS5CaScDSjuJshNonKHdsXdBBGRUuWrX88VdxOK3dA+5geJLEofffQRCxcupHz58rRr1474+HgOHjxImTJlWLhwIe3aZb8/3n777QAsX76ctm3bApCens7rr7/Oxo0bKVu2LHfeeSfly5dn//79xMfH07NnT2bPno2Dw7Xv5P/99x/9+/cnISGBO+64g2rVqnHgwAGio6N58skn+fDDD23y+crYJIqIiIiIiIiIiIiI3FJGjx5N/fr1WbFiBXv37sXFxYUuXbrwyiuvZJYpyYu9vT1z587l+++/Z/Xq1fz999/Y29tTv359nnzySR5//HHs7OyyrdO8eXNWr17Np59+yv79+zlz5gw+Pj68+eabPPHEEzb7fOr5LSWaen4LqOe3XKOe3wLq+S3XqOe3gHp+yzXq+S0iUrTU8/vm6Pld0qnmt4iIiIiIiIiIiIiUOCp7IiIiIiIiIiIiIkWqBBajkJuQen6LiIiIiIiIiIiISImj5LeIiIiIiIiIiIiIlDhKfouIiIiIiIiIiIhIiaPkt4iIiIiIiIiIiIiUOBrwUkRERERERERERIpUusa7lCKgnt8iIiIiIiIiIiIiUuIo+S0iIiIiIiIiIiIiJY6S3yIiIiIiIiIiIiJS4ij5LSIiIiIiIiIiIiIljga8FBERERERERERkSJl0ICXUgTU81tEREREREREREREShwlv0VERERERERERESkxFHyW0RERERERERERERKHCW/RURERERERERERKTE0YCXIiIiIiIiIiIiUqQMGvFSioB6fouIiIiIiIiIiIhIiaPkt4iIiIiIiIiIiIiUOEp+i4iIiIiIiIiIiEiJo+S3iIiIiIiIiIiIiJQ4GvBSREREREREREREilS6xruUIqCe3yIiIiIiIiIiIiJS4ij5LSIiIiIiIiIiIiIljpLfIiIiIiIiIiIiIlLiKPktIiIiIiIiIiIiIiWOBrwUERERERERERGRImXQgJdSBNTzW0RERERERERERERKHCW/RURERERERERERKTEUfJbREREREREREREREocJb9FREREREREREREpMTRgJciIiIiIiIiIiJSpDTgpRQF9fwWERERERERERERkRJHyW8RERERERERERERKXGU/BYRERERERERERGREkfJbxEREREREREREREpcTTgpYiIiIiIiIiIiBSpdI14KUVAPb9FREREREREREREpMRR8ltEREREREREREREShwlv0VERERERERERESkxFHyW0RERERERERERERKHA14KSIiIiIiIiIiIkVK411KUVDPbxEREREREREREREpcZT8FhEREREREREREZESR8lvERERERERERERESlxVPO7GMXExLBo4QK2b9/KpUuXqFixIu3atWfgoCFUr169WOKtXv09s2d9xKzZc+jU6W6Ly+3atZPvvlvJyRPHMRgM+PrW4eFHHqFXr96UKaPDKi8xsbEsWLKEbTt3cOnyZSpWqED7Nm0ZPGAA1b28iiTeG2PHsGvPHosxq1Wtyrof12Sb9vV33zH3889ybcuab1dSu1atfH+GkiwmJoYFCxeydfv2zHOzfbt2DBk0qMDnekHi/bZ+PatWr8bf35+yZcty22230e+ZZ+h8zz0W19m5axcrv/uO4ydOYDAYqOPryyOPPELvXr3MnutR0dHc3717ru0f+OKLvDR8uPUfuBS61e4PoaGh9H30Iavbs2//X/lqv+QUFxvD6pWL2b9nB1FXLuPuUYEWrdrxxLMvUrVa/u8jWaWnpzN+1DAuhIewZOV6i8slJl7llzUr2bPjDyIuhOLmXoEGtzfhkSf6Ub9Boxtqg1gWExvLgqVL2bZzZ5Z7fhsG9+9f8GeIAsQ7ceoUy1eu5O9//yU6JoZKFSvSqX17hgwYQJXKlW/kI4oVYuLjWfzzT2w/fIjLUVFUcHOjXbPmvPjQw1SvUiXf8QLCQvlm/XoOnTjB5egoypV1pL53bfrc05meHTpaFSM1NZUXJ72Hf3Aw88eMpVVDXQdERESk+NkZDCWvvPyVqNjibkKeYmJiGDJkIOcDAnB2dsHb25vQ0BBiYmJwc3Pj8y++okGDBkUa7+TJk7w0YigJCQm5Jr8/+2weK5YvA6BixYp4eVXn3LmzJCYmclebNsyYMQtnZ2fr/xiFyCHpanE3IYeY2FgGjRhBQOB5XJyd8a5dm5DQUGJiY3FzdeXLefNoUK9+ocd76MknCAsPp1mTJtjb53wJpGKFinw0ZUq2ae9PncK633+njo8P7u7uZtsz9f1JVKta1er2FwW7co7Ftu2YmBgGDhlCQECAcf94exv3j+nc/OqLL/J9rhck3rzP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iIiIiIiIiMjN4IbKnmQMWvnbb7/h6+ub70Esjx49eiObFxEREREREREREREx64aS36mpxldFMyqnZPx/EREREREREREREZHidEPJ7+sHuNSAlyIiIiIiIiIiIpKX9JI3DKHchFTzW0RERERERERERERKnCJPficlJREcHMyKFSuKetMiIiIiIiIiIiIiUkrcUNkTc77++mtWrFhBWFgYKSkpuS77/PPP23rzIiIiIiIiIiIiIiK2TX6vW7eOyZMnZ/5/Ozs7DAYD9vb2pKenZ06vUqUKPXv2tOWmRUREREREREREREQy2bTsyXfffYednR1jx47l77//5p133sHe3p6tW7dy6NAh5s6dS5UqVUhJSWHw4MG23LSIiIiIiIiIiIjcIgwG/ZPCZ9Pk96lTp6hXrx4DBgygfPnytGrVivT0dPbt24eLiws9evRg/vz5REdH89VXX9ly0yIiIiIiIiIiIiIimWya/E5ISKBu3bqZ/79u3brY2dlx8uTJzGktWrSgSZMm7Ny505abFhERERERERERERHJZNPkt7u7O1evXs38/46Ojnh6enLmzJlsy9WqVYvw8HBbblpEREREREREREREJJNNk9+NGjXi8OHDREdHZ06rV68eR44cIS0tLXNaaGgo5cuXt+WmRUREREREREREREQy2TT5/dhjjxEfH89TTz3Fpk2bAOjatSvR0dG8//77BAQEsHjxYo4cOUKDBg1suWkRERERERERERG5RRT3YJM3wz8pfDZNfvfq1Yunn36agIAAfvvtNwAef/xxateuzQ8//EDPnj356KOPABg2bJgtNy0iIiIiIiIiIiIikqmMLYOtXbuWp59+mscee4y4uDgAypUrxzfffMOcOXP477//8PLyon///tx999223LSIiIiIiIiIiIiISCabJr9nzZqFi4tLZsmTDNWqVWPatGm23JSIiIiIiIiIiIiIiEU2LXsSFxdHw4YNbRlSRERERERERERERCTfbNrzu3379hw4cIALFy7g6elpy9AiIiIiIiIiIiJSQqRrxEcpAjZNfg8ePJiJEyfSp08f7r//fho2bIiHhwf29uY7mPfp08eWmxcRERERERERERERAWyc/H7uueews7PDYDCwZs0a7Ozscl1eyW8RERERERERERERKQw2TX4/8sgjeSa8RUREREREREREREQKm02T39OnT7dlOBERERERERERERGRArFp8ltEREREREREREQkLxrvUoqC+ZEoRURERERERERERERuYUp+i4iIiIiIiIiIiEiJo+S3iIiIiIiIiIiIiJQ4Sn6LiIiIiIiIiIiISImjAS9FRERERERERESkSGnASykK6vktIiIiIiIiIiIiIiWOkt8iIiIiIiIiIiIiUuIo+S0iIiIiIiIiIiIiJY6S3yIiIiIiIiIiIiJS4mjASxERERERERERESlS6RrxUoqAen6LiIiIiIiIiIiISImj5LeIiIiIiIiIiIiIlDhKfouIiIiIiIiIiIhIiaPkt4iIiIiIiIiIiIiUOBrwUkRERERERERERIqUxruUoqCe3yIiIiIiIiIiIiJS4ij5LSIiIiIiIiIiIiIljpLfIiIiIiIiIiIiIlLiKPktIiIiIiIiIiIiIiWOkt8iIiIiIiIiIiIiUuKUKe4GiIiIiIiIiIiISOliMBR3C6Q0UM9vERERERERERERESlxlPwWERERERERERERkRJHyW8RERERERERERERKXGU/BYRERERERERERGREkcDXoqIiIiIiIiIiEiRSteIl1IE1PNbREREREREREREREocJb9FREREREREREREpMRR8ltEREREREREREREShwlv0VERERERERERESkxNGAlyIiIiIiIiIiIlKkNN6lFAX1/BYRERERERERERGREkfJbxEREREREREREREpcUpk2RMHpfTFJKmMU3E3QW4CjnExxd0EuUnYp6QWdxPkJuB14kRxN0FuEnad2hV3E+QmUKZWzeJugtwkzgVfKe4myE2gTq2Kxd0EERGxIaWJRURERERERERERKTEKZE9v0VEREREREREROTmpQEvpSio57eIiIiIiIiIiIiIlDhKfouIiIiIiIiIiIhIiaPkt4iIiIiIiIiIiIiUOEp+i4iIiIiIiIiIiEiJowEvRUREREREREREpEila8BLKQLq+S0iIiIiIiIiIiIiJY6S3yIiIiIiIiIiIiJS4ij5LSIiIiIiIiIiIiIljpLfIiIiIiIiIiIiIlLiaMBLERERERERERERKVIGg0a8lMKnnt8iIiIiIiIiIiIiUuIo+S0iIiIiIiIiIiIiJY6S3yIiIiIiIiIiIiJS4ij5LSIiIiIiIiIiIiIljga8FBERERERERERkSKl8S6lKKjnt4iIiIiI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+/nnn09zP7IGJKzlGzVqlOZbAtbeeNlx3ntQZGXfza7AU2rb09ru96J3p5Sxc9DgwYPVsWNH8xy0Y8cObdy4URs3btSSJUv0/fffpzqY7d2Wc+d2tF5jqlSpkmaqDHtvKd2NI7d3Vq5Hqc0vI8GNmjVrat26dQoNDdX69eu1adMmHTt2TLNmzVJISIhmz56d6kN4Rs851vWwDmSaluRpWLKTdeDf1LbRne1x+PBhdenSRbGxsSpWrJh8fHxUvnx5eXt768knn7Q7eGVWjrusePnll7V//36tWLFC/fv314oVK+Tk5JRiEEyr9OzTuaHNHE1CQoKZniYmJsbssHOnxMRELV68WL1791axYsVUokQJxcTEaN++ffLz80tzGatWrdKFCxdUr169NM/HuD/uPHdm9nkxPfNG7pTRZw170ton2A8APEgIfmeBtRdSavnRMvJqpsVikcVi0TvvvKO4uDitWbNGI0eO1K+//qpdu3al2Rt26tSpOnHihF5++WWNGDHCpjdyXFxcln99t77qnlpPuqioKB08eFDVqlUzAwK+vr4Omf9Xut3Dz9XVVefOnVNiYmKKoMeFCxe0evVqMxXOyZMnU52X9dXvokWLZqlOjz32mF5//XW9/vrrSkxM1JYtWzRy5EgdO3ZMCxcuVI8ePcygSWpB7itXrmSpDqnx8PCQq6urEhMTNWHCBIcKjmaVs7OzatasqZo1a0q6/WASEhKir776SpMmTVK7du3Msqk9uFrPP9aek8WLF9epU6c0YMCANHtTWhUvXlzHjx9X165dbV65T012nvdyu9yw7167dk2XL19OkVLDuv3T80ZOTihTpoy6deumbt266caNG/rjjz80bNgwbd++Xb/99pvdVB7S7f3pzz//1KlTp+wGT+7cn6zXmPr16+vtt9/O1nVw5Pa2rtu5c+d048YNu72/77wepXXNiIuLy1AvQen2jwotWrQw02AcPHhQU6ZM0fr16zVt2jQz5/OdMnrOse4jjz76qCZNmpShOmYX67nX2gP8TndOHzVqlGJjY9W7d2+9++67NgGFQ4cOpbqczB53WfH8889rwoQJWrNmjbp06aKdO3cqICDAbm926fa1684foxISEnT+/Hm5u7vLw8MjV7SZo/n999918eJF1axZ08z3f6fffvtN77zzjhYvXqy33npLzs7OatiwoebPn681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5Fq3bq358+frjz/+UHR0tEqWLKn//Oc/SkxM1Ndff61evXrJ09NTFotFLi4u2rdvn6Kjo+Xi4qL333//gb+ff5jkxPMico+MPGu0aNFCM2fO1LFjx9SsWTNVq1ZNp0+f1r59+9S6dWstX778Pq8NAGQdPb+zyMnJSVOmTNFHH32kUqVK6Y8//tDp06f13nvvqV+/fnf9fpkyZbRgwQK1bt1aN2/eVGhoqHbv3i0fHx9NmTLFfCXYasSIEapYsaKOHj2qjRs36uLFi6pfv76+/PJL+fv768SJE1q3bp0uX76sDh06aPny5WrevLmklL/0Z0SBAgX0v//9T++++64KFCig0NBQHTx4UHXr1tXcuXNVt25ds2yxYsW0aNEivfPOOypatKg2b96sffv2qWLFiho9erSmTp3qEHmfx44dq/Hjx8vLy0tbt27V1q1bVb58eU2YMEF9+vSRdDvP2pQpUzRu3Dh5e3trx44dioiIUKlSpTRw4ED98MMPKly4cKbr4Obmpq+//lrdu3dX4cKFtWnTJm3atElFixZVv3799N1339kMePXGG29o7Nix8vb21p49e7Rz5041atRIixYtMoOb98qQIUM0c+ZMBQQE6OjRo/rjjz+UN29ederUScuWLTNzpD8sGjdurK+//lp169bVyZMn9fvvv+vEiRNq2rSpFi5cqAYNGtiUb9++vUaMGKErV65o/fr18vDw0AcffKCvvvoqxaBmwcHBmjNnjho0aKDTp09r/fr1SkpK0ksvvaRly5alyO393HPPadGiRXr++ed14cIFhYaG6sqVK2rWrJkWLVpk9gyzqlatmhYuXKgWLVrozJkz2rBhgywWi0JCQtKVZzy38vDw0KhRo+Tp6amtW7dq48aNku7/vjtr1iy1aNFCO3fu1O7du1WjRg19//33at++/T1dbnp4eHho3rx56tChg9zc3LRhwwZFRkaagapPP/30rvNo2rSp5s6dq3r16unw4cPatGmTgoKCNHfuXLtBtfLly2vZsmUKDg7WI488ovDwcB09elTVq1fX9OnT9eGHH6a77g9bew8cOFAzZ85UYGCgDhw4oLCwMOXPn1+9e/fW0qVLbX5sl26nPRo4cKDKli2rrVu3KioqSm3bttXcuXOVL1++FPNv166dXnjhBSUmJmrDhg36888/zeUOGzZMFStW1J49e7Ru3TrduHFDHTt21LJly+7ak75o0aKaP3++unbtKul22pA8efJo+vTpevbZZ1OUd3Z21tSpUzV27FhVrFhR+/fv1+bNm1WsWDG99dZbWrhw4T2/5rm4uOjzzz/Xf/7zHxUpUkRhYWE6cuSIunTpogkTJki6HRiWbgfKJ06cKG9vb0VFRZnn7DfffFPLli1TUFCQEhMTzV7d2XHcpSW1drRydnY2x6J56aWX0pzXmDFj1LlzZx08eFBbtmyRt7e3ZsyYYd4nJZ/n/W4zR2FNeWLNr5+WqlWrqmzZsrp165b5NpeTk5MGDBiguXPnqnXr1nJ2dlZERITCwsKUJ08etWnTRkuWLMn2cRdwb+XE8yJyl/Q+a+TPn1/z58/Xiy++qKSkJIWFhckwDE2aNEk9e/a8z2sBANnDycjoiEUAgBzz2WefacaMGXr//fd50HzINGzYUKdOnVJYWNgD/aMC0of2diwHDx5U4cKFzQE7k7MONNi9e/cUnRweBPHx8apTp44ee+wx/frrr3ZzhHfq1Elbt27VvHnz0jWYMgAAAHCv0PMbAAAAyEYff/yx6tWrl2LAx9jYWM2YMUOS0pWeJ7dISkpSQkKCEhISNG7cOF29elUdOnRIc3BMAAAAIDcg5zcAAA+wNWvWmAPcpterr75Kb8wHFO39YHjjjTfUp08f9ezZU76+vipVqpSuXLmiHTt2mGO6WFOH3CsZ7VVepEgRDRkyxO5niYmJqlq1qpycnHTz5k2VKVMmV6ReAgAAAO6G4DcAAA+wQ4cOaeXKlRn6Tq1atQiGPqBo7wfDc889pxIlSmjOnDnas2ePoqKilD9/fvn7+6tDhw450us7o/uJp6dnqsFvNzc3WSwWHT16VAEBARo9erTdvO8AAABAbkPObwAAAAAAAACAwyHnNwAAAAAAAADA4RD8BgAAAAAAAAA4HILfAAAAAAAAAACHQ/AbAAAAAAAAAOBwCH4DAAAAAAAAABwOwW8AAAAAAAAAgMMh+A0AAAAAAAAAcDgEvwEAAAAAAAAADofgNwAAAAAAAADA4RD8BgAAAAAAAAA4HILfAAAAAAAAAACHQ/AbAAAAAAAAAOBwCH4DAAAAAAAAABzO/wHVtpkwEmTUwwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 690, + "width": 735 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(16,12))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 435, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 254, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['distance'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 436, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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IBYuXGj2lDlq166djh07dtefCwwM1BdffGG43t/fX6GhoXd9HgAAAKAwMj1ANGvWzOwpAQAAAOQTpm+izo0jN1MDAAAAyBsOCxCxsbH617/+paefflr169e3v5shLi5OL7/8sjZt2uSoUwMAAABwENNvYZKkbdu2adiwYUpKSpLNZpP0x2bp8+fP66efftKePXs0ePBgvf76645oAQAAAIADmL4CcfbsWQ0ZMkRXr17VU089pZkzZ6pevXr28erVq+sf//iHbDabZs2aleWpTQAAAADyN9MDxGeffaZr167p//7v/zR16lS1adNGJUqUsI+XL19ekyZN0vDhw2Wz2bRkyRKzWwAAAADgIKYHiMjISN13333q37//bev69OmjsmXL6uDBg2a3AAAAAMBBTA8Qv/76q3x9feXq6nrbOldXV91///23fckcAAAAgPzF9ABRpkwZXbhwwVBtXFycypYta3YLAAAAABzE9ADRuHFjJSYmav369betW7duneLj49WoUSOzWwAAAADgIKYHiN69e8tms2nMmDFatWqVbty4kWU8LS1NK1as0LvvviuLxaIePXqY3QIAAAAABzH9PRBNmzbVkCFDFBoaqlGjRtmDgiQFBwfr/Pnzun79umw2m/r06aNHHnnE7BYAAAAAOIhDXiQ3aNAg+fv7KzQ0VNHR0fbjJ06ckCRVqVJFgwYN0vPPP++I0wMAAABwEIcECElq166d2rVrp3Pnzik6OlpJSUny8PBQ9erV5e/v76jTAgAAAHAghwWITL6+vvL19XX0aQAAAADkAdM3UQMAAAAovExfgahbt+5d1VssFh05csTsNgAAAAA4gOkBwmazGa4tXbq02acHAAAA4ECmB4jw8PBcx65du6b4+Hht3LhRq1at0vPPP6+3337b7BYAAAAAOIjpAaJWrVp3rGndurXq1KmjSZMmqUGDBnr22WfNbgMAAACAAzhtE3WPHj1Urlw5hYWFOasFAAAAAHfJaQHC1dVVPj4+On78uLNaAAAAAHCXnBYgkpKSdPr0abm7uzurBQAAAAB3yfQ9ENeuXct1zGazKTU1VadOndInn3yilJQUBQUFmd0CAAAAAAcxPUAEBgYaqrPZbHJ1ddWAAQPMbgEAAACAgzjtPRC1a9fWkCFD9NBDD5ndAgAAAAAHMT1AbNy48fYndHNTmTJl5OHhYfap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1apVK1WsWNHJnQIAAACOxwrEHSxevFipqanq3bu3PTxIUsOGDdW/f3/duHGDVQgAAAAUGaxA3MG2bdskSW3atMk21qZNG02dOlUREREaMmRIXrcGALcV/OZqZ7eQZ8I/7uTsFgCgyGAF4jZsNpuio6Pl4uKiGjVqZBuvXr26XFxcFB0dLZvN5oQOAQAAgLxFgLiNK1euKDU1VWXLllWxYsWyjbu5ualcuXK6du2akpOTndAhAAAAkLcsNn51nquLFy+qVatWqlKlijZt2pRjzZNPPqlffvlFERERpmykfvzxxxUXF6fSpUurbt269zwfAAAAkJOoqChdvXpVFStWvKvXE7AH4jZcXIwv0JiVw1JSUiRJV69e1a5du0yZEwAAAMhN5s+fRhEgbsNqtUqSbty4kWvN9evXs9Teq/vvv1/nz5+X1WpVtWrVTJkTAAAA+KszZ84oJSVF999//119jgBxG6VKlZLValViYqLS0tLk5pb125WWlqbExEQVL15cZcqUMeWcq1atMmUeAAAAwBHYRH0bFotF/v7+Sk9P1+nTp7ONnzp1ShkZGVneDwEAAAAUZgSIOwgKCpIkff/999nGMo+1bNkyT3sCAAAAnIUAcQfPPfecihcvrs8//1w///yz/fihQ4f073//WyVKlNBLL73kxA4BAACAvMNjXA1YvHixPvjgA7m7u6t58+aSpJ07dyotLU2TJ09Wp068ARUAAABFAwHCoM2bN+vf//63jhw5omLFiql27dp67bXX9PDDDzu7NQAAACDPECAAAAAAGMYeCAAAAACGESAAAAAAGEaAAAAAAGAYAQIAAACAYQQIAAAAAIYRIAAAAAAYRoAAAAAAYBgBAgAAAIBhBAgAAAAAhhEgAAAAABjm5uwGkH/89ttvCg4O1qVLl3Ts2DFntwMTrVq1SiNHjsx1fODAgRo6dGgedgRH+eWXXzRr1iz98MMPSkhIULly5dSqVSsNGTJEFSpUcHZ7+Jtq165tqG7hwoVq3ry5g7tBXli9erUWL16s48ePKyMjQ35+fnruuef08ssvy9XV1dntwQQ3b95UWFiYVq1apdOnT6t06dJq1KiRBgwYoMaNGzu7vdsiQMBu3LhxunTpkrPbgANERUVJkh599FF5enpmG69bt25etwQHOHTokPr06aOrV68qICBADzzwgH7++WctW7ZMO3bs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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 251, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['consume'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 437, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 251, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['speed'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 438, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxAAAAH2CAYAAADge2pLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAABYlAAAWJQFJUiTwAAA52ElEQVR4nO3dfXxO9/3H8feVO0mEEsRt3KRJUEqrQtstVVVU19BuVesUYYqyX1pqRjttVRWdtmR0qp1WUxSdmymtFiXmJnUTmqFIqJtqIiRuIkgl5/eHR641S8I3c65cuXk9H489Hnq+n+ucz/FdIu+c8z3HYVmWJQAAAAAw4OHuBgAAAACUHwQIAAAAAMYIEAAAAACMESAAAAAAGCNAAAAAADBGgAAAAABgjAABAAAAwBgBAgAAAIAxAgQAAAAAYwQIAAAAAMYIEAAAAACMESAAAAAAGPNydwMo6NFHH9WJEyfk7++vJk2auLsdAAAAVFBHjx5Vdna2GjVqpOXLlxt/jgBRxpw4cUIXLlzQhQsXlJaW5u52AAAAUMGdOHGiRPUEiDLG399fFy5cULVq1dSyZUt3twMAAIAKav/+/bpw4YL8/f1L9DkCRBnTpEkTpaWlqWXLloqLi3N3OwAAAKig+vXrp2+++abEt82ziBoAAACAMQIEAAAAAGMECAAAAADGCBAAAAAAjBEgAAAAABgjQAAAAAAwRoAAAAAAYIwAAQAAAMAYAQIAAACAMQIEAAAAAGMECAAAAADGCBAAAAAAjBEgAAAAABgjQAAAAAAwRoAAAAAAYIwAAQAAAMAYAQIAAACAMQIEAAAAAGNe7m4AAOAaUc+vcHcLpWblm73c3QIAVBpcgQAAAABgjAABAAAAwBgBAgAAAIAxAgQAAAAAYwQIAAAAAMYIEAAAAACMESAAAAAAGCNAAAAAADBGgAAAAABgjAABAAAAwBgBAgAAAIAxAgQAAAAAYwQIAAAAAMYIEAAAAACMESAAAAAAGCNAAAAAADBGgAAAAABgjAABAAAAwBgBAgAAAIAxAgQAAAAAYwQIAAAAAMYIEAAAAACMESAAAAAAGCNAAAAAADBGgAAAAABgjAABAAAAwBgBAgAAAIAxL3c3cLNyc3O1cOFCLVu2TIcPH1Zubq6Cg4P18MMPa/DgwapSpUqB+qSkJM2aNUtJSUnKzs5WaGio+vfvr6ioqCL3f+TIEf31r3/Vzp07dfbsWTVu3FhPPPGE+vbtKw8P8hcAAAAql3IdIHJzczV8+HBt2LBB/v7+atu2rby8vLRnzx7FxsZq48aNmjdvnvz8/CRJmzdv1tChQ5WXl6eIiAj5+flp69atGj16tJKTkzVy5MgC+//uu+/Ut29fZWVlqV27drr99tuVkJCg1157TXv27NG0adPccdoAAACA25TrALFkyRJt2LBBzZs313vvvae6detKkjIyMjR8+HAlJibqnXfe0fPPP6/Lly/rj3/8oyRp7ty5uvvuuyVJx44dU79+/TR79mx17dpVrVu3liRZlqUxY8YoKytLb7zxhnr16uXcd3R0tFauXKmuXbuqe/fubjhzAAAAwD3K9T04y5YtkyS98MILzvAgSYGBgXrllVckSatWrZIkrVixQmfOnFFUVJQzPEhS48aNNXr0aElSXFycc/vmzZt14MABdejQwRke/nvfP68HAAAAKoNyHSBq1qypkJAQtWnTptBY06ZNJUmnTp2SJG3atEmS1KVLl0K1nTt3lqenp+Lj453b8usffPDBQvXt2rVTrVq1tHPnTmVlZd30eQAAAADlRbkOELNnz9bnn38uf3//QmNJSUmSpHr16kmSDh06JEkKDw8vVBsQEKCgoCBlZGTo9OnTkqTk5ORi6yWpWbNmysvLU0pKys2fCAAAAFBOlOsAURzLsjRjxgxJUrdu3SRJ6enpkqQ6deoU+Zn87fkBIv/KhWk9AAAAUBlUyADx1ltvafv27apdu7YGDx4sSbp06ZIkydfXt8jP5G/Pzs7+n+oBAACAyqDCBYgZM2Zozpw58vHx0fTp0xUYGChJ8vT0lMPhkMPhuO7n8/LynPWSjOsBAACAyqDCBIirV6/qpZde0jvvvKMqVapo5syZioiIcI77+fnJsixduXKlyM9fvnxZklS1alVn/c+336geAAAAqAwqRIC4ePGihg0bpkWLFql69er6+9//rk6dOhWoCQoKkvSftRD/7b/XSOTXF7fG4UZrKgAAAICKqNwHiHPnzqlfv37atGmT6tevr/nz5xe48pAvLCxMkop8alJWVpZOnTqlwMBA1a5du0B9/tOYfs6yLB0+fFienp669dZb7TwdAAAAoEwr1wEiJydHQ4YM0d69exUaGqpPPvmk2MeuRkZGSpLWrl1baGz9+vXKzc0tcNUi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g0vStGnTJF37bVBMTIxyc3MVERGhqlWratu2bbp06ZJGjhypYcOGlVb7Fdb/Mi//bezYsVq2bJneeOMN9erVy1WtVholmZMpU6aoc+fOOnXqlJo1a6bWrVsXW/vCCy/wNK2b8L98rYwfP16LFy+Wt7e37rrrLvn4+Ojbb7/V2bNn1bp1a33wwQdl5gVZ5ZEd37+ka09jPHbsmNatW1fkmjuUTEnnJS8vT88995zWrFkjb29vtW/fXn5+fkpISNDFixfVo0cPvfnmm84X+7oTayBQwODBg1WzZk3FxcVp69atqlatmjp27Kjf//73uvfee93dXoWwfft255OT9u7d63weelHyv9F36dJFcXFxmjVrlvbs2SPLstS8eXNFR0ezONQm/8u8wLVKMicDBw50vqvmyJEjOnLkSLG1zz33HAHiJvwvXysTJ05URESEFixYoD179igvL09NmzbV4MGD1b9/f95DcJP4/lU2lXRePDw8NGPGDC1atEhLlixRYmKiPDw8FBoaqieeeEKPP/74DR/pXlq4AgEAAADAGGsgAAAAABgjQAAAAAAwRoAAAAAAYIwAAQAAAMAYAQIAAACAMQIEAAAAAGMECAAAAADGCBAAAAAAjBEgAAAAABgjQAAAAAAwRoAAAAAAYIwAAQAAAMAYAQIAAACAMQIEAAAAAGMECAAAAADGCBAAAAAAjBEgAAAAABj7f/pa8otZczJeAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 251, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['temp_inside'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 439, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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AEoIuweIp556Sv369dOKFSuUlpZm780DAAAAcCK7BwhPT0/98MMPGjNmjH7zm99oxIgR2rx5s3Jycuz9VgAAAACKmYe9N7ht2zZ9++23iomJ0datW7Vq1SqtXr1afn5++t3vfqfnnntOTZs2tffbAgAAACgGdg8QXl5eCgsLU1hYmJKTk7V69Wr9+9//1oEDB/TFF1/oyy+/VIMGDdStWzeFhYWpevXq9i4BAAAAgIM49C5Mfn5+euWVV7R06VKtW7dOQ4cOVdOmTXXy5El98MEHevrpp9W3b1+tWLFC6enpjiwFAAAAgB0U221c69Spo8GDB2v+/PkaNmyYvLy8lJOTo+3bt2vMmDEKDQ3VlClTdPXq1eIqCQAAAMA9svslTAVJTk7WN998o9WrV2vfvn3KycmRYRiqUaOGwsLClJiYqHXr1ikqKkqrV6/W559/rsDAwOIoDQAAAMA9cFiASEtLsy2m3r59u7Kzs2UYhnx8fNS5c2c9//zzatOmjW3822+/reHDh2vz5s2aMGGCoqKiHFUaAAAAgF/J7gFi3bp1+vrrr7V582bdvHlThmHI3d1djz/+uJ5//nl16tRJXl5e+V7n6+urUaNGafPmzTp48KC9ywIAAABgB3YPEEOHDrX976CgID3//PMKCwtTQECA6W1UrlzZ3mUBAAAAsAO7Bwh/f3/97ne/0/PPP68mTZrc02urVq2qVatWqUaNGvYuCwAAAIAd2D1AbN68We7u7oX2Jycnq1KlSrJYLPn6fH195evra++SAAAAANiJ3W/j6u7uruzsbM2bN0//8z//o6ysrDz948eP1+OPP66///3vun37tr3fHgAAAIAD2X0GIisrS4MGDdK2bdskSfHx8WrUqJGt/9KlS0pJSVFkZKT27dunefPmFTgbAQAAAKDksfsMxOeff66tW7eqcuXKmjlzpho2bJinf+HChfr4449VvXp1bd68Wf/85z/tXcJdnT9/XmPGjNETTzyhZs2aKTQ0VOPGjVNSUlK+sfHx8Ro+fLjat2+vFi1aKCwsTFFRUcrJySn2ugEAAABns3uAiImJkYeHhz799FN16dJFHh55Jznc3d0VGhqqDz/8UBaLRf/617/sXUKRDh48qG7duulf//qXKlSooPbt28vNzU1Lly5Vz549de3aNdvYo0ePqnv37raF3aGhoUpISNDkyZM1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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 251, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['temp_outside'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 440, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ecXExDjCgySFh4drxIgROnfuHFchAAAAUGcQIC5jw4YNkqTu3buX6StpYy8EAAAA6goCxCXY7Xalp6fLxcVFQUFBZfpbt24tFxcXpaeny263V0GFAAAAwLVFgLiE06dP6/z582rYsKE8PDzK9Lu5ualRo0YqKChQfn5+FVQIAAAAXFtsor6EgoICSZKXl1eFYzw9PSVJ+fn58vb2rvQxDx48KElKTU1VdHR0pee7Ug2v+RGrTnT0F1VdAgAAKEfDqi7gGqrK7yOpqamSfvv+aRQB4hJcXIxfoDHrFiabzSZJOnPmjLZs2WLKnAAAAEBFSr5/GkWAuASr1SpJOnfuXIVjzp49W2psZd1www06cuSIrFarWrVqZcqcAAAAwB8dPHhQNptNN9xwwxV9jgBxCd7e3rJarTp58qQKCwvl5lb6l6uwsFAnT55UvXr11KBBA1OO+dVXX5kyDwAAAOAMbKK+BIvFouDgYBUVFenAgQNl+vfv36/i4uJS74cAAAAAajMCxGVERkZKkr777rsyfSVtXbt2vaY1AQAAAFWFAHEZDz74oOrVq6f33ntP//vf/xztKSkpev/99+Xp6amHH364CisEAAAArh2LnTegXdaSJUv00ksvyd3dXV26dJEkJScnq7CwUDNnzlTfvn2ruEIAAADg2iBAGLR27Vq9//772r17tzw8PBQWFqbHH39cd9xxR1WXBgAAAFwzBAgAAAAAhrEHAgAAAIBhBAgAAAAAhhEgAAAAABhGgAAAAABgGAECAAAAgGEECAAAAACGESAAAAAAGEaAAAAAAGAYAQIAAACAYQQIAAAAAIYRIGq5jRs3avDgwerSpYsiIiIUHR2txMTEK5pj//79GjdunLp27aoOHTooKipKcXFxKi4udlLVuFJmnOf169frH//4hzp37qz27durW7duevHFF5WVleWkqnElzDjHfzR8+HCFhYUpOTnZpCpRWWac5/z8fMXGxqp37966+eab1blzZ40cOVIpKSlOqhpXyozzvHPnTj322GOO/2d3795d06dP1+nTp51UNa7WsmXLFBYWph9++OGKPpedna0XX3xR9913n8LDw9WrVy/NmzdP58+fd1Klxlnsdru9qouAcyxbtkwTJ06Uh4eHbr/9dhUXFys5OVkXLlzQSy+9pAEDBlx2jj179mjQoEHKy8tTRESEGjdurOTk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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 251, + "width": 392 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "df_train['AC'].plot.hist()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Consumo fuel vs distancia recorrida:" + ] + }, + { + "cell_type": "code", + "execution_count": 441, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsun
count388.000000388.000000388.000000388.000000388.000000388.000000388.000000388.000000388.000000
mean19.5961544.81632741.92783521.93491111.3582470.5876290.0773200.1237110.082474
std10.1121000.30221813.5985240.8105956.9915420.4928970.2674430.3296770.275441
min2.0000004.00000014.00000019.000000-5.0000000.0000000.0000000.0000000.000000
25%19.5961544.81632732.75000021.9349117.0000000.0000000.0000000.0000000.000000
50%19.5961544.81632740.50000021.93491110.0000001.0000000.0000000.0000000.000000
75%19.5961544.81632750.00000022.00000016.0000001.0000000.0000000.0000000.000000
max211.0000009.00000090.00000025.00000031.0000001.0000001.0000001.0000001.000000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "count 388.000000 388.000000 388.000000 388.000000 388.000000 \n", + "mean 19.596154 4.816327 41.927835 21.934911 11.358247 \n", + "std 10.112100 0.302218 13.598524 0.810595 6.991542 \n", + "min 2.000000 4.000000 14.000000 19.000000 -5.000000 \n", + "25% 19.596154 4.816327 32.750000 21.934911 7.000000 \n", + "50% 19.596154 4.816327 40.500000 21.934911 10.000000 \n", + "75% 19.596154 4.816327 50.000000 22.000000 16.000000 \n", + "max 211.000000 9.000000 90.000000 25.000000 31.000000 \n", + "\n", + " gas_type AC rain sun \n", + "count 388.000000 388.000000 388.000000 388.000000 \n", + "mean 0.587629 0.077320 0.123711 0.082474 \n", + "std 0.492897 0.267443 0.329677 0.275441 \n", + "min 0.000000 0.000000 0.000000 0.000000 \n", + "25% 0.000000 0.000000 0.000000 0.000000 \n", + "50% 1.000000 0.000000 0.000000 0.000000 \n", + "75% 1.000000 0.000000 0.000000 0.000000 \n", + "max 1.000000 1.000000 1.000000 1.000000 " + ] + }, + "execution_count": 441, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Media consumo por tipo de combustible" + ] + }, + { + "cell_type": "code", + "execution_count": 442, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsideACrainsun
gas_type
018.9929094.80803643.50625021.99371310.118750.0437500.1000000.075000
120.0194844.82214540.82017521.89364712.228070.1008770.1403510.087719
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside AC \\\n", + "gas_type \n", + "0 18.992909 4.808036 43.506250 21.993713 10.11875 0.043750 \n", + "1 20.019484 4.822145 40.820175 21.893647 12.22807 0.100877 \n", + "\n", + " rain sun \n", + "gas_type \n", + "0 0.100000 0.075000 \n", + "1 0.140351 0.087719 " + ] + }, + "execution_count": 442, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#La media de consumo es mayor en SP98 (SP98: 1, E10: 0)\n", + "df_train.groupby(['gas_type']).mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Feature columns" + ] + }, + { + "cell_type": "code", + "execution_count": 443, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['distance', 'consume', 'speed', 'temp_inside', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun'],\n", + " dtype='object')" + ] + }, + "execution_count": 443, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 444, + "metadata": {}, + "outputs": [], + "source": [ + "X = df_train[['distance', 'speed', 'temp_inside', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y = df_train['consume'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 332, + "metadata": {}, + "outputs": [], + "source": [ + "#from sklearn.preprocessing import StandardScaler\n", + "#sc = StandardScaler()\n", + "#X = sc.fit_transform(X)" + ] + }, + { + "cell_type": "code", + "execution_count": 333, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "x_train,x_test,y_train,y_test = train_test_split(X,y, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "code", + "execution_count": 369, + "metadata": {}, + "outputs": [], + "source": [ + "lin_reg = LinearRegression()\n", + "lin_reg.fit(x_train, y_train)\n", + "y_pred = lin_reg.predict(x_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 370, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MSE: 0.02\n", + "R2: -0.16\n" + ] + } + ], + "source": [ + "from sklearn.metrics import mean_squared_error, r2_score \n", + "print(\"MSE: {:.2f}\".format(mean_squared_error(y_test, y_pred))) \n", + "print(\"R2: {:.2f}\".format(r2_score(y_test, y_pred)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ridge Regression" + ] + }, + { + "cell_type": "code", + "execution_count": 445, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GridSearchCV(cv=5, estimator=Ridge(),\n", + " param_grid={'alpha': [1e-15, 1e-10, 1e-08, 0.0001, 0.001, 0.01, 1,\n", + " 5, 10, 20]},\n", + " scoring='neg_mean_squared_error')" + ] + }, + "execution_count": 445, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.model_selection import GridSearchCV\n", + "from sklearn.linear_model import Ridge\n", + "ridge = Ridge()\n", + "\n", + "parameters = {\"alpha\":[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}\n", + "ridge_regression = GridSearchCV(ridge, parameters, scoring='neg_mean_squared_error', cv=5)\n", + "ridge_regression.fit(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 446, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'alpha': 20}\n", + "-0.10203979770942706\n" + ] + } + ], + "source": [ + "print(ridge_regression.best_params_)\n", + "print(ridge_regression.best_score_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Lasso" + ] + }, + { + "cell_type": "code", + "execution_count": 448, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'alpha': 1}\n", + "-0.09169261449914168\n" + ] + } + ], + "source": [ + "from sklearn.linear_model import Lasso\n", + "lasso = Lasso()\n", + "\n", + "parameters = {\"alpha\":[1e-15, 1e-10, 1e-8, 1e-4, 1e-3, 1e-2, 1, 5, 10, 20]}\n", + "lasso_regression = GridSearchCV(lasso, parameters, scoring='neg_mean_squared_error', cv=5)\n", + "lasso_regression.fit(X, y)\n", + "\n", + "print(lasso_regression.best_params_)\n", + "print(lasso_regression.best_score_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": 453, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n", + " colsample_bynode=1, colsample_bytree=1, gamma=0, gpu_id=-1,\n", + " importance_type='gain', interaction_constraints='',\n", + " learning_rate=0.300000012, max_delta_step=0, max_depth=6,\n", + " min_child_weight=1, missing=nan, monotone_constraints='()',\n", + " n_estimators=100, n_jobs=8, num_parallel_tree=1, random_state=0,\n", + " reg_alpha=0, reg_lambda=1, scale_pos_weight=1, subsample=1,\n", + " tree_method='exact', validate_parameters=1, verbosity=None)" + ] + }, + "execution_count": 453, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from xgboost import XGBRegressor\n", + "\n", + "my_model = XGBRegressor()\n", + "my_model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 456, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean Absolute Error: 1.2585654077824344\n" + ] + } + ], + "source": [ + "from sklearn.metrics import mean_absolute_error\n", + "\n", + "predictions = my_model.predict(x_test)\n", + "print(\"Mean Absolute Error: \" + str(mean_absolute_error(predictions, y_test)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Predicción con los distintos tipos de fuel" + ] + }, + { + "cell_type": "code", + "execution_count": 373, + "metadata": {}, + "outputs": [], + "source": [ + "#SP98: 1, E10: 0 \n", + "SP98=df_train.loc[df_train['gas_type']==1]\n", + "E10=df_train.loc[df_train['gas_type']==0]" + ] + }, + { + "cell_type": "code", + "execution_count": 374, + "metadata": {}, + "outputs": [], + "source": [ + "X_SP98 = SP98[['distance', 'speed', 'temp_inside', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y_SP98 = SP98['consume'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 375, + "metadata": {}, + "outputs": [], + "source": [ + "X_E10 = E10[['distance', 'speed', 'temp_inside', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y_E10 = E10['consume'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 376, + "metadata": {}, + "outputs": [], + "source": [ + "x_train_SP98,x_test_SP98,y_train_SP98,y_test_SP98 = train_test_split(X_SP98,y_SP98, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "code", + "execution_count": 377, + "metadata": {}, + "outputs": [], + "source": [ + "x_train_E10,x_test_E10,y_train_E10,y_test_E10 = train_test_split(X_E10,y_E10, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "code", + "execution_count": 378, + "metadata": {}, + "outputs": [], + "source": [ + "#SP98: 1, E10: 0\n", + "SP98_pred = lin_reg.predict(x_test_SP98)\n", + "E10_pred = lin_reg.predict(x_test_E10)" + ] + }, + { + "cell_type": "code", + "execution_count": 379, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.820667132753105" + ] + }, + "execution_count": 379, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SP98_pred.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 380, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.819556547856802" + ] + }, + "execution_count": 380, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "E10_pred.mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### xgboost" + ] + }, + { + "cell_type": "code", + "execution_count": 385, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MSE: 0.02\n", + "R2: -0.16\n" + ] + } + ], + "source": [ + "import xgboost as xgb\n", + "xgbr = xgb.XGBRegressor(objective='reg:squarederror')\n", + "xgbr.fit(x_train, y_train)\n", + " \n", + "ypred = xgbr.predict(x_test)\n", + "\n", + "print(\"MSE: {:.2f}\".format(mean_squared_error(y_test, y_pred))) \n", + "print(\"R2: {:.2f}\".format(r2_score(y_test, y_pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 386, + "metadata": {}, + "outputs": [], + "source": [ + "SP98_pred = xgbr.predict(x_test_SP98)\n", + "E10_pred = xgbr.predict(x_test_E10)" + ] + }, + { + "cell_type": "code", + "execution_count": 387, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.8216867" + ] + }, + "execution_count": 387, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SP98_pred.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 388, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.7593746" + ] + }, + "execution_count": 388, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "E10_pred.mean()" + ] + } + ], + "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.8.3" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "402.712px" + }, + "toc_section_display": true, + "toc_window_display": true + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/images/coches.jpg b/images/coches.jpg new file mode 100644 index 0000000000000000000000000000000000000000..127a79068e10cd1c64fd091c3c321e11c44d8175 GIT binary patch literal 55195 zcmd42by$>N+bBA8BaNgq(lK;*Hw-b9Fbpts42`06cegY{NT(>BLpK7VARwWDfRwV) z_kDlo`@XaHALly%?8ODwde+^s?!|i6dhS>5w*W*MD(Wf#l!wNR!VLi2e*$zV`@`%3 z0Cjav05$*sKm`z@paQ}ldTbBB*`cU^M-dPGKTQd0;{x?!(1H3fDB5^=GZ@0%A4KH>J9ONdB9;0-uT1Q#@5{jF3rUBZ^j;u?r?W+M|Y2Z*#9?M{{jEC z_&-GI9&m`zgAt1EUeJH&9%MlND&-BgaD7- zV)PG}2d=yhe_*h`u)hv>fZ4Ksf8{GQ=SKvX^zr5?= z;^X}f_JeIc-q1foe`#Fo?D-x9{+su|3I5oj?Em1Rf4lpCYu5t;pCCWK7!SW7kD&NJ z!XB6zz#JUm|4rimJ9E7L;yh5JJ^FJf1SnfFK_X|{?3WN zNK6d>!;KR1-ri8Sx{@@LkQl#+u%M`b;2%HyTPX<>sI4K~2L9Je|FX~fA-VtL6U_V1 zMElG1ughJa4mK`)E-(nx%^S*Np++Ywk8&?m>Kf~Vc zK3)*0w1d05gA4SZQOE<>2Ik-<{l|?Dv0`F)m;n!FL%g6iaCa}6zj-t!DQHpQ|5YnDz~leZq`&_FPz2y&VPRuo;$mZC0Cv zh3N?sBO8|}9~*}d2O|@|ynv9nq>PLVE3cBeqLiAbw2b5*CMdXgc!UImv_wR-l24hQ zO8$Rt_x%83Y?LHaJ2Vs~04gyG8ZpZKAb{p!jYoS}|NnaX@1KW9bPNC{)&r0l1@H&< zUw{AU5@_G89tg6@>@*9Cn z{KX$Z+{=y8>#eKbWzv6PPzL}j>wDtd&brOaZtPyV8i&cD`=QoF7$^3eA0U2e>-ntY zO*OR(_PE9(Cp!^9^^_=X?PR651lUnLA{A7;b*&~7n&imp&T6hvHKbBzf(Cb=rhsWo zS(>64o_bD9>&E)jx2@A97U8`H*mUlCrTT11q@|?YaYjXiYQCoPmq6;!T~nfEOIRS@ z>t;$No{y!|Yx9$D&r%QwAYTGTMG61qp7!47wv!bpE+F_RI(td21L0itv2sSx%(kQz z6<-#)*{sIGVTHPW9%ivaMUCEviBwRmb2V6JloFOIL0;IFr!lF7SFD-LQPD@3oXK+C z0*`?^%+omqiqnHLBIUI*z@)7p$K|b>cZ(gZTX`zx4VFsHRK} z<7;qd?z-gb=iI9ke(c^Ac5u~K`|>rSlY02z z$KmlVxa33G-d7QQ=Vq8xeMR@439$tm+`Hz{0zHFHw@xHQAc}v~FZ(ls?Qv}fT8Sw!26J~Vs!5T0M} zFRuJ=1nHYALuh2`!@I~^vNGOHF>JWL=JgM~Iq0sh$cU_e;k|q8qdzBvnPjl!>#R1L zQSfDPE1*TmG_b2lDfX9pYY`O%U`JR#`St)^wEXxl0vVRz8sW>mLG&GY~5s; zd&=ZSva0R74|DQe^)lg%3R_@c^(l=Q{9{E~fo8Q29KqXPYIZA?+^*y%MdS0Jn|@e2woZ9LYwM;RU7}Cmg?! z1tSsZJc2$`jC{U`D8Lgo!;$w1Zs8G9bREN5EN_noJ>=Y*0 zv1}Q_mM~0o1v|kM0!4ILAPZ(!9{dTDUU{oPem`UJxxNv$WxbpVfG(d#Oa1Bx+BR$D zJxgw-4`iKmYu9q;5@7GohDs(N2CjQ6AGe&aqQNHey}U z<@5fT!QDaPJpf3>o-^)Lyz8qEf|ZOn{DlFI*am`cJRPcjn1tpFj2Bkt5aQrOa+{-? zwqb_vcS{SR*^)bu@5iZ1R2?xZ%6uNmpQkU!J;-~}YN-XEn5&W;+AKxR@rv`b;H{!q}Yn8AT@QxGfp+0CQj33`<4lVh1(L4BFz! z9qlvl(Fd7mz?&#m)SS^_85+l;($wegB@DP+kIBYc+D3-Tu8Us@3br&aqR}PR2+md? zQ*(d)(zCGpda(d#MEr)csp5Zxx?#HKAC+-V(t`>Q5y8UZOmp9!^qFiW<3LoGt@>@lBEm)eMFAo@nz50m=rJ4aumv40ROc zerO5BiI;8ohTy3robT*5IsJf(*p7EeT$%e(ZTQuDur_|ZO7Su)%vd_#TX<$!SX(E6 zUvFSG&Qxc`ZtEt`ZM1pI{3@H_}Bq{3QU^{-orlmrO2um8QUk4p$~F#Qh95#k*zD8_n3fr*7OHo01RS1 zJ&n*Pto12&VYVg-75e%;l)Y3flPi25O(!T^vOBjhtI|s733-ZxWlBKXhB001my(PF z+gpr7upJxJtNfWXvvavE@MXB1goauNw6b8l=EoTM$I=i=;qUwX)AcvZ3AA*DwN76j zyQW;~>Z=&hhb)Mplp%zg+RsMq1A`kgMXgxcn0a!RtIuv}IpUu;Z&6in28dWp&%PH4 zsX*kXaOAPWIs1Nvk>2ce`ad<1q?Pvrq_%Ns91?NLT@= zdcw#P6s4rfT21VQo`hXTP$l8-4E0w@6${K_x5kK8p6^Ak-3tz19n*snTWCLg-}_)H z$)}5YHp4wS$IG;cym1C&Kn_=Hc?agcn0J-Z_Q*uOwSpKrwEakVre8_tL>~#gmN_@g zamjg{o0>=rSA#FV_N+9{U)QCyh#zc~o)P@C#Sug0;f0^Y{B++bP|Op9p`$sFi*0ud zQf|(eQve=A-H%?WtSg{*EmQP5=fHe!NErPF{Q2qE`WCZ;w~wIG1Y%~RU%NAox(RO* zwR91RbXlbX?v`gZ2kzY=yyfqX?^gFe+uL>|Ir|S+D$Dvx-8#-F)_#dU4hJTG#qDuO)8r-FXDi&j?5=G3mN@%iISkK1u1m^a ztiZp!J2a?6!d7)-Juy4^+gDYE6<`j3>0VDr{s>rKps;|H(W>XFJe_)M?y1k~PW{ek zGDq|AliL8H#%+7>SZnFL-f8}uPKL$e$|7&y;>+0?h-QZxuOr~c0X9k}Oq^6le+d^B z*d?geVu~)9@8==eA@#BTb9?*yysTEcu3%Vp-WLukTBH|yiRwHFoxs?%AC|T+8{3zP zsn?nkAAD5`laU)N?7NiJS<~;~L|esSWdT@p40@QOysrcnCq=@g0bc3sLbHom9*H^a z;bE1XGAWD~4ebQZoZ}s#le#3U!a{BaWev}q@hIf7@F@o3LWkSJN5n3t zQc|*%DuJ~5NDp0xGzu}+Mzes6!UF$bs=IdY3(?sCYtV8SbBQBAO+l1;-=*y?#q6Lr zc5iNR?E-4!_@SU8{0SyhBTJI}QC5)wI$^rJc%6EXb3Ngz@o??7p}gz) z3%>=fn*BprQvuSr0||@eY&_wBE=J>Lpny_26G0^F;D2uFF9= zJ{#PJ8UkW%Ek4rPd9UWk^@c(lXM1!MzWJcHX*y!|qfYs$#u$}#0j|XG=@>c+pO8C) z^2rrGQoM{NFxQj%-G;A9D=a95smaj3NK+7=-|}w1Gnv8er?=h&xYLq=&6hf-I(4El z=f~;e3#m>L{+{>SZtdL_A_8l{B~+Q|LN)VM@5yOQQ$W7bmX6Zg&YJ$QKUgZ>`Sucz zC{zottY_IBN@Qxx&|{VKI>R*Mg&T=Z5EO?kw03v`nAC~Qg|46lM;|<4Uh>3-&xFYbt;CEQugH{%@+y0}=o1cXz2n(;l?l98>pP-IMLm%msj$}hvJhwUa05digH z4F&yScZv3}wL}G=5tE>k5;2l7FbQBV^9#z81LYK0gcKikpx6%^QxptTo2AZK$C@Va zFKCFw%_W72Q}0yM;d^?*V&CW`Y|q3mp`VxDkUefGlkx#pLj(<|GIzA8`M5sX4!7W( z5k-QjCp!AdgWZ}n1dbx?EMSVB(eip~bX=Z{L zxM9iAy*{Cy2_`eXRl;Wv;XbFYplAB!tvYAoI zvqM{fWs2rFaa!b32mTr9dHFlY>kDb^-F|y}hi?`nRrA8pnJAJJX7*UnI;ss!s}EeS zonrA+KRCO|kqmp?g=h{}C8yUi)n4#oqdJf_(a6@EEqmJ^v@;RIx_;k^G%b*yX0=o* zpp>ULmJvlao1Gr{9*PfBf5_x{{n7CYp%G<_iui7L_smCjptI<--Due)a3H(gWO<|$WS%Reo!J#q zmEbfdqm7VJob!XBu#Yf?ou_(33V1;WXK zL=KBdk4VoxkBQb{N)9HCX>XX9HQvPzAh6qS8%^h7y_Si*6l5|YkBR(gf8f7_9+i2( z#p6#`$5m>2-b`6B>B}%XqM}+2m2!oy2k}TpwwPypxCbn~NgPORn=4ISsV&r{73uGV z)eqkTk_cq5nDqyC(cSojc-qVokJ^5BBm%hS+Ys9pU}hgn*KYm^IVWZFIH2WKa1}2P zjTnZocCM2^$yADjeH7NkwaR8tEY7oQ+3Jpno;_mIOutJUeyW_D7UUX@lDPm~?NTDw z2htd@PVTlRC98tGtE0wIu}LhfxJQ(+jGtMYI*C|s zg|(gC79P+q6sxMAIGUS$7hhkwBrta+ZF5;!j}CYoc~m)C#Du4QBGlJK3A_iS!A6@Q znXB)|e6wYM4-NAJ9>4PH3+ej#^%r{e^k$BC&6t;cgD^{J` z{IB#^p=4}sZ?Nq0=JRX&vkylShROzp7x=}&wZQESiW>cVNl_2LO1*Zu(Yo5v?^six z#R~;|iarSN$xvH(zJt$qRX8^k%DW z@-a>7DcZVWsO`y&%8?l~Q#)FStLtSI{mr)dhS=hA_apoABjfGpx3QVQ3rVA|KXoTg zo7FZOj@u}T(gx=q8csBR_+m6$yFIM^#Sf&x#~AN?$+Uz&MQx~7%jF9!7JiKpWb6R^ zV)ITfEE%8YYsdcS75|((nLXbVKhM`5FGlaDtl6T?Xg7^nDY=vx((1$-Yh0+KKmJ;gL;-Sr|Wq2MKbK(#AOs3-n zP!(k3je8Khi@L}y!{KLIrT@&dk`WDw+4OZw~zGEsd6@5EbB)e$|`m8KN(x7uFKJ0kMe5cAuoJZ#BS^EC=zhmD8q%6 zX1um373=3V7nRMUu3iHBf}GPq(AvofTd&;>1%CZj`ytjoIN z4n3FqtJxg8k?><@prQ1%XL@hEN?OAta%I}v5cjcDf!?CT(hF2ccZ?3pVawW>SI@qb zaIMysCdLq473>Un5Z4o6xXc*W4@cFTKy9r0XvZ_&G@dRbfZG!6Jj*m(n!rbiF0FE3 z9%p{A8#rD{W|`F#CB|>+=IBg%+Rc-jI~Gx^7xnSnHNq^1G`6%3U+Asy2U$kEJStLh zlLic5sj#qLEU5iVYm)@mp`XyArLT}4)Z~MMgZF?v0$HktJgv!!;Pe8$Wdd)64|mtb zLES~f528!cpRD0rlI*8Tk1r~pxgQt~HtR3D1VjG$al?A5^ zyWfB{#XVL#oimMTGTe$)?-*NAHYx+ZZzfwccj)vHCUPU`WpY|Mg1H|q&3{Uj>W%4|3ie$?iz`_ z*fQRQOMNvfS9rmnh652q7iocH*E+imJZiQwj}7ouv1$YhX&Gnzp#NZ%$7SPMQ9o_j z+(z?U7VEbgt?_~orj%85WuaeuM376v-UDLyD+_fzF2mRN~kdP zNs?{;R3L>q*oX0bQZG1LzpjSVkXv}+J!jS1@iT6G_V>Ir)D2NGfw{QxUyJDBIOPhY zY6UftYc#Z17h6{kfxo(>Iz{di=`~eqU`+^h-2<4wZNHV9-C4F@Eia*&z`D&=b2{>> z3hJ;rBFNRpG}ij_mGvB(8u$($LHPs((T@e+?7tan9L|!eFRzm2paAwH$9~c_;Su~y zs6;vb(-G?}wwAe|Pr{X^f`xf3|63O#df-Z9F|uj9a9&0c=S=Cix`HEqZ2TxK#PL)tLQpR18hK3*<`ygqfu}R%1Q6DP+kyM{8IAzsxqQIBhH(?!IUUZGUbJI<>X zQ0OMe2*%W@OV*eMVA8k%*Ds{6fb;@eG0|LXWc;3Wz-{~bSv7m#3=y|~Oa(oI#gpRL|zb-U_kihCCZs+;W zZ-OPkz9S=Td}RHLv-GDB_KIIfRj-D%leS=chr>4?EhasIG0oaIxhObn&s1ElWE8tz zx%d$}kXH*HItL+E71sOhn|#7waH%qce_A^_FV{?yF~m7@#s7WBz`M8*%2)k%ldQVb zQ*S_d08S`BtzHH2=dhmxXt9MY(BXD_UYrOdxyvD1qvV+>uraHb)aRp^+fJRg7 zGnvhvae=Q+Rs=3mo2Iv_1q{e3XY6!P4+?vxYbS%m7Ye$58YK1>lzB=;VzkK7;D;qT-t$b zLAUk}!ymQ$2g$m16KY53Y`dwhdXW$*9-NGO0BfL*yKn$m*wc=!3`e-0Y!wX6p8h+d z>)N5h0%Eyn00{J!WN301&Fft~2~kyczZrU)P|VWaaq4mpIPq!G@*j(cmAig9Bo?}B z=88n3<;d669!aH@Nkv3n@^`{omY080-)4*yqg*`&g-JAF92j3;i2G*#`4wpuP#EjAd}g_xru&C;j;hkt|hpQg2>Mh zKoq^QZV0#H=}zQa(w@j_tjqdotUiv&Vq2(yZv^?w8r5-oNXvm9uj)au=oT48KiJKU zE%e)7`M;6jnoe>7wPN1`7|I5Wq=F;M!#VBo`$8)PU>@4yQAy9j5_f|k7*88AOx@)l zvC&w*{kMjrSJYXrri;{~8b`Hf|9) zR3sHed%1B9tzPpqI(DMXtyGRjos|nJ92()7)r_zzx}<-NKet`|5i0_Sh?V05#!R7 zAnnZGj0^%Kj+YU;i`BD8~l(l0&n690K| zTTN&EXJJ)}`?8Eme9+{lrbyG5TE;V!D>pg(0|NZPka1Jbx0m)FU-Njn-CC9FyIlf~ zhLDhAu96+%oR&*_DSKCu)7w0%x8{u)C)OA9RPA-4*+bS0$dJRA3wRVUF$z=1CmCkaw(ho#9h!-~ezWn3PPb zmt{KmVLt5Qhm|&6?A3Gfv@2$W)_B5o&RFa5@x*@Cp-!@IQ`wj$Rd@n(l8QrX@M$4f z^o^LM6IP+ZQ=3L8RA;^~1AY}Xu-Q}94qgbLW^(kg@zGJ33=IxzN3l%^W(ts>iqmDZ zK8xkLItWR#0m>TMh!oyE2xMa_e#X)C=q%6HwTQ<5&F@h*AVEN6zD`?#E*2e<*1z>> z0eQ>SK3j}HOp#p#!5Go{F5bF|uRDW%NIcJ0;Azou;0a+f=d50%4%zPl+%`WMQluGQfNnN7GrM@g5It+P-;E4Pm7#UaF|!`bb{_4FlhM})mp zR=&m`O(;zI54pW{NWj~>|w*9)l3ITzvbauqH6@< zGt;+&eGJ+$=>o`|_H)^5eB9=x#!i__2d9oDGokH8?spUDuByp+WLp-evWeBU`WlL% zGOWJK4isy5yCH8Xf<+mXoXze5jYSn9tKD$Ghfhct$E`%R4fNb+E$uW`r(3sUK`INrQb5dAdTW!Fx+{hL@VS{4B=BYFWI zakCtE>TYO@H2ZL{!)k(kL$~NlPayV9$b0dd?W0!7!Ou@$V$hcg7Plu)Zj&aNK#Dv+ zC@c7x%MvP7T50`C1qxq&d=Id3zWbP#lbz|fT#-K=`wU)BVtO^wQdcYNfv3^Yx`>Ij zbPw1e#yxX$R`L8Aey)5c^*moe<|Q)e4rjzSZba!v3eOG-j{OPKYkSZvkgmyDcX%i( z64&0o-|n#?Gd-|YWtQ7DMR3NjR`jz2`($tscZLTAk4EXSt1HwerNejQmuUv-f1(yMM_kgel2UW+a>b(?G z^LIlikyXwG+E}!GBSZ$t&IB4K3!(6383{XH_QMHqoQ%TAPPA#`NpRAd4S7<@>dE^E zImNHQukV|)OEKSZiPt2yzKVGA@n{WxECMRZ$$`p*UB<X{w z<%}V;IbqP#d^zv&6}>z41|U1ao=v9nY>W>3hMV+POuJ-Zu0!UJUXQM zUD=t`CWR(D&sU)vVuN;bKA`y0{`nPCP@cc6ML>Pii6>*e`As%$Qsc8?Jigc(J=-dA z*)f@_U$KOQALrUOFtW_-EK*{T2R!3|SW|FfoJb>e*x9X{*GNp{VYgX7xVGbXx>LssUXd-R z|1>A~US<5gN_t#ucR-cwDH>6}iVG4s*@KF{6T*}sKeh|p7z_Mn{!W!*@Em{r8i`4q zE$#nH*F)Ek|LrO>17i*IHwG3Z4`zmEqD$O?1$m_Wm3Uumo#M{6HdeHdf@E{uY;Pg@#o>H~RaZZuc3$uDI zEc|1Lp}|b;1o*6T(%ZQ^7lUh4{T|?Z<4)b$dfMSh#E@XeW^WI)+w}^d5}L8_(9T?i zk&mn7A6IPN1H8>{B5fhVHhE#VB?F_#qcGL%8)u0-pHN(_fWFX7e$QOEt)uONP4RU6 zFdsb+Hk-i3^fJ}y@DU$KQv-;bmNxc6aei>k%g1=NkjvKB-c&slWCGD2!IhHE$;mmH z1oE{b>LtGI#u*&1RR&gVc&yK;n^s^eF|Yjit+k&%+;potIEOo0l$=XPX^THEWLw))v*z`YxphYWxdw--YQ=(Hu}q0lTHVuBXhx~-Oh%)vvWheY{pYqT+I4^C zoFv{o2jG=#Quhz37}lArs9f_R`CGj_an)?M=D^n)tV2y=GusYXcEw3N!ORm^5bbku z>YOI!nO`Fr>t|+`}RTIlnpN{=*R}y0nu3A-7lo9xR zB~NO^SBz2F$3a$t<(>8ruIR!lWP1&gUjiBHK2vHozbu8Xc9u^5B0hDK#VVrmVSM_N zHSG8B2)rPVl^!hBIZ@TKoOOFy5$rxAFfmqF5I$cQ;=+i2@>a{FXx z>_m0o)(E_P53suv@)!w@66Vck8aztxCJ>AdU`M+q?Jm7GxRyG<$qB9wO5^MzHluE_ zGrU%n#$_hcZ>cKzYzFP&NZ0Rk)*vO@6p8kaXl;Kue)yd{$(>qGZQac4KN2RokP1rh z(&RpqOl#Cvh-q$Q$=YF5(;1uNNR;wY;Z@C%3TD&fDl(YG8Itw*5|d|h;%a>+*pF+q z+;=QpKG^Ji?rJ|DI@{r;TTOfM#Fb4^Qgd@==O*sb!-MrXAqi{79Yv8o+34w*f&_25lOs<%51rZ-7ZK*Qgo(z^!$77SWyYDLMC`#Poz<2#eIt1f zS8HY`sV3c!&#a0Z1w=PEr8$KbLAd(RGTT$H(E2KG+M_y-jEbenO6pbU*WOs!vA%Eh zxOpNoIUM?IJ9_yk@4I-}F}%mV6cCl)N{8w{Cn#!mNvPF_d6z}7M7b}OO!iFSm3lhh zTfik!SeV(LKP`!6QejQqO_=@WnzpY>`%cX!S7CUtI%!ZUdz~#I^+*$a1dG0$Y_&1Z zthrNPlyzqPylH~FY4E(~>HA0%$j(n(f(zymj7(j={y7;6*_}kreNEc>lK4$(n1yOe zA&hnsZZAvpzM&-d7uB82VwZ$lssHbOEq$@M^QIAUMqZ)dd=@r+(V<5gPuE-oe@RfW zc1@qZwOsj~mGmj;>*Abh#84{z^2|7bu#=sxK8mDA$kl!z+?}WC{NZPUyGN9DUaS2? z)N$pOOvhv78YsF5p%*A+UjRXEim{4ouNNZT`NZEIESL0{D`n=zQC3WF_njZ*NSwsWU=i|tm={eN zN{W~O`X6vvi9i-X|cW98s4MK(7|ykn_?2=}U@7O(=|#KxuH%z+|k|NSMIMvzK=^njWK$)4sd z$)Z}>4V^TFbxnO1LRFqc-FyE4&ZTyKODGe;`^8$fq1aV9!7=CY*Nl%Wbc5q{R@G); zy>7fk4*hqk*^^^8etul-uaz`2%2NK%#8Xtks<&-E8CXMHZjDRNo~d7R2vpA$s( zr>HC#oZkZ;7J{e$S_m-yT(tgk;{DJb76KA9B1TdM0eO8Uej86gGJ{ut7XZ{h3qb2h z(-2#Hj=froy`3E^+tcg}bHOxPy^hoN#-7w0AxYboF}BeS?`FzJqr34Dl1HV)gO&SZ zInTw!1O!wtRkTLm1&EQ$n67mRNM)EC(q)RrB&r!`AKO_E5W2im$?#Go--$Cf>)o8p zP!V~izl9tVVN1FZpxFx}J~3gX$5EffijyeGb5B7QR`!#Vo|1;a6Y+_i=%>2RLv|Ps zx=LuTc;ix7M@_da}!v zKQ{Lzzh~0G)_;#WpE8#sEp8IJM^C7h{ceqe%+BtPDRasi_h~TG{_jE++ZRkKQY%|x z+1+IKfJn_XF<|J^uwGm@0EQ@mJGxGyE(v>)B67i8$BPu{+50GBfB{26It4SzC);oH)mK z7G*Fku6n>4^^;p%9Dji|Ex2;11aotuzNuJ4j%oYsazb4Rd-A@%-h_HhXF7 zNF9sE%;YCY=&d9YQF>DfW7+R3u4L`vj9;5_xqBL1zzT0>c9Jh%Jjvr%Oz=>R)rjs5-E-n= zl4#OMd^`2_9bHIOddVHOR(#xXb5#_=qKrqj{Av2;n6JLF%ia?j*0IVy6-_rY0{pir zv#}gZK1zp8g7qR}1uFIv_PU$1p#tV+<|f`-f$#C5d^cQ$k8F)px20%_=VIBSHDiI0 z0+L1A2$#h8q7;}inOKEb>q@EZyk=iW^(5oLdxf~<;u7r}65BHt{i!ih<*LR5LL~^B zs&WvCrr(S9bQyOlUu$Q$w32umC{Fj=oKH*i^=4aUlTs^`r?i~oLC7y~+~$EoPAYAQ zgB1oMXF+k{x{W*jNh3>pa5G)%x5V@^RSkh(y84Wg#+n&7)Zz-Tlq8p;*Nn&XD~`jm zhQqVC1V8bfF#3eA)}6P<=b z9CX-q*mx*cKIwdh{%iur5NcmmIO)!$SR4zsrT?a2;@X__xUD+z!C?9Mdi-sHlC+|T z{Zy&o^Y;%$PL>FOf`)>Lj*fefx`Ik?=F*ozM#B~Cj>1@(j~rVa%*J*CuB2@;mLk^tzjH!xB*gZu#5xpF!iXT#No6S>;MUa>sb|j z5g@)|uqB>m%_WM`B0X+ZZzCEWo?EI3v5|qoY_OIFqkc5Rm2!f5BjWr4|8|_ysJ7PZ z+{}brpV#Xpf)hdXm^^@!+ke5f8*JHMwV2b;0_Nde1WiQO86#rffa}NR<`pmH6Vw;T^h;U(p_WrmK>rQM_GVw%cs>Nyj+*YyN=KNCI8_C@tj zKUtKM3Y%G!^%ygfd{PqJZ2mMdp(oCt-xLwx;-(r2YbLCM5#^u* zv_*VG1WVN;JvtCeEf0y_uv@=Ut#UDU+v8C7Uy|myrYDQHpN`7gkTO+Sts_-nvQ5Uf z>>U%A7?17I`TKaQQ{xJ_zZpf@Do?@HN=ifXG|l$O2zX~b5SFBP2~I7D^=d}PVs1td z99(Bqgsw2Fed8~5I>TKD;#AlBfGD@YRTtG`+SiZJ719wF%S;ZNC^wj+V3#B|u#)6v zPvt3sChVk*AzTT3wV&tP#P?Q1!(zVG*s?cO9@$ES@7@C{oh_s(^uB}xHzqLg1SP8| z7zkrJvZ>AA3t48A9hK;B;EN=9k=OvHoXVX#77of^q55>a0y%>;Fw9%QRoO<1K46ZB zSsQw|LSzIYiyWj}H;?;DW3uFxawKvbdG2HO5lP4Dx!f^2_ zyB_B+i5+!j41(WTHeNU_kl}cgWOc8~Ar_tT#jA#JS%|7jV&rk_8OlLW!{_8~<#WbW z+=zEjjR<+)ScGwMiIFN|XbcAL=vDj_`$G<_5s$X$(JE(GdiDarIdy^a27>W=mqwY_ z#u1MjkTldHo!f-#}x44>J?RAZEB})R_gokgj>PMA0 zU$&$on6EP2`j-;R0mry7$$nmz)}G9WdjQhdSSXNhhVwUaeiQYP-_hrw;zQB5baAcL zg0p+ecU3{_7JddleQ8QwV7I#OyuJrCC!5?RSg1Y%ksX4ffs0OEyl*o_51S?{Mx*8R zIIavz@i89K6-aai*+Q|}5xir99m$Do#{MzH>Mj|;W?sReV(?+9~B$%w`;teG$4 z--j>SJO85L5@YVVN`#5QK{vBTLba0vEB%9XF-~Q3`&0_Wh+59q5$(eh%EonM+Ur>a z3*Z2W0Ev$!C3&G(WEz9xRUu6z>%;plg%fJun%`j=M54qYJ`=FY*|YuNS*VJa#$627 z)S*}O>GwQl#5Z-YF=&)DJc@oCvQzE&ebTAFZ}2MG)aCh9b@^c7ep~L*s{!1^%zFUI zPNE*Wg%Ics96ahM(LertQJ&@C3m?aVST-9i<#-fa@w1r|V!C9T5gMGhY&`2po>BIi z=Vc3?;2b$_TKTLWh|#1^aXSeZVUjv9en2ZP)PSXYtsmSGj^8WH+(@# z`>heTRQ6K=*>=Aqw=9t~>TZXwGGbI(BMSUPc~Y44lEE0{~~IY=G1T#lV&ps8O=5;5UewbfEMUR=xQ1H#onsq9*>3#Ps%Y3bHwYIlBt z?ed$~=}F0Fv}QvZv7Hs9dIraJL3CQJSpZWl1|u{Yx)-uQOf! zten3{AKyfnn~NPqBpn@L<<-%34Z51gnMGv8)7cQ)ZE=rm{-XRWiTh^b9$>)BU!Fh! zil+T!11r|{T0cVF>RX(k92`>HZ|ydJJ&6H06(||~vD#nR+R9^IJO zZqD}BuKlpa?CsrEpgMNhgv*jrb~(G|vlr4k+XPcrb5n#UqkQM$3X>JW+q^71#A9DH zyax>F8g>p@<{87jQ;PQgVR87BN8W1c}6gV6-&^bFq|hf+kW z{qi}SAKvh%BTT`8MJI95#iZDI;B8;DMa9H0?4c^X)9`!1rjv1vPx`aFMW+}RopFs4 zq|-aYz1O=XYm);_qkDl@vI}6G)ba)_4MaEULdQ2FtxK~e(UWf-P_5)v!|;u|Szl1Z zc${GExeB`PQ%~}V4eaK;Pf$)oUAMju#v0=4+=8aNP{~wwm1;6o2YFB5a<$m?VO7A*==YRICv@Ekt zy4w2Dw*y3F#yo9$=O;y|tw2SrrIMn;EXc9t#2(kw_%LkMQ`Kj1k!QXS@!80$Cc~-& z3bidpajNkxlmK}=0p%RIBPJd9d`rsH?*Rfv&(fF0o3SD&S0(U5KFEHtBfx4}4E5t| ztCL1eRq!d@h}0qS)k4ow^awk=E)g2gnE;trHNT&&`O^Mqw|q$R7v|{8&W@686Bop! z4;M&53Vm6FVKH2y8&EZ{KI<{?Y|%Cb6d6IGz(u}D@-wJ3Ondw_hQ}?hbByzg_VKlC zGZ25rB5gBj6>oJBX9Aa;G{_3^*;rHjTQvd5lM5>E!&mb>#jW^T3;k%nh;br8mACqw z;rgL&S*VA@`>QbcC$9l|Kxx;pFa0 zext#%{6$C5DxXD&=qLiEE~3RXSe-`xYFPr58!YWHy5Yo-XZNI96fmq&;SWvMPmJxJuzGMVV1>o2auD$x_eVQU_qQJ{q4YLki-> z{DM|$eN;tM%|iK>WS_@pUvRR$r`1u1x@#Fz6+ek$Yaq8%iB27PlB(=ZjbT)$0OBz5 z0YpWmU1n%{C|S&OLO88HgUPD`qloWSmecCKb*v9`EbM93e(`aG*No#w0E-8>2)3TT#CfXJM+G)mD(w(QBbQevaC3L%Ka9qzI_;1%y??i&tEFdtsAWG zFZ`71aUkL>c4iWxUBey#X5IRmt(HGtc}9m z&?WfKHHaE>8(pu5Tk5iq3g>G5-Jn>Wa}^wv-O*uohgDXeXN9<*7S zwZ5f80-BZaEe%38u@Y(E$8KhCZsMh+$A17E*kjRS(DXufx&SU;HTZf8 zmCp~=WO*StVy@Rxd~ok|zlw`RS1N*6CaMWq$7Nfqb$r~Ql{_mO-e-4ew8rkM^jKZY znEerHFbhj%R)Lc=5agXIVm0r(Q!iE{_xKFym?48wN>aU>CAkYkQ2z)@A zsG*skzaX(Y+^_yeeGq-GJ{DXHu+x!LB=%D4KZZB7G4xqw#v@>`iVd0+M0Z>u{{S&j zj7H51iE7_x!~ zsfs7q{{Z%g`mEE@pj4=L%4Wex6ZxpnAYD_*6SXe;*3Q|BAZ3s8>-wp2C2+M-X7^cL ziK;a0xLy5AL;Xu%b(P=Ju)8tpC1`yNs<+ulT3y%0H*tG->E>l=D=`6Si@8uenyCzK z>m#SBS%ogvd?n2Q%_^|kG`H#%pTNL5lGPs-{^(+HbaE(VCvwrE7;KzRVz>)_i~h>Y zBV^HtFuD$j)}3fp%hK#elCqL2FOFUenyRRChc5oArexEqtKEXj%q~{{V6Muit)ZT2LHGgb1`bLHy8bO#;f&2I^&MmnLgKoqpdK2mvj9JoDY%AKo<)4kBf8A*Wk#y1m6D4wB~1BRU#F1Q zM8_l?@Bthx*-tIX66{4{!5xg?{hr;njY()o2!rOSQXS zs^U}{s+2@f{ZzHX`F#ErncmBp?x+C1l`CuH*Ur<$07+A5W1vvZExD{#ztW;8iO?({ zDl9JSusBOferk2(zjEK|y0l-fk)nHf>JjDsSP!D&2~x_-CezE1Kca$j+wbJMmKI*@IFfcOUeu(oOiC7H!?j zBQc-E{{YcubluTaKondMH*(D``UMRU+LzLZS&>^qhxNXAUAS3=Hy%0#Q*|h-_DrE? zGN1?-Nh%vbeRK<=%BJAxgSb(zkpLh`;WstgD@-j8uQiU?i#g@b*?gu)@f}o?Ci?p* zV@r=ko!*W8RR9O-so}w7F}vu4oI|-_gb0|}>MyN9Sgfi)58FQq-@W?6hI^?dZ-B6i zsHb!S0&db)i-}WP_fgNHC;%j{ocuinO8HI0%NI3Y1c43wM@5@AdIcP|<>Pa4;gP6W zo?Y}%#({M6-B$cfqyGRk4iHC*zB+kaD>J>8QQ)Skz8qZ2s>HgkR8 zC1-T>Z|bnHU~f+jY@PM?T6(&wbvvIwaeV#pr=3dlDvGL?=&MCR;i{zvilU1}gk3im z9!U8W`HuQ1&}=*q7J76VstiA$x}f_6H#z9D96cNQtfKb_>*iG5P_)FfS}6*H!Nqn} zC&vm__g9*fe7FT=3q1B3t-F4z0D<-ol-zxJd#{@8U&1IB5$qKqz3Q_;2bkr1Pok|4 zohvZ)Qam;Cu^Xep2bUUj=CW==A5Xfn3H+8TSHMHywueQT$I^<{ z#pIYYosgY*+~)L5w)@ydFC7(EeMjO)Y4zGMrpwkeoW+=j^hXYpOgt`L&{vMPDX9!@2tg z7J~Qe7tS>N4b%Lnvmc_HS9&P3%hgG}xD4VLPRZZHnG(B;!`fwy<+oK`=x(QjTeR|W zsZ`TtLFiRIm3-oU(VJbCZ{7H<_X`lO*&y(hJ~=9x zSfQa}v~u|Z2Ix5Ih+E-U?8L0jz5rFJU3@SqRJymc^g=w{Z>Nzmr=HQ|wC-EtV2BT+b#55}d^_lZ9{pB3IG+XyokfdqkZZ;}fBXzfqzFrqp zDQRC0&(y8lvDy`cQK&TuDwI_~-XoHgOQ3imLikMeD!d?Rx+K!gzjYV8jno5Ri$|G; z%omjwu4{jVs0O+kG!GK1XHD8=Wi{KMij?fL3F;P8J`FGEwOfUxUtc>5U8?GhqnAaA z_=pA`8Lx|^G8X6bIoLqKWOd`m|;#H&X$L8q05&9YSf((Fg@g@VWiH(;~tuu^o` z6-S?S^C8bfJvrJ&9}R#Nbl^1rsv# zGbZy3>3Ut)Q8gNf=bm#2)qM<8gs?b@-!PCh&9(REWe1tEq49F*2@yLnT252!iI)06 zdDm%XvtsQ4O&zXcx2GzXduAab(6I6ej{T%TwR*#$lF@c2E-@D?k10@4V=Whe1(CK5 zN^-Gnw;Hl8T}(%tP*r53x>6AJMd3%k8{$0{d6G9L(Phj30K(*Q^+g?E4iV=9QdJNx zBjgB0R99Mo0RqC#qv;i!F)RNbagiyp9vnVp}%wB|*^M+YsIBtpDu;45UMTywqAly!Qj6n3u zrNnBdX_R=Bs9InBR^_`?aW3&}YuYWOnM=Gul&UdMzF}ktM@%GAN!%_?$*AO}>mY_6^XOS{19T$q<5o#RpS-1I_pB3vrX?*=MG z34^?B61ioI+u|eZz-dv@0-@MOAfc9JQ?7v%MQ#~+#TgrjmbaN^OfAC^rjQs*Wx$AY z0PQ=7>lJe56124!)KJT8%btvf)lF_Px5BYt@%! z*@9;*Y^Iu}M#lHKOoLlFY|xEi?%*bLVCtTY)>atIr6fi9YlY2VLz^h%Y$5fv{i&|8)U)eG-0Nb0WA)Pl5UnNyWcn_W>fK{ev- zF*b=eHK(Kp3#ODtFVyRb^bs1s9w0yFm84UXtmI)T8I6JQFinKG*5fq6(keZ31V^Iu z-OezIQ3FZBtE-ON}gcQVNVVhtmJWi=8MxRK&>o~J=nK*_OGV?9#bUi?WG5u5k_|gUt%w~h z`VQrCh{KF7w+e*A(*6+?w0MYaEa_s4S$InAA;ij-71k$qW1)z05x$;^LTxq}v!J%( zG-#Ie!1A_liDsgFLNcliyvh{@^b+8OM)YL>heb`uoDqw=T~QGg(iE{#!!HC~Gg`b( zBW@auxZ#RXa_Hp=!RrF*qUh@^ADWixCrDOd$KKXl$6;h}N@Pdn1{3||unNuSoR@32 z5rQHYTK%R+qV!`RJ!>tMA}LhYgj)#%w4&m2@e1)riAvgglbF07inmYSW;E+J zsWPakMp)MjHGb6kz@u8bL}ks(-5w=Y#bC`xA?Z1u+#KmGZUNl;>oV?-YU)r$8xCwSQ0zm7FPYhn5%pud@!L}P zznES!MQ8^{P$%$=q0K9OrJ&52T+6JgyJ6Mh#Hq$!mOvLXu#i9jLVq6dC@s(;!C}(H z-)Qa-EFL3U?KWl(Jy855(OaSZOlxk@SNDTdqtG9imDzTzPWV>`F|+)5nD;$Go6e(m zD>j-&x4{JKzzaof25lMX0Lu22=E=&A0tQf`Vy2{~8J7my zmt#|}0Wuc_+APaWMZ+s0wxsBQ5aG*@M1D+0ccNXsm1V|Lc_X4i>K4lk#z5wxv+p1V zX_!@p_@61PyH>2oD9o?Tz;yX2XMD+=y3A6oS$UzfoKn5d5JatWTJigrR);k16G?Q# z56Y1FgQT2lau)})UzT7%^mBm1r!FM`Ff}Mr3EnGc_G9xNx2xy#xtd=2%6Mg7>CS#T zF!@&%%vLvmuwoXV4Rn5CWG{Tiu-llkoHc0Fe6@}uY#vO?HB&6!=}Q5yzB&?{?o=kV z-Q2-Y9XW>wF5_BMI%=#7gYPNPCGCpcE-L_oa!zp_9xbA#Z5aJUldBG9V8ae5z~wbw zNWWG9$VC?#5|?$IgBjTu)-~L6*a)0gO-09ZH<9jhn7%_O>jC0)lc6;LTXUAwcL$+~ zXe->yKST&IM*N&X#i?#{^0a)DC2ZhGYX%o)b7hjR!~&%Z`6HYT}7=8KXWpR z$hc~SxU4=IN~+zT2J*^`me%F^je(gJ(olj7F4r)Kb6BDovb`_NqCUqYa2+hl7g+iW zj!j*4WJ!xSMZPx}a#61kBX>cS_J>pxjAlhy)0i<~7S=1~8^QhbooDy_%8#ICdl$vc zAa)pn>^l%`ITTBoruP7r|5%xf{%~pYHi3snoKqVwd16u(u!}~H8sg?v;0dng0ABvvjXPV zT3>7k?3RSJhKv?B?JlY-+BoHwaWyP_i^QkDiPPBp#o~_8N?_phU8hX>oiOkO7%OG* zh19J(u?n-w6-ui^aa+yFQuxd^pOOSm(nsxsrhe|P=2O!1lAn1uX)AF zTkr{Ce2x$v--d3h&LDU1C9VgO8q{uUh$zJj6H<>0+8Q~!!8$ristiP-lQB42h~XEq zT%_A!i?Qe`O=OnE&2d+WZY8;9abjOG&ak$VE-3RmNtY}+pNU;)RRXCpw@#N#tzQV3 zfUZI)iy3z>v;sEe{*V%b?SO*y7W%R19`2@P$Aey3*w2L8@9REo1$?9P*fRF5v7N#Uh*xKoIKc z&HMf)>Zef4heuRCkQ(r+VE$T%@i92b27$RIA$`e+6I5JGuecB)8Elyx@twJr7WP{<1S_OfoVpqW^ zgfka`Y;1s)f-tbAHD#1DJFz#=4xF!n>6G%byiUMHVqWD36M|YZ%xQlk#KUzvssyw$ zF=ia{d3!^ydno4aVfICD_5+a~c6f`%^f?++#mq+_$Ub02mO7AoFz+#)Z8RNi#B)B( zCw4|S;ysJAbt)SCnLUibq`_u11MnSA?e7bCN^QDFEc*#?{{T2Qzt7TGi!tD*?fOhJ z=r%u?^Nxp4+_4kXVPkkv*@XbI@G|8S!lk$`m=an7gHd(^g7Xf8;!(AWT_NT2gIyY( zL45D)xKkrw*$kAkR?K5f8mHWkmYBe&>jk6MBYP>`sG_h)@e|$MElvV;QNW|jJK*re zc6;U}s5;%sVj>%H-zXDwE*!<7gP2BpJrMihfp#Gz=#k~rTQ7C{~5Hwf1I*JY=c+7g4c7fr5P@Zq>l_!N_0&^O7 z3(#zksiobx>8g2n9az|V;m_ztlzE(}yBqJ;5ttMNujZ92Pgn$5TbIuWu$>e?RMR@| zD~XoxcbQJI8*`@ab$-O)K#*IRShd)$q_S4vyvF9*D(>U#d)no*5wlRn5hzb%6iHox**;9H1v^v$*>}gKJ%b>4??YSzcc!&t_bgW z@e`&ac*@)bvxo51N9!Z;G1}9vAC@Pt!TFtD+CPWZZYdjdOdE>nh2XXh!1v>s5Lk7p zgBKMD-MUvZ9T_9s&VJj+NbB7id}%P@Vab!xJImoIXnVhCEoog@M{`%(8B*S|uzlr^ zCzpvs?^3VcVLf|QQr)}UR1I&^AU!&DoWQJCOdH87FTx7Hd%xT%bXma%_*%m@P7ZvZ z#37MG6^L1LrNH{2dr{V<9L{Vd8*Ct5I*&r)*=o&8Qq4Idoz?rwWoqj-1MHUz&bOa1 zDOzyB@q|ztskwHrz?oujA6ZHbE!7xuklM$RS)Zv7Z$z(A-%|>uK8y77mO#{>XpSGe zPt@7=NJRYVqbM}sj+jr*jI&d~PK!O`*tZ*(d!#iEPbq#TN4o*`lthYm3HQ@=Gv}^w zOkWx$ku5p1`|}Gow2$#qpu?iy9eMbNE(^;wGFpPWQK0SaqBa``F^RZs)lD^c(I;+IG+RN>>9N-qP-SM0a1hw{w8eVFh>UAF!R ztqgVvmBF}TE4zssm)i7~-^C?j>fF50w_c)E`Qnjo!Zss7eDBGHf!XGliB`v&S zDj@QZyIU=l9uy&6Ora}MuO$>_7-Q!#2I3p#}kVA1-nwE4Wuo%Tg1%S6eno#(C=BI4Q_@CGZyaDqd zeXi7?acdlvQu%0BTF(Za(>Q>oD5S*8NPU=DyJ;C<~MPO7vc>1-02HB?! z#P93}QzQVeKWUYkvvI%#rjJ@K=1-sAW#elZX9;%e<&Oe%XeOpTbA2J1=z+hi--FfP z^C~v_59%jG^N7V;;CBibHn&I{*1n+o!poQi#10Dh{SuHJO|ZQj3(YYM8@h_j0o;7T zsNX|^3ppQoMEuAKZCpUuci|NnTt%R;ZZyOi7YI3OR{>W<#&n;gSDO2^HH41Z`9Lt< z@b>Y{Y9qJ_VCF9ic$Y7vvG!0>mowkOg>_%FyYeu$qro`|?>gb#aMJuLecoBi&c-6H zZ!9}5R}4kyiZHF_RC?J&B%9_1bVxR%C2;nA;l{lzvA0p({Xn{<;i}p7j9ac~FN=qV z<^tOXNq&s2ExDt0>E?8El}W}XPj(GBN~N~gV%X$wmTll3tL-oWvx7QM2I1Pq$E0t} zuQM$*1J*QCDFHZ7M6zgyVwa!T07}b;Xv{l+9>2<1_-mKEcYO9AADCm`ynCCMtHkmZ zI(xn4bZkEH=!yqnk1<+iru#rDtm!$|lf-Ei9v}!9gDlH_(Q~mnJBB;Kb)PY%@3t^Q zK+fh`Avqx7NERoE9f;tr%7})&P~txjd=)e1W8Mz;Q3gWxh`|oz*}g7&N*)R42+Nw7 z^n1(dOfxkp>F~L(0o|58qMw+K{om;r_tHC7EhQEu#I=O7NOe0)S9&nLh08qL~ji(Yy&ptGrDAhU*A zZeVp-b>9&*FVK~l{)pz5Jp{P7vR_jO*@HZq+*+&0*TOsz6dW;>XDUs%?n84*c@q1> zGHif10b>hj#CIaoajQ(n=!0f9=oLEm2VQp_m|7*#YEZ4c(x_#wSPll`$8UMcouQf; zKdsAvjw#HhT0Ez;#!A+Gre+OwCkQ&nbPyRQ-7lsf`pUCck6Y_9*5*cC?{c4BVg3;t zBs3AKfb273vDJXB&z(+)d_c1A?K>hqj9y7yB_{87EWZ(N`^Sg@DL5O}@fu7Ht3Bhg%Dj{;!(@l3gK+&%;LhB*9> zqc&HE>KsSZhzZ-`WGbGF+cC3Bfcb-RdqbsHS$U9GczzUlf?5~iHQp~1$r-~PTtGH^ z&iMAsegTJtF^f`LEZP#d1?wKgmC8!79PU)2Td4YV-d9p!f!wNxR!*OB9?0^`^%G`g z8Oi#WdK+V@cdjbS>R)r~Er-CqjXz0E%g{>qlz~yNlx-{l$$UcblBY-M4%J7nMQy%j zAt6UDtW}XL-LYS200l!ta|JpXV`;NWW&WcG3N@poyFC3PGwEu}ITO^w6Y-GjzLp>& zJXg!a+~rqk%*?O4rkjdTZTOokyT0Gdz`Fr5Zj|{e65m#inM;N74j+Tl1SwIs!#H*A z6|$$VGkNoC%5kc6j|^~(zP7{02yhsNXfc<5a)L7070{x~)iyEJGKgKmUCPW-< ze-Nz>eGhhJoLx0s<=ZLEBAcrJ0CQVxI`IX>QR)dLZqmhD?E;Hc7Iv*EaA@DIW5?oA za@edu8y>;j!WCQ*!li)sEV6}ULB><;M!BbdVHX zD2xpxTO_-xeFg+?>9VtIH-&^2D2#ewfokm*3d+kbNVds!Fndlk92<%N9C`p?mE!sY zJBkM3xJFr7nl3{kwAI!0>RP?yLws3Ts zsWGCJ-`*k)i>ekGkQ zT-g-M_muAtq&sFVY&A}1S{`fmbeKlZ3tnP!n9&&{%)ejK2@5O5%3*X9?+<(z>P`Ok z{{X9L&#!Cjs0&N%%jkY!$c-Gg&f<08rN+=QrOWLxB|NY9^BZo(XUuclMPaQ2gMQtj zBebXG)tFT4Kd1MIXTOB@hYr56lmiOz_fC@q5sFs3cQD9w3t`3QsXj7Uc9&Uy==~*z zQw?kL%kL~OG_{%40>FrNF0^NfiHsr zTA$M!^D&j_UYq_U4M8;dn0B|u(wq&?=`7o~d><0&_5(yTN6}{rzJ{X@crBn6`;YJU zb4KBKGP#duiH&+buf~tk94prs$%vDI-!cAfhLzjDNpt|VB9MGmLcNYBISebsnmX55 zx1{R|sbIm*T8P2AJ2ZaK&W^DcjwYQxa^CGw{mngvC?sccvP&wkPCxu(ol!dMcoZ~ejr*0baee^ZSZkW`ie5+DE?Onriy98(`^#sZ6=X! zHe)ntyhKQjcitqaII+<(BY8<|N>0Ad-kOIU-y<2l>yX-^ZJ!`9~J(b&`7B@zYV=Z9sF=w?;AoqwnxxYwWbLn}BQMTn)nOFWm?qn^mXutI%4NA2fJz+&@ zbDi~w8NpmF9?UQV(?<|i0{2R_HGpSN60FA?NvrMO}91LbJ;e8R^FjU7u*0ta?YGiPqib4cC~bNl5lePQNm`lMNLrypME9Q2n>OR~Oh2 zEeoT9TY)%SCYdIw#X_RZzhg8LM{m>=HyRbwU1bcnvRFsbvx6~1e+H+Qx$lK{h~AnLzoG6P78ui{{Ud4x4f@IiET{x^*AR5 zW-QZvrOnEM@MY;a$>$N;LNctvlg1OCv7mEO)Lto#x_0#Da;v1$ZeLD&%@>~28K*q4 zZS5VNjHvovU^Oc2`#?NOY?tXPNp2yArhu9u@-u=dbj(~3&Vy?)m*|H67KSaTFE`9e zjzR4RR>NnH;y5;?!yS>6qzh51vmf5Q4^Z-t0e#_aEqiE})l(6qx1nwzV>ts(eNW8$ zKvb@H9OfNjAyMB`56WjLedR#fTrpy1E^CQS#t7m!WbDhhuQO#wyrj|Kg4OmNOFUuM zpDYit+5;CN9EfT<#j8AY$@Ke0?44R3)jIxFyf9nM(B>uDjxRMT)bfC|M=M9XH>h;5 z{J%-z5Npr^n{9@fzeB7|0@&<9=l!3O4ifn{zlE)B~&Vf0>J$bk#uzUhy$AForG& z^$wS0Lz}6e!;h@H##$g`DBA-8#1e2`2@&CAO=SB~G$4uTDJ-M|gU;CU)0DQlPt2B2?J`e`hKYl_ZYGWH!~R_BIFJRe-hJqB2xyy z6tqq`Jfq5apCZU3|wCPSUS|DzwZ4M#w?1PKL+4McUkQKlb1*Ze=ue~hNm37Eeu!Qj2yn&g!z-j4mPUOaDOWKWIz-IVJRb}f zYnSRFfl>a{7c(&~6H#*!7{YgvL;N!Q&M z{{RLgFWO~?LQ<7ic&b{?4zSGYVNe=&PN?jglan$dag}nBi-ksy6Uiu;ME*FCzn;x% zmqYiP{{V$ePJwI2(>cFkd}#X28Qm?L{{WAF{CKA%IB%iJFqid(yh_}`kQo!+9hUP zl}vOC8=Bm?q%$+1jpi#%J=tAi3hBWZpou|ZOt8i_dwK*<_;^gq>=^k?Bjb-&@PMEd zbP}kZ+W!ELyv_%3-|F_LbrE~-{{X!#wF(>Jd36m0d!N^|B80Zy@2zN4gsGWvd3`9< z<2~z8FYy-eTsew~+f$HyM&$?0_`UK=WF1wxv;}6!a>f4uM9Opl+6%D+m5Z3>&q5y0 zcp{Cx<=BQ@$8lH*8kxCd5Cn0#Pg99&Bow@|jey6Ma||hNvpO2|BuPZ9{{YKwL~#=O z^0O^loZjvad88d<%ja*3hJxq>zx~T=-01#Z*9HB7`uoo8IQ9CMt@0mF+)B)X!teJn)@0Qrf2*8We3GxFORdfi@h`2xz!aKgIgTNqAuKhn z(0d{d%YthE05f8vq%2HI>P)AJb7^HtAjVz@`ngq2)6b+5i*+nS{p5YqEqba{Wgdv~ zl`9xHH29Mh*p$l3*B`{}4 zPo%BZt1YlQ_lT~?mp+&-*AF~OFpJ#Q;|=?ohNaT#0Nqrs@YZGnql%Z*$|{BGA{J=; zLp;ZsdF?H%6RHU6Ta@WO$EGQsdP{IQn72qWx4y7lP9y1Fl{+!kS6F{n>Q#XI%aaG-P&H7wV zG@(P=pLkJJJ&-km;!9z=vdflFlsuZF&oPmnn<~3RcbtAdQx7nE{{T1X&Btbk6BLDc zs+BMiyxu~lFJ*IySZ}*gZPecGc+Z)oXXYqw;`9=dq4kDS53{+4RxSp7%@1x3G4)@O zmc}moKfjV}JHHd{Y>S=C`PInR^f6g?P2MctmOK}`jxrMW_js5mV@*3 zxV{ndHT^h$pG%IHXzjq-x0h1F{{VjQzxH?xdE?C7oPHwbFq?C5{{SiWLl@p*Z<$XJ zo!IO0F{1O{U|shj*lp`AL@RDx3NLb?%)Y3I)(p4WX3t9DEOBROL2S2_N!D;CVQyob z49_zhn)=1tbE+-(mmgY{0xWRL^gR#!E>zns9Iv$5Uay~*k7+_!{)~0w;{IhDMuY7Y zgZk|D)i2toZ6gGwMW-8K1}{nP0dUBH-d%MY>Jw6;f#IEm74 z+0s4<=DC9v)4!lxJj+-z`@(iZ+78S~7$fK~cyk6FNrqop?H98iTa{UR-18Zww2&R3 zrUlBc9)ZMr!dFHZ_%fqVxw&7ZN|{5UFVvSW{;5m3FvGEZiI`jN5TVPpDVd>w3pqz#e&g@ySS`dYqQQBCw_%j!mYP}G8h420 zhaDK(3@pXgVK4p#*Wv|cImr(4?27Lm(yAoP8k=u&;--o*uyX1{IG51O_yOv9oH=T0 z0XHvftH{ds_aG#$|Ff$uQ3loRFV0Z9z>_w9T*| zZ!`snSazWkTR7$`h4+F{%dFj_Xksn;7?u>@WZDlv!%1jtw9CIigt>@h(2m{X zq6>rEjgogg%h-?QhH#;&S&tDcrXe-bDTde;Y`!Hy>{IH%6j1=?EIx|X5Zpu`x1Lya zF39@9Af>l1l)=>shgoQ>I~hh;Wtf|S#aD@wbA;5<(kBo)A(lidtl!coQy$RAA9=y7 zPzTyiqlE6Vsg%`_Zsr&VEWRSA^)bU=seG&MLljs6t!}z%rJT+k=b2lNrAmz9GLk+I zRYFrNRLlj(3=u5J>2j&r&qy7&^Bzqyk-|l{ZLG1^6lBLgI+sp}2dyoHxFNf=46@(1 zq4~=heH2Wao4)gRKWLYobt%wmF8A;U*gsuYwRk%V|+WvE!W zhIoSCqbE2zv&;D~NBnoT0%I1Wd}cQLO#b+|(v9{9w&KrRJBedP(xJYK`r>4}%7`vI z%zBeaD&w*989U9}zKDaLl)~4!9f%Kapr@{9Dg;sKQ=dXF)R-kyL#%BvGS=CUgf3-G zaV8cANk|%v#b!{Qh#(sG4wk;N9o_0CT=obW3|-h;9cGcw^gq}I3Rts# z{-ZZ5Hiv|6G*DKkeaM!&Gi1fE%?!h0D^wWm8W&oY5~%cHq>9xfppLQs01d$OxrA!Z z|Jncy0|5X600RI301%Og0}Aom5|$Ane^?`g79=8JQ5ZasSjCX)Fn|C8(#ImX=5`H% z$#WenLJg-}thkK7I7Yz5TL&_@G+hZ*;y0UoukGM1T*AB%(hEDN#UGb5puzn?PXL?M zK>T6fD8xGvBTE={2?(C^1wFuWsX#Iw&SqEdS2EW-?x}YHE zHIR!uddPh>C~-#{#kw8Zawr^_(?dF;i^ua4DMl}M;{{ZPm%=K`l$FAhjD@SF76By4O z+2^~pl5$Y%K7oM|a$lZ-V2s`uC~4#q^TG7A99G`LT*0s33=385Z7%|BoJFXykv1KZkoGQ^1VzZdi2gW@{#F<8<_VpS&FXa%ae%I5)!AfM>uoxS^*wGBLzj#DRwP-7#>c@ zIYoR3%BJA1Tl>d6kWYUJK*kUice=ZJlV0QT0Bjp0MH%5{IAr;6Yfu3KvQfk~hsG@= z9y4#euN(t~6Lp|e9`yrs`3Lm4*S?M(Y)l1PKNuU2_|s1K$$gR_sTy*8ciF%K5Ssyg_Kx7=cPm$9o_hGLWziAh1bif_Tz`;Wm^R zl%%Y=WNBX=5DN?t1rZg;EXlDn57RN_mfGm>JbS*-xS+o7XK_~>54jWprbo1yZG^eQ51WZ#OC^3HMF;>^W(5&NTunTo zvJ&PEsZJn0p=S_M%Bz6NqRBuIbKlw$$Okgr>N*RuEr|`VTEP!Ai*8_?u&71MA1|@_ zn~{5iryt&sS9RK}_W;1uvoiCIFrLsx&BSb%SVYL;iDOxoD03O6ASqBUbGt9@88<1o zsLxKG^Bv_7Nrs3f8bbTPYj6VvO+^E!BJhikEbwJKu&(mvl?u=$lgA<%mNBT}f>G>=IgH3>l{J3@UU6=Y4u8L@W4wX4 z&51N(GNglaWxdRdWu7W{#)1}k{L9KW3N)>MuqIvb@$DMzdoqlvQYgAu8KadGR;XrfsK z%mMe8a`c`$G%W6jd6Y9A%xj>Jb}H|suAux(HjobP1H?OJ4`;911v!ocKlk1+RobHk z?|!olAjtPck+l_xv12|E94D?N96^*h+JAkf7|{ad7yF3!Y^kzbTyz;(d_wtRV8c8@ z3y4$1Ml4S}0nB+=+1_>`ny%%`bWnWM4=?Tz!9)oN8?rRS3K$nsr%i_HSQ+LZ4v9*a z%nVYX9dwrg5E17xmw1gqkMDLB?92wCu|20B)0ktbmMDtm7cS8hH4!#LQXtzfhVeY% z2W%i5bZnrKYQ@aXkEF$4(Mp=MS%*A3AW&Fbe zZhOx5BS$m7TssMVU?;L6u)YJB^L>wr%YDy?{{RX;t^N^!Z1EPvZN>{G7>T}ubq0au zl?SpAfWZd$8}tuF$W37vdzuhl<^ka_)tGjE{{ZY0ukY_!mLvPN{h}?`yMx%v>XWq{ zu>5E58p!##F|=QeOMauA*R17(wj%7@LJf!e^C}_e1p%su6mcI!@g=U{M}Z7WbPquS ziD0>w8jE;{IG2c#vICNNaiLhAaxI4H% z-%FIvf48?jxbT1|D3~jggD>}-$29M^;#>mw^jef0y6|;h5hY8#&j->As6Jq&)O%wF z*>GawT-p(7lO7}bH~90Fjd+j7zb}lrpFFL5{9Lv#z&>~X01D{tT~f!kFeBWHIhOAP z+yK<115p`sY{4^@h9gONmzXl)3@waj9|n&L_{_vr*kJzveShIy=B7d=B03lX{<}z1 z5jPg-mj(|?vdj>JGfT|4GUb<*n|$BY7%+MrLTUika72zfB2~Fl8FO@=96tX5Rdscd zW-!FtseKCv5OWsg%j&s<1`Ij{!T|#g%jp1>!2zSGnD>=XW}w-BP4sPIJrKk^Y9oUO zrSuT8<;#~UmO+FJ8DyhqY{Mw&m5Ea70;N(m%M-B`pRF!-qDttR%2y{FFv^uLs4Tm4 zz?jRjL6&Mh*#NmfM!#ng&>Vi{V<-d&v0$XB-4UY&A5fn0yKv>q<`RcdB~3sjOWu^k zl^x3l9+tzJ3z^I66idF4 zQo7Xt!~iD|0RaI30s;a71OfvA000000RRypF%UsfVelYvfswJ%Frne`|Jncu0RjO5 zKM)(3fw$@KA4P+^UhWPjmP`xX$a;cBo|f-YF7iq4Imz4H9iIcqWIz!J2M7Jz+C0E? z*&XG8_Z9bc9bF-e^RbN~-#7`^ejH=*&n=1kBnI~-?$yG{%NQ^q3t97NBv5cz1cV2> z2P~eA#l`Qt1Bo8x9nN}%4S{3=QyyoZEH4XWaGb`mvv>(`EwOPAgTrO`mtJ7bByvmL zAom$E)3di8q>gTxV!5&L3y3dvIL?FaQ*v@fHWZK(CMnx1xq%w%BJ7=ZNd3xm$Rb^M zwiuk;?X#)1GWUJbr;OpuJO^#JY$qe&=D@+Y&Fk}<98PR!P`4~yC)F?WYB{{-k6}sc$%vZfpZ~&FO+02XFIeVGJKI z=j=ste^!rqT+gE5ry~>eVvk+}J}!POZf~>TK?&kfJ&}fy&$&A12X&o$zi}vc-2AVx zXg1br+&Z=8Bz9W6vWFbbEi4X`pCSGwKIH&jCz$?g9AlR-$Yce3lAOsxjL(}_F+ujf zb)R-F3+>xaMDNA$+TLcySqyKXjBzK9L(3)XzDu{VQTvt@?%R)7eDty7wqw>1j(EQ4 zdN#)_Jw?62EoKMzlM|Gm9ba>|gNZz2mX8yyA3O=h2izA$l0C8N7x=aD`TqcO`27C> zR{rcubFGmSgO~pRk!TNpGrZ~gv3g~BTtQ&T%cP7$&k)wG$nr3{w_#r6m+IhyVLqPj z*^BBLgRocof8>D|hwuLYA)NWUT%WWTqx^=}qM4fdnqfI2*IcRt0-r7O^X znO}4AU+xIP_GvB#TTENAnK1p>==U3#{3K6Mkp?$wc3!iL7=C_n3GHq4N|I2zy&v9i zr%o)p8TP~skiz}4pI5|eyO6#}e(VFH%RDkXY`3rN#I4?nGs`_`4o-Yyi%g_&)oc_(S-YK5Y8zSJV0P5vMT?NKaFi9k3I21Jia) zH>Gm=p1HT-a=vWFYy-9ls4qpYWa;$>Z^0#Xjp_9Z#l*LEJvJ8(QcF`g{{Y3!tIU(f zP+yRg_W(K=$;h4fZ`Q1xaw8KiExEGI@!L1uPPsv6r$4{?o$&zb>CrpWZAI0*rOWdA@ z-l3iVdKT<{SK7-YnEMd=Z1A#J<1^F`abA)+1OvGP?Iw<_7T&+heXobr#P7amu>K&N zp83yB@FX0}H2A}rA=|MW7TagfjI+mV-jO}4gnB=?KFc@UMha-@I<`ksPQ6+F&*%Ny za>32@9G(nYZMai!q`q+)j(WYi=p9W;GRQu!E)`ESz>PF zP{vHAJ_t&b0l?{QUkdGZ+ro zM9^N~2@u^ffH_%fV5DP@0x~EqE!3wXy}{<=h(J*YQ>^VZslh9@7fc^j)xa>bu9h0(T&s3ow|5hwu5Q&w$eE*h(FBZalS#z2z~ zpb1Qm@fB|%&g^Zt$aynUEGeOkZqCi>T3G@VoaA2$z|g( zIAPrbum1oC<%hv8k`oGA%7rw+*VYUY9g|#4-WY5G^A;c)V66?IA3%E-8p&%Q5HEFb zn8B)-eQd8WQmtFecEweEN_Z`n;t9a)5hv?QIF}?*>PA@rm$^{j=b2Ck&BBq1vJi=u z78HQz2vzgI-0CU4aAoHJgoVYENO%F#91#yJu~!?2XRM_S#(lCEJ!rT(iZ<$4m|fV4 zuw{a!fHh*m8v!_Umcle`gf31}I;)KYQq5|z&JlKns9TVjVR~7D96|*gEtvx7IF=H2 zVk}y9W)bcnwl3!pV0VSV32oM19=9`c>%>}aL{&=WDmF{!^_g}Gi2WD(-+DdeprdXI=f8ryXa1{&s+D!nS; z;Db>MS9HNZXQvMkX=h5K#7?YLnjaFKv^?Lbd~>vAhy*bjzExQ!!XmoyGR0>rXz!8e zDq)FW+V`9ZVK)yOaOD;jnAk(AO{q0KDO0G78!nKVsL7VAVcQDw0FOyV)?&k$H4F&v zQt-fdl|%>_&y*9b^8_L_G!) z9p!)~ebJmMOs3^2Psil!swM1 zM|g!{*EcRHbOf!ub%PmK+;M2=a~Tk-X{dw_oJ01tp^YwUdCX!rPceD`#f-yeSzt$S zA*FpL(&Dyd5m9Sy6rx~*3a%`1%%dfEmAo3vTzdLO%S_T%zz(cUFttH+#^Sx=7P}qh zbAys6I5#g9vzmNH?Yl5i=$f(7Uk~cJ-0SXXZAl@g0R7zhuf0CCht-kar3cU~9y%=r9OSl;AZKvgs~?%hVMVwmM2FHVE75 z$-^u*ladKwE+~wmmoP9{!u5cyT0{Pci~wkm5K+p-2=W*!dSsW{7wsrY`5|$;BJ4&` zVNwBFn@aOK12#7l$R;$4%Mdgux-8`>1k&d($!BZ{lW<)gu($sox8;|Y#sZZG(xS0-0p_rfJ%ie^DIHmh57>wduhUY1wzwXvZ^Mr zQENd}iB4Uhfda?wy5Vn65nn1)bLO( zaJjtOAC&q66Wrt?K)Gt_iC>ItjtrjxyTFtY zv15%wnhUsjgyoM~4bh5hgcJqnPVIGvpn)h=NR@FG3n(c_6?d7N2ShV**f+VF3zfL6 z#9MO`Wu`l#WkfAg5xG^~Wv(5JMHoGzLg|z=;qEA^1B4RTHNc2fx~4~CtkWx%T*LQg zMM7h(T*qguL2p;un|;B)^vcth$qdBqF&w9A?-lSPH+4og69nWW#{jiy^*Q3=7ke@? zvo0!CCQKJC=UpI{jP4Z_70F(vmZB7N8n7w5t|}pN7hpxuA31r1?gBPIx)1L}xlv0O zvpdE%gujWaJ2vV!+j<3kh+r-EuIH~AF#i8_+z%4J{RpEdd3gQ7I;|q585DY`;h*^=a3nDfJ z#U8#$>sfgqEgog=8M^G^cX;YIl(lA@!SNTWe|$2<*#UAoM0+w}m7}}`Vm8EL=$>P2 z*-L0E^0R2lO}8-smt-4jQH5cUcLW0e08zGHt(}aBcU%g-<}=4Gk8-4*wKq9oFE)53 zhy!9hSwMBE#oyvQKie^2O|T>7)()s12V2}h$W%!>r#1WDGS|b(3A_@>x2P7ikFSbR zRCPf|V87J1j#A^|vUATd1(vc@_ZJs73mE2=rvT~7p}UDBj`nAUb#Qp5m;*S=)#Kd2 zez0V8SdI00W;>?_DegDptd!;B#JYDvRJtW92}(GF@dq7@9~WOz)WL_+VjW?C;#okv zJ065csEfCxL88{5;UgpqE0FQlB6ONsd`66^D{W>5;vA<5oeI>(ph-q2stwF}UsPfk zR##-Ai@24ND(50f86HTQukH~0oyztI!k{2}pn^7~IMx*#z$0&1<*~g>RYHr5X^2gm zC8->pWsT{J7(o}q^Eves#Qr7KKIa{Nrk?(##kQ2x>MLw{ZJzS&w1EU*7i3E4g@RZt z_IZz6fX;eHiDC6OhwI;%@JY?8^`d7Nv3yen3ewlc?qORP;PhSlNaa65t<*HWp&R zVFqRs0`YR_6W)R74*g1jBu>Pn8^pQ2t5jdgxT>ZL48DX)_bQ~yWZ14I9CTkWP}W?0ER`%e18}Qsx~?D# zA!Ne%B{31@AUY5Y{IP3a!W9{5?-D9z%qRs`5yB-fNk@WSUHwO54k(zs;WpGnV z#v*pN+6KE5tU*-3UZeKudr4m87TvPC)ssaBighxmMFO~-cjX7Eh?Q-wZ#{g$o&l5` zn9|As0gB_mPSX(!@hnmFRjb-cP~Ah}!YLV$7n;x9I6El&3Rq>#%^E>by9y5q<5JiO zpo5*X4gv3#Rp5(RN2mT`XSF;um+C$wFaYZ7hQIba1pru9!EQ3@)2-Y%$l**iXC5N! zc5I!!OmSv1|}#1sW>(Ct&Hyk+q&a*Qqi09S)E zO6Fk!&0XDNb+|^NrvCt`jUyJTE$e;i0|;W(F?rdunNm5J0Zpu@HFEYgM6py*wXIs1 z+!JJ?DP1TrC0POKj8IRWkWvnmNk!3zejvhXfQmWqDP61CUEp>qfqIlf1162_g{o51 zXS1rA)zM4_;d-i~&$KMAO*ef)<2Huau3tiqyK^Xyse*zxJ@k+3l1vkiVq|1y@kW0~J>!bs!fYyU&0{4$lkhOPub(OsEP&^vH z2h0Eg#S80Pz1+(bF`(%9k7k>^lfs|4f{oS_=9p2oDE6u=^A~Wg7_F76x~lG`#gkc- z^1BVgXtjcQdmo8Hh+d;Dg*9}CcLL3tUpJCxxUA+WyXVvWnj38k4$_obz#4G36ev~| zj=k597X#KtUEluzVIoG`laKX=gxHEs@iTEONn>_e>k!IF01Bd`y&P8a1yw*+tTNx9 zxD9*S6Nt`I_>Jg037h1m@%7+?1_OE5#W17-o0oVfN;BQ*63F36!OnG_vy5Eo%5|g3 zaNG-c50bwU=mET!${3yzsP@^+N<$Mg<_$JAc-&Ag3VS8H-34WpG_OazqpRh4j#WoO zQ7aOj@OcF_aV+!01k$%KaTYKe*#RMGh?ly=C^RajCj&JKEFO@8`r&~T0GmcF9SHXX zS_#m-M^a5g$i&yzL-K*xmGXFvJ9%T)LD(W(duJ?t!Mmx3N3~&`>H+z(!(_645(YI< zRQj|*@lv;_CDUrma;v|mgDSe`0uh>Ne_Z{dn3*|00I zSNM;uhj*=YeR$$nw-UJ4<*2ABO2 znV1^@pnBA)%r?7NAA>>`wQo;0dt(_zT%|$z%%q;`%4YKCpizve?>?{NT$o3%c(C_MFj*j=I+3jwRY|`@I*otbd)zY1x``#F6Oao>Y0|r@nCsE zU&VUDIDji^9R{Z@`CJMa%otyZTY-F=*b@B#8D-D#FKeW30lzh4<*1*nWASJO7UYZJ z{6U7plF;*k945L0iY~OSfxOn?aN`UHg)plYhnZ?yttc&Xkq#+v_KzC~ln(Y+@<$9; zVySB*91po@%AzS6Sr=EnV$IfugaHudoUJ_z*I|qM!z0aBvck=qUyv+|@%bQDvB&#y z`IXO-@U(Te^-&%7X>0CRCSuFE6H7TN z0l5V}2fMYD#vE5+>5N}vJ*Q^Mx8jb^eIgST0ZXl8KH-4Ag@*KII0j7)-^|BC(k^_G z=31^FU_H0?8L+3-9j zZU?~p!_+f-exgjLkuT+z)YDf>_+Z?6=ISz?5R~};0A^gLc|PYA>!|#(EK|AP)Mmxd z%D4Xju&o1}zDSJshrO+s=#bM<^GRXSLe6*04(MbA;#fQ5z73W&F#*;&f&e8;W!1Z8 zotSnp&tI2_ah8gK>ggQ0q9n9)K$Zlvdn{YPZXeb}1;(>$(@!;flnju@LyK=#jQ2Wg zsoi)D%C*2?TULygxqT3Pt_ZGN<9H%>RV$b+!@N<*Ad=n!+wc)g z626e+1Cy;4(bCGJbdLmYwe9+eN{964@e!bgg?;nxG%jIIk5ahRHino>2wMYAV?fn% z*kWU8l;~|856VE?;q80(VHIYmtGTZVAP6}?1++c=Ff_wpsfgVLkhuZ1g|nkmAhAJD zH$l$*N30CpMC;TBQQ~LEETl`MBck>+TUf_?w z9UED@ci_}+u=TU^JcP%K=2WWNiivGI)IUo|!jAi9b{?75q=?^6Ld3VcqxzxGHlIX5 zE+aH?^Go<4JmYo`yFU7+7!@LxU3FbLsx)ZvBwawmHu;ac4cIvV;JQ zthX5`b2eMO}R#=HlZ{rQ9)lfxgo_L|6X zN6V~8DbH9bK=Shn+R7TucZfh9irgUD81ZosDPfg%-fyZIIv3Qz$-#AlOAvP$fv?T8nL7!4qUOZ3cnhKik{vCQJM z3J#^GB{cn9uQ1@mODAE04>zY!YdNBR%4BBkId=}*%I zq8kPMVh*wZQ}U^g0O4Ei8lsp2t~D{LM6zE6cl*_57f?9tln@J`00&npd-#~iSU2b& z@P{gjy?=?W{$ub6Na`-%&sj>FN`)42jyT*puaHt?M+a}7;4A}|#{rCdMy^^%x@aNm zwweZTW6l1u)Q!k*6MBBj<}Bf*1O7uV*{9}G55tnlUddnte0!L7C0thiwU`4*88v0X zwK=NE{+{yos=gUt;yPi{^#G*aiA25Q2}FN8Z0+7zu>#3^Cr3;*-E8|gA_IPA)n$0A zxtg)rzyn@wDqmouP>{*dVJNCkZ~C~SS+SqD{D;FtpVU>0%PIA6YJW)npp^r{oJW46 zPwpdZy0b9v+|HyuAfIC83tuqetaajDcs%hCEMEkn+b&44x+r&)1E_WL2Pd6YZ{iAD zw6MQRjLo^mb*NIyoZ0ngeA;LSGE$&HDc(+HQn6@{BsTay5ROt0+XwC-!g*bEHEN|jkT!=o&X2^2@^O}Ywfo@l{&1vEw zxy2@2hE}`umr)@sM}Z*-1CYDR!`7w19R#+#4Uw(19aIq0L7-FOEzvV>-9m2YCECTL zX6}2RhZ=$bIZLnlmtzWu&0~v6#-kNFCZHY4p;?2sa(>R=HMC}BhnUa70#tn z*GseRQx2FUb5R@t^(a{Z=*g-%#0g{kAu)lxMP==Xs$Gty;%gUj)k=kH1Gu|rP}uss zM;m?A`Z4tr7TD(E0uN7=qOE$lQJZ^eCnZk1nqxy2){yjyp+NeHMOUd-7h}Y;ihIV~ z!L12AR_1f|)(pb=0J~Z1FT~!fFfw&EO0cW%rW!94RaB!CUC%2yh&5VDCG2}?;^L7iIt~D4t(kjP zR;aVxFUo7fOy-4w=zYYD7b)4~)(B0$SN^P47#(9CVlz(8#3HCjb9^5-d&iDCsZF(K4{5e>bXgC?B}CfiPZn`4&sZL!Djup} zM(}d;0-K!{;JT*ztWl~bQ!H}eqaV3~-HnkN$l671wZWNNNWt-UT+K~mnRFL*-%}I> z$&!2Ae5%iBNaS!f%1FLV!K04QU;7RkyF|dA{0FXPK~aoh{{SWkGlx(1D@%4EURJxq z+FrgT%cGNse%QmXwk%(Igb0RekIR4r7^ois0+ThE5+O3P} znhvP9SkcN$keyz$LW-vC>B$MK8%jGJC5w}B^g8$a#loinXVshH4h)$qydzH8j&)cL zWiO(QpJS5wcgJ*mRCuv*Y%pPd;so@s?xX=w;II2a?AKUp%fAqSwv`9YN{d~udJl-p zn&AEr>RYYYKtaliqd)pZ3aSrK%lixNM|Dx87l2}nzXH(rv+fQA`EuTs>HC;!*cdU{ z31UEa2bK1-iDBB#%X8V{wLEeXAKWE~R?7qmtDxlif2jTFO}}wMK?O}|r^tR7oGO|> zEwkuXv;ab|2Tm`K5v{Xgi5~ki9}g3WS*&Ub?7pmsthrvGxaqTrKvrg-clF*Ewrw|; z;o`x+8JW<*?7-Tw5O6By$1=&@jSq6&iNQnWJpkZM+O7~Eh?cwrC%wxNHzt85E208;YKyAYF-!sQ0*OV@|nkI$*G|${z~IB zG-X{!1~{{wb8R>5P3D^(`ps@qTH~asNOCU#*WLDuaW8ht@)TZf#6%*M&_gX@)dz9& z9WGnuQ_J-Qz_)r3tH;!O*tmY;qc#^r2jTmQLjD8lB1;HdQjl;0=1K_7NZPrjRd;~& zR;o0rjX5%C`i-{MWI>=TeClNNo8;|-peCpxc(NMV2={&~$gPfze31Yut~eB4Ov5-l zHXX_FA#T3$j5l}wN0nGr2qtYqJKC?j%gw z^$^A{2+4NWZ9$0CX~>`M^uN@)j^Hoq3NV9GdyfX!lA#6{D$K?}ehO+M;Uw-y0s@%_Nobs@XZe{ghr2wL*7^$uOd zbsanUsDWAVBD;;e?pxDGFVwS=mui5gNaczLSjYII2~V>hlv*f=|s2uW0Bl&u`%vTs*@(;tyf~@{RyHb}HtyPMTuej;K9oiCNO!vFF2JB?f_47@)G+?)SkMoK23!YH3B+9DG>J!Fh(-c= zAIiVDRzY;#5$;Wk`5(ferPIid!GCh{^a}-`>skoV^`Oto72sPm0;}OOLq=s4L|r)> z*?{@=FJaS$Y8b(RNUexIiLufmg?LvT_x}JTa0qWN%2_aVmG86=*rARdF&%D`WCPa` zrW<_%#H7Z4pAwrXVb25~{6@fXc$Nu%*e`qW0kRogENc0J`uUc6g&|qs>nfBw2k&y} zN$7ti6A^jsd@AFpuaNxJaFna`{{VZ8#jiLYEHIThTDOj6V;wMx@eyJJmHTj$7MjBM zn1r*tD6~OEKpj=eoMDMomfqNcyP-{_%@kNEADG`R(wp!D(FoYD(<>TK?}BK_jt~=_ zU1sX3g|!zTF+0tPIisU`q6#GfOUZpeJw!K7GUpo4g zB(@A+OVQ#AcosL}b%0rH^<|0c1ZQl*w!=c2Rlk36B2%khO&@=VH&)^2{Wsvu#8R`g z>i72fm4+f|fZlIM(+eeRenYfHN8%r7+z^^7Y0LG34{;43vV>l6bS?F91UQ3#`Y}`w zlRFiWbpYemW<3}@#0V{dC!Evc5L|PDXOXWWo;3!<2Kh?L`s)!jLhEaF7w;TYyfw|% zIz_@QSmF5d5|#&*vTzpHBm0UCc~EHW#IlVGU0RrxY-$QbQq_d+q*l>g@|PM96k_97 zb}=kaRPP+h&eP7N7K}tIu!}k6ddLZ3J5~OsSswZiijG**&_C*5_xA=<9R`QzaXY+; zwiW^0w0y&z+9HCubL;~4t5mC4{E!52esn2uTv5G#w8m2uXy6Y+T9%z$m1EP-%@ z&qh{)PE5n%YL5*JYYPq?#5QrHLaoES&dZ?N>Mxa6uzn>o!itH|UHu}TEg7CR~T~(Ya#iJZWSsuS3!fVq+e2v zcBfEaQ;t2#_zt^0U)l+K2u4cQ*6o|DIfx6Ot@MpT+_(=cw-Te6Kfk`~6P>Quc69Jm zHr=kFd~@S5(6l0r#{e0wYo@?$b+@b50)SB{@+RZqa@_&q+O*a4P*4KElc*k%I?AYJ z-+bP1;vv8x;b`obr$U=(H%RzF5BY!%EhjF{zf3fg8z+w1~ z3);a)=2#;0BesR~-#d$&dFOBM>CW)!vRx@TrRA( z%!%GqRJ&z%50LU@YbBI^Wqwf*hp@lt6c|>U91e%7X77Q8M37ad4;NT(7gq<@O%-mb z_&mf|GOGo)+}f7SvgV`E8@iw~oy>YV&9R^~oJ55@dFgBv71tG!o4Ucu>N<-3n7q(v z<9XK&%H`b^qs^3SIeXqAYL}?G^z^7d1ux&08ws`~D&MN-ab9HI`+s`M8iKpX{B^#O z-X`+^A7HWY?Ht|LX1{mcO-4??-yan!>J4RI8kZ`a18)W@QkDjuy+$OU8bDVLoYzui z)vGKXtDE--04k&}jCy9^qslaRDX&2W(X%D(Ujy?m=3;f$PCU$k01@bxArEkjTI~Ib z&#?zADk4~dKH;2?GPtSb3=~4jgbSWJ{X_;~YNhA#8#GdLNnoLRn)-q5+t%(P3|?8s zY-7|?gCRgqPO~;WPM-#)rNcB+{bsmttac0HQn1RU-M7*LXnHjToSmZ4O6e|PRSlPH z=4Zt2VB%8(wMH6UP~@p;MVxkz8f5a3g1#^&(<03y(&)l>-7>81#c*<;S`H6FKl zUMVTY;-DsjY2OzbxwwYXhP0I9yf`TGLLL#_q4lUO%_>-Ernz^8H|kXc%S5=)WBZ<5 zXC53AQb2T%TJ!jpG((i%HN|?_IWavGB<#`2?-5Eg@|LL%t{Qu{8--b9pMJ0D5az>D z?SmW~`j)C>K}yQV)Yj9-cSm+0AyHHn@aY2=+5nilCT+{3zhr!M^oCIZpurWtwkiJr z1O`^SdOLTAdtJ5r;sjeRtaa1q_?kzu@W$yk=A#U)ns*!W%qlZbv0Kd#q|9k* z=7xjUIr(OMy7RuTM*Qj`;Cox%k>q%P>~Fc&kur8;PB>P_yY=~vY@>L={l%mb_#1y$ z5M_7_ziJs(_gD2U46ecT76KuQG40pfT+qtn8STUwzpTcyOLY^VFRm^ay9HwDY_G)6 z6G?=vIf+H`UzyRaB^$`hrWjSG-|kts4_QL1;HS$L?5nf4<%oXed%qg`hXOY4fQc;h zk9^10%UFNvT7WVfhx?c01^~bkz?_;&s;4%ZJ~t5r4HbSRnoiIk#H9fB+|5=`UB}si zc4NE+DPAH1t|c-_n$&zmNqY{0c}qwq)#iV{fVk?zs{yCp?12*jG1dB&R&}J zEF(4;D855N@cD{^BGAuI<`6|RZ7-8x)+_h6&diuZW6%qkNJny`HgZr3fE}@ z@U2)9-C->j^4=P%O_sd9n3i;l6;wD(ZESYn%Hx;^3(<^Z;@KzzUC04vP0rKMwn} zss%{~M&Sc#SBEAh9d)t4Df{08rJpfb-z?IuftjesrcbPW&Dr{NGD&Qg=&qJ-&irD6xZB#x(ysg%pVDwmhqA2ENrwN9bn^C+B&oh z4qzjto$RGK)V0*Sbe1fZ+(d9Yn1j40B4+@Mvg{?eOVwhRYIR&fgav$; zIY2QiEyOcVwbAznObRlcE>nP4?BlBWh@^BLk8t3@J8U!uSe-0dipi7h&J3?Vy)_Lh-~*|vhACE8Gzf|(da+cA7FGJLH__E z+Xtch`II~P#2f_m73~3fzSub<;yVENj>PpAp^6+(U!f76cC7tk2C0~W?4<^?h754o z@Y6M!W<79lOHoKVtiM_6B8MgCzYkBuz;g}W&&B32P;LJiaV-Qp@JUCdQQ8-L5Fs{+YT8MaHA{V5mW#KYc z%sdQkQD0Dx17T6V@q+&Ve&-CjuCIJX3aY#9_ou`K0n4nf<%5l{APv30*`bEZVRdf5 zFtau)gWfsJ^(7yqO&}?eBP>gR!QxZf{Ln^@K{MHFGYUmDmc={^28h#H0ji|mO7hBN zb|&>{JeONli+=3)EQTVJTB<`+Tp9~`$P|l$pAi=5GDSFGJGCr#l^oCnVRv

nZ}w{{Zfy$h}6&#{T9-3g6725~ynK{{Yq?0^;vBdx-_znN<0|xUD)1 zZ4bvWS<_7GZ%*s@m!QXrE+-M-w*5pnEth6KC80s`OA{n$P&c^12LNiF77d&Y4kKkS zDz19OG}`BgHxBm7GwsiKu-W9?LUw23RxoAL2`uU?+c+7EZn%IBu_(H_iCMA*w*t6s zw=gYkuuA10_>R7!A?FSLHvG%fkl-I&xPmK!ls^EkcRzn(&;CnjweAzB>902#8$c-j zmj+3jGyCRba4U}NK&&s976P@}TxX#5i_&Kl-60Ii&NxS^Xy15+j2-Cj@6-ft{boaEHo$0fB$0NVL z#38$GCy>teYT%JyA>edeSFD{KOCoBc&D6YoM9@3#k9zeAwJ^Z$u_!K(f>7^_o)Hjl zv%a)#?%UoOLEu`I(1t5gsUw}V@3HFq%2goV9Y-1rxN(_v>Wx_|zt`=-5K`7xKQivB z7qMa8yBp8%=`L@D*Bo@z0=7}pKQItWYQ#(p{{WTq2C^VDUpW2y^9fCRB~4XUn)5Af zj`oIec;R9cs_nx&gUJ?xzv?+-H7(6}fU6~Pz&J(k0@asgfMZp|G@|nXiUj8})m|5x zfC?!ws~hbxojXbf&oMzr4wY2^1&=y`T8eWNsJZ0Nr|NkFpM=NUp{wg4^{J)v(Uvt6 z=gAiv;B+CNZ4Ve52dri9$mHOzR{Z@Y`tK;Lau9v z+Wkto{{X+Y0+a8b^dcGsv{o$PT(Ll72gmJ$e+rJ3fiR2w<_gW$lEm`yzR)`xpcu z&?uK0D~4QIjsVV&uf6BEMks3OHx}rYqV-ryRsu=NoGk&g|uqJhZOrS z<};vlK8|9rfEMF^Ahvqd^Hs&iz#hb@0+owYZ=|oy|1>*T8Gt9p{QCJx0C?b(z`X<$cSF)+Vxhlj)dWs)3`c z(C<8pD1H@>rFN7eIPTY2^o7(-hJ23Sa_?{PaJ8V!evOfz)_o}N3Lis4mSb8om+k@; zTi9q_*GK1xesmg2MRztcsda-VlbC?LKmp^JT0qM-Jhu4Xok3|Db}h5dxZUZ$h$8Ba zSNFt3R>QpzAXuyx;v;FtQ~t}Myms{xu;u1ezz7=*zw0iV#yO0P4%Jj}>=B-jLnit< zi)1e#s3Pgxv{c~D!v!j6!JIly@`ccJf9x=)D)SpRW8X5`!~MWfWj%O;ss?F+aA?ktwK9uEP z!3U1PdK%iY!MsK$U^L(w6Ea3p)$acQ7yJcAYTt==?Ps*4E_G7$`=59ol-NLgaedo+ z%khJ^^K@mYP6e5CKH^N>ULv@0yGVu)7kZM z!nGG;r~HAXiLu!M18s5H=zIM3US!vXnNNI56&N*cU;~;`uA&0c<-8el#LW;4H;~uw z_bF(-_2N5VYbVVom@{Bw+E8hhsk(~_yY-k;)OME?Ej~|)9k&5tzlnN3WO~Z(Mcuc9{DBIMJt22=iuG`H!G)_|Y_X(m)Atb( zfIDsmrCX+6mIDHn=B7+Q$XgV5j&qBZco|_pS5_8Rf1BTo!YiyM#OS7hs0Ovs#;lcH%V;9GpN`-3k6i ziB2u%WTZCMx|QSPi!NlwJk#;Mu;V7pZZoQ=_)$@*GRpU+VaTFyu6ZOoh#t%yG{zqj(QZ-eK#JG#G>hC%VdR1Hk zr!7FMQjF#|z$mP9pVC@W(YlyI^6>Tl0AK+exTLRVG4<#yi`K^dXSB7Xbzqx<%?=!> z%63jeuZ|_GAAyK=<`vN|Mcgp;I<~!FjvsEm{{YCDNqzqS7!l|0 z=Kk(eN{wRO>At_)xP?$fuxZ&7R5CAr_8hQ1Ne%H;#NpFFa#b0YkM==w515J2?JH6o zsQKCTPyj=rr_r~&{26hXlCfq@$KccpRu4i_{K&BPo)|c%y1b*SN6Cn-D_pLtweHNY zKZ@&^V^Zb+0Q7$XC?K@psx4o$}wZFW~ZvK%#9;s^xpX#mXw>>Zo^K@8Tdf z8K+*NX~z}&(hBqB?ehh)GvcC-1j}AvsER)@6P1}LZE)C@>)XEL>2oEm{QI36cGTs) zjy6MP&18)sIuX1kINW5~90wOA-?_MNDuc<)L;|qj!e^%0xIm+csUG$iWlC#k4KkeS zqw145Px1$FS$TP=tuG-NZP1J8>kUO~UNcqV6mrAjW#Hg=oB$gMVS?AxbTcv{xW&sl zysSB6wd^TQUG$5L$9h?gOkHZbktP7?qrdMmfJ#y(@W;{?p$i)|v`7A}YnW*Uv5NCl9)NRwx)cvdM%0LvPzNL7hvj&rB!SMvZ zmj+zF{tx~^MbH+#CQ>aU+hy>2L9NTf@)v&O>_x$pfqfic)4N32AO8R%AU;yr0J%wm z#cW(zrmk!V37!BdXVCz+amla)sGBJ4R3m#6t24Y<&#K3{YQSK}lLz%`Ns|!w@Izxn2?YUw2 zYX1NX8fC6bKW2EYWeC!k*uOvQD{PO$ERJ4sMW(9}S&aLR6w3}JoTr&*AH@xNc_ToM zOUJG}vlo^rwf7#VL8clSKY<1e8Gph50LA|R8kt4V7Owap0zB0HuY_*N{i@?(ctBlT)}-|rAuMf!q5 z!lhFu8P+Na>>+u)r8;-t9V2?G)~!8X{FFU_x8b|L+KKB_Z%Ed= zbcLpfa^e}0$9=&p!&@^0Cal%-GUPVp?F*?Zdb)-HQMVe2A`@Y^v~Z=6fquQk#I)5- z#%dHg2OI7FO?DntNOb=I+|ImgapSkCp}^3-xz{qTMYViaY2CvOqY zA()hEH*Pv1ZzFyVV;fD(9bN@*$>stOK*9{TF#ZqcP$dQ>of&xc7uwFmpd~Q-74lDD zl!qdO&~|zBCvpW~Eet*d-Rc8@b zhP9&@nN};3%pypc{U3>Cdpq3_;R{fP$F0Vi`uq#2)sHRdd#1 zr7WW?ri@a+&LOKHg}cJE^@^=a7CQZ@O4DuGh5^b?ZN;M_mx$7;FT_S@WzF#^NT0y9 zI~Ke}^DjTaMQ~ujg9Z#4f5ol{=nHkP);@F4VfG8=PtNwP$N;NPhqLexs8^mLN&9@a zU8RD)FfaN({KrX4U9Xkg4v$emEjleu0y4+rhw=V+)aEx8@e_Q_5$#tW3)3T50&=DyGU_T6>?r^C}xD z+AcddOcKfl3^|rngEf9rJeG2;zrCVxa=UVW$c7XQE9>{v04;!`hKWFHBkpI1F3e&9 zDMe#qQZZ5^16P;P_?aNO)cgMcv2xYrOzt`ad~!Y`LMO-t>8$sb00DOI!pbzASeb>0 z=ew_N(L-oUvpN2tE-yWyb*8>xw!DYr{{SUYrPCWZwW{e5%WBga6t?stWa6EVGZkWu zaeDffR6C9!b`31B3L}=kU%qpbZf``p&~%k>(kkilW-Bg}%*|lAZnYI%Vy{qHkg<$k z@FJH63>YwA{{RAlx^2F~XVG?#XX)~WZMa|^*ZY`+>#DqZzuJry=C?_}(Dc8E!*dl@ zVLA4cfSrPNWpdTPb!8wy7M1AooYmKz%&`1g?x?qphnSriNcYwF`XRlcO^YE$#m?3qq2=b1)0__!s_fw8a5e3gTILHB2_;8v>5=D3{OWrgpo z=@PLnckU{3zGb#-jE-kx?rqm@-1=ZWu);f_maU^V;F5~=fN4d<3PwYWn3JxZHNXgaVi13Q&8NpGaqGhJm31-%JIJ~X%A zNJ5p_Y3rBFTQD|o?-jllO$IsQ2-@UpYFP{yR&R(DjbVT?{-qp)>}&giU&2LHOL5Tb zKeST>diOeaj9iJUTKSi>;*1bX*c)8;Mb>oL$B2MY_St!bT3FzJs8Li){J@KAGbXd; zgUNC)r~58))8WkRc-UNQ(#Gn9%+PAq+8WL8Rtj1P2#JVi>j<3OcucwGiEk7Q7{{$!_|~ z3S{WXC=>obU?{FkTw2oGT{wuWrSy$icZe-tatB!=9qtD*sCH(^HMm+>L24vOter?# zkYwn={z?3R!Gj32PCmmBz&Sss%+OyJKLlR3Fl|57%I$LgVc4q$0fynlu@|xA584uv z*t+Hl?aiqyBFo#3lz%64p`xoVV8vF2&Rr#eq8w1oyEPtF!_lO-wA@) z*Z?_TYP~{;ork-CXG(Y3{X$CTJ$)7_fP2BVrUHFAY>v0b`RGikiG#PKfn+{{S@`p<&YRFhbJVV#m$@ z0J74{CmiqkA>tb5%$?(SM8+S$ z-qyOzY!S{A+)fY)Orwa65?c%}r_vu7kr<`Kbn0Y>WyAmx5y+g&{sjuf0PhFP3t`_3 z14uE#6C^ZdI#gsDAP`WfAlGZ~pA|B5w{>1)6N~!vA#etQTNkLW zLxOiAM{&cYGW3>Jmv1ZrU3TGp9te>(72(@!j6o>bMPQYHOMs?p&KMMQcn^+xMX?8# zx$aDY{F{oKTD`sFx4v;PqTY+o?jtl-^NCv1s2fwqF`)=6Ea&x#m?_t`A|Y3pX=pj5 z@y+6(#ch(2XgiZDX7#(Ku2ADIR{-LmW)yoGZYh{nzT+(vIpIpr18*LS4>&MK%AhMPoe)SZiRgY1M z_<|TGXPC4Cot@|00Ukt32-^D-e#z$2`58ahD%tTCzG{0$m{tpuOZF>_5{h$#fp zb1ocVt!Rx;J&jrTh_Lc0YF{cakLov%d0eoklv!~Iu|Q040||B8F-n}2%5)8bmR6B2 zA`V=CxZFZutUz2ota>A(2He2q3(27}66o6WBNHq#o}qE(5r<=Pz1sk(1rn<$-dJH6 z0Hk<-*goj|#(?}oU^||qJH|q-;$T$Pt^f;f%&>~s;FU`}@H_66 zz5ZivXrbfPMS&S{)qv|}+`U&G4EU7cB_$W<-`+PY(!+$y=luENxZ9Mm65$|Sit2G2 z#ScS&Wj}Cp2_|jrGH;|3WUi9mBNDL`V7BuM63x`Mjx5oCy=5z~>lFhWUAL%UOjfP9 zwSjeBAk+=$W7kM5kz&)J^_Y3#7Z6YojU1Q7LfF{L79Gm7F(s@pf&o)-=_$N_1=u)` zM4?xSgE1EtO1KwfFh?&OO`&i)5NXIwtOh_VOiV=35Kt>sjo7Ofxj?9464KU9?iMg= zTZc&-uwj$*mFWt(e6j!`)#ZYVaV=KfSc=zwz+-aaWr#*o?91h~{z5S#Le!&(p}HF3 z!0yUKRzrhOG-*dpW|m!4H_h@L34Ezd^^A@(MlzMn!f0NXs5lmP;ts-uVvjHf06g5V zV)eEl8XImP_u?&6TEYGBd`sbsBOc4c<^ey!wN=_I=PK3Fh?ZT=2FFxs^#o;s+6UmT$zQ2RcNqX5yK=TM2};<}3{gHx%1UBCXmwV6C;x8xCM|2ml%h zgj_@$!5LHhC8rNV1>1LfQlJzrMic>Fscu|!&)htJuJi>$nK|nKd7R)m<11ar-@e17X{Z+ zT3>TYC$`K0M?^ypcpQy(uV+7Z;7fG)fO>-Hh(QKolFCK1L)^$)z+b0x;y#Aq zRyVH+6=uLUc(|4nOf?3eP}^uQ+&Cs$tC%l_$##L-X$mzOc38{7}T)S1Q?u> Lqm*u#il6`4W_CC! literal 0 HcmV?d00001 diff --git a/images/gas_station_orig.jpg b/images/gas_station_orig.jpg new file mode 100644 index 0000000000000000000000000000000000000000..393e0045205a6d57f4eb43dd5c2a2643b5417320 GIT binary patch literal 219768 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 z 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 z zv6Z&ApDX)UhLOpW8bYLx>`2OQSyYr3%7=eW7b*_f;ca+_F6Rqr(CE6IY16FRQcPu-~sB z<*-d+rMN@btG1=@JFJFI{<9+L4#K^DFzgxmkIG?-hTzE{(!?5LdwRSX5PSDqu zM2!$1`I+>mK=cRPW9BwQd-|fqPNX1cBdJ!q2KpcH*m8}_#nDWtQ!5tN50~z8b?cs5 zxlrfy>UZ|11(sG_Q0$8N)LuD>)Y~-fvFl_ZCwz-knPb(fvw6ZtkSC-!Rq~&lKe7>o zk5b^rm-s}qhZeEI5)-$nL|>vhUz@ji9N(u)4s*IK{<$wT@yK0cedOYmt=YkThG(*_ zJKnr){=_iA5P|(;iF&?9m1`)Va&bf{1BwIzGQKH0al{2JF&1KVSBE3jHJyh zRh+&1rSknR1uwsrZ_X5}*IRx1sW0m$D&A2gFS0BVc3D=6WZfyeL9`y@poLX?z}5aS zJ|(=$dmUULu0I%dGJcU1i4X`jUt8|#0$ZF378B{0NHB4} z;w*v3)v?K?Mti?f)Qs>YTtcBHxPZ(Pw8J3Ry?>`P5lq`{B3Y(FDZC`~W8QgH?XsGj z>W5Y->9(ooZ(^RgDCu81JkCw7Sn}7m)-_;N@0YLMS=YGm?#4^eaP>!F`|@Y^57!$@ zT=={G_s-P=H@@I^)E6TT?{PW>*6G`{}sXSa7lh*U+L5$^Q$K>Zr$~aXJ+__u-hd9zF0+qwl_^X2c?qMH6{IN zO{wF?jgPy2PTh}l^=q3rI7(}tzuCS3t!@0-?b%XU#Pm`lZH^s&;VB|A`gGJC@!wl+ z(#BE#m2)N*i~_hMJGFo$;kIQ=X?Lma&RgTH554Xz*W~B;d2UTJ-7_rmR|gnQJ!0Uw zlYm~Em})V+9Xe9%BJ{4!^BH)!PuzD>HT2rF32jxuul}SwV$NC5NECFOZ(db-GUC%^ z;^ItBzqLYiixOGGQ@3c#R8=)R+vQ=p2)Cu+;bIaQor z8~+34h907F=f>?It3=kbbG(kU7uzA*!N{gDXzNA+4B6743{Z* zIQnSPNOTwmxE}&4W2*mR9qX5waP4)gu(j8af6vHw_QR=jSkq{BNtH69|6b-Y>8Aob@7_ znv>foy<>7TN;WyY=^dZNEuD9(P` at#c{PG?l84dA?a5vtKDnZ58*w@&5yV_Fd}$ literal 0 HcmV?d00001 diff --git a/inputs/measurements.csv b/inputs/measurements.csv new file mode 100644 index 0000000..f9a71ce --- /dev/null +++ b/inputs/measurements.csv @@ -0,0 +1,389 @@ +distance,consume,speed,temp_inside,temp_outside,specials,gas_type,AC,rain,sun,refill liters,refill gas +28,5,26,"21,5",12,,E10,0,0,0,45,E10 +12,"4,2",30,"21,5",13,,E10,0,0,0,, +"11,2","5,5",38,"21,5",15,,E10,0,0,0,, +"12,9","3,9",36,"21,5",14,,E10,0,0,0,, +"18,5","4,5",46,"21,5",15,,E10,0,0,0,, +"8,3","6,4",50,"21,5",10,,E10,0,0,0,, +"7,8","4,4",43,"21,5",11,,E10,0,0,0,, +"12,3",5,40,"21,5",6,,E10,0,0,0,, +"4,9","6,4",26,"21,5",4,,E10,0,0,0,, +"11,9","5,3",30,"21,5",9,,E10,0,0,0,, +"12,4","5,6",42,"21,5",4,,E10,0,0,0,, +"11,8","4,6",38,"21,5",0,,E10,0,0,0,, +"12,3","5,9",59,"21,5",10,,E10,0,0,0,, +"24,7","5,1",58,"21,5",12,,E10,0,0,0,, +"12,4","4,7",46,"21,5",11,,E10,0,0,0,, +"17,3","5,1",24,"21,5",5,,E10,0,0,0,, +"33,4","5,6",36,"21,5",3,,E10,0,0,0,, +"11,8","5,1",32,"21,5",3,,E10,0,0,0,, +"25,9","4,9",39,"21,5",8,,E10,0,0,0,, +"11,8","4,7",40,"21,5",4,,E10,0,0,0,, +"25,3","5,5",32,"21,5",3,,E10,0,0,0,, +"14,2","5,9",38,"21,5",1,,E10,0,0,0,, +"17,9","5,7",37,"21,5",1,,E10,0,0,0,, +"11,8","4,7",36,"21,5",1,,E10,0,0,0,, +"12,3","5,9",62,"21,5",6,,E10,0,0,0,, +"12,4","4,1",57,"21,5",9,,E10,0,0,0,, +"18,4","5,7",21,"22,5",2,,E10,0,0,0,, +"18,4","5,8",28,"21,5",3,,E10,0,0,0,, +"18,3","5,5",29,"21,5",1,,E10,0,0,0,, +"18,4","5,7",35,"21,5",4,,E10,0,0,0,, +"12,3","5,3",51,"21,5",11,,E10,0,0,0,, +"11,8",5,29,"21,5",10,,E10,0,0,0,, +"12,3","5,6",58,"21,5",8,,E10,0,0,0,, +"32,6","4,8",40,"21,5",7,,E10,0,0,0,, +19,"4,3",36,"21,5",7,,E10,0,0,0,, +"12,1","5,7",36,"21,5",8,,E10,0,0,0,, +20,"5,2",37,"21,5",4,,E10,0,0,0,, +"4,9","7,4",26,"21,5",6,,E10,0,0,0,, +"11,8","4,8",23,"21,5",9,,E10,0,0,0,, +"12,3","6,5",58,"21,5",7,,E10,0,0,0,, +"12,4",4,55,"21,5",7,AC rain,E10,1,1,0,, +"4,5",5,29,"21,5",7,AC,E10,1,0,0,, +"11,7","4,6",37,"21,5",6,,E10,0,0,0,, +"10,2","4,3",44,"21,5",7,,E10,0,0,0,, +"5,4","3,3",32,"21,5",7,,SP98,0,0,0,"37,6",SP98 +2,"9,9",21,"21,5",4,,SP98,0,0,0,, +"14,2","5,1",32,"21,5",7,,SP98,0,0,0,, +16,"4,9",25,"21,5",8,,SP98,0,0,0,, +"11,8","4,9",25,"21,5",11,,SP98,0,0,0,, +"27,3","4,7",36,"21,5",10,,SP98,0,0,0,, +"11,8","5,1",29,"21,5",5,rain,SP98,0,1,0,, +"10,6","4,9",63,"21,5",6,,SP98,0,0,0,, +"11,6","4,2",61,"21,5",7,,SP98,0,0,0,, +"13,1","6,1",46,"21,5",6,rain,SP98,0,1,0,, +"6,1","6,4",28,"21,5",8,,SP98,0,0,0,, +"153,5","4,9",82,"21,5",3,rain,SP98,0,1,0,, +"11,8","4,9",24,"21,5",7,,SP98,0,0,0,, +"12,3","6,2",61,"21,5",8,,SP98,0,0,0,, +"12,4","4,2",57,"21,5",8,,SP98,0,0,0,, +"12,3","5,7",52,"21,5",8,rain,SP98,0,1,0,, +"2,9","7,9",18,"21,5",9,AC rain,SP98,1,1,0,, +"2,1","12,2",23,"21,5",9,,SP98,1,1,0,, +"9,8","5,8",24,"21,5",6,,SP98,0,0,0,, +"6,8","5,3",26,"21,5",6,,SP98,0,0,0,, +"12,4","5,4",24,"21,5",7,,SP98,0,0,0,, +"12,4","4,7",57,"21,5",8,,SP98,0,0,0,, +"11,8","4,6",41,"21,5",6,,SP98,0,0,0,, +"12,3","5,4",55,"21,5",8,,SP98,0,0,0,, +14,"4,3",40,"21,5",8,,SP98,0,0,0,, +"11,8","4,5",37,"21,5",4,AC,SP98,1,0,0,, +"12,3","5,2",55,"21,5",12,,SP98,0,0,0,, +2,"6,2",20,"21,5",10,,SP98,0,0,0,, +"13,9","5,1",29,"21,5",6,,SP98,0,0,0,, +"9,7","3,9",42,"21,5",8,,SP98,0,0,0,, +"11,6",5,25,"21,5",6,,SP98,0,0,0,, +"14,2","5,4",38,"21,5",7,,SP98,0,0,0,, +"11,8","4,5",39,"21,5",6,,SP98,0,0,0,, +"24,8","5,1",50,"21,5",9,,SP98,0,0,0,, +"12,4","4,7",56,"21,5",7,,SP98,0,0,0,, +"34,8",4,28,20,4,,SP98,0,0,0,, +"14,2","5,4",36,20,6,,SP98,0,0,0,, +"5,2","4,5",39,20,10,,SP98,0,0,0,, +"10,5","3,6",42,20,10,,SP98,0,0,0,"37,7",SP98 +"12,3","5,2",57,20,10,,SP98,0,0,0,, +"11,8","4,9",25,20,11,,SP98,0,0,0,, +"12,3","6,2",58,20,11,rain,SP98,0,1,0,, +"13,2","4,3",51,20,11,rain,SP98,0,1,0,, +13,5,45,20,11,rain,SP98,0,1,0,, +"12,9","5,1",32,20,11,,SP98,0,0,0,, +"13,9","5,6",22,20,8,,SP98,0,0,0,, +"11,8","4,3",37,20,6,,SP98,0,0,0,, +"12,2","5,8",60,20,11,,SP98,0,0,0,, +"12,5",4,51,20,13,,SP98,0,0,0,, +"12,4","4,7",43,,10,,SP98,0,0,0,, +"11,8","5,9",21,20,9,AC rain,SP98,1,1,0,, +"11,8","5,3",52,,11,,SP98,0,0,0,, +"12,5","4,2",57,20,11,,SP98,0,0,0,, +"15,7","5,3",33,,9,,SP98,0,0,0,, +"12,9","5,7",35,,9,,SP98,0,0,0,, +"6,4","4,4",37,,10,,SP98,0,0,0,, +"5,3","4,1",34,,9,,SP98,0,0,0,, +"26,2","5,8",71,21,8,AC rain,SP98,1,1,0,, +"18,8",5,62,,9,rain,SP98,0,1,0,, +"4,9","6,9",25,21,12,rain,SP98,0,1,0,, +"12,4","5,4",18,21,11,AC rain,SP98,1,1,0,, +"22,9","5,3",45,"20,5",7,,SP98,0,0,0,, +"162,7","5,5",75,23,1,,SP98,0,0,0,45,SP98 +"4,9","6,5",26,21,1,,SP98,0,0,0,, +"11,8","4,7",36,21,4,,SP98,0,0,0,, +"16,6","5,1",56,21,7,,SP98,0,0,0,, +"12,4","5,7",37,21,7,,SP98,0,0,0,, +"15,9","5,4",25,21,7,,SP98,0,0,0,, +"5,1","8,7",21,"23,5",5,,SP98,0,0,0,, +"22,4","4,9",66,"20,5",7,,SP98,0,0,0,, +"31,1","4,7",42,"20,5",7,,SP98,0,0,0,, +"4,9","6,3",27,"20,5",3,,SP98,0,0,0,, +"11,8","5,1",26,23,4,rain,SP98,0,1,0,, +"22,9",6,42,23,4,rain,SP98,0,1,0,, +"12,4","4,6",38,23,1,snow,SP98,0,1,0,, +"12,9","5,8",40,23,4,,SP98,0,0,0,, +"11,8","5,1",43,23,0,,SP98,0,0,0,, +"12,2","5,8",58,23,2,,SP98,0,0,0,, +"24,8","4,6",55,23,3,,SP98,0,0,0,, +"14,2","5,6",24,23,8,,SP98,0,0,0,, +"11,8","4,6",38,23,0,snow,SP98,0,1,0,, +"12,2","6,3",57,23,0,snow,SP98,0,1,0,, +"24,7","5,5",56,25,1,,SP98,0,0,0,, +"6,8","4,3",46,24,2,,SP98,0,0,0,, +"17,3","5,6",37,"21,5",1,,SP98,0,0,0,, +"11,8","4,3",44,"21,5",-3,,SP98,0,0,0,, +"15,9","5,7",46,"21,5",5,,SP98,0,0,0,, +"5,1","6,4",39,"21,5",4,,SP98,0,0,0,, +"16,1","4,5",33,"21,5",6,,SP98,0,0,0,, +"11,8","4,5",43,"21,5",3,,SP98,0,0,0,, +"4,2",6,26,"21,5",5,,SP98,0,0,0,, +"17,4","5,1",30,"21,5",5,,SP98,0,0,0,, +"23,5",6,25,"21,5",5,rain,SP98,0,1,0,, +"11,8","4,5",38,"21,5",5,rain,SP98,0,1,0,, +"12,3","6,1",61,"21,5",10,rain,SP98,0,1,0,, +"16,1","5,4",24,"21,5",7,rain,E10,0,1,0,38,E10 +"11,8","4,3",40,"21,5",10,rain,E10,0,1,0,, +"12,3","5,4",58,"21,5",13,,E10,0,0,0,, +"12,4","4,3",49,"21,5",17,,E10,0,0,0,, +7,"5,2",25,"21,5",17,,E10,0,0,0,, +"11,8","4,1",37,"21,5",10,,E10,0,0,0,, +"20,1","4,4",41,"21,5",18,,E10,0,0,0,, +"20,8","4,5",45,"21,5",10,,E10,0,0,0,, +"1,7","10,8",14,"21,5",10,rain,E10,0,1,0,, +"35,9","4,7",45,"21,5",12,,E10,0,0,0,, +"36,9","4,8",52,"21,5",5,,E10,0,0,0,, +"16,8",4,46,"21,5",8,,E10,0,0,0,, +"9,9",5,28,"21,5",9,,E10,0,0,0,, +"22,9","4,6",61,"21,5",7,rain,E10,0,1,0,, +"17,3",5,61,"21,5",6,AC rain,E10,1,1,0,, +"11,8","4,3",37,"21,5",7,,E10,0,0,0,, +"36,6","5,2",80,"21,5",7,rain,E10,0,1,0,, +"44,9","4,7",62,"21,5",8,,E10,0,0,0,, +"11,8","4,2",34,"21,5",9,rain,E10,0,1,0,, +"21,6","5,3",44,"21,5",9,rain,E10,0,1,0,, +"39,4","5,3",60,"21,5",9,rain,E10,0,1,0,, +"5,1","8,1",39,"21,5",4,,E10,0,0,0,, +"26,6","4,8",38,"21,5",7,,E10,0,0,0,, +"53,2","5,1",71,"21,5",2,,E10,0,0,0,, +"18,9","4,4",53,"21,5",2,,E10,0,0,0,, +"43,5",5,80,"21,5",3,,E10,0,0,0,, +"6,1","6,3",26,"21,5",5,,E10,0,0,0,, +"16,4","4,8",49,"21,5",5,,E10,0,0,0,, +"12,3","6,1",40,"21,5",6,,E10,0,0,0,, +"21,1","4,6",36,"21,5",8,,E10,0,0,0,, +"21,1","4,8",43,"21,5",7,,E10,0,0,0,, +"22,7","4,7",55,"21,5",6,,E10,0,0,0,, +"44,4","4,8",38,"21,5",8,,E10,0,0,0,"38,3",E10 +"35,8","4,4",51,"21,5",6,,E10,0,0,0,, +"11,8","4,9",44,"21,5",0,,E10,0,0,0,, +"26,2","4,9",42,"21,5",6,,E10,0,0,0,, +"40,6","4,4",44,21,3,,E10,0,0,0,, +"12,4","5,3",38,21,-5,,E10,0,0,0,, +"14,1","5,3",47,21,-3,,E10,0,0,0,, +"58,7","4,8",75,21,0,,E10,0,0,0,, +"16,2","5,2",29,21,0,,E10,0,0,0,, +"12,3","4,9",50,"22,5",0,,E10,0,0,0,, +"12,3","7,1",52,"22,5",0,AC snow,E10,1,1,0,, +"12,4","5,2",51,"22,5",1,,E10,0,0,0,, +"31,8","4,7",59,"22,5",3,,E10,0,0,0,, +"12,3","5,1",55,"22,5",8,,E10,0,0,0,, +"51,6",5,73,"22,5",12,,E10,0,0,0,, +"38,6","4,6",44,"22,5",10,,E10,0,0,0,, +"12,3","4,8",41,"22,5",7,,E10,0,0,0,, +"81,2","4,4",69,22,13,,E10,0,0,0,, +"130,3","4,6",85,22,12,,E10,0,0,0,, +"67,2","4,3",67,22,18,,E10,0,0,0,, +"43,7","4,7",44,22,9,half rain half sun,SP98,0,1,0,10,SP98 +"12,1","4,2",43,22,4,,SP98,0,0,0,39,SP98 +"56,1","4,8",82,22,13,,SP98,0,0,0,, +39,"4,1",61,22,16,,SP98,0,0,0,, +"11,8","4,5",41,"21,5",13,,SP98,0,0,0,, +"38,5","4,8",63,"21,5",14,,SP98,0,0,0,, +"28,2","4,6",54,"21,5",14,,SP98,0,0,0,, +"2,9","7,4",24,"21,5",14,,SP98,0,0,0,, +"6,1","5,6",24,"21,5",13,,SP98,0,0,0,, +"19,6","4,9",43,"21,5",13,,SP98,0,0,0,, +"22,2","3,8",42,,15,,SP98,0,0,0,, +"13,6","4,5",44,19,18,,SP98,0,0,0,, +"12,6","4,1",33,,17,,SP98,0,0,0,, +"8,7","5,3",28,"22,5",12,AC rain,SP98,1,1,0,, +"7,9","4,7",31,"22,5",12,AC,SP98,1,0,0,, +"2,4",9,26,20,10,,SP98,0,0,0,, +"4,9","6,3",26,20,10,,SP98,0,0,0,, +"18,1","3,6",36,20,19,,SP98,0,0,0,, +"25,9","3,7",39,20,21,,SP98,0,0,0,, +"1,3","11,5",21,20,10,,SP98,0,0,0,, +"14,1",5,22,20,12,,SP98,0,0,0,, +"13,4","5,5",31,20,9,,SP98,0,0,0,, +"6,4","4,7",33,20,8,,SP98,0,0,0,, +"12,9","4,5",42,20,13,,SP98,0,0,0,, +"12,1","4,4",33,"22,5",5,,SP98,0,0,0,, +"15,7","4,1",32,"22,5",13,,SP98,0,0,0,, +"16,2","4,4",26,"22,5",11,,SP98,0,0,0,, +"12,8","4,6",22,"22,5",12,,SP98,0,0,0,, +19,"4,4",58,"22,5",17,sun,SP98,0,0,1,, +29,4,27,"22,5",12,,SP98,0,0,0,, +"12,1",5,32,"22,5",9,,SP98,0,0,0,, +"12,3","5,2",55,"22,5",10,,SP98,0,0,0,, +"24,8",4,56,"22,5",11,,SP98,0,0,0,, +"12,9","5,1",34,"22,5",8,rain,SP98,0,1,0,, +"11,8","4,5",39,"22,5",3,,SP98,0,0,0,, +"31,4","4,6",62,"22,5",11,,SP98,0,0,0,, +19,"5,1",53,"22,5",4,rain,SP98,0,1,0,, +13,"5,7",38,"22,5",3,AC rain,SP98,1,1,0,, +"11,8","4,8",42,"22,5",2,,SP98,0,0,0,, +13,"6,2",32,"22,5",4,,SP98,0,0,0,, +"11,8",5,43,"22,5",1,,SP98,0,0,0,, +"27,1",5,69,"22,5",8,,SP98,0,0,0,, +"5,2","4,6",38,"22,5",8,,SP98,0,0,0,, +19,"4,5",29,"22,5",10,,E10,0,0,0,39,E10 +"12,4","4,8",38,"22,5",1,,E10,0,0,0,, +"25,2",5,55,"22,5",9,,E10,0,0,0,, +"14,3","4,8",36,"22,5",10,,E10,0,0,0,, +"11,8","4,6",40,"22,5",2,,E10,0,0,0,, +"16,9","4,5",48,"22,5",9,sun,E10,0,0,1,, +"12,4","4,6",55,"22,5",11,sun,E10,0,0,1,, +"17,4","4,4",36,"22,5",12,sun,E10,0,0,1,, +"9,2","5,7",33,"22,5",8,rain,E10,0,1,0,, +"12,3","5,8",54,"22,5",10,rain,E10,0,1,0,, +13,"5,9",32,"22,5",10,,E10,0,0,0,, +"11,8","6,1",16,"22,5",6,rain,E10,0,1,0,, +13,"5,7",37,"22,5",11,rain,E10,0,1,0,, +"12,3",5,42,"22,5",10,,E10,0,0,0,, +"12,3","5,2",57,"22,5",15,sun,E10,0,0,1,, +"12,5","4,3",57,"22,5",16,sun,E10,0,0,1,, +"31,5","4,1",30,"22,5",16,sun,E10,0,0,1,, +"11,8","4,4",42,"22,5",8,,E10,0,0,0,, +"24,9","4,5",53,"22,5",14,,E10,0,0,0,, +17,"3,9",46,"22,5",14,sun,E10,0,0,1,, +2,"8,1",20,"22,5",14,,E10,0,0,0,, +"11,8","4,4",33,"22,5",8,,E10,0,0,0,, +"7,4",5,31,"22,5",12,,E10,0,0,0,, +"12,4","4,7",55,"22,5",14,sun,E10,0,0,1,, +2,6,22,"22,5",14,,E10,0,0,0,, +14,5,41,"22,5",8,,E10,0,0,0,, +"25,7",5,45,"22,5",7,,E10,0,0,0,, +"24,5","3,9",50,,15,sun,E10,0,0,1,, +"11,8","4,5",28,"22,5",12,,E10,0,0,0,, +"4,1","5,4",24,"22,5",13,,E10,0,0,0,, +"4,2","5,6",29,22,17,,E10,0,0,0,, +"4,2","3,9",29,22,18,sun,E10,0,0,1,, +16,4,40,22,10,,E10,0,0,0,, +"22,9",4,29,,21,,E10,0,0,0,, +16,"3,8",42,,8,,E10,0,0,0,, +"15,4","4,5",50,22,14,,E10,0,0,0,, +16,"3,8",41,22,12,,E10,0,0,0,, +"4,2","5,6",32,22,18,,E10,0,0,0,, +"101,9","5,2",75,22,18,,E10,0,0,0,, +"93,9","4,8",88,23,18,AC sun,E10,1,0,1,, +"25,7","4,9",50,22,10,rain,SP98,0,1,0,41,SP98 +16,"4,1",40,22,10,,SP98,0,0,0,, +"16,1","4,5",32,22,19,,SP98,0,0,0,, +16,"4,4",40,22,7,AC rain,SP98,1,1,0,, +16,"4,5",41,22,11,,SP98,0,0,0,, +"24,7","4,5",26,22,10,,SP98,0,0,0,, +16,"3,9",42,22,8,,SP98,0,0,0,, +"15,4","4,6",43,22,16,,SP98,0,0,0,, +16,"3,8",40,22,8,,SP98,0,0,0,, +"32,1","4,5",50,22,16,,SP98,0,0,0,, +"25,9","4,4",40,22,14,,SP98,0,0,0,, +"48,6","4,3",44,22,12,,SP98,0,0,0,, +"37,2",4,45,22,20,sun,SP98,0,0,1,, +"28,8","3,9",35,22,15,sun,SP98,0,0,1,, +"6,7",5,30,22,17,,SP98,0,0,0,, +"7,4","4,1",25,22,18,sun,SP98,0,0,1,, +"17,3","4,1",22,22,25,sun,SP98,0,0,1,, +"6,6","5,6",43,22,16,,SP98,0,0,0,, +"14,3","4,1",26,22,20,,SP98,0,0,0,, +"13,3","4,6",33,22,18,,SP98,0,0,0,, +"8,3","4,9",26,22,23,,SP98,0,0,0,, +"12,7","4,5",39,22,27,sun,SP98,0,0,1,, +"16,5","4,1",47,22,14,,SP98,0,0,0,, +"20,6","4,1",38,22,21,,SP98,0,0,0,, +"16,3","4,5",58,22,16,,SP98,0,0,0,, +"18,7","4,2",65,25,18,sun ac,SP98,1,0,1,, +"36,5","3,9",54,23,18,sun,SP98,0,0,1,, +19,5,35,22,15,sun ac,SP98,1,0,1,, +"16,6","4,4",46,22,5,ac,SP98,1,0,0,, +"29,9","4,5",32,22,18,ac,SP98,1,0,0,, +16,"3,8",42,22,11,,SP98,0,0,0,, +"21,1","5,1",33,22,10,rain,SP98,0,1,0,, +16,"3,9",40,22,10,,SP98,0,0,0,, +"11,9","5,3",34,22,13,,SP98,0,0,0,, +"10,1","4,2",35,22,16,,SP98,0,0,0,, +"31,9","4,3",33,22,16,,SP98,0,0,0,, +"18,7",4,60,22,13,,SP98,0,0,0,, +"10,8","4,7",48,22,17,sun,SP98,0,0,1,, +"19,8",4,56,22,17,sun,SP98,0,0,1,, +"11,3","4,3",38,22,17,,SP98,0,0,0,37,SP98 +"11,5","5,3",53,22,15,,SP98,0,0,0,, +"21,4","5,2",51,22,13,,SP98,0,0,0,, +32,"4,9",53,22,15,,SP98,0,0,0,, +"41,9","4,7",53,22,14,,SP98,0,0,0,, +211,"4,6",80,22,20,,SP98,0,0,0,, +"216,1","5,3",90,22,21,sun,SP98,0,0,1,, +"25,5","3,6",27,22,27,sun,SP98,0,0,1,, +"16,6","4,2",52,22,15,rain,SP98,0,1,0,, +"25,9","4,1",43,22,24,,SP98,0,0,0,, +"16,5",4,48,22,15,,SP98,0,0,0,, +"22,1","3,9",29,22,26,,SP98,0,0,0,, +"16,6","3,7",49,22,17,,E10,0,0,0,"37,7",E10 +"15,4","4,5",43,22,24,,E10,0,0,0,, +"16,5","3,9",43,22,17,,E10,0,0,0,, +"15,4","5,1",21,22,24,,E10,0,0,0,, +"18,4","4,2",59,22,24,,E10,0,0,0,, +"39,5","4,2",58,22,25,,E10,0,0,0,, +"21,5","4,8",47,25,27,AC Sun,E10,1,0,1,, +"4,8","4,7",26,25,18,,E10,0,0,0,, +"100,9","4,7",87,"23,5",22,,E10,0,0,0,, +"129,7","4,6",58,24,21,ac,E10,0,0,0,, +"16,6","3,8",43,"21,5",16,,E10,0,0,0,, +"15,4","4,2",50,"21,5",21,,E10,0,0,0,, +16,"3,7",45,22,17,,E10,0,0,0,, +16,"4,2",41,22,15,,E10,0,0,0,, +"15,4","4,1",45,22,24,,E10,0,0,0,, +16,4,43,22,16,,E10,0,0,0,, +21,"3,8",37,22,21,,E10,0,0,0,, +"15,4","3,8",47,22,24,,E10,0,0,0,, +16,"3,8",42,22,17,,E10,0,0,0,, +"16,1","5,1",30,25,16,ac rain,E10,1,1,0,, +16,4,42,22,15,,E10,0,0,0,, +"15,4","4,8",40,22,18,,E10,0,0,0,, +"17,2","3,9",35,22,16,,E10,0,0,0,, +"16,6","4,6",50,22,25,,E10,0,0,0,, +"18,3","4,3",46,22,16,,SP98,0,0,0,"37,2",SP98 +"16,1","4,8",36,22,18,rain,SP98,0,1,0,, +16,"4,1",46,22,17,,SP98,0,0,0,, +"16,3",4,35,22,23,,SP98,0,0,0,, +16,"3,7",44,22,16,,SP98,0,0,0,, +"18,3","4,3",46,22,23,,SP98,0,0,0,, +"4,5","5,2",23,22,23,sun,SP98,0,0,1,, +17,"4,2",48,22,16,,SP98,0,0,0,, +"6,1",5,35,"24,5",18,,SP98,0,0,0,, +"6,1",5,33,22,24,sun,SP98,0,0,1,, +"17,3","4,2",36,22,22,,SP98,0,0,0,, +6,"4,8",27,22,17,,SP98,0,0,0,, +16,"4,1",45,22,15,,SP98,0,0,0,, +"15,4","4,9",55,22,18,,SP98,0,0,0,, +"15,4","4,3",39,22,23,,SP98,0,0,0,, +16,"3,9",35,22,18,,SP98,0,0,0,, +"15,4","4,5",52,22,26,,SP98,0,0,0,, +"16,6","4,1",48,"25,5",30,sun ac,SP98,1,0,1,, +"15,4",5,48,"25,5",31,ac,SP98,1,0,0,, +16,4,43,22,21,ac,SP98,1,0,0,, +"15,4","4,5",42,22,30,,SP98,0,0,0,, +16,"3,6",43,22,19,,SP98,0,0,0,, +"20,9","4,1",33,22,21,,SP98,0,0,0,, +"32,1","3,9",47,22,26,,SP98,0,0,0,, +"15,3","6,6",16,24,27,ac,SP98,1,0,0,, +"28,5",4,44,25,23,ac,SP98,1,0,0,, +"11,9","3,7",33,25,19,,SP98,0,0,0,, +"14,5","4,3",36,25,22,,SP98,0,0,0,, +"16,6","4,1",49,22,26,sun,SP98,0,0,1,, +"16,2","4,4",39,"24,5",17,ac,SP98,1,0,0,, +"16,7","3,8",44,"24,5",23,sun,SP98,0,0,1,, +"8,3",5,52,"24,5",27,,SP98,0,0,0,, +"5,5","3,7",33,"24,5",28,sun,SP98,0,0,1,, +"13,6","3,7",33,"24,5",28,sun,SP98,0,0,1,, +16,"3,7",39,"24,5",18,,SP98,0,0,0,, +"16,1","4,3",38,25,31,AC,SP98,1,0,0,, +16,"3,8",45,25,19,,SP98,0,0,0,, +"15,4","4,6",42,25,31,AC,SP98,1,0,0,, +"14,7",5,25,25,30,AC,SP98,1,0,0,, diff --git a/inputs/measurements2.xlsx b/inputs/measurements2.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8688d01d3e29da4c912433ec481f4742c4995db9 GIT binary patch literal 27500 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 literal 0 HcmV?d00001 diff --git a/limpieza_modelos.ipynb b/limpieza_modelos.ipynb new file mode 100644 index 0000000..376a952 --- /dev/null +++ b/limpieza_modelos.ipynb @@ -0,0 +1,5687 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 618, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "import matplotlib.pylab as pylab\n", + "from sklearn import metrics\n", + "import numpy as np # linear algebra\n", + "import pandas as pd # data processing\n", + "#from sklearn.preprocessing import OneHotEncoder, LabelEncoder\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.decomposition import PCA\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.tree import DecisionTreeRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "from xgboost import XGBRegressor\n", + "from sklearn.neighbors import KNeighborsRegressor\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.metrics import mean_squared_error\n", + "from sklearn import metrics\n", + "from sklearn.linear_model import Ridge, Lasso\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import SGDRegressor\n", + "from sklearn import linear_model\n", + "from scipy import stats" + ] + }, + { + "cell_type": "code", + "execution_count": 619, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsunrefill litersrefill gas
02852621,512NaNE1000045E10
1124,23021,513NaNE10000NaNNaN
211,25,53821,515NaNE10000NaNNaN
312,93,93621,514NaNE10000NaNNaN
418,54,54621,515NaNE10000NaNNaN
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28 5 26 21,5 12 NaN E10 0 \n", + "1 12 4,2 30 21,5 13 NaN E10 0 \n", + "2 11,2 5,5 38 21,5 15 NaN E10 0 \n", + "3 12,9 3,9 36 21,5 14 NaN E10 0 \n", + "4 18,5 4,5 46 21,5 15 NaN E10 0 \n", + "\n", + " rain sun refill liters refill gas \n", + "0 0 0 45 E10 \n", + "1 0 0 NaN NaN \n", + "2 0 0 NaN NaN \n", + "3 0 0 NaN NaN \n", + "4 0 0 NaN NaN " + ] + }, + "execution_count": 619, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train=pd.read_csv('../reto_data/inputs/measurements.csv')\n", + "df_train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### drop nan" + ] + }, + { + "cell_type": "code", + "execution_count": 620, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 0\n", + "consume 0\n", + "speed 0\n", + "temp_inside 12\n", + "temp_outside 0\n", + "specials 295\n", + "gas_type 0\n", + "AC 0\n", + "rain 0\n", + "sun 0\n", + "refill liters 375\n", + "refill gas 375\n", + "dtype: int64" + ] + }, + "execution_count": 620, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_train.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 621, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{' ', '_', 'd', 'e', 'f', 'i', 'l', 'r', 's', 't'}" + ] + }, + "execution_count": 621, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set('df_refill liters')" + ] + }, + { + "cell_type": "code", + "execution_count": 622, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{' ', '_', 'a', 'd', 'e', 'f', 'g', 'i', 'l', 'r', 's'}" + ] + }, + "execution_count": 622, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "set('df_refill gas')" + ] + }, + { + "cell_type": "code", + "execution_count": 623, + "metadata": {}, + "outputs": [], + "source": [ + "#eliminamos columnas con demasiados elementos vacios\n", + "df_train=df_train.drop(['specials', 'refill liters', 'refill gas'], axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 624, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null object\n", + " 1 consume 388 non-null object\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 376 non-null object\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null object\n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: int64(5), object(4)\n", + "memory usage: 27.4+ KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Categorical and numerical columns" + ] + }, + { + "cell_type": "code", + "execution_count": 625, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['speed', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['temp_inside', 'gas_type', 'distance', 'consume']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 626, + "metadata": {}, + "outputs": [], + "source": [ + "#Creating a function to convert the values\n", + "def comma_converter(x):\n", + " if type(x) == str and ',' in x:\n", + " a = x.split(',')\n", + " return float(a[0] + '.' + a[1])\n", + " else:\n", + " return float(x)\n", + " \n", + "#Converting the data\n", + "df_train['distance'] = df_train['distance'].apply(comma_converter)\n", + "df_train['consume'] = df_train['consume'].apply(comma_converter)\n", + "df_train['temp_inside'] = df_train['temp_inside'].apply(comma_converter)" + ] + }, + { + "cell_type": "code", + "execution_count": 627, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "temp_inside > {nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 19.0, 20.0, 21.5, 22.5, 21.0, 20.5, 23.0, 23.5, 24.0, 22.0, 25.0, 24.5, 25.5}\n", + "\n", + "gas_type > {'SP98', 'E10'}\n", + "\n", + "distance > {1.7, 2.0, 2.9, 4.9, 4.5, 5.4, 7.8, 8.3, 6.1, 10.2, 11.2, 12.0, 12.9, 12.3, 11.9, 12.4, 11.8, 18.5, 17.3, 14.2, 17.9, 18.4, 18.3, 24.7, 25.9, 25.3, 19.0, 28.0, 20.0, 27.3, 31.1, 32.6, 33.4, 34.8, 35.9, 7.0, 36.9, 36.6, 39.4, 35.8, 40.6, 38.6, 43.5, 44.9, 44.4, 43.7, 39.0, 48.6, 41.9, 10.5, 51.6, 53.2, 56.1, 11.5, 58.7, 12.5, 13.0, 67.2, 14.0, 14.5, 16.0, 16.6, 16.1, 16.4, 81.2, 17.4, 16.9, 17.0, 16.5, 18.9, 18.1, 93.9, 19.6, 100.9, 20.1, 101.9, 20.6, 20.9, 21.6, 21.1, 2.4, 21.4, 21.5, 22.9, 22.4, 22.1, 21.0, 23.5, 24.9, 24.5, 25.5, 129.7, 130.3, 26.6, 5.5, 27.1, 28.5, 29.0, 29.9, 153.5, 31.4, 31.5, 31.9, 6.4, 6.0, 162.7, 32.1, 7.9, 7.4, 32.0, 9.9, 36.5, 37.2, 38.5, 13.9, 13.4, 39.5, 15.9, 15.4, 211.0, 4.8, 1.3, 216.1, 5.3, 6.8, 8.7, 9.8, 9.7, 9.2, 10.8, 11.7, 11.3, 12.2, 12.8, 12.7, 13.2, 13.3, 14.3, 14.7, 15.7, 15.3, 16.8, 16.2, 16.3, 16.7, 4.2, 17.2, 5.2, 18.8, 18.7, 6.7, 19.8, 20.8, 22.7, 22.2, 24.8, 25.2, 25.7, 26.2, 28.2, 28.8, 4.1, 5.1, 31.8, 6.6, 2.1, 10.6, 10.1, 11.6, 12.1, 12.6, 13.1, 13.6, 14.1}\n", + "\n", + "consume > {3.9, 4.5, 5.5, 4.2, 5.0, 6.4, 4.4, 5.3, 5.6, 4.6, 5.9, 5.1, 7.4, 9.9, 12.2, 10.8, 11.5, 4.9, 4.1, 4.0, 5.4, 6.5, 6.1, 6.9, 6.0, 6.6, 7.9, 7.1, 8.7, 8.1, 9.0, 3.6, 3.3, 3.8, 3.7, 4.7, 4.8, 4.3, 5.8, 5.7, 5.2, 6.2, 6.3}\n", + "\n" + ] + } + ], + "source": [ + "#visualizar contenido de las columnas categoricas\n", + "for c in cat_cols:\n", + " print(c, \">\", set(df_train[c]))\n", + " print(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 628, + "metadata": {}, + "outputs": [], + "source": [ + "#convertimos en numéricas las que no son strings\n", + "df_train['temp_inside'] = pd.to_numeric(df_train['temp_inside'], errors='coerce')\n", + "df_train['consume'] = pd.to_numeric(df_train['consume'], errors='coerce')\n", + "df_train['distance'] = pd.to_numeric(df_train['distance'], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 629, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Numerical columns: ['distance', 'consume', 'speed', 'temp_inside', 'temp_outside', 'AC', 'rain', 'sun']\n", + "Categorical columns: ['gas_type']\n" + ] + } + ], + "source": [ + "num_cols = list(df_train._get_numeric_data().columns)\n", + "print(\"Numerical columns: \", num_cols)\n", + "\n", + "cat_cols=list(set(df_train.columns) - set(num_cols))\n", + "print(\"Categorical columns: \", cat_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 630, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{0, 1}" + ] + }, + "execution_count": 630, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#con un diccionario mapeamos y convertimos en numéricos los dos tipos de combustibles\n", + "df_train['gas_type'] = df_train['gas_type'].map({'SP98': 1, 'E10': 0})\n", + "set(df_train['gas_type'])" + ] + }, + { + "cell_type": "code", + "execution_count": 631, + "metadata": {}, + "outputs": [], + "source": [ + "#solo una pequeá cantidad de rows en temp_inside están vacías, las rellenamos con la media de la columna\n", + "temp_inside = df_train['temp_inside'].dropna()\n", + "temp_inside_avg = temp_inside.mean()\n", + "df_train['temp_inside'] = df_train['temp_inside'].fillna(temp_inside_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 632, + "metadata": {}, + "outputs": [], + "source": [ + "distance = df_train['distance'].dropna()\n", + "distance_avg = distance.mean()\n", + "df_train['distance'] = df_train['distance'].fillna(distance_avg)" + ] + }, + { + "cell_type": "code", + "execution_count": 633, + "metadata": {}, + "outputs": [], + "source": [ + "#df_train.drop(['distance'], inplace=True, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 634, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 9 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 388 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + "dtypes: float64(3), int64(6)\n", + "memory usage: 27.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Añadimos una nueva columna con el consumo / 100 Km" + ] + }, + { + "cell_type": "code", + "execution_count": 635, + "metadata": {}, + "outputs": [], + "source": [ + "df_train['consume_100Km'] = (df_train['consume']/100)*df_train['distance']" + ] + }, + { + "cell_type": "code", + "execution_count": 636, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 388 entries, 0 to 387\n", + "Data columns (total 10 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 distance 388 non-null float64\n", + " 1 consume 388 non-null float64\n", + " 2 speed 388 non-null int64 \n", + " 3 temp_inside 388 non-null float64\n", + " 4 temp_outside 388 non-null int64 \n", + " 5 gas_type 388 non-null int64 \n", + " 6 AC 388 non-null int64 \n", + " 7 rain 388 non-null int64 \n", + " 8 sun 388 non-null int64 \n", + " 9 consume_100Km 388 non-null float64\n", + "dtypes: float64(4), int64(6)\n", + "memory usage: 30.4 KB\n" + ] + } + ], + "source": [ + "df_train.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### correlations" + ] + }, + { + "cell_type": "code", + "execution_count": 637, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10.5, -0.5)" + ] + }, + "execution_count": 637, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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bQwArF23DkIIBC9apNzm/3XuDH8/PywNCUHo0qWI+vprSCQS+Hh7o1NHzT2S19TEBHOm+SFgwXzIpDJYW72OoOn+Zdfs8uXY9tVXamOACtfsR2UPMuj67rsYN9oNEokEC2bMxKIVyyGVyWBmaoqwefNeqEYXAGhiYoqp0+cgeN5MyGRSvP56M/gFlB3HX25cx8pli7BuQ7SGS0lE2kgiXsRn5L6g7t27B19fXxQWFkJXVxcff/wxGjZsiAULFqBx48bo1asXLl26hOjoaHh6esLb2xvdunVDWloaxo4di2PHjtV4Xw9eoEfb1oU/Sl+doQXWBsWaLkKdkd19tc5jRXaupotQZ+r1enEqRf80RcFDTRehzuToaE9l/3lo1cxE00UgAgAsiNLcsNdyc8Z20HQRaoWVmBcUKzEvL1ZiXl6sxLycWIl5ebESQy+K+ZGar8QEjtOuSgznxBARERERkVbhnBgiIiIiIg3iuKjaY08MERERERFpFVZiiIiIiIhIq3A4GRERERGRBmnj77RoGntiiIiIiIhIq7AnhoiIiIhIg9gRU3vsiSEiIiIiIq3CSgwREREREWkVDicjIiIiItIgDierPfbEEBERERGRVmFPDBERERGRBvERy7XHnhgiIiIiItIqrMQQEREREZFW4XAyIiIiIiIN4miy2mNPDBERERERaRX2xBARERERaRB7YmqPPTFERERERKRVWIkhIiIiIiKtwuFkREREREQapOBwslpjTwwREREREWkVVmKIiIiIiEircDgZEREREZEGCT6erNbYE0NERERERFqFPTEvqEz3TzRdhDplFveNpotQZwojd2u6CHXG6MORmi5CnZK0b6vpItSZQtmr0wZmaNxE00WoM2aQa7oIdSr/z3uaLkKdMbZ6XdNFoGqwI6b2Xp1PISIiIiIieimwEkNERERERFqFw8mIiIiIiDSIvxNTe6zEEBERERHR3/Lnn3/Cz88P2dnZaNWqFZYuXYqGDRuqxHz66ae4d69sLppCocAvv/yCnTt34s0330S3bt3QvHlzZWxsbCx0dXXV7o+VGCIiIiIiDRLQ/q6YefPmYcyYMRg8eDDWrl2LdevWwc/PTyXmyy+/VP5/1apVeOedd/D2228jOTkZ7777LjZt2lTj/XFODBERERER/WVSqRQXLlzAwIEDAQDDhw/HoUOH1MbfunUL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ZJHRmi5CnTH6cKSmi1CnJC9Ao0VdKRQvztyEf5qh/qvzDBw9yJ8d9BIRRcXPDnpJGFu9rukiUDUmhNXNEwWrs8mvs6aLUCvP/MQdMGAAkpOTMXz4cCgUCowdOxbdunVDUFAQwsPDoa+vj/DwcJWek6dNnToVAQEB0NPTg6GhIebNm4dGjRphwoQJGDlyJJo2baoyL6UmwsLCEBQUhIiICOjr62PFihV/qYWmc+fOcHFxwciRIyGTyfD5558rn6LyxRdfYOzYsZBKpRg5ciQ6d+5caU5Ns2bNMGPGDPj5+WHv3hfvByCJiIiIiF42z+yJIc1gT8zLiz0xLy/2xLyc2BPz8mJPDL0o2BNTey/VJ+7WrVsRFxdXabmFhQU2btyogRIREREREVWPfQq191JVYry8vODl5aXpYhARERER0T/oparEEBERERFpGzW/i0rVeHUG+hIRERER0UuBlRgiIiIiItIqHE5GRERERKRBnNdfe+yJISIiIiIircKeGCIiIiIiDWJPTO2xJ4aIiIiIiLQKKzFERERERKRVOJyMiIiIiEiDFBxPVmvsiSEiIiIiIq3CnhgiIiIiIg1iR0ztsSeGiIiIiIi0CisxRERERESkVTicjIiIiIhIgzicrPbYE0NERERERFqFlRgiIiIiItIqHE5GRERERKRB/J2Y2mNPDBERERERaRX2xBARERERaRA7YmqPPTFERERERKRVWIkhIiIiIiKtwuFkREREREQaxOFktcdKzAuq3emDmi4C/VN8vTVdAqK/rZGmC0D0PDRpoukSENFfxEoMEREREZEG8RHLtcc5MUREREREpFVYiSEiIiIiIq3C4WRERERERBrE0WS1x54YIiIiIiLSKuyJISIiIiLSIPbE1B57YoiIiIiISKuwEkNERERERFqFw8mIiIiIiDSIvxNTe+yJISIiIiIircKeGCIiIiIiDWJHTO2xJ4aIiIiIiLQKKzFERERERKRVOJyMiIiIiEiDOJys9tgTQ0REREREWoWVGCIiIiIi0iocTkZEREREpEH8nZjaY08MERERERFpFfbEEBERERFpEDtiao89MUREREREpFVYiSEiIiIiIq3C4WRERERERBrE4WS1x54YIiIiIiLSKuyJISIiIiLSID5iufbYE0NERERERFqFlRgiIiIiInouVq1ahfDw8CpfKy0thZ+fHxwd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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(16,12))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 638, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
consume_100Km99.210074-5.21878055.1846556.2373253.787710-5.534834-1.8700210.9124646.424729100.000000
distance100.000000-12.89667656.2298827.5178238.817534-5.341141-2.573817-1.9790658.11198199.210074
speed56.229882-22.786618100.0000005.9292961.541101-9.736041-3.5408000.9489468.16182855.184655
sun8.111981-17.0667388.16182824.22479434.6903412.2760968.859801-11.264999100.0000006.424729
temp_inside7.517823-16.0622885.929296100.00000035.9500421.01976729.737625-3.69372424.2247946.237325
temp_outside8.817534-32.0810591.54110135.950042100.00000014.87050116.756227-18.63148934.6903413.787710
rain-1.97906524.8117710.948946-3.693724-18.6314896.03281924.291471100.000000-11.2649990.912464
AC-2.5738179.659140-3.54080029.73762516.75622710.528540100.00000024.2914718.859801-1.870021
consume-12.896676100.000000-22.786618-16.062288-32.081059-1.5326979.65914024.811771-17.066738-5.218780
gas_type-5.341141-1.532697-9.7360411.01976714.870501100.00000010.5285406.0328192.276096-5.534834
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "consume_100Km 99.210074 -5.218780 55.184655 6.237325 3.787710 \n", + "distance 100.000000 -12.896676 56.229882 7.517823 8.817534 \n", + "speed 56.229882 -22.786618 100.000000 5.929296 1.541101 \n", + "sun 8.111981 -17.066738 8.161828 24.224794 34.690341 \n", + "temp_inside 7.517823 -16.062288 5.929296 100.000000 35.950042 \n", + "temp_outside 8.817534 -32.081059 1.541101 35.950042 100.000000 \n", + "rain -1.979065 24.811771 0.948946 -3.693724 -18.631489 \n", + "AC -2.573817 9.659140 -3.540800 29.737625 16.756227 \n", + "consume -12.896676 100.000000 -22.786618 -16.062288 -32.081059 \n", + "gas_type -5.341141 -1.532697 -9.736041 1.019767 14.870501 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "consume_100Km -5.534834 -1.870021 0.912464 6.424729 100.000000 \n", + "distance -5.341141 -2.573817 -1.979065 8.111981 99.210074 \n", + "speed -9.736041 -3.540800 0.948946 8.161828 55.184655 \n", + "sun 2.276096 8.859801 -11.264999 100.000000 6.424729 \n", + "temp_inside 1.019767 29.737625 -3.693724 24.224794 6.237325 \n", + "temp_outside 14.870501 16.756227 -18.631489 34.690341 3.787710 \n", + "rain 6.032819 24.291471 100.000000 -11.264999 0.912464 \n", + "AC 10.528540 100.000000 24.291471 8.859801 -1.870021 \n", + "consume -1.532697 9.659140 24.811771 -17.066738 -5.218780 \n", + "gas_type 100.000000 10.528540 6.032819 2.276096 -5.534834 " + ] + }, + "execution_count": 638, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume_100Km', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " *- El consumo no solo se relaciona con el tipo de combustible, sino con la lluvia y la velocidad, así como la temperatura en el exterior y en el interior*" + ] + }, + { + "cell_type": "code", + "execution_count": 639, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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4zan0+k0IM+/df36dR05ckQBAQHy8fExOg4AAAAAwIPsdruys7PVpEkTVahQoch5UxZVAAAAAEDpxc2UAAAAAACmQlEFAAAAAJgKRRUAAAAAYCoUVQAAAACAqVBUAQAAAACmQlEFAAAAAJgKRRUAAAAAYCoUVQAAAACAqVBUPSA3N9foCECxvfPOOzp06JDreOHChdq0aZOBiayN9wtYwYEDB7Ru3Trl5+dr3759RscBYDLnzp37t1/A7+FrdABvdvToUcXGxur69etKSkrS4MGD9corr6hx48ZGR7OUr776Sm+++aZyc3PldDpd46tWrTIwlTWsXr1aKSkpmjt3rmusffv2mjNnjvLz8zVo0CAD01kL7xd3R1pamt566y1dvnxZkuR0OmWz2bRjxw6Dk1nHypUrtX37dmVlZal79+6aPn26+vfvr2HDhhkdzTLOnj2rqVOn6uzZs1qzZo0mTJigv/71r6pVq5bR0Szjk08+UUJCgi5fviyn08l7hYcNHjxYNptNN27c0I8//qjatWurTJkyOn36tGrXrq2tW7caHdEy8vPz9fbbb+vEiROaPn26VqxYoREjRqhcuXJGR3OfE8U2aNAg5/Hjx529e/d2Op1O565du5z9+vUzNpQF9ezZ07l69WrnZ5995vz8889dX3Bfr169nD/99FOR8R9//NEZHh5uQCLr4v3i7ujYsaNz7969zjNnzhT6guf07t3beePGDde/5StXrjjDwsKMDWUxQ4cOdX7yySfOiIgIp8PhcCYlJTkHDRpkdCxLCQkJce7cudP5/fff815RgsaNG+fct2+f6/jLL790jh071sBE1jNlyhTnwoULnX/605+c165dc06cONE5YcIEo2N5BEt/3ZCXl6cHH3zQdfzHP/5R+fn5BiaypgoVKmjw4MF6/PHH1apVK9cX3FemTBn5+fkVGa9WrZrKlOHtwZN4v7g76tSpo8cee0w1a9Ys9AXPKVOmTKFP6suXLy8fHx8DE1nPxYsX1a5dO9cs34ABA3TlyhWjY1lK1apV1alTJ9WqVYv3ihL07bffqkWLFq7j4OBgnThxwsBE1pORkaHx48fL19dXFStW1Ny5c3X06FGjY3kES3/d4O/vr2PHjslms0mSUlJSVKVKFYNTWU+7du20evVqtWvXTuXLl3eN33///QamsgYfHx/9+OOPuu+++wqN5+TkyG63G5TKmni/uDuGDh2q6OhotWzZslB5GjNmjIGprKVVq1aaO3eu8vLytH37diUlJal169ZGx7KUChUq6Pz58673i/3791tjGZ+JPPbYY5o9e7aeeOKJQn9btGzZ0sBU1lO9enW9+uqr6tGjhxwOh1JSUvTAAw8YHctSbDab8vPzXe8XFy9edD32djan8xcX/eGOnD59WnFxcTp8+LAqVKigunXrav78+apfv77R0Sylc+fORca4jsQzkpOTtWrVKr344osKDg6W0+nU4cOHNWfOHEVERGjw4MFGR7QM3i/ujoiICD3yyCNFZkYoqp7jcDi0YcMG7d69Ww6HQ23atNHAgQPl68tn355y6NAhTZs2TadPn1adOnWUm5urV155Rc2bNzc6mmVERUUVGbPZbNz/wsNyc3P12muvae/evZKktm3bauzYsbddzYXiSU5O1saNG3Xq1CmFhYVp+/btGj16tPr37290NLdRVD3g2rVrcjgc/J8OXikpKUlvvvmmfvjhB0k/L50cNmyYWrVqpXr16hmcznoyMzPlcDhUo0YNo6NYUs+ePfXee+8ZHcPSrl69quTkZEVGRiozM1Pr16/XiBEjVLFiRaOjWUpBQYFOnjwpu92u+vXrM6MKr3Xt2jWdPn1aDz/8sK5fv65KlSoZHclyjh8/rs8//1x2u12tWrVSo0aNjI7kERRVN+zfv18rV64sst0En8Z5xuLFizV27FhNnjz5tudnz559lxNZ28WLF+V0OrVnzx6tX79eR44c0RdffGF0LMs4duyYXnjhBWVmZsrpdKp+/fqaO3eu6tata3Q0S1mwYIGqV6+uJ554QmXLlnWNc6mA54wcOVINGzZUbGysrly5omXLlum7777T4sWLjY7m9X7r990t/N7znKioqNsuj+RvOM/as2ePpk+fLrvdrqSkJIWHh2vBggVq166d0dG8XnJy8r89HxERcVdylCTW6bhh0qRJGjNmDH8AlZBb23Zw46SS9/333yspKUmbN29Wbm6uRo4cqVdffdXoWJby4osvKjY2Vp06dZIkffjhh5o8ebLWrl1rcDJref/99yVJy5cvd41xqYBnnTt3Tm+++aYkyc/PT7Gxserdu7fBqazh1u+79PR0Xb16Vb169ZKvr6/ef/993XPPPQans5axY8e6Ht+8eVM7duzQvffea2Aia1q0aJHWrl2r4cOHKyAgQGvWrNH48eMpqh7w+eefS/r50qJTp06pY8eOKlOmjHbt2qUGDRpQVEu7oKAgS/wjMKtb16b26dNHly5dUl5enpxOp+x2u86cOWNwOmv48MMPtX79emVkZKhbt26aN2+epk2bxvV8JcDpdLpKqiR169ZNS5YsMTCRtTgcDpUpU0Y7d+4scu7ixYsGJLIum82mr7/+Wg0bNpT08109uT7VM/r06SNJWrt2rZKSklx3Xw8LC9OAAQOMjGY5v/4QvG3btvrzn/+s5557zqBE1uRwOBQQEOA6btCggYFprOXWCouoqCilpKSoWrVqkn6+Lnj06NFGRvMYfrO4ISoqShMmTFDr1q0L/ZKmvHrWokWLlJiYqJs3b6pq1arKzMxUkyZNtHHjRqOjeb2xY8eqe/fuSkpKci1Btcqd4symRYsW+tvf/qYBAwbIx8dH77//vh588EGdO3dOEktT3TVhwgQtXLiwyL/fzz77TC+88II+/vhjg5JZT1xcnIYOHaqgoCBJP38QMG/ePINTWctPP/2kS5cuuf7wzMnJ0bVr1wxOZS233nulnz9I/Ne//qVLly4ZF8iiqlevrvT0dNlsNl2+fFmJiYn8vvOwrKws+fv7u44rVqyo7Oxs4wJ5EEXVDbeW7B04cKDQOEXVs9577z199NFHio+P16hRo3Tu3Dn93//9n9GxLCElJUWbN2/WoEGDVLNmTf3pT39iW5oScmvp6aZNmwqNDx48mKWpHnDjxg3FxcW5CpPD4VBCQoLWr1//H6/7w51p27at0tPT9c0338jX15cb/ZSAkSNHqlevXnr00UflcDj05ZdfaurUqUbHspRb771Op1NlypRR1apVNW3aNKNjWc7MmTMVHx+vH374Qd26ddPjjz+umTNnGh3LUjp27KghQ4YoJCREDodDaWlpCgsLMzqWR3AzJTeEhYXpgw8+MDqG5Q0cOFBJSUlavny5atWqpZCQEPXr10/vvPOO0dEsw263Kz09XZs3b9ZHH32ktm3bKjIyUh06dDA6mmVkZ2cXWv4Ez7p586bGjx+vypUra9SoUZowYYLKly+vOXPmFNmqBu45e/as1qxZo9zcXP3yTwhu9ONZWVlZ+uKLL2Sz2fTYY48V2e8a7vnyyy914MABDR48WCNHjlRGRoZmzpyp0NBQo6NZ0qVLlwrN+sGztm7dqr1798pms6lNmzbq0qWL0ZE8oozRAbxZixYtlJ6erps3bxodxdLuueceJScnq3HjxkpNTdXBgwd1+fJlo2NZio+Pj7p27aolS5bo448/Vps2bbRw4UKjY1nK4MGDNWLECKWlpamgoMDoOJbj6+urhIQE5eXlqUePHurWrZtWrVpFSS0B48aNk/Tz78BWrVq5vuC+pKQkSdLrr7+uDRs26F//+pe++eYbrVu3Tq+//rrB6awlPj5eTZs21bZt21ShQgUlJydr6dKlRseynKNHj6p79+6KiIhQZmamunXrpoyMDKNjWcKtn+O+fftUrVo1de/eXaGhobr33nu1b98+g9N5Bkt/3ZCenl7kOkmbzaajR48alMiaHA6HLl68qIiICKWnp2v69OmuP5TgedWqVdOQIUM0ZMgQo6NYytatW7Vv3z4lJydr/vz56tChg/r06aOmTZsaHc0yfHx8tGjRIk2cOFFnzpzheusScvPmTcXFxRkdw5JY5Hb3OBwOtWzZUs8//7xCQkJUo0YNLn0pAS+//LKWLFmi559/XkFBQXrppZc0Y8aMIpfB4M6tX79es2bN0muvvVbknM1ms8RWSyz9hen169dPK1eulJ+fn9FRALfduHFDH3zwgRISEmSz2VStWjVNnz5dzZs3NzqaV+vcubOrmNrtdp0/f15BQUHy8fHhGmAPe/nll9W2bVu1a9eOa1NLUH5+vsqVK6dTp07pxIkTat++vesuwHBfVFSUOnXqpOXLl+vvf/+7kpOTtW3bNiUmJhodzVL69u2rd999VxEREa59P3v16qWUlBRjg1nYlStXLPM3MzOqbvitZThs7eFZZcqUUefOnVWvXj2VL1/eNW6FT4pQeuzevVtbtmzR7t271aFDByUkJOjRRx/V119/reHDh3NXWjetXr3a6AilRlpamtasWVNojNVEnrVkyRKdOnVK48aNU2RkpB566CHt2LFDs2bNMjqaZSxYsEAbN27Ua6+9pipVqigrK4tLXkqAv7+/jh075vogMSUlRVWqVDE4lbWkp6dr//79evbZZ9W/f39duHBBMTExioyMNDqa25hRdcMvi2pBQYE++eQTNWvWTDNmzDAwlfXs3bv3tuNcEwVvEhkZqX79+iksLEwVK1YsdG7FihX6y1/+YkwwC/n222+1detWnT9/XmXKlFFgYKCeeOIJllfD6/Tt21fr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rEK/6ypWrKjs7GzjAlnQ7Nmz9b//+7+u5XuHDx/WjBkz2HcZwB3x9g9oKapumDVrlp555hlNmTLFNbZ+/XoDEwEwqwceeEC1a9fWvn379OSTT+ratWt69NFH9c0337AfM7xKx44dNWTIEIWEhLhuChYWFmZ0LEspV65coWvMmjZtamAaAN7K2z+gpai64eOPP1bFihW1efNmnT59WrGxsdq7d6/q1atndDQAJrNz504dPXpUXbp0kST94x//UGBgoFavXq3w8HCW88FrTJ48WVu3btXevXtls9k0dOhQ179reEZwcLCmTJmiAQMGyMfHR3//+99Vs2ZN7du3T5LUsmVLgxMCQMljH1U39OzZUxs3bnQt38vLy9OAAQOUmppqcDIAZvPkk09q6dKluvfeeyVJV65c0ciRI7VixQr17dtXKSkpBie0voiICCUnJxsdA/iPoqKifvOczWbTqlWr7mIaAN7K2/ddZkbVDQUFBSpbtqzr+JePAeCXLl68qMqVK7uOy5cvr9zcXPn6+nr90hwzys3Ndd3A6hbulgpvsXr1aqMjALAAb5+PpKi6oWvXrnr66add1+Zs27aN5U8AbiskJMT1fuFwOFzvF8nJyQoICDA6nmUcPXpUsbGxun79upKSkjR48GC98soraty4Mcur4TX279+vlStXKjc3t9A4M6kAbseq21mx9NdNaWlp2rdvn3x9fdWyZUs2mwfwm9LT0/Xpp5/Kx8dHbdu2VYcOHXTw4EHVq1evyOwfiicyMlIzZ87U888/r+TkZH366adKSEhgf2t4la5du2rMmDG6//77C423atXKoEQAzOrfbWfl7SiqAADL6Nu3r959991C16P26tWLa4DhVSIjI5WYmGh0DABeoGfPnlqwYIElt7Ni6S8AwDL8/f117Ngx17KnlJQUZqvhdaKiojRhwgS1bt1avr7//59q3r6MD4DnWXk7K2ZUAQCWcfr0acXFxenw4cOqUKGC6tatq/nz56t+/fpGRwN+t+joaElSzZo1C43Pnj3biDgATOyll15SQUFBoe2szpw543of8ebtrCiqAADLuXbtmhwOh/z8/IyOAtyxsLAwffDBB0bHAOAFrLydFUUVAGAZ3C0VVjBt2jR17txZTzzxRKGlvwBQmlBUAQCWwd1SYQXt2rVTTk6OpJ9nRJxOp2w2m44ePWpwMgBmY+UPaPmYDgBgGUFBQdxwBl5v165dRkcA4CUmTZp02w9orYCiCgCwDO6WCivIz8/X8uXLdeLECU2bNk0rVqzQiBEjVK5cOaOjATAZK39AS1EFAFjG2rVrJUkHDhwoNG7VX+KwppkzZ6patWrKyMiQj4+PTp8+rSlTpmj+/PlGRwNgMlb+gJaiCgCwjOzsbO6WCq+XkZGhzZs36+OPP1bFihU1d+5chYeHGx0LgAlZ+QNaiioAwDJatGih9PR07pYKr2az2ZSfny+bzSZJunjxousxAPySlT+g5bc4AMAy0tPTtXHjxkJj3C0V3iY6OlpDhgxRdna24uPj9eGHH2rMmDFGxwJgQlb+gJbtaQAAAExk7NixGjdunD777DM5HA61bNlSs2fP1sqVK42OBsBkrLydFUUVAGAZr7/++m3HmY2CNxg9erSOHTumrKwsBQYG6tafaA6HQzVq1NC6desMTggAd4+15ocBAPh/CgoK9Mknn6hZs2ZGRwF+l7lz5+rSpUuKj4/X1KlTXeO+vr667777DEwGwKysvJ0VM6oAAMvKz8/X0KFDtWbNGqOjAADgcVOnTlW1atW0c+dObdy4UTNmzJDT6bTEdlZljA4AAEBJuXr1qs6dO2d0DAAASkRGRobGjx8vX19f13ZWVrg+VWLpLwDAQjp37uzaxsPpdOry5csaNmyYwakAACgZVt7OiqW/AADLOHv2rOuxzWbTvffeKz8/PwMTAQBQcpKTk7Vx40adOnVKYWFhru2s+vfvb3Q0t7H0FwBgGZUrV9apU6dUs2ZNpaam6sUXX9Tx48eNjgUAQInYsWOHZs6cqVGjRqlOnTp68803lZqaanQsj2BGFQBgGcOGDVOnTp1Uv359zZ8/X08//bQ2btyoxMREo6MBAOAxpWE7K4oqAMAy+vfvr02bNmnWrFmqW7euoqOj1bdvX7377rtGRwMAwGOuXLnyb7ez8vX1/lsRef//AgAA/h+Hw6EjR45o+/btWrNmjY4ePSq73W50LAAAPMrPz09+fn564403jI5SYiiqAADLmDhxoubNm6chQ4aodu3aGjBggCZNmmR0LAAAcIdY+gsAAAAAMBVmVAEAlrF582bNmTNHly9fLjRulc3PAQAoLZhRBQBYRpcuXfTGG2/o4YcfNjoKAABwA/uoAgAsIygoiJIKAIAFMKMKALCM+Ph4ZWZm6o9//KPKly/vGo+IiDAuFAAAuGNcowoAsIwrV66ocuXKOnjwYKFxiioAAN6FGVUAgKUUFBToxIkTstvteuihhyyx6TkAAKUNv70BAJZx5MgRxcTEyN/fXw6HQzk5OVqyZImaNWtmdDQAAHAHmFEFAFjGk08+qcmTJ7uK6cGDB/Xyyy9r06ZNBicDAAB3grv+AgAs49q1a4VmT5s3b64bN24YmAgAABQHRRUAYBlVqlTR9u3bXcfbt2+Xv7+/cYEAAECxsPQXAGAZJ0+e1DPPPKNLly65xtavX6969eoZFwoAANwxZlQBAJbx8ccfq2LFikpPT9fKlStVrVo17d271+hYAADgDjGjCgCwjJ49e2rjxo2qWLGiJCkvL08DBgxQamqqwckAAMCdYEYVAGAZBQUFKlu2rOv4l48BAID3YB9VAIBldO3aVU8//bTCwsIkSdu2bVOXLl0MTgUAAO4US38BAJaSlpamffv2ydfXVy1btlTXrl2NjgQAAO4QRRUAAAAAYCpcowoAAAAAMBWKKgAAAADAVCiqAAAAAABToagCAAAAAEyFogoAAAAAMJX/DyC8QRuzOxqbAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "corr_mat=df_train.corr(method='pearson')\n", + "plt.figure(figsize = (16,5))\n", + "corr_mat['consume'].sort_values(ascending = False).plot(kind = 'bar');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Chequear media de consumo por tipo de combustible y resto de variables" + ] + }, + { + "cell_type": "code", + "execution_count": 640, + "metadata": {}, + "outputs": [], + "source": [ + "gas_type=df_train.groupby('gas_type')" + ] + }, + { + "cell_type": "code", + "execution_count": 641, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsideACrainsunconsume_100Km
gas_type
021.0962504.93125043.50625021.91742910.118750.0437500.1000000.0750001.008933
118.6399124.89912340.82017521.93800712.228070.1008770.1403510.0877190.883618
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside AC \\\n", + "gas_type \n", + "0 21.096250 4.931250 43.506250 21.917429 10.11875 0.043750 \n", + "1 18.639912 4.899123 40.820175 21.938007 12.22807 0.100877 \n", + "\n", + " rain sun consume_100Km \n", + "gas_type \n", + "0 0.100000 0.075000 1.008933 \n", + "1 0.140351 0.087719 0.883618 " + ] + }, + "execution_count": 641, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 504, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(1).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 505, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.get_group(0).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 506, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gas_type.size().sort_values(ascending=True).plot(kind='barh')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 612, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(11.204923406862736, 0.5, 'consume l/100km')" + ] + }, + "execution_count": 612, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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WykrK2P79u1s2rTpkMdVt/1effVVTjvtNIqLi5P36Ro9tvPOO4/p06eTkZFBfn4+48eP57HHHjvkONWtMdd1KSsr48EHH+SVV15hzZo1ybmAB1LdDm/WrFn88Ic/BHSdHo/169fz2muvsWTJEpYtW4bP52P58uWHHKe67VdcXMzYsWO57rrrmDRpEr169cJ13UOOU82an93SDTiZtWnThp07dyZvl5eXJ4dkyX7vvfcet956K3fffTclJSW88847qtsxbNy4kXg8Trdu3UhPT2fo0KHMnz8fv9+fPEZ1a+zNN9+koqKCMWPGUFVVRSQSwbKsRp+1iooK1ewgK1asIJFIJEObMYZ27drpGj2G1q1bU1xcTH5+PgCXXnqprtHjFI/Heffdd3nggQcA/ZYej2XLllFcXEyrVq2AhuFCzzzzjL7fjqK2tpYhQ4YkQ+6zzz5Lu3btWLFiRfIY1axlqOfjKzjnnHP47LPPkt3vb7zxBgMGDGjpZqWU7du3M2XKFB566CFKSkoA1e14bN26lXvuuYd4PE48Hmfx4sVMmDBBdTuKZ599ljfeeIO5c+dy6623cskll3D//feTlpbGe++9B8CcOXNUs4PU1NQwffp0YrEYtbW1vP766zz44IOUlZWxe/du6uvrWbBggep2kMGDB7Ns2TKqq6txXZd//vOfDB8+XNfocfjoo48488wzycjIAPSbcDy6du1KaWkpkUgEYwxvvfUWF154ob7fjmLr1q1MmTIFx3Goqanh1VdfZfz48apZClDPx1eQlpbGAw88wC233EIsFmPgwIEMHz68pZuVUp555hlisVjyX7gAJkyYoLodw8CBA1m1ahWXX345fr+foUOHUlJSQn5+vup2gh566CHuuece6urq6N69OxMnTmzpJqWUwYMHJz9rnudx9dVX06tXL6ZOncrEiRNJJBKMHz+enj17tnRTU8o555zDpEmTuPrqq0kkEvTr14+rrrqKTp066Ro9hi1bttC2bdvkbf2WHlv//v1Zu3YtY8eOJRAI8J3vfIebb76ZIUOG6PvtCLp27crQoUO57LLLcF2X66+/nl69euk3IQVY5nCDLUVERERERL5mGnYlIiIiIiLNQuFDRERERESahcKHiIiIiIg0C4UPERERERFpFgofIiIiIiLSLBQ+RERSxPz587nuuusAePTRR5kzZ85Rj3/iiSdYtGhRM7Ts8LZu3cp5553X6L4333yTPn36UFZW1kKtEhGRVKZ9PkREUtBtt912zGPefvttioqKmqE1x2fWrFn88Y9/5LnnnqNbt24t3RwREUlBCh8iIi3o0UcfZd68eYTDYTp27Ji8/84776RLly7ceOONPPbYYyxcuJBAIEBeXh73338/Cxcu5MMPP2T69On4/X6Kioq49957iUQilJeX07VrVx555BHS0tKSG5ItX76c8vJyJk6cyPXXXw/AU089xeuvv45t23Ts2JEHHniA7OxsXn31VV566SU8zyMcDvPLX/6Szp07H/E8nn76aWbPns2LL75I+/btgYZw9Pvf/57CwkI2bNhAeno6t9xyC88//zyfffYZQ4cO5e67727S+oqISGrRsCsRkRayaNEiFixYwJw5c5g1axa1tbWHHLN9+3b+8pe/8NprrzF79mz69evH6tWrueaaazj77LP5+c9/zpAhQ3jllVe4/PLLefnll1mwYAFbt25l6dKlAMTjcfLy8pg1axaPPfYYDz/8MLFYjMWLFzN79mxefvll3njjDdq3b88LL7zAO++8w5w5c5g5cyZz5sxh0qRJ3HLLLUc8j+nTp/Pwww9z3XXXJYPHPmvWrOHHP/4x8+fPp1WrVjz99NM89dRTyaCyY8eOr7WmIiKS2tTzISLSQsrKyhgyZAhZWVkAjBs3jueff77RMW3atKFr165cccUVDBgwgAEDBlBcXHzIa91+++0sX76cP/3pT2zatIny8nIikUjy8UsvvRSAHj16EI/HiUQilJWVMXz4cHJzcwG46667gIYw8fnnnzNhwoTk86uqqqisrCQcDjd630gkwscff8zTTz/N1KlTOf/88xsNuWrfvj3du3cHoEOHDmRnZxMMBsnPzyczM5OqqiratGnzn5ZQREROMgofIiItxLIsjDHJ236//5BjfD4fL7zwAmvWrKGsrIzf/e539OnTh3vuuafRcT/96U9xXZcRI0YwaNAgtm/f3ui109LSku8JYIzB7/cnbwNUV1dTXV2N53mMGTOG22+/HQDP8ygvL0+GlAOFQiGefPJJAoEAkydPZsqUKcyePTsZUoLBYKPjbVs/OyIipzINuxIRaSEXX3wx8+fPT/7BP3fu3EOOWb9+PaNGjaJz585MnjyZ66+/no8++ghoCCuO4wCwbNkypkyZwsiRI7Esi1WrVuG67lHf/6KLLmLhwoXJ4V6PP/44zz33HP369eNvf/sb5eXlALz00kv84Ac/OOxr+Hw+AoEAADfffDNFRUX87Gc/w/O8/6woIiLyjaZ/ghIRaSEDBw7ko48+Yty4ceTk5NC1a1f27NnT6JiuXbsyYsQIxo0bR0ZGBqFQKNnrMXjwYKZNm0YikWDq1KlMmTKF3Nxc0tPTueCCC9i8efMx3/+TTz7hqquuAqCoqIj77ruPrKwsbrrpJm644QYsyyIrK4snnniiUS/J4ViWxbRp07jiiit45JFH6Nev31eojoiIfBNZ5sB+eRERERERkSaiYVciIiIiItIsFD5ERERERKRZKHyIiIiIiEizUPgQEREREZFmofAhIiIiIiLNQuFDRERERESahcKHiIiIiIg0C4UPERERERFpFv8f1CyB8YOzHVgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Consume vs Km_absolute\n", + "sns.lmplot(data = df_train, x = 'distance', y = 'consume_100Km', hue = 'gas_type', height=6,aspect=1.7)\n", + "plt.xlabel('distance Km')\n", + "plt.ylabel('consume l/100km')" + ] + }, + { + "cell_type": "code", + "execution_count": 512, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type[['consume_100Km','speed',]].mean().plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 513, + "metadata": {}, + "outputs": [], + "source": [ + "#gas_type.agg({'consume_100Km':'min','speed':'max',}).plot(kind='bar')\n", + "#'SP98': 1, 'E10': 0" + ] + }, + { + "cell_type": "code", + "execution_count": 516, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
05.993888130.3
12.69288256.1
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 5.9938 88 130.3\n", + "1 2.6928 82 56.1" + ] + }, + "execution_count": 516, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'max','speed':'max','distance':'max' })" + ] + }, + { + "cell_type": "code", + "execution_count": 515, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
00.1638164.1
10.2035162.9
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 0.1638 16 4.1\n", + "1 0.2035 16 2.9" + ] + }, + "execution_count": 515, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'min','speed':'min', 'distance':'min',})" + ] + }, + { + "cell_type": "code", + "execution_count": 517, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
01.02524643.98089221.463057
10.74855240.60280415.987383
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 1.025246 43.980892 21.463057\n", + "1 0.748552 40.602804 15.987383" + ] + }, + "execution_count": 517, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'mean','speed':'mean','distance':'mean' })" + ] + }, + { + "cell_type": "code", + "execution_count": 518, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
distancemin4.1000002.900000
max130.30000056.100000
mean21.46305715.987383
consumemin3.7000003.700000
max8.1000008.700000
mean4.8668794.814019
speedmin16.00000016.000000
max88.00000082.000000
mean43.98089240.602804
temp_insidemin21.00000019.000000
max25.00000025.500000
mean21.91266621.978344
temp_outsidemin-5.000000-3.000000
max27.00000031.000000
mean10.07006412.233645
ACmin0.0000000.000000
max1.0000001.000000
mean0.0445860.102804
rainmin0.0000000.000000
max1.0000001.000000
mean0.0955410.140187
sunmin0.0000000.000000
max1.0000001.000000
mean0.0764330.084112
consume_100Kmmin0.1638000.203500
max5.9938002.692800
mean1.0252460.748552
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "distance min 4.100000 2.900000\n", + " max 130.300000 56.100000\n", + " mean 21.463057 15.987383\n", + "consume min 3.700000 3.700000\n", + " max 8.100000 8.700000\n", + " mean 4.866879 4.814019\n", + "speed min 16.000000 16.000000\n", + " max 88.000000 82.000000\n", + " mean 43.980892 40.602804\n", + "temp_inside min 21.000000 19.000000\n", + " max 25.000000 25.500000\n", + " mean 21.912666 21.978344\n", + "temp_outside min -5.000000 -3.000000\n", + " max 27.000000 31.000000\n", + " mean 10.070064 12.233645\n", + "AC min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.044586 0.102804\n", + "rain min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.095541 0.140187\n", + "sun min 0.000000 0.000000\n", + " max 1.000000 1.000000\n", + " mean 0.076433 0.084112\n", + "consume_100Km min 0.163800 0.203500\n", + " max 5.993800 2.692800\n", + " mean 1.025246 0.748552" + ] + }, + "execution_count": 518, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg(['min', 'max','mean']).T" + ] + }, + { + "cell_type": "code", + "execution_count": 519, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
27393.94.88823.01801014.5072
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain \\\n", + "273 93.9 4.8 88 23.0 18 0 1 0 \n", + "\n", + " sun consume_100Km \n", + "273 1 4.5072 " + ] + }, + "execution_count": 519, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_max_speed=df_train[df_train.speed == df_train['speed'].max()]\n", + "df_max_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 520, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
24511.86.11622.5600100.7198
37315.36.61624.02711001.0098
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain \\\n", + "245 11.8 6.1 16 22.5 6 0 0 1 \n", + "373 15.3 6.6 16 24.0 27 1 1 0 \n", + "\n", + " sun consume_100Km \n", + "245 0 0.7198 \n", + "373 0 1.0098 " + ] + }, + "execution_count": 520, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_min_speed=df_train[df_train.speed == df_train['speed'].min()]\n", + "df_min_speed" + ] + }, + { + "cell_type": "code", + "execution_count": 522, + "metadata": {}, + "outputs": [], + "source": [ + "group_cols = ['gas_type']\n", + "agg_dict = {'speed':['min', 'max','mean','var'],\n", + " 'distance':['min', 'max','mean','var'],\n", + " 'consume_100Km':['min', 'max','mean','var']}\n", + "df_groupby=df_train.groupby(group_cols).agg(agg_dict)" + ] + }, + { + "cell_type": "code", + "execution_count": 523, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['speed', 'speed', 'speed', 'speed', 'distance', 'distance', 'distance',\n", + " 'distance', 'consume_100Km', 'consume_100Km', 'consume_100Km',\n", + " 'consume_100Km'],\n", + " dtype='object')" + ] + }, + "execution_count": 523, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level0 = df_groupby.columns.get_level_values(0)\n", + "level0" + ] + }, + { + "cell_type": "code", + "execution_count": 524, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['min', 'max', 'mean', 'var', 'min', 'max', 'mean', 'var', 'min', 'max',\n", + " 'mean', 'var'],\n", + " dtype='object')" + ] + }, + "execution_count": 524, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "level1 = df_groupby.columns.get_level_values(1)\n", + "level1" + ] + }, + { + "cell_type": "code", + "execution_count": 525, + "metadata": {}, + "outputs": [], + "source": [ + "df_groupby.columns = level0 + '_' + level1" + ] + }, + { + "cell_type": "code", + "execution_count": 526, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gas_type01
speed_min16.00000016.000000
speed_max88.00000082.000000
speed_mean43.98089240.602804
speed_var189.685530143.151354
distance_min4.1000002.900000
distance_max130.30000056.100000
distance_mean21.46305715.987383
distance_var413.09196068.495192
consume_100Km_min0.1638000.203500
consume_100Km_max5.9938002.692800
consume_100Km_mean1.0252460.748552
consume_100Km_var0.9188980.136241
\n", + "
" + ], + "text/plain": [ + "gas_type 0 1\n", + "speed_min 16.000000 16.000000\n", + "speed_max 88.000000 82.000000\n", + "speed_mean 43.980892 40.602804\n", + "speed_var 189.685530 143.151354\n", + "distance_min 4.100000 2.900000\n", + "distance_max 130.300000 56.100000\n", + "distance_mean 21.463057 15.987383\n", + "distance_var 413.091960 68.495192\n", + "consume_100Km_min 0.163800 0.203500\n", + "consume_100Km_max 5.993800 2.692800\n", + "consume_100Km_mean 1.025246 0.748552\n", + "consume_100Km_var 0.918898 0.136241" + ] + }, + "execution_count": 526, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_groupby.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### speed outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 527, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable height\n", + "ax = sns.distplot(df_train.speed, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of speed', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 528, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of speed')" + ] + }, + "execution_count": 528, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.speed)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(80,0), xytext=(75,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "ax.annotate('Outlier', xy=(90,0), xytext=(95,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('speed', fontsize=14)\n", + "plt.title('Distribution of speed', fontsize=20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### consume outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 529, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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VPj573fSZyJKtGXLFjQaDT179jRoVioUFxfHe++9xx9//AGAl5cXAwcOZM2aNTz88MMkJCRw5coV4PY31PI6deqUwb7w8HAAvVFg1tbWxX7oFG2nL2RMbIU1rOPHjxsc02q1HDt2DAcHh1JHUd2NwqajY8eOGRy7fPkySUlJNG7c+K7PWzj0uejUMYXCw8Np1aoVH3/8caXd782bN1mxYoUylNnNzY0nn3yS5cuXExYWRnZ2tjLCqvBLyJ1/x9jY2Lu6pjH8/PywsbHhzJkzxdYa169fz8qVK7l582aFX/t+IMlEFOvgwYN89NFHODg4MHr06BLL2dnZ8dlnn/HBBx/otYmr1WqSkpKwsbFROtatrAoqwnc+x3C3/vnnH73nETIyMnj//fdRqVR6T/P7+/tz5coVLly4oOy7evVqsUNPC2MrrR+jTZs2+Pr6snPnTvbs2aN3bPny5Vy/fp2ePXuW2ZxirKeffhorKys++eQTvQSYlZXF3LlzlTJ3q169eoSEhLB//37l+QsoSBCfffYZOp2Ojh07Vtr9Ojo68vnnn7Ns2TKDocXXrl0DUDrQC6ftKfyyUhjnJ598clfXNIatrS29evUiKiqKdevW6R07fPgwS5YsYevWrQa1X1FAmrkecL///rvSL1I4N9fZs2f5+++/sbOzY9myZaV+83R3d2fEiBGsW7eOPn360KVLFywsLNi3bx/R0dGMGzdOaXP39PQE4IsvviA1NZVhw4bdU8z169fntdde4/fff8fV1ZU//viDK1eu8NJLLykjdAAGDRrEvHnzGDZsGH369EGtVvPLL78QEBDA33//rXfOwtg+/vhjzp07V+yzJhYWFixatIiRI0cyZswYunbtSv369QkPD+fEiRM0bNjwnp91KU69evV44403WLBgAf369aN79+44ODiwd+9e4uLi6N27N3379r2nc8+ZM4ehQ4cyevRounfvjre3N4cOHeLs2bMMHz5c+T1Wxv3a2NgwadIk5s+fT58+fXjsscews7Pj6NGjnDp1iqefflpJIn369OGDDz5gzZo1xMXF4ePjw19//UV6erreiK2K8sYbbxAeHs7ixYvZtWsXLVu2JCEhgZ07d2JlZcU777yDhYV8By+OJJMH3K5du9i1a5eybW9vj7e3N0OHDmXEiBEGI2OK8/rrr+Pr68vXX3/Nd999R35+Po0a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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.consume_100Km, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('consume / 100 Km', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 530, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribution of consume')" + ] + }, + "execution_count": 530, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAEmCAYAAADBbUO1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAnZ0lEQVR4nO3de1zNd/wH8FdJCjMiNlLKnGNJlJXrsojNnUYuuWzMtWTUuszGkFFDI5rLMAyNhZ9sJprr5jKWkTDrmGSiiU1q6tT394ff+f4651Trcvoczev5eHg8nM/38nl/zjm9+p7P+fb9mkiSJIGIiIQwNXYBRETPEoYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0C1FdHQ0lEql1r/WrVujffv26N27Nz788EOkpqbqbZeeng6lUolp06ZVqN8LFy7gxIkT5arx0KFDBun735w4cQIXLlyQH58+fRpKpRILFy6skv4MTa1WIyIiAl27dkXbtm0xYMAAY5dEzxgzYxdQHfTs2RMvv/wyAKCwsBDZ2dm4cuUKduzYgb1792L58uV47bXX5PXr1asHf39/ODg4lLuvI0eOYOrUqQgJCUG3bt3+dX13d3f4+/vD3t6+3H2V17Zt2zBv3jysWrVKbmvWrBn8/f3Rrl27Ku/fEL7++mts2LAB9vb2GDJkCBo2bGjskugZw9AtAy8vL3h7e+u1Hz16FH5+fpg5cyb27NkDOzs7AE9Cd/r06RXqKysrC4WFhWVev2PHjujYsWOF+iqve/fu6bXZ2NhUeKzGkJKSAgCYM2cOunTpYuRq6FnE6YVK6N69O2bMmIGcnBzExMQYuxwqg7y8PABAgwYNjFwJPasYupU0evRo1KpVCwkJCVCr1QCKn1dVq9VYuXIlBgwYgPbt28Pd3R0TJkzAyZMn5XVCQ0MRFhYGAFi0aBGUSiXS09PledNt27Zh1qxZcHZ2Rrdu3XDu3Dm9Od2iEhISMGDAALRt2xavv/461qxZg/z8fK11lEolBg0apLftrl27oFQq8cUXXwAAxowZg5UrVwIA/Pz8oFQqAZQ8p3v9+nUEBQWhS5cucHJygpeXFyIjI/Hw4UOt9UJDQ6FUKvHXX39h7ty58lyrt7c3Dhw4UKbXAAB++OEHvP3223B1dYWzszOGDBmCrVu3yp8aNK/J7t27AQCDBw+GUqnE6dOnS91veno6Zs+eDQ8PD7Rr1w79+vXDhg0b9J7Hqhrvli1b4O3tDRcXF7i6umLUqFHYv39/sfu8fPmy3va6r6/mdT1z5gzWrl2LHj16wNnZGYMHD8bx48cBPJmC6dOnD9q1a4cBAwbgu+++09tvdnY2lixZAi8vLzg5OeHVV1/F3Llzi/00RNoYupVkaWkJR0dH5OTkFPum11iwYAGio6NRv359+Pr64o033sAvv/yCCRMmyD/4Xl5e6NmzJwCgW7du8Pf3R7169eR9rFq1ChcvXsTo0aPh6OiINm3alNjf+fPnMWPGDDRv3hwjR46EiYkJli1bhuDg4AqNc8iQIXB3dwcA9O3bF/7+/iWu+8svv8Db2xvffPMN2rdvD19fXzRs2BDr16+Hj48PHjx4oLfN22+/jePHj6NPnz4YMGAArl27hhkzZpTpC8UtW7Zg/PjxuHjxInr16oU333wTDx8+xPz58xEYGAhJkuR59tatWwMAhg8fDn9/fzRr1qzE/f7666948803ERcXB0dHR4waNQoWFhaIiIjABx98UOXjXbt2LcLDwwEAI0aMgLe3N9LS0vDuu+9iz549//q8lObjjz/Ghg0b4OnpiX79+uHXX3/F1KlTER4ejoULF8LV1RXe3t5IT0/HzJkz5WkZAHj48CFGjhyJdevWwcbGBmPHjoWLiwt27NiBYcOG4e7du5Wq7T9PohKtWLFCUigUUlxcXKnrBQQESAqFQkpMTJQkSZJu3rwpKRQKaerUqZIkSdLDhw+l1q1bS76+vlrbXbhwQVIoFNL06dPltri4OEmhUEgbN26U206dOiUpFAqpXbt20t27d4ut8eDBg1p9KxQKadOmTfJ6ubm50tixYyWFQiGdOHFCblcoFNLAgQP1xlRcHbp9Fa0tPDxckiRJUqvVUu/evSVHR0fp6NGjWvv85JNPJIVCIYWFhcltISEhkkKhkIYOHSo9evRIbt+7d6+kUCikd999V6+2otLS0iRHR0fptddek9LS0uT2R48eyePdvXu3Xn8pKSml7leSJGnUqFGSUqmUDhw4ILcVFhZK48ePlxQKhZScnFyl43V3d5e8vLyk/Px8ue327duSk5OT5O3tXaYx6b6+mtfV1dVVunXrlty+dOlSSaFQSC+//LJ0+fJluX3Xrl2SQqGQIiMj5baPPvpIUigU0pdffqnV16FDhySFQiEFBASU8IySJEkSj3QNwNzcHMCTj1zFKSwshCRJuH37NjIzM+X2tm3b4tChQ1i6dGmZ+nF1dYW1tXWZ1rW1tYWvr6/82MLCAjNnzgQAxMfHl2kfFZGUlITff/8d/fr1g4eHh9aygIAANGnSBPHx8fLcqoavry9q164tP+7evTsA4NatW6X2t3fvXqjVavj5+aF58+Zye+3ateWj0bi4uHKPIyMjA2fPnkWXLl3Qu3dvud3ExASzZs2Cv78/zM3Nq3S8kiQhKysLN2/elNteeOEF7N+/H9u2bSv3mIrq3bs3mjZtKj92dXUFAHTu3Fn+NAAAzs7OWnWp1Wrs2bMHrVq10np/AU/O8nF1dcXBgwdL/Fkgnr1gEI8ePQIArR+iourVq4e+ffvim2++gaenJ1xcXODh4QFPT0+89NJLZe7HxsamzOu2a9cONWrU0Gpr06YNTE1NceXKlTLvp7w0Uyxubm56y8zNzeVfNCqVSuuHW/eUt+eeew4A9MJKl2YsxfXXqlUr1KtXr0LjvXr1KgCgffv2esvatGkjT+1s2bKlxP4rO97hw4dj7dq16Nu3L9q2bQsPDw90794dbdu2Lfd4dNna2mo9trS0BKD/HqtVq5ZWXdevX0dOTg4KCgoQHR2tt9/Hjx+joKAAV69eRYcOHSpd538RQ9cANEcBRY+0dEVERMDJyQm7du3CmTNncObMGSxZsgROTk4IDw+XzwMujeYHoCwaNWqk11azZk3UqlULOTk5Zd5PeWmOcOrWrVvs8saNGwMAcnNztdo1nxY0TExMADw52itLf5rQKq6/Gzdu/EvV+v766y8AJY9Dt/+qGO+sWbNgZ2eH2NhYXLhwAb/88guio6Nhb2+PuXPnonPnzuUYkTZNyOrSrUvX33//DQBQqVTyF6vF0Tx/pI+hW0kPHjzAb7/9hnr16pV61FqzZk2MHz8e48ePxx9//IEffvgB3333HU6cOIHJkycjMTERNWvWNFhdmh+Ooh4+fIjc3Fw8//zzWu3FnResGxJlVadOHQDAnTt3Sq2rfv36Fdp/af1ZWVnpLf/rr78q1JfmU4vmU0xRhYWFyMvLg4WFRZWO18TEBEOHDsXQoUNx7949/Pjjjzh48CASEhIwdepUfP/997CyspIDW/d1rOhrWBrNeAcNGoTIyEiD7/9ZwDndStqxYwfUajX69Omj93Fe4+bNm1i2bBkOHz4MAGjatCmGDRuG9evXo1OnTrhz5w7S09MB/P8RT2VdvHhRry0pKQkAtM56qFmzZrE/nEXnETXKUpvmiP3nn3/WW1ZYWIhz586hdu3apZ41UB6aj+znzp3TW3bjxg1kZmaiVatW5d6v5pS4on/yrJGUlIT27dvjs88+q7Lx3r9/H9HR0fIpbg0bNsSAAQOwYsUKeHt7Izc3Vz6jQPPLWvd1TEtLK1efZWFvbw9zc3NcunSp2E8hX3zxBWJiYnD//n2D9/1fwdCthJMnT2LVqlWoXbs2Jk+eXOJ6FhYWWLduHZYvX641Z5eXl4fMzEyYm5vLX5CZmT358KF7Hmh5/frrr1rnc2ZnZ+PTTz+FiYmJ1l/XOTg4ID09HdeuXZPbbt26VewpSZraSptn7dChA+zs7JCQkICjR49qLVuxYgVu376NPn36/OvH2LIaNGgQzMzMsHr1aq1fFDk5OZg/f768Tnk1b94cLi4uOHHihHz+KvAkSNetWwdJktC1a9cqG2+dOnWwefNmREVF6Z1y9scffwCA/EWY5s/NNb/UNXWuXr26XH2WRa1atdC3b1/89ttv2Lhxo9ay06dPIzIyEnFxcXqfpuj/cXqhDA4dOiTP22quvZCSkoKzZ8/CwsICUVFRpR7JWFtbY9y4cdi4cSP69++P7t27w9TUFMePH0dqaiqmTZsmzwk2adIEALB9+3b89ddfGDNmTIVqtrW1RVBQEA4dOoQGDRrg8OHDSE9Px6RJk+RvpAHAx8cHCxYswJgxY9C/f3/k5eVh//79UCgUOHv2rNY+NbV99tlnuHz5crHn6pqammLx4sWYMGECpkyZAk9PT9ja2iIpKQnnz59Hy5YtK3yucHGaN2+OkJAQLFy4EEOGDIGXlxdq166NY8eO4ebNm+jXrx8GDx5coX3PmzcPo0ePxuTJk+Hl5YVmzZrh1KlTSElJwdixY+XnsSrGa25ujoCAAISHh6N///7o1asXLCws8NNPP+HixYsYNGiQHLb9+/fH8uXLsX79ety8eRM2Njb44Ycf8PDhQ60zFAwlJCQESUlJiIiIQGJiIpydnXHnzh0kJCTAzMwMH3/8MUxNeTxXEoZuGSQmJiIxMVF+bGlpiWbNmmH06NEYN26c3jfBxXnvvfdgZ2eHnTt3Yvfu3SgoKMBLL72ExYsXY8iQIfJ6bm5u8PX1xf/8z/9g69at6NKlS4nTFqV57bXX4OjoiNWrV+PWrVto0aIFwsPDMWzYMK31Ro8ejYKCAmzbtg2xsbF48cUXMXnyZHTu3FnvehN9+/bF0aNHceTIEWzbtk2r7qJcXV3x9ddfIyYmBj/++COOHz+Opk2bYurUqZg4caI8L2goY8eORYsWLbB+/XokJCRAkiS0bNkSkydPxtChQyu8X6VSiZ07dyI6Oho//PADsrOzYWNjg7CwMIwdO1Zer6rGO2bMGDRs2BCbN2/Gt99+i9zcXLRo0QJhYWEYPXq0vF6jRo2wefNmLFu2DMeOHUPNmjXx6quvIjg4uNRPYBVlZWWFHTt2YM2aNTh48CC2bNkCKysr9OjRA9OmTdM6S4P0mUj/9vUwEREZDD8DEBEJxNAlIhKIoUtEJBBDl4hIoBLPXvjnn3+QnJwMa2vrCn17TkT0LCooKEBmZiacnJxgYWGht7zE0E1OTta7ihAREZXN1q1b8corr+i1lxi6mr+Q2rp1K1544YWqq4yI6D8kIyMDvr6+JV6GtcTQ1UwpvPDCC+W6pCAREaHEaVl+kUZEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCRQiXeOeBqtW7cOKpVKr/3+/fsAgAYNGpRpPw4ODpg4caJBayMiKotqFboqlQrJKVdRw6K+VnvBPw8AABn38/51H5p1iYiMoVqFLgDUsKiP2nY9tdpybiQCgF57cTTrEhEZA+d0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBKqS0P3+++/x/fffV8WuqxU+D0Sky6wqdnrw4EEAQI8ePapi99UGnwci0sXpBSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDt4rl5ubCx8cHM2bMwPnz5+X/379/H0lJSRg4cCD8/f1x//59ZGVlITQ0FCqVCqGhobh//z4AICsrCzNmzICPjw+uX7+utV5gYCCCgoK01tXdNjQ0FElJSfDx8YGfnx+CgoL0+jAU3f6LthXXZ0n1Grquiniaaqmo8o7BGGN+mp7n0t6rhsLQrWLp6enIzc2FSqVCRESE/P/Y2FhERERAkiTcuHEDsbGxiI2NRUpKCpYuXYqUlBTExsYCAGJjY6FSqZCbm4slS5Zorffrr7/i6tWrWuvqbpuSkoLIyEjk5uYiLS0NV69e1evDUHT7L9pWXJ8l1Wvouiriaaqloso7BmOM+Wl6nkt7rxoKQ7cK5ebm4vHjx/Lj7Oxs+f/79+/Ho0eP5McHDhzAoUOHIEkS0tLSIEkSDh06hOvXr+PgwYPyemlpaVrraRw8eBDXr19HYmKivK1KpZIfF+1bsx/Neob6bZ6VlaXVv+boXdOm26fu+rr1G/PIp7ixVDflHYMxxvw0Pc+lvVcNycyge/s/Dx48QFZWFsLCwgy6X5VKhUJ1jUrto1D9D1QqlcFrK05qamqJyyRJ0npcUFCAwsJCrbbCwkIsWbIEarVaqz0/P19vf2q1GkuWLJH3UVhYiKVLl+rtU1dhYSFiY2MxderUUtcri9jYWK3+Y2NjIUlSsePSXaYZq+72hqirIoobi7FqqajyjsEYY36anueitWhURU080n2K6AaxWq3WOpr9t23T0tLkgNZsqxvYutRqNQ4fPlyxgnUcOXJEq//Dhw9rten2qbu+bv2GqqsiihtLdVPeMRhjzE/T81zae9WQquRIt379+qhfvz4WLVpk0P2GhYXhsupOpfZhamYBB4cmBq+tOEOHDtWaXvg3JiYmWsFrZmaGpk2blil4TUxM0Lx5c/zxxx9Qq9XytprHJTEzM4Onp2eZayzNa6+9hoMHD8r9e3p6QpIkuU23z6LLdOs1ZF2GGkt1U94xGGPMT9PzXLQWjaqoiUe6VcjGxqbEZSYmJlqPa9SoATMz7d+BpqamCAoK0muvWbOm3v7MzMwQFBQEU1NTedvAwED5cUlMTU0xYsSIUtcpqxEjRmj1P2LECK023T5119et31B1VURxY6luyjsGY4z5aXqeS3uvGhJDtwpZWlqiVq1a8uO6devK/+/Tpw/q1KkjP3799dfh5eUFExMT2NrawsTEBF5eXrC3t0evXr3k9WxtbbXW0+jVqxfs7e3Rs2dPeVsHBwf5cdG+NfvRrNegQQODjNfKykqr/wYNGmi16fapu75u/Yaqy1BjqW7KOwZjjPlpep5Le68aEkO3itnY2MDS0hIODg4ICQmR/z9ixAiEhITAxMQEdnZ28pGfo6MjAgMD4ejoKP+GHTFiBBwcHGBpaYmgoCCt9RQKBZRKpda6uts6OjoiODgYlpaWsLW1hVKp1OvDUHT7L9pWXJ8l1fs0HFk+TbVUVHnHYIwxP03Pc2nvVUMxkXS/vfk/6enp6NmzJxITE0v9mFwczZkBVTWnW9uup1Z7zo1EANBrL07OjUS8LGhOt6qeByJ6ev1bdvJIl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCWRWFTvt1atXVey22uHzQES6qiR0e/ToURW7rXb4PBCRLk4vEBEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEgghi4RkUAMXSIigRi6REQCMXSJiAQyM3YB5VXwzwPk3EjUawOg117S9kATwxdGRFQG1Sp0HRwcim2/f98cANCgQYMy7KVJifshIqpq1Sp0J06caOwSiIgqhXO6REQCMXSJiARi6BIRCcTQJSISiKFLRCQQQ5eISCCGLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYukREAjF0iYgEYugSEQlU4j3SCgoKAAAZGRnCiiEiqu40manJUF0lhm5mZiYAwNfXtwrKIiL6b8vMzISdnZ1eu4kkSVJxG/zzzz9ITk6GtbU1atSoUeUFEhH9FxQUFCAzMxNOTk6wsLDQW15i6BIRkeHxizQiIoEYukREAjF0iYgEYugSEQnE0CUiEoihS0QkEEOXiEigcoduXl4ePvzwQ7i5uaFr165Yt25dVdQlXF5eHvr3748ff/zR2KVUSlpaGqZMmQI3Nzd4eHhg8eLFePz4sbHLqrDU1FS89dZbcHFxgaenJz7//HNjl2QwH3zwAcaMGWPsMipt3759UCqVWv+mTZtm7LIqLD8/H4sWLULHjh3RsWNHzJ07F3l5eQbbf4l/BlySyMhInD9/Hhs3bkRGRgaCg4PRtGlT9OvXz2BFifb48WMEBgbi2rVrxi6lUvLy8jBlyhS89NJLiI2Nxb179/D+++8DAEJDQ41cXfnl5+dj4sSJ6NixI+bNmweVSoXAwEA0btwYAwcONHZ5lXLy5Ens3LkT7u7uxi6l0q5du4ZevXph7ty5clutWrWMWFHlREZGIjExETExMTAxMUFQUBBWrVqFmTNnGmT/5TrSzcnJwY4dOxAWFgYnJyd4eXnhnXfewZdffmmQYozht99+g4+PD9LS0oxdSqVduHABaWlpWLRoEVq2bAl3d3fMmDED8fHxxi6tQu7cuQNnZ2fMnTsXdnZ28PT0RJcuXfDTTz8Zu7RKycnJwYcffghXV1djl2IQqampUCqVsLa2lv/Vq1fP2GVVyN9//43t27djwYIF6NChA1xdXeHv749Lly4ZrI9yhe6VK1eQl5eHDh06yG0dOnTAxYsXS7yiztPuzJkz6NixI7766itjl1JpDg4OWLt2LerUqSO3mZiY4O+//zZiVRVnY2ODTz/9FBYWFpAkCefOncNPP/2Ezp07G7u0SomKioK7u/t/4igXeHLgYm9vb+wyDOLcuXOwtLREly5d5DZvb2+DTmuVa3ohMzMTzz//vNZHh0aNGiE/Px/37t1D48aNDVaYKKNGjTJ2CQZjZWWl9WYpLCzEl19+qdVWXXl4eODu3bvw9PTE66+/buxyKiwpKQnfffcd9u3bhw0bNhi7nErLy8vDzZs3cfjwYSxfvhySJOGNN95AQEAAzM3NjV1euaWlpaFp06bYt28fVq9ejZycHLzxxhuYOXOmwcZTriPd3NxcvY41jw050UyGsWjRIly+fBlBQUHGLqXSYmJiEBMTg0uXLmHRokXGLqdC8vLyMHv2bLz//vt4/vnnjV2OQdy4cQNqtRq1a9dGdHQ0goODER8fX21fo0ePHiE9PR1ffvkl5s2bh48++ggHDhzAJ598YrA+ynWkW6tWLb1w1Ty2tLQ0WFFUOZIkYeHChdi+fTuWL1+OVq1aGbukSmvbti2AJ5ccDQkJQXBwcLU7klq1ahXs7OzQp08fY5diMK1atcKpU6fQoEEDAEDr1q0hSRICAwMxe/ZsmJmV+7t6ozIzM0N2djY++eQT2NraAgCCg4MRHByMsLAwmJpW/izbcj0jTZo0wd9//428vDz5DZ+ZmQlzc/P/zG/u6q6wsBCzZ89GfHw8oqKi4OXlZeySKuzOnTtITk5Gz5495baWLVsiPz8f2dnZsLKyMmJ15RcfH4/MzEy4uLgAeHJ2RkFBAVxcXJCUlGTk6ipOE7gamtcoKyur2k05Nm7cGGZmZnLgAoC9vT0eP36MrKwsNGrUqNJ9lCu2X375ZdSsWVPrDXLu3Dm0adOm2v1G+69avHgx4uPjER0djd69exu7nEpJTU3F9OnTce/ePbnt0qVLsLKyqnaBCwBbtmzBvn37sGfPHuzZswfDhg2Dk5MT9uzZY+zSKiwhIQFdunTR+gSckpKCevXqwdra2oiVVUz79u2hVqtx9epVuS01NRV16tRB/fr1DdJHuULX0tISgwcPxrx583DhwgUkJiZiw4YNGDt2rEGKoco5f/48Nm3ahICAADg5OSEzM1P+Vx25ubmhZcuWCA0NRWpqKg4fPoylS5diypQpxi6tQpo1awY7Ozv5X7169WBhYVHsLV2qCzc3N0iShDlz5uD69es4cuQIIiMjMWHCBJiYmBi7vHJr0aIFevbsibCwMCQnJ+Ps2bNYsmQJfHx8DHZgWe47R+Tm5uKjjz5CQkIC6tSpg/Hjx2P8+PEGKcbYlEolNm7cWG2/7Y+IiCjxG/FLly5Vy08jt2/fxrx583DmzBnUqVMHo0ePxqRJk6rlD7SuqKgo/Pzzz9iyZYuxS6mUlJQULFq0CMnJyahbty6GDx8OPz+/avsaZWdnY+HChUhISICZmRkGDx6MwMBAg32HwNv1EBEJxAveEBEJxNAlIhKIoUtEJBBDl4hIIIYuEZFADF0iIoEYuvRM+eCDDxAVFaXVJkkSoqKi0LlzZ7i5uSEiIkLrUqUPHjxAQEAAXF1d0aNHD+zevVtetmvXLnh4eOj1M3/+fLRv3x5nz56tusFQtcTQpWfGunXrsHPnTr32L774Art378aKFSuwcuVK7Nu3D+vXr5eXh4aG4sGDB9i+fTumTZuGOXPm4Oeffy6xn5UrV2LHjh2Ijo7GK6+8UiVjoeqr+v2JElE5ZWdn4/3338epU6fw4osv6i3ftGkTpk+fDjc3NwBAUFAQli1bhkmTJiEtLQ2HDx9GQkIC7OzsoFQqkZSUhG3bthV754ft27cjJiYGUVFRePXVV6t8bFT98Ej3GXHz5k1MnjwZLi4u8PDwwOrVqwEAGRkZmDFjBtzd3dGxY0fMnz9fvpHlrl27MHLkSKxcuRKdOnVChw4dEB4ejsLCQgBP/kT3nXfegaurK9zd3REWFoZHjx4BeHJ0qHsdX6VSKd/4s0ePHvjqq6/w5ptvwtnZGRMmTMCtW7fg7++Pdu3aYfDgwUhNTZW3PXv2LIYOHQpnZ2f069evXBeJSU9Px+PHj7Fr1y40b95ca9mdO3dw+/ZtrSPSDh06ICMjA7dv38Yvv/wCa2trresjdOjQAefPn9frZ//+/ViwYAEWLlyodaH106dPw8PDA3FxcejatSvc3NywYcMGnD59Gm+88QZcXFwQFhYmP6/038bQfQbk5eVhwoQJMDMzw1dffYWFCxfi888/x+7duzFu3Djk5ORg8+bNWL58OY4dO4bFixfL2168eBGpqanYtm0b5syZg61bt+L48eMAnsxbmpmZIS4uDhs2bEBSUpIc5mWxYsUKzJo1C1u3bkVycjKGDBmCV199FTt37oSpqSk+/fRTAE8uHzpp0iQMGDAA8fHx8PPzQ3h4OL7//vsy9dO6dWusWbMGNjY2ess0FwMqeglCzeX7MjIykJmZqXd5woYNGyIjI0Or7eTJk3jvvffQq1cvDBkyRK+fe/fu4cCBA9i8eTMmTpyIJUuWICIiAhEREYiMjMTevXtx5MiRMo2HqjdOLzwDfvzxR9y9exdxcXF47rnnoFAoMGfOHBQWFiIjIwNfffWVfNm6OXPmYMqUKZg1axYAQK1WY/78+Xjuuefg4OCAL774AhcvXkT37t1x69YtKJVKNGvWDObm5li5cmW5LnIyaNAgdO3aFQDg7u6O+/fvY/jw4QCAgQMHyvOvW7duRceOHTFu3DgAgJ2dHVQqFTZt2oQePXpU6rn5559/AEDrYiZF74ZS0t1S8vPzoblsycOHD+Hn5wcXFxckJibiypUraN26tdY2arUawcHBaNmyJZo0aYKlS5fC19cX7dq1A/DkGrQqlarS46GnH490nwG//fYbbG1t8dxzz8ltAwcOxN27d2Fra6t1nVBXV1cUFBTg999/B/DkAtVFt6tbty7UajUAYNKkSdi/fz86deqEgIAAXLlypVw3KCz6Ub9WrVpo2rSp1mPNNVpVKhWOHz8OFxcX+d+aNWvkGiujuNtNFb0bSkl3S7GwsJB/weTk5GDkyJHYtGkT2rRpg5CQEOTn55c4XgsLCwDQGq+FhQVvefWM4JHuM6BmzZrFtmt++IvSnCqlmV8sblvNEV7//v3RpUsXHDp0CMeOHUNYWBhOnDiBxYsX6x3xaoK6KN1LTZZ0KxS1Wo1+/fph2rRpZVq/PJo0aQIA+PPPP+W7KGumHKytrdGkSRP8+eefWtv8+eefWhfotra2xnvvvQcAWLBgAby9vbF69WpMnz5da7saNWoYvH6qfviqPwNatGiBmzdvIjs7W25bsWIF1q5di7S0NDx48EBuP3/+PGrUqKF1u5KSREVFISMjAz4+Pli5ciXCw8Px7bffAngS1pov1YAnX+RVlL29PW7cuKF1AfATJ07g66+/rvA+NZo0aYKmTZvi3Llzctu5c+fQuHFjvPjii2jfvj3u3LmD9PR0reWaaQFAOzwVCgUmTpyINWvW4PLly5Wuj/57GLrPgG7duuGFF17ABx98gNTUVBw9ehRbtmzB+++/jxYtWiA4OBhXrlzB6dOnER4ejr59++rd96o4KpUK8+fPR0pKClQqFRISEtCmTRsAT24keerUKZw8eRLXrl1DeHh4hS8CPWrUKKSkpGDp0qX4/fff8d133+GTTz6Rj1Ira+TIkVi2bBlOnjyJM2fOYNmyZfLdUJo3b45u3bohJCQEV65cQVxcHOLj4zF69OgS9zd16lTY2toiNDS02GkGerZxeuEZUKNGDcTExGD+/PkYMmQIGjZsCD8/P/Tt2xfOzs5YsGABhg8fjtq1a2PAgAEIDAws034/+ugjzJ8/H2+99Rby8vLQqVMnLF26FMCTL8l+/vlnTJs2DXXr1kVAQADS0tIqVH+zZs2wZs0aLFmyBBs3boS1tTWmT5+OUaNGVWh/uiZMmICsrCwEBATA1NQU3t7emDBhgrw8MjISs2fPho+PDxo1aoTw8HD55pLFMTc3x4IFC+Dr64uYmBh06tTJIHXSfwPvHEFEJBCnF4iIBOL0AlVrfn5+8l+5FScoKAi+vr4CKyIqHacXqFq7e/cucnNzS1xuZWWldZ4xkbExdImIBOKcLhGRQAxdIiKBGLpERAIxdImIBGLoEhEJ9L+UN5CScx6IGgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.consume_100Km)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('consume_100Km', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 531, + "metadata": {}, + "outputs": [], + "source": [ + "q_low = df_train[\"consume\"].quantile(0.01)\n", + "q_hi = df_train[\"consume\"].quantile(0.99)\n", + "\n", + "df_train = df_train[(df_train[\"consume\"] < q_hi) & (df_train[\"consume\"] > q_low)]" + ] + }, + { + "cell_type": "code", + "execution_count": 532, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.consume, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('consume', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of consume', fontsize=20);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### distance outliers" + ] + }, + { + "cell_type": "code", + "execution_count": 533, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEmCAYAAACnG32nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABM40lEQVR4nO3dd1wU19oH8B9lly4CAkoRGwvCUoQoEbtiw2hAY+JrLyiJPcUeLyLGQowmehXFws2NRIOiRCNWjIYYy5VuWRULggUWECkLLAvz/rHuyLqUxYVF9Pl+PiQ7Z87MPLOL+zDnzJyjwTAMA0IIIUQFms0dACGEkJaPkgkhhBCVUTIhhBCiMkomhBBCVEbJhBBCiMoomRBCCFEZJROCrVu3wsHBQe7H0dER7u7uGDJkCFauXIl79+4pbJeVlQUHBwfMnj37jY6bmpqKv//+u0Exnj17tlGOXZ+///4bqamp7PKVK1fg4OCA7777rkmO19gkEgk2bNiAXr16wcXFBSNHjmzwPs6ePQsHBwds3bqVLVu6dCkcHBxw69atBu+vvLwce/fubfB2pGXQbu4AyNtj0KBB6Nq1KwCgqqoKxcXFEAgEiIqKwtGjR/HTTz+hf//+bP1WrVph7ty56NSpU4OPdf78eXzxxRdYsmQJevfuXW/9Hj16YO7cuejYsWODj9VQv/76K4KDg7Ft2za2zNraGnPnzoWbm1uTH78xHDp0CHv37kXHjh3h7+8PMzOzRtmvj48PrK2t0aZNmwZvO3HiRDx48ADTp09vlFjI24WSCWH5+Phg9OjRCuUXLlzAnDlz8OWXXyImJgZ2dnYApMlk3rx5b3Ss/Px8VFVVKV3fy8sLXl5eb3SshsrLy1Mos7GxeeNzbQ43b94EAPzrX/+Ct7d3o+3Xx8cHPj4+b7RtTe8reXdQMxepV79+/bBgwQKIRCJs3769ucMhShCLxQAAExOTZo6EvC8omRClTJw4ETo6Ojh9+jQkEgmAmvstJBIJ/v3vf2PkyJFwd3dHjx49MGPGDFy6dImts3TpUixbtgwAsG7dOjg4OCArK4vtl/j111/x1VdfwdXVFb1790ZCQoJCn0l1p0+fxsiRI+Hi4oKhQ4di586dqKiokKvj4OCAjz/+WGHbw4cPw8HBAf/5z38AAJMmTcK///1vAMCcOXPg4OAAoPY+kwcPHuCbb76Bt7c3+Hw+fHx8EBoaiqKiIrl6sr6GFy9eICgoiO3LGD16NE6dOqXUZwAAFy9exLRp0+Dh4QFXV1f4+/sjMjKSvcqTfSZHjhwBAPj5+cHBwQFXrlypc7/Xrl3DlClT4OnpCW9vb6xfvx5lZWUK9WrqM0lLS0NgYCB69+7NfgYbN25EcXGxXEyPHz9GUVERHBwcsHTpUnb7O3fuYNGiRejXrx/4fD48PDwwbtw4hfdF9jtw7949bNq0Cf379wefz8eIESOwf/9+hVgrKysRERGBUaNGwd3dHf369cOiRYuQmZkpV49hGOzfvx/+/v5wdXVF9+7d8fnnn7NXd0Q51MxFlKKnpwcnJyckJSXh1q1bcHFxqbFeSEgIDhw4gB49eqBv374oKipCbGwsZsyYgYiICHh5ecHHxweFhYWIi4tD79694e7ujlatWuHx48cAgG3btkFfXx8TJ05Eeno6nJ2d8c8//9R4vOTkZPz5558YMGAAevbsib/++gubNm2CQCDA5s2bG3ye/v7+AICrV6/C19e3zv6glJQUTJ06FWVlZRgwYABsbW2RnJyMPXv24M8//8T+/fvRunVruW2mTZuGgoICDB8+HCKRCMeOHcOCBQuwe/fuevuOfvnlF6xZswZGRkYYPHgw9PX1ER8fj9WrV+PatWvYtGkT24919uxZCAQCfPbZZzA3N4e1tXWt+/3rr78we/ZscLlcDB06FFpaWjhy5Aj++OOPet+vBw8eYNq0adDU1MSwYcPQqlUrJCUlYdeuXUhLS8PPP//MxvTzzz+jvLwcs2bNYvvmUlNTMWnSJHC5XAwZMgSmpqbIyMhAXFwc5s+fjx07dmDAgAFyx1y0aBGePHmCIUOGQFtbG0ePHsWqVaugpaWFTz/9FIC0zy8wMBDx8fHo0qULPvnkEzx//hyxsbG4fPkyDh06BEtLSwDAkiVL8Pvvv8Pe3h7jxo1DaWkpTpw4gXHjxmHnzp3o2bNnve8DAcCQ996WLVsYHo/HREdH11lv/vz5DI/HY+Li4hiGYZjMzEyGx+MxX3zxBcMwDFNUVMQ4OjoyEyZMkNsuNTWV4fF4zLx589iy6OhohsfjMREREWzZ5cuXGR6Px7i5uTE5OTk1xnjmzBm5Y/N4PObnn39m65WWljKTJ09meDwe8/fff7PlPB6PGTVqlMI51RTH68eqHtuaNWsYhmEYiUTCDBkyhHFycmIuXLggt8/vv/+e4fF4zLJly9iyJUuWMDwej/nkk0+YkpIStvzo0aMMj8djFi5cqBBbdY8ePWKcnJyY/v37M48ePWLLS0pK2PM9cuSIwvFu3rxZ534lEgkzcOBAxt3dnbl9+zZbnpGRwXh7ezM8Ho/ZsmVLrftdv349w+PxmEuXLsntd9asWQyPx2Pu3LnDlg0YMIDx9PSUqzd9+nTGycmJSU9Plys/fvw4w+PxmK+++ootk30uAwYMYPLy8tjyhIQEhsfjMWPHjmXLDh48yPB4PGb+/PlMeXk5W37s2DGGx+MxISEhDMMwTGxsLHuciooKtt6jR4+YHj16MH369JHbntSOmrmI0rhcLgCwzRevq6qqAsMwePr0KYRCIVvu4uKCs2fP4ocfflDqOB4eHjA3N1eqbvv27TFhwgR2WVdXF19++SUA4NixY0rt400kJSXh4cOHGDFiBPr27Su3bv78+bC0tMSxY8fYvguZCRMmQF9fn13u168fALBXZbU5evQoJBIJ5syZA1tbW7ZcX18f3377LQAgOjq6weeRkpKCrKws+Pv7g8fjseXt27fHlClT6t1e1ryWlpYmV75u3TpcunQJ9vb2dW4/depUfP/99+jcubNcuexmi5o67ceMGQNTU1N22cPDQ+7KFgCOHz8OAFi+fDn7ewsAI0aMwOeffw4PDw8A0rveAGDFihXQ1n7VUGNra4tx48YhOzu71qtiIo+auYjSSkpKAEDuy7C6Vq1awdfXF8ePH8eAAQPQrVs39O3bFwMGDECXLl2UPo6NjY3Sdd3c3KClpSVX5uzsDE1NTQgEAqX301CyPoPu3bsrrONyuWwCvX//PhwdHdl1r9/abGRkBAAKSed1snOp6Xj29vZo1arVG52vbBs+n6+wTvaFWxd/f3/s378fGzduxL59+9C3b1/07dsXvXr1qvX3pLo+ffoAAIRCIQQCAR49eoQHDx4gISEBgLTf43U13R5uaGgo90eOQCCAlZUV25Qlo6Ghwf6xAQA3btyAjo4OIiMjFfb54MEDANLPuvot8aRmlEyI0mR/+VX/y/h1GzZsAJ/Px+HDh3H16lVcvXoVGzduBJ/Px5o1a9i28rro6OgoHVNNzztwOBzo6OhAJBIpvZ+Gkn1xGRoa1rjewsICAFBaWipXXv2vZED65QZIO4GVOZ4s+dR0vIyMjHqiVlRYWAgAMDAwUFhnbGxc7/aOjo6IiorCjh07cOHCBURFRSEqKgr6+vqYPHkyFi5cyJ5jTZ48eYI1a9bg3LlzYBgGmpqa6NChAzw9PWvtAH/9PQSk72P197CwsFCpZ2GKiorYm0Zq8+LFi3r3QyiZECUVFBQgPT0drVq1qvMqg8PhYPr06Zg+fTqePHmCixcv4uTJk/j7778RGBiIuLg4cDicRotL9mVYXVFREUpLSxW+DGt6ruX1L3tlyb58s7Oz64zr9Q74N1X9eNWbeGRevHjxRsdq1aoVACjcfQZA6WTs6OiIH3/8EWKxGElJSfjrr79w+PBh7NixA5aWlhg/fnyN2zEMg8DAQKSnpyMwMBA+Pj6wt7eHrq4ucnNzcfDgwQafj4y+vj57JV3TecmumvT19WFgYIDz58+/8bGIFPWZEKVERUVBIpFg+PDhCs1KMpmZmdi0aRP+/PNPAICVlRXGjh2LPXv24MMPP0R2djaysrIAoM6/Vhvi9bZ6QNqfAUibu2Q4HE6NieP120SVjU12hZWYmKiwrqqqCgkJCdDX16/zLqqGkDWVyZp/qsvIyIBQKKy3f6Imsuatms7j+vXr9W4fExODkJAQMAwDLpcLLy8vLFq0iB2CpaZ4ZW7fvo07d+5g8ODB+PLLL+Hi4gJdXV0AYIfvqe+KrTY8Hg9PnjyR67uT8fPzw9ChQwFIbxl/9uxZjfXOnz+PzZs3N2lz6buEkgmp16VLl9jbdQMDA2utp6uri127duGnn36S6wMQi8UQCoXgcrlsx7qss/P150Ea6s6dOzhx4gS7XFxcjB9//BEaGhpyT/N36tQJWVlZuHv3Llv2+PFjxMTEKOxTFltd/Rienp6ws7PD6dOnceHCBbl1W7ZswdOnTzF8+PAam2TexMcffwxtbW3s2LFDLgGKRCKsXr2ardNQLi4u6NKlC44dOyaXUHJycpQaRys5ORn79u2T+wwAsH80WFlZsWUcDod9Rgl41VyVn58vt21BQQFCQ0MBQK5+Q4waNQoMw2Djxo1y/S4nTpxARkYGe7uvv78/GIZBSEiI3Oedk5ODoKAghIeH19gESBRRMxdhnT17lu0XkY3NdfPmTVy7dg26urrYvHlznX9pm5ubY8qUKYiIiMBHH32Efv36QVNTE/Hx8bh37x5mz57N9jHIOkb379+PFy9eYNKkSW8Uc/v27fHNN9/g7NmzMDExwZ9//omsrCzMmjULrq6ubL1PP/0UISEhmDRpEj766COIxWKcOHECPB4P165dk9unLLawsDDcunULc+fOVTiupqYm1q9fjxkzZuDzzz/HgAED0L59eyQlJSE5ORmdO3fG4sWL3+icamJra4slS5bgu+++g7+/P3x8fKCvr4+//voLmZmZGDFiBPz8/Bq8Xw0NDaxduxZTp07FlClTMHToUBgaGuLMmTNKdaAHBATgxIkT+Oabb3Dy5EnY2dnh8ePHOH36NMzNzTFx4kS2roWFBR4+fIhvvvkGvXv3xqhRo+Dq6or//e9/GD9+PDw8PPD8+XOcPXsWYrEYenp6eP78eYPPCQA++eQTnD59GjExMbh9+za8vLyQnZ2N06dPw8bGhu2EHz16NM6dO4dTp07h9u3b6NOnDyQSCU6cOIGCggJ8/fXXdfYRklcomRBWXFwc4uLi2GU9PT1YW1tj4sSJmDJlCtq3b1/vPhYtWgQ7OzscPHgQR44cQWVlJbp06YL169ezDwQC0ruSJkyYgN9//x2RkZHw9vautfmsLv3794eTkxN27NiBx48fo0OHDlizZg3Gjh0rV2/ixImorKzEr7/+igMHDqBdu3YIDAxEz549FcYj8/X1xYULF3D+/Hn8+uuvcnFX5+HhgUOHDmH79u34559/EB8fDysrK3zxxReYOXNmo/9FO3nyZHTo0AF79uzB6dOnwTAMOnfujMDAQHzyySdvvF83Nzfs378fP/74I86fPw8NDQ0MGTIEfn5+csmgJjY2Nti/fz+2b9+OxMREnDt3DiYmJhg1ahTmzp0rdzfVokWLsHz5cpw8eRJ5eXnw8/PD9u3bsWnTJly8eBE3btxA27Zt0bdvX3zxxRf44YcfcPbsWTx69Eip373qtLS0EBYWhj179rC/Y4aGhhg5ciS++uortj9NQ0MDW7ZsQWRkJA4fPoyDBw9CV1cXXbp0wbRp0954HLL3kQbzpo2ShBBCyEvUZ0IIIURllEwIIYSojJIJIYQQlVEyIYQQorL38m6usrIyXL9+Hebm5m90BxEhhLyPKisrIRQKwefz2QdMZd7LZHL9+nW5kWYJIYQoLzIyEh988IFc2XuZTGRPYUdGRqJt27bNHA0hhLQMz549w4QJE2qcIuK9TCaypq22bds2aLhzQgghqLF7gDrgCSGEqIySCSGEEJVRMiGEEKIySiaEEEJURsmEEEKIyiiZEEIIURklE0IIISp7L58zeZ8Ui8QQlclPfaqvqw1D/caZTpYQQgBKJu88UZkEOc9FcmUWJvqUTAghjYqaud4TWTnFyMopbu4wCCHvKEomhBBCVEbJhBBCiMoomRBCCFEZJRNCCCEqo2RCCCFEZZRMCCGEqIySCSGEEJWpNZmIxWKsXLkS3bt3R69evbBr1656t7l27Rr69++vUP7f//4XQ4YMQbdu3fDZZ58hMTGxCSImhBCiDLUmk9DQUCQnJyMiIgLBwcEICwvD8ePHa61/+/ZtLFiwAFVVVXLlv//+O3766Sd89dVXiImJQY8ePRAQEIDs7OymPgVCCCE1UFsyEYlEiIqKwrJly8Dn8+Hj44OAgADs27evxvoHDhzAuHHjYGZmprDuyJEjGD9+PIYNGwY7Ozt8/fXXMDc3x7lz55r6NAghhNRAbclEIBBALBbD09OTLfP09ERaWhoqKysV6v/111/YsGEDpk6dqrBu4cKF+PTTTxXKi4qKGjVmQgghylFbMhEKhTA2NoaOjg5b1qZNG1RUVCAvL0+h/vbt2zFkyJAa9+Xu7g5bW1t2+a+//sLDhw/Rs2fPxg+cEEJIvdSWTEpLS8Hlyo9UK1sWi8VvvN8HDx5gyZIl8PPzg4uLi0oxEkIIeTNqSyY6OjoKSUO2rKen90b7vHPnDiZNmoROnTph9erVKsdICCHkzagtmVhaWqKwsFAuoQiFQnC5XBgbGzd4f2lpaZg0aRI6duyI8PBwueYzQggh6qW2ZNK1a1dwOBwkJSWxZQkJCXB2doa2dsPm6MrMzERAQACcnJwQHh4OAwODxg6XEEJIA6gtmejp6cHPzw/BwcFITU1FXFwc9u7di8mTJwOQXqWUlZUpta/g4GDo6+tj9erVKC4uhlAohFAoRElJSVOeAiGEkFqo9aHFZcuWwcXFBVOmTEFQUBDmzJkDX19fAEDv3r0RGxtb7z6Ki4sRHx+PJ0+ewMfHB71792Z/wsPDm/oUCCGE1ECDYRimuYNQt6ysLAwaNAhxcXGwsbFp7nCaVE6+CDnPReyUvTYWhrAw0YeFqX4zR0YIaWnq+u6kgR4JIYSojJIJIYQQlVEyIYQQojJKJoQQQlRGyYQQQojKKJkQQghRGSUTQgghKqNkQgghRGWUTAghhKiMkgkhhBCVUTIhhBCiMkomhBBCVEbJhBBCiMoomRBCCFEZJRNCCCEqo2RCCCFEZZRMCCGEqIySCSGEEJVRMiGEEKIySiaEEEJUptZkIhaLsXLlSnTv3h29evXCrl276t3m2rVr6N+/v0L55cuXMXLkSLi5uWHSpEnIyMhogogJIYQoQ63JJDQ0FMnJyYiIiEBwcDDCwsJw/PjxWuvfvn0bCxYsQFVVlVz506dP8cUXX2DUqFGIjo5GmzZtMHv2bIV6hBBC1ENtyUQkEiEqKgrLli0Dn8+Hj48PAgICsG/fvhrrHzhwAOPGjYOZmZnCuqioKDg6OmLmzJno0qUL1q5di6dPn+Ly5ctNfRqEEEJqoLZkIhAIIBaL4enpyZZ5enoiLS0NlZWVCvX/+usvbNiwAVOnTlVYl5KSgu7du7PLenp6cHZ2RlJSUpPETgghpG5qSyZCoRDGxsbQ0dFhy9q0aYOKigrk5eUp1N++fTuGDBlS674sLCzkyszMzJCdnd24QRNCCFGK2pJJaWkpuFyuXJlsWSwWN8q+GrofQgghjUNtyURHR0fhy162rKen1yj70tXVVS1IQgghb0RtycTS0hKFhYVySUAoFILL5cLY2LjB+xIKhXJlubm5MDc3b5RYCSGENIzakknXrl3B4XDkOskTEhLg7OwMbW3tBu3Lzc0NiYmJ7HJpaSlu3rwJd3f3xgqXEEJIA6gtmejp6cHPzw/BwcFITU1FXFwc9u7di8mTJwOQXqWUlZUpta8xY8YgJSUFYWFhSE9Px4oVK2BlZYWePXs25SkQQgiphVofWly2bBlcXFwwZcoUBAUFYc6cOfD19QUA9O7dG7GxsUrtx8bGBlu3bsXvv/+OMWPGIDc3F9u3b4emJo0OQwghzUGDYRimuYNQt6ysLAwaNAhxcXGwsbFp7nCaVE6+CDnPRcjKKQYA2FgYwsJEHxam+s0cGSGkpanru5P+lCeEEKIySiaEEEJURsmEEEKIyiiZEEIIURklE0IIISqjZEIIIURllEwIIYSojJIJIYQQlVEyIYQQojJKJoQQQlRGyYQQQojKKJkQQghRGSUTQgghKqNkQgghRGWUTAghhKiMkgkhhBCVKZVM8vPzmzoOQgghLZhSyaRPnz4ICAhATEwMiouLmzomQgghLYxSyeTYsWPo1q0bdu/ejV69emH+/Pk4deoUxGJxU8dHCCGkBVAqmXTq1Alz5szBH3/8gYMHD8Le3h7h4eHo1asXlixZgvj4eLyHU8kTQgh5qcEd8KampjAzM4OJiQnEYjEePXqE1atXw8fHB1euXKlzW7FYjJUrV6J79+7o1asXdu3aVWtdgUCAzz77DG5ubhg9ejRSU1Pl1u/fvx+DBg2Ch4cHZsyYgYyMjIaeCiGEkEaiVDLJy8tDZGQkJk2ahH79+uHgwYPw8vLCyZMnsX//fpw5cwaDBw/G119/Xed+QkNDkZycjIiICAQHByMsLAzHjx9XqCcSiRAQEAA3NzccPnwYnp6eCAwMZPtr4uPjERoaiuXLlyM6Ohr6+vqYPXv2G5w+IYSQxqCtTKU+ffrA2toaI0aMwKpVq9C5c2eFOj179sSdO3dq3YdIJEJUVBR27NgBPp8PPp+PgIAA7Nu3DyNGjJCrGxsbCw6Hg6VLl0JTUxPLly/HhQsXcOLECYwdOxYXLlxAz549MWjQIADA3LlzMWrUKOTm5qJNmzYNOX9CCCGNQKkrkwMHDuDMmTNYuHAhm0gKCwvl6vTr1w979+6tdR8CgQBisRienp5smaenJ9LS0lBZWSlXNyUlBR4eHtDUlIanoaEBDw8PJCUlAQBat26NhIQEpKenQyKRICYmBtbW1mjdurUyp0MIIaSRKZVM2rVrhxkzZmDz5s1s2fDhwxEYGKj0MyhCoRDGxsbQ0dFhy9q0aYOKigrk5eUp1LWwsJArMzMzQ3Z2NgBg0qRJsLe3x4gRI+Dq6oqoqChs27YN2tpKXWgRQghpZEolk6CgIADAJ598wpZFRkZCIpFgzZo1Sh2otLQUXC5Xrky2/PotxrXVldXLzc1FWVkZ1q9fj99++w2DBg3CvHnzUFBQoFQshBBCGpdSyeTKlSv49ttvYWtry5Z16NABy5cvR3x8vFIH0tHRUUgasmU9PT2l6urq6gKQJrdBgwbB398fLi4uWLt2LQAgOjpaqVgIIYQ0LqWSiYGBAbKyshTKs7OzweFwlDqQpaUlCgsL5ZKEUCgEl8uFsbGxQl2hUChXlpubC3NzcwBAWloaHB0d2XXa2tpwdHREZmamUrG8z0yMdKCro9XcYRBC3jFKJZMxY8ZgxYoViI6OhkAggEAgwOHDh7FixQr4+/srdaCuXbuCw+GwnegAkJCQAGdnZ4W+Djc3NyQlJbEPQjIMg8TERLi7uwMALCwskJ6eztZnGAb3799H+/btlYrlfScqkyAnXyT3Uyyi0QwIIW9OqR7refPmgWEY/PDDD2yHu6mpKSZPnoyZM2cqdSA9PT34+fkhODgY69evh1AoxN69exESEgJAepViZGQEXV1dDBs2DD/88ANCQkIwfvx4REVFoaSkBL6+vgCAcePGYceOHejYsSO6dOmCX3/9FXl5efDz83uDt+D9U1ouQUlphVyZhYk+DPW5tWxBCCF1UyqZaGpqYuHChVi4cCHy8/PB5XJhaGjY4IMtW7YMq1atwpQpU2BgYIA5c+awCaJ3795Yt24dRo8eDUNDQ+zcuRNBQUE4ePAgHBwcEB4ezh5z2rRpAIANGzYgLy8Pzs7O+O9//wtTU9MGx/Q+y8qRPgRqY9Hwz5IQQqrTYJQcVOvevXu4fv06JBKJwjhc1e/yagmysrIwaNAgxMXFwcbGprnDaVI5+SLkPBexicOlsxnEkiqUlFbIJRMLE31YmOo3Z6iEkLdcXd+dSl2ZhIeHY9OmTTA2NoaBgYHcOg0NjRaXTAghhDQupZJJREQEFi1ahBkzZjR1PIQQQlogpe7mqqiowJAhQ5o6FkIIIS2UUsnk448/RmRkJM1ZQgghpEZKNXM9f/4cp0+fxrFjx2Btba3woGJkZGSTBEcIIaRlUCqZdOrUCZ9//nlTx0IIIaSFUiqZzJ07l30tkUigpaUFDQ2NJguKEEJIy6L0tL2RkZEYPHgw3N3dkZWVhZUrV2LTpk2oqqpqyvgIIYS0AEolk4iICOzevRtz5sxhx9Hq1asXoqOj8eOPPzZlfIQQQloApWdaXL16Nfz8/NjmrWHDhiE0NBQxMTFNGR8hhJAWQKlk8uzZM3To0EGhvG3btgrT9xJCCHn/KJVM3N3dFSaeqqqqwu7du+Hq6tokgRFCCGk5lLqb69tvv8XMmTNx/vx5iMViBAUF4eHDhxCLxdi9e3dTx0gIIeQtp1Qysbe3x6lTp3D06FHcv38flZWVGDx4MEaNGqUw8CMhhJD3j1LJBJDOyz527NimjIUQQkgLpVQy6devX50PKZ4/f76x4iGEENICKZVMFi5cKLcskUiQmZmJI0eOKKwjhBDy/lEqmfj7+9dY3q1bN4SHh2PMmDGNGhQhhJCWRenhVGrSqVMn3Lhxo7FiIYQQ0kIpdWVy6dIlhbKSkhL8+uuvsLe3b/SgCCGEtCxKJZNp06YplHE4HLi4uGDNmjVKH0wsFiMkJAQnT54El8vF1KlTMXPmzBrrCgQCBAUFQSAQoHPnzli1apXcA5Lnzp3Dxo0b8fjxY3Tt2hXBwcFwcHBQOhZCCCGNR6lkIhAIGuVgoaGhSE5ORkREBJ49e4bFixfDysoKI0aMkKsnEokQEBAAX19frF27FgcOHEBgYCDOnDkDQ0NDpKWlYf78+Vi0aBH69u2LnTt3Yvbs2Th58qTCxF2EEEKanlLJJDMzU+kd2tra1lguEokQFRWFHTt2gM/ng8/nIyAgAPv27VNIJrGxseBwOFi6dCk0NTWxfPlyXLhwASdOnMDYsWOxe/duDB06FFOmTAEArFy5EqNGjcKDBw/A4/GUjpUQQkjjUCqZDB48mH3ORDYP/OvPnTAMAw0NDdy6davGfQgEAojFYnh6erJlnp6e2L59OyorK6GlpcWWp6SkwMPDA5qamuyxPDw8kJSUhLFjx+Ly5ctyzWsGBgaIi4tT5lQIIYQ0AaXu5vrxxx/RqVMnhIWF4cqVK0hKSsIvv/wCR0dHfPPNNzh79izi4uJw9uzZWvchFAphbGwMHR0dtqxNmzaoqKhAXl6eQl0LCwu5MjMzM2RnZ6OoqAgFBQVgGAazZs2Ct7c3pk+fjvv37zfkvAkhhDQipZLJhg0bsGbNGvTv3x/GxsbQ09PDBx98gJCQEERERMDa2pr9qU1paSm4XK5cmWxZLBYrVVcsFqOkpAQAsGbNGgwbNgzh4eEwMTHB1KlT2XWEEELUS6lkUlxcjMrKSoXyFy9eoKKiQqkD6ejoKCQN2bKenp5SdXV1ddnmsNGjR2P06NHg8/lYt24dysvL8eeffyoVCyGEkMalVJ/Jxx9/jMWLF2P+/PlwdHQEwzBIS0vD1q1bMX78eKUOZGlpicLCQojFYvaqQygUgsvlwtjYWKGuUCiUK8vNzYW5uTlMTEzA4XDQqVMndh2Xy4W1tTWePHmiVCyEEEIal1LJZMmSJeByuVi/fj0KCgoAAO3atUNgYCAmTJig1IG6du0KDoeDpKQkeHl5AQASEhLg7OzMzisv4+bmhrCwMLZTn2EYJCYmYubMmdDW1gafz8fNmzcxatQoAEB5eTmysrJgY2Oj7HkTQghpREo1c3E4HCxevBiXLl3CP//8g8TERPz555+YOHFinaMJV6enpwc/Pz8EBwcjNTUVcXFx2Lt3LyZPngxAepVSVlYGQDq/vEgkQkhICNLT07Fu3TqUlJTA19cXADBjxgz8+uuv+P333/HgwQOsXLkS+vr66N+//xu8BYQQQlSl9NhcAoEAK1euxIIFC1BUVIR9+/YhPj6+QQdbtmwZXFxcMGXKFAQFBWHOnDlsgujduzdiY2MBAIaGhti5cyeSkpLg7++PxMREhIeHw9DQEID0VuWgoCBs3boVH3/8MZ4+fYo9e/ZAX1+/QfEQQghpHEo1c8XHx2PevHkYPnw4UlJSIBaLkZ+fj/Xr12PdunUYOXKkUgfT09PDhg0bsGHDBoV1t2/fllt2dXXFkSNHat3XmDFjaLRiQgh5Syh1ZbJ582YsW7YM69atY++mmj9/PlasWIHt27c3aYCEEELefkolk/v378Pb21uhvFevXnj8+HGjB0UIIaRlUSqZ2NjYIDk5WaH83LlztY7FRd4uZWIJnuQWIyuniB0ShxBCGovS0/YuXrwYaWlpqKysRHR0NDIzM3Hq1Cl8//33TR0jUdG1W9mIuXAPlVUMjpy/BxsLQ0wc5tjcYRFC3iFKXZn4+Pjg119/RUFBAezt7XH+/HlUVVUhMjISw4cPb+oYiQpOXn6I6D/TUVn16mokK6cYO46kobBEXMeWhBCiPKWuTFasWIFZs2YhNDS0qeMhjSjjWSGiz6XXuK6gqBznEzMxsnenGtcTQkhDKHVlcubMGXY4eNIyMAyDPb9fR9XL/hFLU33M/JiPuZ+4QfacaWZ2MTKeFjVjlISQd4VSGWLq1KlYtWoVLly4gPT0dGRmZsr9kLdP0m0hku5IxzfT0AD6e9iAy9ECv7MZvF2t2HoXU5/INYERQsibqLWZKz4+Hl5eXuByudiyZQsA4OLFiwr16poQizSfo/H32Nfdu1qiTetXIzP7endAwq1slIkrUVBcDsHDfLQzM2iOMAkh74hak8n8+fMRGxuLdu3awcrKClu2bIGJiYk6YyNvKOe5CIm3c9jlfh42EJVJ2GUjfS4+5LfD+cQsAMCVG88wwJNu8SaEvLlak4mpqSlWrlwJPp+Pp0+f4o8//lCYd0RmwYIFTRYgabizVx9B9iiJU0dTmLbShaisWK5ODydLNpnczSxAznMRLExpbDNCyJupNZls3LgRu3fvRmJiIgAgOTkZHA5HoZ6yowYT9aiqYnDm6iN2uW+3moflN2mlC7u2Rsh4Ju2Av5D0GPzObdQSIyHk3VNrMunWrRu2bdsGABg4cCDCwsKomasFuJP5HLkFpQCkzVndeObILyyrsa5zJzM2mfzv5jMwjCv9cUAIeSNK3c117tw5SiQtxOW0p+zrD/ltoa1V+0fcvq0RdDjSgTvzXpThbmZBU4dHCHlH0cMj7xCGYXCpejJxaVdnfS1NTXS0asUu/51C0x4TQt4MJZN3SGZ2EZ7klgAAdLlacLc3r3ebzjat2dcXUx7TIJCEkDdCyeQdcvn6M/a1p6MluC+bsOpia2kIXR1pvZznpbj3+EWTxUcIeXdRMnmHVH+2xIvfVqlttDQ14djelF1OEGQ3elyEkHcfJZN3hKisAoKH+eyyO6/+Ji4Znl1r9nXCrZzaKxJCSC0ombwjrt/LY8fY6mRlDBMjXaW3tbc1geyG4NsZ+SgW0dD0hJCGUWsyEYvFWLlyJbp3745evXph165dtdYVCAT47LPP4ObmhtGjRyM1NbXGeteuXYOjoyOysrKaKuwWIalaE1c3B+WvSgDAUI+DDu2kd3VVMWAHiCSEEGWpNZmEhoYiOTkZERERCA4ORlhYGI4fP65QTyQSISAgAG5ubjh8+DA8PT0RGBiI4mL5IUHKy8uxYsUKugMJQNKdasmEZ9Hg7as//U79JoSQhlJbMhGJRIiKisKyZcvA5/Ph4+ODgIAA7Nu3T6FubGwsOBwOli5dis6dO2P58uUwMjLCiRMn5Opt2bIFZmZm6jqFt5bweSkeC6W3BHM5Wuja0bSeLRS5dHn1PiYKclBFw9ITQhpAbclEIBBALBbD09OTLfP09GTnla8uJSUFHh4e7IRcGhoa8PDwQFJSElsnLS0Nv//+O5YsWaKeE3iLXb+fy7526mCq1C3Br+vYzhhG+lwAwPOicjx4QrcIE0KUp7ZkIhQKYWxsDB0dHbasTZs2qKioQF5enkJdCwv5phozMzNkZ0ubXyoqKrBixQosXboUrVu3bvLY33bX7716//id3+xKTVNTQ66vpfptxoQQUh+1JZPS0lJwuVy5MtmyWCxWqq6s3s6dO9GuXTt89NFHTRhxy3H93qsrE1VG/vV0tGRfJwgomRBClFfrqMGNTUdHRyFpyJZfnyeltrq6urq4e/cufvnlF8TExDRpvC1FfmEZO4QKR1sTvPat33hf1a9Mbj3MR3FpBQz1FKcdIISQ16ntysTS0hKFhYVySUIoFILL5cLY2FihrlAof3tqbm4uzM3NcerUKRQVFcHX1xfdunXDxx9/DAD46KOPcPTo0aY/kbfMjWpNXA52JuBoN7y/RMbESBddbKSfRVUVg5S7dIswIUQ5aksmXbt2BYfDketET0hIgLOzM7S15S+Q3NzckJSUxN7yyzAMEhMT4e7ujokTJ+LEiROIiYlBTEwMwsLCAADh4eEYOHCguk7nrZFWrfOd30n1ya08qjV1JVG/CSFESWpLJnp6evDz80NwcDBSU1MRFxeHvXv3YvLkyQCkVyllZdJJnIYNGwaRSISQkBCkp6dj3bp1KCkpga+vL1q3bg07Ozv2x8rKCgBgZWUFQ0NDdZ3OW6MxOt+r61ZtGJak2zn0DA8hRClqfWhx2bJlcHFxwZQpUxAUFIQ5c+bA19cXANC7d2/ExsYCAAwNDbFz504kJSXB398fiYmJCA8Pfy+TRV1eFJcjM1s6U6K2lgYc7FSfwMzBzhR61UYRfvqyP4YQQuqitg54QHp1smHDBmzYsEFh3e3bt+WWXV1dceTIkXr3aWdnp7Dt++L6/VdXJfa2JtDlqv5xcrQ14dLZHFdvSoezT7qdAytzSuKEkLrRQI8t2I37jdvEJVP9ri4ap4sQogxKJi2Y3PMljdD5LuPh8OqB0dR0ISSVVY22b0LIu4mSSQtVLBLj4dNCANKn1x07qN5fItOujQEsTPUBAKXllbid8bzR9k0IeTdRMmmhbtzPg+xGqy42xtDXffOHC02MdNipewHpWGiv39VFCCF1oWTSQlXvfG+MJi5RmQQ5+SL2p5P1qwdJaZwuQkh91Ho3F2k81ZOJcyN0vpeWS1BSWsEumxvrQUMDYBggPasAhSVitDLg1rEHQsj7jK5MWiBRWQXuZxUAADQ0AKeOjXcnV1ZOMbJyiqGnq42OVtKrE4ahpi5CSN0ombRANx/kQzZ3VUcr4yYbjNG12gjEsudOCCGkJpRMWiD5IeebbqZJN/tXnfAJghy6RZgQUitKJi2Q3HhcnZoumdhaGqJNa+n0ACWlFbj5IK+eLQgh7ytKJi1MSWkF7mZKn/vQ0FBtMqz6aGhooIfTq1GEr9ygpi5CSM0ombQAxSIxe8vuP6lP2P6STtav5m1vKl7O7djX/7uRTaMIE0JqRMmkBRCVSZDzXISc5yIkVLuryrWLeR1bNQ6XLmbsKMJP80rYUYoJIaQ6SiYtSFZOMQQP89ll1y5N18Qlw9HWQrdqY3VRUxchpCaUTFqQ0nIJ8l5IJxDT0tSAU0dTtRzXy7kt+/p/N7PVckxCSMtCyaQFeSwsZl93tGql0nhcDeHpaAlNDelrQUY+CorK1XJcQkjLQcmkBXmc8yqZONqp56oEAIwNdeDYQXo8hqGmLkKIIkomLUhWtSuTrh3Ul0wAoKfLq7u6/krKUuuxCSFvP0omLURhSTnbvKStpYHONsb1bNG4+rhbQ+NlU1favVzkF5ap9fiEkLcbJZMW4t7jF+zr9m1bgaOtVUftxmdmrMcOdc8wwN/Jj9V6fELI202tyUQsFmPlypXo3r07evXqhV27dtVaVyAQ4LPPPoObmxtGjx6N1NRUdp1EIsFPP/2EgQMHwsPDA1OnTsW9e/fUcQrN5l7Wq2TS2Vq9VyUyfbtZs68vUFMXIaQatSaT0NBQJCcnIyIiAsHBwQgLC8Px48cV6olEIgQEBMDNzQ2HDx+Gp6cnAgMDUVws7TMIDw9HdHQ0Vq9ejUOHDqFt27YICAiASCRS5+moDcMwuJtZwC43VzLp5WYFbS1pW9edRwXIeDltMCGEqC2ZiEQiREVFYdmyZeDz+fDx8UFAQAD27dunUDc2NhYcDgdLly5F586dsXz5chgZGeHEiRMAgCNHjmD27Nno3bs3OnXqhNWrV6OgoADXrl1T1+moVVZOMQpLxAAAHY4WbCyNmiUOI30uPuS/6og/fSWjWeIghLx91JZMBAIBxGIxPD092TJPT0+kpaWhsrJSrm5KSgo8PDygqSkNT0NDAx4eHkhKSgIArF69Gj4+Pmx9TU1NMAyDoqJ3c6iPtGpDzttaGkFL9tBHMxjiZce+/jMhE+KKyjpqE0LeF2pLJkKhEMbGxtDR0WHL2rRpg4qKCuTl5SnUtbCwkCszMzNDdrb06euePXuiTZtXQ4kcPHgQEokEH3zwQROeQfOpPuS8XdvmuSqRcbM3h4WpPgCgSFSBi6lPmjUeQsjbQW3JpLS0FFyu/Ai3smWxWKxU3dfrAUBCQgI2bNiAWbNmwdLSUmF9Sycdcr6AXW7fzMlEU1MDQ7zas8u//3UPRSXl7KjGsp9ikeJnRQh5d6ktmejo6CgkA9mynp6eUnV1dXXlyq5cuYKZM2diwIABmDdvXhNE3fwSb+eg6uWw7+at9dQ2hEpdhn3YAVyO9Nbke1kvkHRHyI5qLPsRlUmaOUpCiDqpLZlYWlqisLBQLkkIhUJwuVwYGxsr1BUKhXJlubm5MDd/NeT6hQsXMHPmTPTr1w/ff/89NDSarx+hKV2+/pR93cGqVTNG8oqxoQ4GfWDLLp+6LO2Iz8opRla1IV8IIe8PtSWTrl27gsPhsJ3ogLSJytnZGdra2nJ13dzckJSUxE7ExDAMEhMT4e7uDkDaQT9v3jwMGzYMGzduVNj+XVEhqcK1W69G6e1k1Ty3BNfk436d2SfiU9NzkZXzbt78QAhRjtqSiZ6eHvz8/BAcHIzU1FTExcVh7969mDx5MgDpVUpZmXSIjmHDhkEkEiEkJATp6elYt24dSkpK4OvrC4ZhsHz5cnTp0gVff/018vPzIRQK5bZ/V6SmC9nmItNWujAz1q1nC/WxNjdEL1crdvnM1UfNGA0hpLmp9aHFZcuWwcXFBVOmTEFQUBDmzJkDX19fAEDv3r0RGxsLADA0NMTOnTuRlJQEf39/JCYmIjw8HIaGhrh79y7S09Nx48YN9O3bF71792Z/jh07ps7TaXKX0l41cTl1NH3rmvLGD3Vkh6a/86gAT4TUxEXI+0qt7UN6enrYsGEDNmzYoLDu9u3bcsuurq44cuSIQj0ej6dQ910kqaySSybOncyaMZqa2Voaob+nLc5dywQAxKc8xtiBvGaOihDSHGigx7dU8h0h+9S7iZGO2m8JNjHSga5O/YNJThjmCK629Ncot6AM1+/n1bMFIeRdRMnkLXUh8dVAij2c20KzGZq4RGWSep8fsTDRx4heHdnlK9ef4nnRu9V3RQipHyWTt1BZuUTuluAPndvVUfuVYpFY7ou/sKRcpeFOSsslSj0/MvTDDuzNAWJJFQ7G3WWfjSGEvB8ombyFLl1/ijKxNAnYWhrC1tJQbn1tTVCiMvkv/6ISMSoqq1SOp77nRzjamhg7yB6ya6cHTwpx/OIDlY9LCGk5KJm8hU5eesi+HuBpW+NdXK83QVW/CmmOhwft2raCp+Or8dR+v3AP/7tJc8UT8r6gZPKWefSsEDcf5AMAtDQ14NO9fY31Xm+CaqyrEFV84NQW1uYGAAAGwPf7ruFu5vNmjYkQoh6UTN4yp6rNEeLFbwuTVnU/qPg2DWGipamBoR92QGsj6cjQpeWVCAq/TJNoEfIeoGTyFhGVVeBstSfJh37YofmCeUN6OtqYOsIJBnrSASmLRGIs2/437jyiKxRC3mWUTN4iJy9lsHdLWZsbwN3evJ4t1EvZZ08sTfWx8LNu0NORPhNbJKrA8rCL+DvlcVOHSAhpJpRM3hIVkiocjb/HLvv3t4dmM86oWJu6Ov6r62RtjO++8IaRvnRemnJxJTb89xp2HE5FaTkNT0/Iu4aSyVvi3LVHyHshfdjPxEgHAzxtmjmimjWk49/e1gQb5vZGuzYGbNnxiw8wb+OfclMRE0JaPkomb4HyikrsP/1qvLFRfTuzk0+9rZTt+Le1NMKmBX3Rw6ktW5adL8Ly7Rfx/S/XaOh6Qt4RlEzeAn/E35e7Kvmo2vAkLdHrfSuG+lx8O70Hvvy/bmzHPAD8lfwYc0LPYfP+RDx48qI5QiWENJJ3c1apFiTvRSmi4u6wy+OGOEBXp+V/LKIyCcrK5ftSeji1hZu9OXYeSWNHRK5igHPXMnHuWiYc7UwwrGcH9HRp91ZMT0wIUV7L/9Zq4XbFXJe7g2uIl10zR9Q4SsslKCmtkCuzMNGHhak+lk/tgdsZ+Yg8KUDSnVfTMwsynkOQ8Rz/PpgCd545vF3aoYdzWxgb6qg7fEJIA1EyaUYXU5/gYuoTdnn2J27Q1nq3Wh5l/Sounc3kmr4c7EyxOtAb1249Q+w/D5EoyEFllXRwSEmldLria7eyoaEBdO1giu5ObfFBV0vYtTV66yYJI4RQMmk2z/JKsPW3JHZ5UHdbuHZ5u54raWyvN33p6mihrakBRvfvgiE92uPmw3xcvZGNx9VmbGQY4OaDfNx8kI+fj9+EiZEO+J3M4NnVEh/y28n1wRBCmg8lk2YgKqvAuv/8DyUvm7csTPQQMIrfzFE1vdebvkyMdNjbiguKxRjqZYcBnrbIfFaEi2lPcP/xCzzLE8nt43lROeJTniA+5Qm0NJPh2MEUno4W+KCrJTq0a0VXLYQ0E0omaiauqMR3EVdx/+XdS9paGlgyuTsMXz7c9z6QNX2ZGNXcF2JqrItuPAt041mgvaUhUtNzkZqeizuPClBe7QHJyioGN+7n4cb9PPw39hZMW+nC09ECnl0t4W5vTlcthKgRJRM1KhaJsSbiKm5Um9r2izFu4LU3acao3m7Ghjrw4rcDv3MbPHpWhOx8EUrLK3Dr4XM8fG0AyfzCMpy5+ghnrj6ClqYGHDuYwsPBAvzOZrC3bQ2O9tv97A4hLZlak4lYLEZISAhOnjwJLpeLqVOnYubMmTXWFQgECAoKgkAgQOfOnbFq1Sq4urqy62NjY7F582bk5OTA29sba9asgZmZmbpOpcEEGfnYFJmIp3klbNlk367vzN1b6qCpqYF2bQzg0tkMowdooqhEjOv385B2Lxc3H+TLNaFVv2oBpBN4dbFpDaeOprBvb4L2lkZo18bgnbvhgZDmotZkEhoaiuTkZERERODZs2dYvHgxrKysMGLECLl6IpEIAQEB8PX1xdq1a3HgwAEEBgbizJkzMDQ0RGpqKpYuXYpVq1bByckJ3333HRYvXow9e/ao83SUkveiFPtP38aZKxmoqjaT7bSPnOHfv3PzBdbClZZLUF5RCXvb1rC3bY2pIzi4m/kCKXeFuPPoOR4LS+TqV0iqcOthPm49zGfLtDQ1YGVuABsLI7RprQfTVrowbaUD01a6MDbUgb4uBwa62tDT0YYWJR1C6qS2ZCISiRAVFYUdO3aAz+eDz+cjICAA+/btU0gmsbGx4HA4WLp0KTQ1NbF8+XJcuHABJ06cwNixY7Fv3z4MGTIEo0ePBiBNUv3790dGRgbs7Jr/L/0XxeVIuiPEP6lPcOXGM1RVyyL6utqY96k7ertZN2OE747qtx53sjaGpak+nDqaQVRWgWJRBZ7kluDBkxd4kluisG1lFYPM7GJkZtc/LIwuV0uaXPS0XyYZDvR1pa/1dLRfvtaGng6n2mvpen2dV8uUlBRVVTGQVFZBUlmFCon0hozSsgqUiSuhoaEBTU0NaGpooJUBB0YGLf+Zo2KRmH22TEZfV7vF95uqLZkIBAKIxWJ4enqyZZ6enti+fTsqKyuhpfWqPTslJQUeHh7Q1JT+w9PQ0ICHhweSkpIwduxYpKSkYPr06Wz9du3awdraGklJSU2eTERlFbj1MB+l5RKUlklQWi6BqFyC3IJSPMsrwdPcEuQ8L61xW3eeOeaOdYelqX6TxkgAfV0OvJzbwsiAi1YGOigoKseth3m49fA5Mp4VIjO7CMJaPqealIkrUSauRL6K83xxOVpsYuFoa0JbUxPa2hrQ1tJkf7S0pMucaq+1tTShrS2rIy3T0tQAXrt5TaNaAQMGDAMwVQyqGIBhGFQxL8uYGsqqpK8BsHfFabz8j4ZGtT1rSI8ju3GuqoqBWFKFCkklKiqqUFFZBXFFJSokVS9/pK/FklcJQyKR1pNIqtjni+qjAent5Lpc6funqyP9v56ONnS5WmwZV1sTOlxt6HA0weVoQYejBe7LH20tjWoJSnpemi+XNTQAzZcnVVnFgHn5vlS9fF+qXl9+ed7l4kqUV0he/r9S7v9lYsnL/1eiXCxBmbhSeou8WCI9b+bVyWlqgI1Th6MFHe6r2HW5WtDhaENXR1quy5Wes46snKsFbW1NaGpoQEvr1Tlpab5Kxlovz1FPRxu2lo3/vJbakolQKISxsTF0dF79ZdGmTRtUVFQgLy8PFhYWcnU7dpQfn8rMzAwCgQAAkJOTI1dftj47O1upWCorpXcEPXvWsDnKS8oqsGzbRYjKKuqvXI19exN85N0RTp1MUSHKR5Yov/6Nqsl7UYa8F6WQ/d3y7Gk5xJVVKC2TvFNlTbH/HC1N9gtCXxPwdtRDjy46qKwyR1m5BMICEQqKy1FQWI4XJeUoLBGjqKQConLpHwrlL78ElPu6q18FgBIahuyNiUUAzdupuh5ObTHL36XB28m+M2XfodWpLZmUlpaCy5W/jJMti8ViperK6pWVldW5vj5CoXQIjwkTJih/Aip4AOD0f9RyKEIIqdeDc8Bv/37z7YVCoUIrkNqSiY6OjsKXvWxZT09Pqbq6urpKra8Pn89HZGQkzM3N5ZrXCCGE1K6yshJCoRB8vuJD1mpLJpaWligsLIRYLGavKoRCIbhcLoyNjRXqyq4eZHJzc2Fubs6uz83NrXV9fXR1dfHBBx+86akQQsh7q7Z+abXdWtK1a1dwOBwkJb0ajyohIQHOzs7Q1pbPaW5ubkhKSgLzsjOQYRgkJibC3d2dXZ+QkMDWf/r0KZ48ecKuJ4QQol5qSyZ6enrw8/NDcHAwUlNTERcXh71792Ly5MkApFcpZWXSCaKGDRsGkUiEkJAQpKenY926dSgpKYGvry8A4P/+7//wxx9/ICoqCrdv38aSJUvQt29fdOjQQV2nQwghpBoNRvbnvxqUlpZi1apVOH36NAwMDDB9+nT2Fl8HBwesW7eOfXYkNTUVQUFBSE9Ph4ODA1atWiXXTnfkyBFs2bIFBQUF8Pb2RkhICExNTdV1KoQQQqpRazIhhBDybqLHcQkhhKiMkgkhhBCVUTIhhBCiMkomzUQsFmPlypXo3r07evXqhV27djVrPI8ePcLnn3+O7t27o2/fvli/fj3Ky8sBAI8fP8b06dPh7u6O4cOH48KFC80W57fffotJkyaxywKBAJ999hnc3NwwevRopKamqj2miooKrFu3Dl5eXvDy8kJQUBD7UG1zv3cvXrzAN998gx49eqBPnz7YuHEjOxRGQUEB5s+fDw8PDwwcOBBHjhxRW1xisRgfffQR/vnnH7asvnjU+VnXFN+NGzcwadIkdOvWDQMHDsTOnTtRVVWl9vhqiq266dOnY+nSpXJlly9fxsiRI+Hm5oZJkyYhIyOj0eOiZNJMqg/HHxwcjLCwMBw/frxZYhGLxfj888/B5XJx4MABbNy4EWfPnsXmzZvBMAxmz56N1q1b49ChQ/D398f8+fORmZmp9jgvXbqEgwcPssuyqQrc3Nxw+PBheHp6IjAwEMXF9Y8C3JhCQ0Nx5swZbN++HWFhYYiPj8e2bdveivcuODgY2dnZ2LdvH77//nvExMQgIiICALB06VIUFBRg//79mD17Nv71r38hMTGxyWMqLy/HV199hbt378qV1xWPOj/rmuIrKCjAzJkzwePxcPjwYaxcuRJ79+5FZGSkWuOr7b2TOXToEC5evChX9vTpU3zxxRcYNWoUoqOj0aZNG8yePVsuETYKhqhdSUkJ4+Liwly8eJEt27ZtGzNu3Lhmied///sf4+zszBQXF7NlR48eZby9vZl//vmHcXFxYYqKith1U6ZMYTZt2qTWGEtKSphBgwYx48aNYyZOnMgwDMMcPHiQ6d+/P1NZWckwDMNUVVUxgwcPZqKiotQW14sXLxhnZ2fm77//Zsuio6OZGTNmvBXvnYeHB3PmzBl2ed26dcyMGTOYjIwMhsfjMQ8fPmTXLV++nPn666+bNJ67d+8yo0aNYkaOHMnweDz230B98ajrs64tvpiYGKZPnz7s8RmGYcLCwpixY8eqLb7aYpPJzs5mvL29mTFjxjBLlixhy3/88Ue57xaRSMR069ZNYXtV0ZVJM6htOP60tLQaR+Nsap06dUJ4eDgMDAzYMg0NDRQWFiIlJQVOTk4wNDSUizU5OVmtMW7evBk9evRAjx492LK6pipQl4SEBOjp6cHb25stGz16NHbv3v1WvHetW7fG0aNHUVpaiuzsbMTHx8PZ2RkpKSkwNzeXGxpDHbFdvXoVXl5e+O233+TK64tHXZ91bfH16NEDmzZtYo8vi6GwsFBt8dUWm8yqVaswfvx4hYe3U1JS0L17d3ZZT08Pzs7Ojf7eUTJpBvUNx69upqamcl+GVVVV2LdvH7y9vSEUCmsc7r+hw/erIikpCSdPnsSSJUvkymuLTdmpCBrDo0ePYGVlhT/++AMjRozAgAEDsGHDBojF4rfivQsKCsLVq1fh4eGBvn37ok2bNpg3b16zxTZ+/HgsX75cYXDX+uJR12ddW3zt2rWTG8+vrKwMUVFR7L8bdcRXW2yAdELBzMxMzJo1S2Gdut47tU7bS6QaMhx/c1i3bh1u3bqFQ4cOISIiAhwOR249l8tFRUXD5nR5U2KxGCtWrMDy5csVBgStb6oCdSgpKUFWVhb27duH4OBglJSUIDg4GBKJBKWlpc363gHSZOfk5IQ5c+aguLgYISEh2LBhA1q3bl3je1dRUQGGYRp94qT61PZZyuJ5Gz5rmcrKSixatAilpaX44osvADTv72J+fj7Wrl2Lbdu2Kfy+qTM2SibNoCHD8asTwzD47rvvsH//fvz000+wt7eHjo6OQidiQ4b7V9W2bdtgZ2eH4cOHK6xTdSqCxqCtrY3i4mJ8//33aN++PQBg8eLFWLx4Mfz9/Zv1vXv06BHWrl2Lc+fOoW3btgCk79n06dOxcOHCWt87dScSWVx1xfM2fNayY37zzTf4+++/8Z///Icdqbw54/vuu+8wbNgwuLm51bi+tthat27dqHFQMmkGDRmOX12qqqqwYsUKHDt2DJs3b4aPjw8bq2yGS5mGDPevqmPHjkEoFKJbt24ApLfhVlZWolu3bvjoo4/qnKpAHSwsLKCtrc0mEgDo2LEjysvLYW5ujjt37jRbfNevX4eRkRGbSADpXD6VlZUQi8UqTePQ2OqbVqK+aSnUoaysDHPmzEFycjJ2794t9+XdnPH98ccf0NXVRXR0NIBXf5impaXh+PHjtcZmb2/fqHFQn0kzaMhw/Oqyfv16HDt2DFu3bsWQIUPYcjc3NwgEAohEIrYsISFBbcP9//LLL/jjjz8QExODmJgYjB07Fnw+HzExMfVOVaAO7u7ukEgkuH37Nlt27949GBgYwN3dvVnfOwsLCxQWFiInJ0cuNgDo27cvsrOzkZWVJRdbbX/dNjV3d/c643kbPutvvvkGqampiIiIkLt5prnjO336NI4ePcr+G+nXrx8GDhyI8PBwNrbqt3yXlpbi5s2bjR4bJZNmUN9w/OqWnJyMn3/+GfPnzwefz4dQKGR/evToASsrKyxduhR3795FeHg4UlJSMHbsWLXEZm1tDTs7O/anVatW0NXVhZ2dXb1TFahDhw4dMGjQICxbtgzXr1/HtWvXsHHjRnz66afo2bNns7537u7u4PF4WLx4MQQCAZKTk7Fy5Up8/PHHcHV1Re/evbFkyRIIBAJER0fj2LFjmDhxolpie52trW2d8TT3Zx0bG4szZ85g5cqVaNeuHfvvIz8/v9njq/7vw87ODvr6+jAwMIC1tTUAYMyYMUhJSUFYWBjS09OxYsUKWFlZoWfPno0bSKPeaEyUJhKJmMWLFzPu7u5Mr169mD179jRbLOvXr2d4PF6NPxUVFczDhw+ZCRMmMHw+n/H19WXi4+ObLdZNmzaxz5kwDMOkpKQwfn5+DJ/PZ8aMGcOkpaWpPaaioiJm6dKljIeHB9OjRw9m7dq1THl5OcMwTLO/d8+ePWPmz5/P9OjRg+nVqxcTEhLClJaWMgzDMLm5uUxgYCDj4uLCDBgwgImJiVFrbK8/K1FfPOr+rKvHN2/evBr/ffTp06dZ4qvpOROZr7/+Wu45E4ZhmPPnzzNDhw5lXF1dmUmTJjEZGRmNHhMNQU8IIURl1MxFCCFEZZRMCCGEqIySCSGEEJVRMiGEEKIySiaEEEJURsmEEEKIyiiZEKKizZs3Y9KkSTh8+DD69u2r1DaXL19WGGqFkJaMkgkhjcTX1xcxMTFK1Z0yZYrCWFSEtGQ00CMhjURXV1fto9gS8ragKxNCGig9PR3/93//Bzc3N0ybNg0FBQUAoNDM9dNPP6FPnz5wcXHBZ599xg7sOXDgQADAtGnTsHXrVgBAdHQ0hg8fDj6fDy8vLwQFBUEikQCQzo2+Zs0afPXVV3B3d0ffvn1x+PBh9jilpaVYvXo1PvzwQ3Tv3h2LFy9mh74Xi8X47rvv8OGHH8LLywsLFiygKyLSJCiZENIAYrEYs2bNgo2NDQ4fPgwfHx8cPHhQod6ZM2cQGRmJjRs3IjY2Fk5OTpg/fz6qqqpw6NAhAMCPP/6I6dOn49q1awgODsaXX36JU6dOITg4GIcPH8bp06fZ/R04cABdu3bFsWPHMHToUKxatYpNYv/6179w6dIl/Pvf/8Yvv/yCu3fvYv369QCATZs2ITk5GTt37sQvv/wChmEQGBgIGkWJNDZq5iKkAf755x88f/4cq1atgoGBATp37owrV67g+fPncvUeP34MbW1tWFlZwdbWFl9//TWGDBmCqqoqmJqaAgCMjY1hYGAAXV1dfPfdd+zQ/9bW1oiIiEB6ejq7Px6Ph5kzZwIAFixYgP/+97+4e/cuHB0dERsbi127drHTygYHB+Pq1asoLS3Fvn37EBUVBScnJwBAaGgovLy8kJCQIDcNLSGqomRCSAOkp6fD1tYWBgYGbBmfz0d8fLxcvREjRmD//v0YPHgwXFxcMHDgQHzyySc1zlfD5/Ohq6uLLVu2ID09Hbdv30ZGRgY+/PBDto6trS372tDQEAAgkUjw4MEDSCQSODs7s+tdXV3h6uqKO3fuoKKiAhMmTJA7Xnl5OR48eEDJhDQqSiaENNDrTUQ1JQhzc3McP34cly5dwoULF/Dbb78hMjIS0dHRsLS0lKsbHx+P2bNnw8/PD3369MGcOXMQHBwsV6emub0ZhlGY27u6yspKANIJxoyMjOTWya6OCGks1GdCSAPY29vj0aNHePHiBVt28+ZNhXrnz5/Hb7/9hj59+uDbb7/FqVOnUFJSgoSEBIW6Bw8ehL+/P0JCQjB27Fh07twZjx49UioeGxsbaGlpycXwzz//YOjQoey658+fsxMnmZqaYt26dXj8+PEbnD0htaNkQkgDeHt7w8rKCsuXL0d6ejoOHTqEU6dOKdSrqqpCaGgoTp48iaysLBw9ehRisRiOjo4AAH19fdy9exdFRUVo3bo1kpKSIBAIcPfuXSxduhRCoZCdy7suhoaGGD16NNauXYvk5GTcvHkT33//PT788EMYGRlh7NixCAkJwaVLl3Dv3j0sWbIEd+7cQYcOHRr7rSHvOUomhDQAh8NBeHg4iouLMXr0aERFRWH8+PEK9QYOHIiFCxciNDQUw4YNQ0REBH744Qd06tQJADB16lT88MMP2Lp1K+bOnQsLCwuMGzcO06ZNA4fDwYQJE2q84qnJsmXL4OLigoCAAEybNg18Ph9LliwBIL2tuFevXvjyyy/xySefoLy8HHv27KHnYUijo5kWCSGEqIyuTAghhKiMkgkhhBCVUTIhhBCiMkomhBBCVEbJhBBCiMoomRBCCFEZJRNCCCEqo2RCCCFEZZRMCCGEqOz/AVO4H0ktA79VAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.distance, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 617, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " warnings.warn(\n" + ] + }, + { + "ename": "TypeError", + "evalue": "Horizontal orientation requires numeric `x` variable.", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# box plot of the variable consume\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mboxplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf_train\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdistance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m# notation indicating an outlier\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py\u001b[0m in \u001b[0;36minner_f\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 44\u001b[0m )\n\u001b[0;32m 45\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0marg\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparameters\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 46\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 47\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0minner_f\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 48\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36mboxplot\u001b[1;34m(x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth, whis, ax, **kwargs)\u001b[0m\n\u001b[0;32m 2238\u001b[0m ):\n\u001b[0;32m 2239\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2240\u001b[1;33m plotter = _BoxPlotter(x, y, hue, data, order, hue_order,\n\u001b[0m\u001b[0;32m 2241\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpalette\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaturation\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2242\u001b[0m width, dodge, fliersize, linewidth)\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth)\u001b[0m\n\u001b[0;32m 404\u001b[0m width, dodge, fliersize, linewidth):\n\u001b[0;32m 405\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 406\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mestablish_variables\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morder\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhue_order\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 407\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mestablish_colors\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcolor\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpalette\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaturation\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 408\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\categorical.py\u001b[0m in \u001b[0;36mestablish_variables\u001b[1;34m(self, x, y, hue, data, orient, order, hue_order, units)\u001b[0m\n\u001b[0;32m 154\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 155\u001b[0m \u001b[1;31m# Figure out the plotting orientation\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 156\u001b[1;33m orient = infer_orient(\n\u001b[0m\u001b[0;32m 157\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morient\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrequire_numeric\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrequire_numeric\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 158\u001b[0m )\n", + "\u001b[1;32m~\\anaconda3\\lib\\site-packages\\seaborn\\_core.py\u001b[0m in \u001b[0;36minfer_orient\u001b[1;34m(x, y, orient, require_numeric)\u001b[0m\n\u001b[0;32m 1319\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msingle_var_warning\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Vertical\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"x\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1320\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mrequire_numeric\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mx_type\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;34m\"numeric\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1321\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnonnumeric_dv_error\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Horizontal\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"x\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1322\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;34m\"h\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1323\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: Horizontal orientation requires numeric `x` variable." + ] + } + ], + "source": [ + "# box plot of the variable consume\n", + "ax = sns.boxplot(df_train.distance)\n", + "\n", + "# notation indicating an outlier\n", + "ax.annotate('Outlier', xy=(9,0), xytext=(8,-0.05), fontsize=14,\n", + " arrowprops=dict(arrowstyle='->', ec='grey', lw=2), bbox = dict(boxstyle=\"round\", fc=\"0.8\"))\n", + "\n", + "# xtick, label, and title\n", + "plt.xticks(fontsize=14)\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20)" + ] + }, + { + "cell_type": "code", + "execution_count": 535, + "metadata": {}, + "outputs": [], + "source": [ + "q_low = df_train[\"distance\"].quantile(0.01)\n", + "q_hi = df_train[\"distance\"].quantile(0.99)\n", + "\n", + "df_train = df_train[(df_train[\"distance\"] < q_hi) & (df_train[\"distance\"] > q_low)]" + ] + }, + { + "cell_type": "code", + "execution_count": 536, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\pinil\\anaconda3\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# histogram and kernel density estimation function of the variable consume\n", + "ax = sns.distplot(df_train.distance, hist=True, hist_kws={\"edgecolor\": 'w', \"linewidth\": 3}, kde_kws={\"linewidth\": 3})\n", + "\n", + "plt.xticks(fontsize=14)\n", + "plt.yticks(fontsize=14)\n", + "\n", + "# labels and title\n", + "plt.xlabel('distance', fontsize=14)\n", + "plt.ylabel('frequency', fontsize=14)\n", + "plt.title('Distribution of distance', fontsize=20);" + ] + }, + { + "cell_type": "code", + "execution_count": 537, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
consume-19.328871100.000000-10.660054-14.960494-40.515699-3.3176824.54282527.351497-19.047784-0.639884
rain-4.11181927.3514972.659649-2.075481-17.1970775.74685420.559670100.000000-10.9984222.075743
AC2.8964574.542825-1.10055635.05109620.5729969.916979100.00000020.55967011.1880644.206289
consume_100Km97.784761-0.63988447.2155991.415629-2.614758-17.2570734.2062892.0757433.747622100.000000
gas_type-15.443003-3.317682-10.2466552.61174417.052824100.0000009.9169795.7468540.473920-17.257073
speed47.216761-10.660054100.0000003.985971-0.453907-10.246655-1.1005562.6596499.60327747.215599
temp_inside4.069561-14.9604943.985971100.00000035.4393412.61174435.051096-2.07548123.1731431.415629
sun8.265346-19.0477849.60327723.17314331.3151660.47392011.188064-10.998422100.0000003.747622
distance100.000000-19.32887147.2167614.0695616.752227-15.4430032.896457-4.1118198.26534697.784761
temp_outside6.752227-40.515699-0.45390735.439341100.00000017.05282420.572996-17.19707731.315166-2.614758
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "consume -19.328871 100.000000 -10.660054 -14.960494 -40.515699 \n", + "rain -4.111819 27.351497 2.659649 -2.075481 -17.197077 \n", + "AC 2.896457 4.542825 -1.100556 35.051096 20.572996 \n", + "consume_100Km 97.784761 -0.639884 47.215599 1.415629 -2.614758 \n", + "gas_type -15.443003 -3.317682 -10.246655 2.611744 17.052824 \n", + "speed 47.216761 -10.660054 100.000000 3.985971 -0.453907 \n", + "temp_inside 4.069561 -14.960494 3.985971 100.000000 35.439341 \n", + "sun 8.265346 -19.047784 9.603277 23.173143 31.315166 \n", + "distance 100.000000 -19.328871 47.216761 4.069561 6.752227 \n", + "temp_outside 6.752227 -40.515699 -0.453907 35.439341 100.000000 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "consume -3.317682 4.542825 27.351497 -19.047784 -0.639884 \n", + "rain 5.746854 20.559670 100.000000 -10.998422 2.075743 \n", + "AC 9.916979 100.000000 20.559670 11.188064 4.206289 \n", + "consume_100Km -17.257073 4.206289 2.075743 3.747622 100.000000 \n", + "gas_type 100.000000 9.916979 5.746854 0.473920 -17.257073 \n", + "speed -10.246655 -1.100556 2.659649 9.603277 47.215599 \n", + "temp_inside 2.611744 35.051096 -2.075481 23.173143 1.415629 \n", + "sun 0.473920 11.188064 -10.998422 100.000000 3.747622 \n", + "distance -15.443003 2.896457 -4.111819 8.265346 97.784761 \n", + "temp_outside 17.052824 20.572996 -17.197077 31.315166 -2.614758 " + ] + }, + "execution_count": 537, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "corr = (df_train.corr().sort_values('consume', ascending=False))*100\n", + "corr" + ] + }, + { + "cell_type": "code", + "execution_count": 538, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10.5, -0.5)" + ] + }, + "execution_count": 538, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAAJ2CAYAAADc0XPTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACweUlEQVR4nOzdd1xV9R/H8RfDhYiiDBU1Z6b9NBuOypUzzZGjco/S3OZMFNyaWzNxT9xarkzFmZl7NJQclXuxBEQZcoH7+wO7eYOroBccvJ+Px308POd8zjmfczjAx8/3nION0Wg0IiIiIiJyn+3TTkBEREREni0qEEVERETEjApEERERETGjAlFEREREzKhAFBEREREzKhBFRERExIwKRBEREZFnyN27d2nQoAHXrl1LsuzMmTM0a9aMunXr4uXlRVxcHAA3btygdevWvP/++3Tr1o3IyMgnykEFooiIiMgz4vfff6dly5ZcunQp2eUDBw5k6NChbN++HaPRyNq1awEYOXIkrVq1ws/Pj//973/MmjXrifJQgSgiIiKSxiIiIrh27VqST0REhFnc2rVrGT58OG5ubkm2cf36dWJiYihXrhwATZs2xc/PD4PBwLFjx6hbt67Z/Cdh/0Rri4iIiDyn/qpcN9325fdJA3x8fJLM79mzJ7169TJNjx071uI2goKCcHV1NU27uroSGBhIWFgYjo6O2Nvbm81/EioQRURERNJY+/btadKkSZL5Tk5OKd5Gcn8d2cbGxuL8J6ECUURERDImm/S7087JySlVxWBy3N3dCQkJMU0HBwfj5uZG7ty5uXv3LvHx8djZ2ZnmPwndgygiIiLyHPDw8CBLliycOHECgI0bN1K1alUyZcrEW2+9xdatW83mPwkViCIiIiLPsM6dO3Pq1CkAJk+ezLhx46hXrx7R0dG0a9cOgOHDh7N27Vrq16/P8ePH6dOnzxPt08aY3MC1iIiIyAvur6r1021fJfZtTbd9WYM6iCIiIiJiRg+piIiISMZk+2RP+r7I1EEUERERETPqIIqIiEiGZJOOr7l53ujMiIiIiIgZdRBFREQkY9I9iBapgygiIiIiZtRBFBERkYzpCf9e8YtMHUQRERERMaMOooiIiGRMtuqTWaIzIyIiIiJm1EEUERGRjEn3IFqkDqKIiIiImFEHUURERDIkG3UQLVIHUURERETMqEAUERERETMaYhYREZGMSa+5sUhnRkRERETMqIMoIiIiGZMeUrFIHUQRERERMaMOooiIiGRMtuogWqIOooiIiIiYUQdRREREMiYb9cks0ZkRERERETPqIIqIiEiGZKN7EC1SB1FEREREzKiDKCIiIhmT3oNokTqIIiIiImJGHUQRERHJmPQUs0U6MyIiIiJiRh1EERERyZj0FLNF6iCKiIiIiBkViCIiIiJiRkPMIiIikjHpNTcWqYMoIiIiImbUQRQREZEMycZWfTJLdGZERERExIw6iCIiIpIx6R5Ei9RBFBEREREz6iCKiIhIxqR7EC3SmRERERERM+ogioiISMakexAtUgdRRERERMyogygiIiIZkzqIFqmDKCIiIiJm1EEUERGRDEl/ScUynRkRERERMaMOooiIiGRMugfRInUQRURERMSMCkQRERERMaMhZhEREcmYbDXEbIk6iCIiIiJiRh1EERERyZhs1CezRGdGRERERMyogygiIiIZk+5BtEgdRBERERExow6iiIiIZEx6UbZF6iCKiIiIiBl1EEVERCRDstFTzBapQBQRERF5hmzevJnZs2djMBjo0KEDrVu3Ni07c+YMnp6epunQ0FBy5szJDz/8wMaNG5k8eTJ58uQBoHr16vTt2/exclCBKCIiIhnTM/gUc2BgINOmTWP9+vVkzpyZFi1aULFiRYoXLw5AqVKl2LRpEwDR0dF89NFHjBgxAoBTp07h6elJgwYNnjgP9VZFRERE0lhERATXrl1L8omIiDCLO3jwIJUqVSJXrlw4ODhQt25d/Pz8kt3m3LlzKV++PG+99RaQWCBu3LiRRo0aMWDAAG7fvv3Y+b7wBaKnpydz5syhc+fOFmPu3LlD9+7d0zErEREReepsbNLt4+vrS82aNZN8fH19zVIKCgrC1dXVNO3m5kZgYGCS1CMiIli7di09e/Y0zXN1daVXr15s2rSJfPnyMWrUqMc+NRliiNnNzY358+dbXH779m3Onj2bjhmJiIhIRtK+fXuaNGmSZL6Tk5PZtNFoTBJjk8zreDZv3kytWrVM9xsCzJw50/TvTp06UatWrcfO94UrEI1GI+PHj2fv3r24ubkRHx9PhQoVqFGjBnv27GHz5s0sWLAAOzs7ChQowKRJkxgzZgxBQUH06NGDmTNnMm3aNA4dOsTt27dxdnZmxowZuLq6Urly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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style=\"white\")\n", + "# Generate a mask for the upper triangle\n", + "mask = np.zeros_like(df_train.corr(), dtype=np.bool)\n", + "mask[np.triu_indices_from(mask)] = True\n", + "# Set up the matplotlib figure to control size of heatmap\n", + "fig, ax = plt.subplots(figsize=(10,10))\n", + "# Create a custom color palette\n", + "cmap = sns.diverging_palette(255, 10, as_cmap=True) # as_cmap returns a matplotlib colormap object rather than a list of colors\n", + "# Red=10, Green=128, Blue=255\n", + "# Plot the heatmap\n", + "sns.heatmap(df_train.corr(), mask=mask, annot=True, square=True, cmap=cmap , vmin=-1, vmax=1, ax=ax) # annot display corr label\n", + "# Prevent Heatmap Cut-Off Issue\n", + "bottom, top = ax.get_ylim()\n", + "ax.set_ylim(bottom+0.5, top-0.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Feature selection.2" + ] + }, + { + "cell_type": "code", + "execution_count": 540, + "metadata": {}, + "outputs": [], + "source": [ + "X = df_train[['speed', 'temp_inside','distance','consume', 'temp_outside',\n", + " 'gas_type', 'AC', 'rain', 'sun']].values\n", + "y = df_train['consume_100Km'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 541, + "metadata": {}, + "outputs": [], + "source": [ + "X_train,X_test,y_train,y_test = train_test_split(X,y, random_state=9, train_size = 0.8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Models pipelines" + ] + }, + { + "cell_type": "code", + "execution_count": 542, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# We train different model to see which give us less error\n", + "models = { \"ridge\": Ridge(),\n", + " \"lasso\": Lasso(),\n", + " \"sgd\": SGDRegressor(),\n", + " \"knn\": KNeighborsRegressor(),\n", + " \"gradient\": GradientBoostingRegressor(),\n", + " \"rdm\": RandomForestRegressor(),}" + ] + }, + { + "cell_type": "code", + "execution_count": 543, + "metadata": {}, + "outputs": [], + "source": [ + "# Building pipelins of standard scaler and model for varios regressors.\n", + "\n", + "pipeline_lr=Pipeline([(\"scalar1\",StandardScaler()),\n", + " (\"lr_classifier\",LinearRegression())])\n", + "\n", + "pipeline_dt=Pipeline([(\"scalar2\",StandardScaler()),\n", + " (\"dt_classifier\",DecisionTreeRegressor())])\n", + "\n", + "pipeline_rf=Pipeline([(\"scalar3\",StandardScaler()),\n", + " (\"rf_classifier\",RandomForestRegressor())])\n", + "\n", + "pipeline_kn=Pipeline([(\"scalar4\",StandardScaler()),\n", + " (\"rf_classifier\",KNeighborsRegressor())])\n", + "\n", + "pipeline_xgb=Pipeline([(\"scalar5\",StandardScaler()),\n", + " (\"rf_classifier\",XGBRegressor())])\n", + "\n", + "pipeline_ridge=Pipeline([(\"scalar6\",StandardScaler()),\n", + " (\"rf_classifier\",Ridge())])\n", + "\n", + "pipeline_lasso=Pipeline([(\"scalar7\",StandardScaler()),\n", + " (\"rf_classifier\",Lasso())])\n", + "\n", + "pipeline_xgbr=Pipeline([(\"scalar8\",StandardScaler()),\n", + " (\"rf_classifier\",GradientBoostingRegressor())])" + ] + }, + { + "cell_type": "code", + "execution_count": 544, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "code", + "execution_count": 545, + "metadata": {}, + "outputs": [], + "source": [ + "# Dictionary of pipelines and model types for ease of reference\n", + "pipe_dict = {0: \"LinearRegression\", 1: \"DecisionTree\", 2: \"RandomForest\",\n", + " 3: \"KNeighbors\", 4: \"XGBRegressor\", 5:\"Ridge\", 6:\"Lasso\",\n", + " 7:'GradientBoostingRegressor'}" + ] + }, + { + "cell_type": "code", + "execution_count": 546, + "metadata": {}, + "outputs": [], + "source": [ + "# Fit the pipelines\n", + "for pipe in pipelines:\n", + " pipe.fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 547, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LinearRegression: -0.047035 \n", + "DecisionTree: -0.093148 \n", + "RandomForest: -0.084951 \n", + "KNeighbors: -0.231354 \n", + "XGBRegressor: -0.072891 \n", + "Ridge: -0.047132 \n", + "Lasso: -0.504632 \n", + "GradientBoostingRegressor: -0.066258 \n" + ] + } + ], + "source": [ + "cv_results_rms = []\n", + "for i, model in enumerate(pipelines):\n", + " cv_score = cross_val_score(model, X_train,y_train,scoring=\"neg_root_mean_squared_error\", cv=10)\n", + " cv_results_rms.append(cv_score)\n", + " print(\"%s: %f \" % (pipe_dict[i], cv_score.mean()))" + ] + }, + { + "cell_type": "code", + "execution_count": 548, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar1', StandardScaler()),\n", + " ('lr_classifier', LinearRegression())]) R^2: 0.9925376978865574\n", + "Adjusted R^2: 0.9922880297861076\n", + "MAE: 0.02837607364261138\n", + "MSE: 0.0020482755913549078\n", + "RMSE: 0.04525787877657224\n", + "Pipeline(steps=[('scalar2', StandardScaler()),\n", + " ('dt_classifier', DecisionTreeRegressor())]) R^2: 1.0\n", + "Adjusted R^2: 1.0\n", + "MAE: 0.0\n", + "MSE: 0.0\n", + "RMSE: 0.0\n", + "Pipeline(steps=[('scalar3', StandardScaler()),\n", + " ('rf_classifier', RandomForestRegressor())]) R^2: 0.9937861379766549\n", + "Adjusted R^2: 0.9935782392472493\n", + "MAE: 0.014543322580645234\n", + "MSE: 0.001705599923050192\n", + "RMSE: 0.041298909465628655\n", + "Pipeline(steps=[('scalar4', StandardScaler()),\n", + " ('rf_classifier', KNeighborsRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n", + "Pipeline(steps=[('scalar5', StandardScaler()),\n", + " ('rf_classifier',\n", + " XGBRegressor(base_score=0.5, booster='gbtree',\n", + " colsample_bylevel=1, colsample_bynode=1,\n", + " colsample_bytree=1, gamma=0, gpu_id=-1,\n", + " importance_type='gain',\n", + " interaction_constraints='',\n", + " learning_rate=0.300000012, max_delta_step=0,\n", + " max_depth=6, min_child_weight=1, missing=nan,\n", + " monotone_constraints='()', n_estimators=100,\n", + " n_jobs=8, num_parallel_tree=1, random_state=0,\n", + " reg_alpha=0, reg_lambda=1, scale_pos_weight=1,\n", + " subsample=1, tree_method='exact',\n", + " validate_parameters=1, verbosity=None))]) R^2: 0.9999916674769973\n", + "Adjusted R^2: 0.9999913886936999\n", + "MAE: 0.0010687737832359861\n", + "MSE: 2.2871364923928635e-06\n", + "RMSE: 0.001512328169542862\n", + "Pipeline(steps=[('scalar6', StandardScaler()), ('rf_classifier', Ridge())]) R^2: 0.9925190981140424\n", + "Adjusted R^2: 0.9922688077163709\n", + "MAE: 0.028603398575988363\n", + "MSE: 0.002053380914011125\n", + "RMSE: 0.04531424625888778\n", + "Pipeline(steps=[('scalar7', StandardScaler()), ('rf_classifier', Lasso())]) R^2: 0.0\n", + "Adjusted R^2: -0.03345724907063197\n", + "MAE: 0.3432252283500982\n", + "MSE: 0.2744830697306047\n", + "RMSE: 0.5239113185746274\n", + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9993674801009855\n", + "Adjusted R^2: 0.9993463177251821\n", + "MAE: 0.009869758098748365\n", + "MSE: 0.0001736160035471743\n", + "RMSE: 0.013176342570955504\n" + ] + } + ], + "source": [ + "for i, model in enumerate(pipelines):\n", + " pred = model.predict(X_train)\n", + " print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + " print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + " print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + " print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + " print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 549, + "metadata": {}, + "outputs": [], + "source": [ + "# List of all the pipelines\n", + "pipelines = [pipeline_lr, pipeline_dt, pipeline_rf, pipeline_kn, \n", + " pipeline_xgb, pipeline_ridge,pipeline_lasso, pipeline_xgbr]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 550, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9925190981140424\n", + "Adjusted R^2: 0.9922688077163709\n", + "MAE: 0.028603398575988363\n", + "MSE: 0.002053380914011125\n", + "RMSE: 0.04531424625888778\n" + ] + } + ], + "source": [ + "pred = pipeline_ridge.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 551, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.359248-0.067748
10.65190.659642-0.007742
20.83600.8246960.011304
30.70930.6733650.035935
40.56640.5596900.006710
50.33810.518197-0.180097
60.79950.832087-0.032587
70.40670.3814000.025300
81.01281.0045310.008269
90.30340.2277740.075626
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.359248 -0.067748\n", + "1 0.6519 0.659642 -0.007742\n", + "2 0.8360 0.824696 0.011304\n", + "3 0.7093 0.673365 0.035935\n", + "4 0.5664 0.559690 0.006710\n", + "5 0.3381 0.518197 -0.180097\n", + "6 0.7995 0.832087 -0.032587\n", + "7 0.4067 0.381400 0.025300\n", + "8 1.0128 1.004531 0.008269\n", + "9 0.3034 0.227774 0.075626" + ] + }, + "execution_count": 551, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_ridge = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_ridge.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 552, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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rnaNWbNmad++fXrppZeUmpqqPXv2qE+fPvr73/+u0NBQJScnV7uGJHXt2lUNGzbUlClT1L9/f0u2eakXXnhB27ZtU3FxsUJDQ+Xn56e4uDht3LhRJSUlmjlzpiV1XnvtNe3cuVP33XefNm7cqK5duyokJEQrVqzQgw8+qKFDh1pSB0Dt9I9//EPr168v94/onj17KiIiwu6hVUlxcbFSU1N16NAh9e3bV127dnUuW7RokSZOnGhZraysLNWvX1+33367Fi1apK+++kpdunTR2LFj5e/vb1mdiz311FNasGCBpdv85JNP1LdvX0nSihUr9Pe//935j2ir/qleXFyslStXql+/fqpfv75ef/117dmzR7/4xS80fvx4BQcHW1JnwoQJSkpK0i233GLJ9i6nuLhY6enpCgkJUUREhGbPnq0vvvhC7dq1U2Jioho0aGBJndLSUi1dulSZmZnl/hE9aNAgRUZGWlKjDM//qrHjuS9Z//z36kAaERGh9PR0XXfddeXmnz9/Xvfff7/Wr19vWa28vLyrLm/evHm1th8dHa20tDQFBAQoJydHY8eOVUJCggYOHKjY2Filp6dXa/sX11m5cqWOHz+uqKgobdmyRcHBwSosLNSQIUO0du3aateYO3eu0tPTNWHCBN1www2SpFdeeUWTJk2S9GOQtEJZII2JidFf/vIX3XjjjZKk/Px8DRkyxJL9P2jQIGVkZMjf31+xsbFavny5goKCVFJSoqioKH344YfVriFJsbGxmj9/vlJSUnThwgWNGTNGvXv3VkhIiCXbl37c92vWrFFhYaHCwsK0efNmBQYGyhijmJgYS/a9JMXExCg9PV1+fn66cOGCxo0bp6VLl+rMmTMaOnSoZY+ZxB+ma8EbU9fxxrTq3P3GdOHChdq9e7cGDx6sxo0bS5KOHj2q999/X61bt1ZiYmK1a0jSF198cdXl3bp1q3aNadOmqbS0VG3bttXbb7+toUOHasKECZKs/Uf0vHnztGPHDuXn56tx48Zq2LChIiMjtX79etWtW1fPPvtstWuMGjVKfn5+5eZlZ2erXbt2kqSlS5dWu4b038dl0aJF2rZtm0aNGiVjjN577z394he/0OTJk6tdY8qUKZKk5ORkLV68WOfOndOAAQO0adMmnT59Wi+++GK1a0hSjx49VL9+fQ0bNkyjRo1SYGCgJdu92NSpU3Xu3DkVFhbq1KlT6tChg4YOHarMzEzt3btXr7zyiiV1nn/+eRUVFSk8PFwbNmzQbbfdpmbNmmnp0qXq3r27JQc7JM88/z3x3Jc88/z3xHNf8szz36tP2Q0ICFBxcXGF+QUFBZY/scePH6+cnBw1btxYl2Z0Pz8/ZWZmVmv7xhjnzmzZsqVee+01jRkzRjfddFOFnVwdpaWlCgoKUosWLTR27Nhyb6hKSkosqZGYmKiePXvq5Zdf1lNPPaW7775bb731lmVBtExxcbFKS0vVsGFD1a1b1zk/KChIdepYc/lzSEiITpw44Xwinzt3TkFBQTp//rwCAqx7evj5+al169Z6++23lZWVpffee0+zZs1Sy5Yt1bRpU0v+ABpjdObMGZ07d04FBQXKz8/XjTfeqIKCAhUVFVnQxY8uXLig8+fPq27duiooKNCpU6ckSXXr1rVsv0hX/sO0cuVK7dy507I3ppX9Myg2NrbaNZ577jnnH6Znnnmm3B+mjRs3WhZIL/fHafjw4Vq/fr2ef/55t74xHT16tCTr3pj+4Q9/UN++fS/7xvSrr76y5I1p2e9QRESE5s6dq3PnzmnEiBHatGmTpk2bZtkb0127dunhhx926xvT5ORk5xvTt99+Wx06dNBLL72kzMxMPffcc5a9MZ0zZ46Kior0yCOPVHhjmpOTU+03puvWrdOHH35Y4bUkKipKUVFRlj3v//CHP2jnzp3q0KHDZf/mW/F7nJ2d7fxHYGxsrB566CGFhITooYceqlCzOj799FNlZGTo1KlT6tevn7Zu3ao6deqoZ8+elrx+SdKAAQP0+uuv68knn1SLFi1kjNGzzz6rJ554wpLtX+rjjz/WihUrnO9hwsPDFRUVZcnz/uuvv1ZGRoakH8PJmjVr5Ofnp7CwMEsvbWrSpIneeOMNvfDCC+rfv7+GDx+uyMhItWjRwrIae/fuVUZGhkpKShQWFqZly5ZJklq3bu08C88KW7Zscf4u33fffRo5cqTeffddhYWFafDgwZYFUk88/z3x3Jc88/z3xHNf8szz36sD6YQJExQbG6sePXqUO2V3y5YtlrwoXezdd9/ViBEjNH36dHXp0sXSbUs/7sxRo0Zp6tSp6tChg9q0aaOFCxfqiSeeUGFhoWV1+vfvr1//+tdaunSp803ul19+qeTkZA0cONCyOj169NDtt9+u6dOna9OmTZaF3YvdeOONCgsLk5+fn6ZPn645c+bo888/17x58zRgwABLajzxxBMaMmSIIiMj1apVK40aNUo9evTQ5s2b9cgjj1hSQ1K5F5977rlH99xzj4qKivTVV18pNzfXkhrjxo1T//79ZYxRQkKCxo4dqx49eujzzz+39HrYuLg4DR8+XPfee682b96suLg4HTx4UI8//riioqIsq+OpN6ZbtmzRhg0brvg7ZcWLOm9Mrx1vTF3jK29Mg4ODdfjw4QpnJeXl5Vl6HfySJUs0evRoPfjgg+rTp49l272YMUbnzp1T3bp1ddNNN2nJkiUaPny4GjZsaOk/oiWpsLBQN954oxITE52vmWfPnr3sP/WvxciRI3X33Xdr+vTp+tWvfqXY2Fhdf/31uuuuuyzZfplz587p+PHjat68uc6dO+d83hcUFFj2T+K6devqm2++UZs2bfTTn/5Uhw4dUvPmzXXkyBFLf8f8/Px0880364UXXlBOTo6WL1+usWPH6sKFC2ratKnzOVodderU0XfffaczZ87ozJkzcjgcCg0N1cmTJy3b99KPBzROnDihhg0b6tixYyooKJAkFRUVWfrPe088/z3x3Jc89/x393Nf8tDz33i5w4cPm7S0NPPaa6+ZP/7xjyYtLc0cPnzYLbV27dplkpOT3bJtY4zJysoy3377bbl5eXl5ZubMmZbW2bp1a7np/fv3m02bNlla42LLly83Y8aMcdv29+/fb/75z38aY4zZtm2b+dvf/mbp9v/973+bN99800yfPt0kJyebl19+2ezatcvSGsuXL7d0e1dy/vx5k5+fb4wx5ssvvzRvvPGG2bx5s+V1srKyzBtvvGGysrKMMcbk5+ebL7/80tIa0dHR5uDBgxXm//vf/zaDBw+2tNb48ePNihUrLN3mxaKioszZs2ed04cPHza9evUya9euNbGxsZbViYyMNAUFBcaY8r9zZ86cMYMGDbKszjfffGNGjBhh0tLSjDHG0h7K9O/f3xw7dsyMHz/enDx50jn/9OnTlvUydOhQ8/XXXxtjjHn88cedv2+HDx82MTExltQwpvzj891335m5c+ea/v37m7CwMPPAAw9YUmPw4MHmwIEDZteuXaZDhw4mNzfXGGPMiRMnLN33gwYNMsePHzfG/Pg4lfWWn59vIiMjq739zz77zISHh5uHHnrIJCQkmISEBPPQQw+Z8PBw8/nnn1d7+xc7cOCAmTdvnqXbvNiyZctM//79na+Txhjz7bffmvDwcNO+fXvL6qSmppr+/fub4uJi57zt27ebXr16mffee8+yOsYYc+HCBTN79mwzceJES3+vykydOtVERUWZLl26mCeeeMIYY8yGDRtMeHi4eeeddyypsWPHDvPLX/7STJw40TzzzDPml7/8pfnNb35jwsLCLH2vdKXXkJMnT1r2HuMf//iHCQsLM/fdd5/5+OOPzYABA8ykSZNMr169nK/PVli1apUJCwszv/3tb014eLjJyMgwOTk5JiwszKxcudKyOpd7/o8ZM8by57+7n/vGXP75v3//fkuf/1d67vfu3dvy574x7n3+e/U1pABqr6ysLCUlJally5blzpDIycnR7Nmz1b17d8tqHT16VBkZGXr44Yct2+bF3nvvPb355ptKSUlRjx49JP14B/FHHnlEJ06c0O7duy2p88477+itt97SunXrnNeL7tixQ08//bQmTJhg6Q2nCgsLtWDBAuXl5Wn//v364IMPLNu29OPN07Kzs3Xo0CH16NFDixYt0kcffaTZs2fr0Ucf1fDhw6td45///KcmTpyozp0767rrrtNnn32mO++8U3v37tXvfvc7hYWFWdCJrnifgP/85z/Kzc113k28OjZv3qzk5GSVlpbqueee04svvqi2bdtqz549mjRpkmVHyFevXq2FCxeqU6dO2rVrl6ZMmaL27dvrwQcf1MSJEy05G+ODDz7Qd999J39/f91yyy1q0qSJ7rzzTqWlpVl6R3pP3Pl+yZIlKiwsVHR0tLNGfn6+3nnnHT366KOW1JB+vKGhv7+/s5fDhw/rzJkz2rFjh2W9XPx4ORwOvf/++3r++ect/6SATz75RHl5eerZs6datmypr7/+WsYY7dy507I66enpcjgcCgkJUXFxsW6++Wbde++9+vTTTy2r8emnn6qoqMjtv2Nlj1d4eLjq1q2rbdu2qU2bNtq2bZul+6XsdzkyMlItW7ZUYWGhzp49q48++sjSOl9++aXOnDmjo0ePKicnR//3f/+nYcOGWXrWiqc+jeK7775TSEiImjVr5qzTvn17/ec//9FDDz1kWY26des6e9m1a5dCQ0OdlwVZ5eLH7L333tOuXbt07733WvaYEUgBeK0LFy5o9+7dOnr0qIwxzjemVp5W5e4bmpXJyclRUFBQue3l5+dr5cqVlv1hkuQ8ZatM2RvTNm3aWFbjYp999pk++OADPf/8827Z/vnz53X8+HHdcsstzjemP//5zy3bfn5+vrKysvT999+rpKTE+ca0adOmltX49NNPLQu3rjp+/Ljzjemtt95q6ba/++47ffXVV7rtttucb0zPnTtnyY2T5s+fr71796pVq1Zat26dpk6d6pY70nvizveeuru+r/VStv/d2YsnfsfmzZunvXv3un2/uPvxKqvjK58U4YkaldXp1KmTJZe52NXL4cOH1bdvX2vrWHq8FQAscvDgwat+WSUqKsq0a9fO9O7d2/Tq1avcV+/evS2p4alePFGHXryzjq/0EhUVZYqKiowxP57e3KtXL7Nu3TpjzJVPgfTWOlFRUc5T6XyhF1/aL/RS9Tqe+l0uKCgwDofDdOzY0XkJyoULF0x0dHSNqeGpOr7Ui1ff1AhA7eXuO1+XcfcNzSTP9eKJOper4efn57yTOL24VqeMO3uxuoYn6hgP3ZHeE3Uufnx8oRdf2i/0UvU6ZWr6J0V4ooan6vhSLxwhBeCVzpw5Y6Kjo822bdvcXsvdNzTzVC+eqEMv3lnHV3pZtGiRGT58eLmbvmzbts10797ddO7cuUbVoRfvrEMv3lvn5ZdfNiNGjCh3k559+/aZ+Ph4s2jRohpTw1N1fKkXAikAr+XuoOhJnurFE3XoxTvr+EovnrojvSfq0It31qEX763jiU+K8NSnUdCL67ipEQAAAADAFnUqXwUAAAAAAOsRSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCQAoAAAAAsMX/BweF2rzsr9kTAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_ridge = results_ridge.head(35)\n", + "results_ridge.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 553, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_ridge.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 554, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.01688220269864965" + ] + }, + "execution_count": 554, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_ridge=np.mean(results_ridge.error)\n", + "meanerror_ridge" + ] + }, + { + "cell_type": "code", + "execution_count": 555, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644335
10.555178
21.229197
30.663718
40.515901
......
650.774879
660.671756
671.801921
680.724719
690.807843
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644335\n", + "1 0.555178\n", + "2 1.229197\n", + "3 0.663718\n", + "4 0.515901\n", + ".. ...\n", + "65 0.774879\n", + "66 0.671756\n", + "67 1.801921\n", + "68 0.724719\n", + "69 0.807843\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 555, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 556, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/ridge.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline rf" + ] + }, + { + "cell_type": "code", + "execution_count": 557, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9937861379766549\n", + "Adjusted R^2: 0.9935782392472493\n", + "MAE: 0.014543322580645234\n", + "MSE: 0.001705599923050192\n", + "RMSE: 0.041298909465628655\n" + ] + } + ], + "source": [ + "pred = pipeline_rf.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 558, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.319827-0.028327
10.65190.6498250.002075
20.83600.838836-0.002836
30.70930.733131-0.023831
40.56640.571842-0.005442
50.33810.3222800.015820
60.79950.7791410.020359
70.40670.412124-0.005424
81.01281.0126360.000164
90.30340.311385-0.007985
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.319827 -0.028327\n", + "1 0.6519 0.649825 0.002075\n", + "2 0.8360 0.838836 -0.002836\n", + "3 0.7093 0.733131 -0.023831\n", + "4 0.5664 0.571842 -0.005442\n", + "5 0.3381 0.322280 0.015820\n", + "6 0.7995 0.779141 0.020359\n", + "7 0.4067 0.412124 -0.005424\n", + "8 1.0128 1.012636 0.000164\n", + "9 0.3034 0.311385 -0.007985" + ] + }, + "execution_count": 558, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_rf = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_rf.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 559, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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BLKgoCANGjRIb7/9tjZu3KiXX375ousHBwe7vy8pKVFIyNloFh4e7p4XFhamdev+d2r+oUOHdOWVV0qSzP9/5WVQUJCCgoKqNNbSGpI0b948ZWVlKTY2Vr1791Z6erp722XVrVv3bD1VrVZlKj1CKkkTJ07Uhg0blJqaqgkTJkiSlixZonbt2kmSoqOjtX79eqWlpWnu3LkKCwtzdJAAAAAA4O8SEhK0fPlyNW3atNyNYM/nnXfekTFGBw4c0J49e8qdhSpJDRo0UMuWLd2B9KOPPtKIESMkSbfffrveeustSdK7774rl+vidwEODg5WUVHReZd99NFHuu+++9S/f38dPHhQhw8fVklJiUf9OsGju+wCAAAAAC6uWbNmatasme66665K183Pz1diYqJcLpdmzZqlq666qsI68+fPV3Jysl5++WWFhobq2WefVVBQkJ544glNmTJFy5cvV7t27XT55ZdftNZ1112nkydPasqUKRo8eHC5ZePGjdNjjz2mK664Qg0bNlTbtm2VnZ1dtcargUAKAAAAICCUFLm88hEtJUUu1Qm5+Fmgxhjl5ubq6NGj6t27d6Xb7NevnxISEsrNKz0btdR1112nv//97xV+tkmTJlq6dKl7+sknn7xorauuukrr1693T992223u72NjYxUbG3venysd3+bNm93zOnTpoAE9Bly0XlUQSAEAAAAEhMpC4/nknMxR8wbNq73dtLQ0JScnKzk5WWFhYXrqqaeUnp4uSSosKVRonbM3Hmrbtm2Vx+iJDRs26IU/vuCuU1bZ61D9DYEUAAAAAKqpX79+6tevn3t66tSp7u89Cb3VNWDAAHW4s4PX6zjNo5saAQAAAADgNAIpAAAAAMAKAikAAAAAwAoCKQAAAADACgIpAAAAgIDgKi6s8s94chOgS9kuPMNddgEAAAJA2c9JTI5KrjAPqA3CgkM1ZMWDjm935d1/dHybOItACgAAEADqhITp2zmJ5ea1mr7G0miA2unPf/6z3nnnHRUXF+uOO+7QsGHDNHbsWF1+xeVqUK+BBg4cqLVr1+qHH35Qjx49NGrUKE2fPl05OTkKCQnRpEmT1L17dy1evFi7du3SwYMHNWLECI0YMcJ2a15DIAUAAACAavrHP/6hjIwMrV69WkFBQZoyZYpSU1P13Xff6Y233lCnn3bSm2++qcOHD2vDhg0K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jxs3TpmZmWrcuLHOzehBQUHatGlTtbZvjHHvzJYtW+qll17S6NGj9eMf/7jCTq6OkpIShYWFqUWLFhozZky5N1TFxcWO1Jg6daq6d++u5557To8++qhuu+02/e1vf3MsiJYqKipSSUmJGjZsqHr16rnnh4WFqU4dZy5/Dg8P17Fjx9wv5NOnTyssLExnzpxRSIhzL4+goCBdf/31eu2115Senq4VK1Zozpw5atmypZo2berIH0BjjE6ePKnTp08rPz9feXl5uuqqq5Sfn6/CwkIHujiroKBAZ86cUb169ZSfn68ffvhBklSvXj3H9ot04T9Mq1ev1q5duxx7Y1rZP4MGDRpU7RpPPPGE+w/TY489Vu4P0+bNmx0LpOf74zRs2DBt3LhRTz75pFffmI4aNUqSc29M//CHP6h3797nfWP61VdfOfLGtPQ5FB0draeeekqnT5/W8OHDtWXLFj3++OOOvTHdvXu37rvvPq++MU1KSnK/MX3ttdfUvn17Pfvss9q0aZOeeOIJx96Yzps3T4WFhbr//vsrvDHNzMys9hvTDRs26J133qnwuyQ2NlaxsbGOve7/8Ic/aNeuXWrfvv15/+Y78TzOyMhw/yNw0KBBuvfeexUeHq577723Qs3q+PDDD5WamqoffvhBffr00ccff6w6deqoe/fujvz+kqR+/frpz3/+sx555BG1aNFCxhjNmDFDDz/8sCPbP9d7772nVatWud/DREVFKTY21pHX/b/+9S+lpqZKOhtO1q1bp6CgIEVGRjp6aVOTJk308ssv6+mnn1bfvn01bNgwxcTEqEWLFo7V2Lt3r1JTU1VcXKzIyEgtX75cknT99de7z8Jzwvbt293P5TvvvFMjRozQG2+8ocjISA0cONCxQOqL178vXvuSb17/vnjtS755/ft1IB0/frwGDRqkbt26lTtld/v27Y78UirrjTfe0PDhwzVz5kx17tzZ0W1LZ3fmyJEjNW3aNLVv316tW7fWokWL9PDDD8vlcjlWp2/fvvrlL3+ppUuXut/kfvnll0pKSlL//v0dq9OtWzfdeOONmjlzprZs2eJY2C3rqquuUmRkpIKCgjRz5kzNmzdP27Zt0/z589WvXz9Hajz88MMaPHiwYmJi1KpVK40cOVLdunXT1q1bdf/99ztSQ1K5Xz633367br/9dhUWFuqrr75SVlaWIzXGjh2rvn37yhijKVOmaMyYMerWrZu2bdvm6PWwCQkJGjZsmO644w5t3bpVCQkJOnDggB566CHFxsY6VsdXb0y3b9+utLS0Cz6nnPilzhvTS8cbU88EyhvTunXr6tChQxXOSsrJyXH0OvglS5Zo1KhRuueee9SrVy/HtluWMUanT59WvXr19OMf/1hLlizRsGHD1LBhQ0f/ES1JLpdLV111laZOner+nXnq1Knz/lP/UowYMUK33XabZs6cqV/84hcaNGiQLr/8ct16662ObL/U6dOndfToUTVv3lynT592v+7z8/Md+ydxvXr19PXXX6t169b6yU9+ooMHD6p58+Y6fPiwo8+xoKAgXX311Xr66aeVmZmplStXasyYMSooKFDTpk3dr9HqqFOnjr777judPHlSJ0+eVHZ2tiIiInT8+HHH9r109oDGsWPH1LBhQx05ckT5+fmSpMLCQkf/ee+L178vXvuS717/3n7tSz56/Rs/d+jQIbN27Vrz0ksvmT/96U9m7dq15tChQ16ptXv3bpOUlOSVbRtjTHp6uvnmm2/KzcvJyTGzZ892tM7HH39cbnr//v1my5YtjtYoa+XKlWb06NFe2/7+/fvNZ599ZowxZseOHeaDDz5wdPv//ve/zSuvvGJmzpxpkpKSzHPPPWd2797taI2VK1c6ur0LOXPmjMnLyzPGGPPll1+al19+2WzdutXxOunp6ebll1826enpxhhj8vLyzJdffulojbi4OHPgwIEK8//973+bgQMHOlpr3LhxZtWqVY5us6zY2Fhz6tQp9/ShQ4dMjx49zFtvvWUGDRrkWJ2YmBiTn59vjCn/nDt58qQZMGCAY3W+/vprM3z4cLN27VpjjHG0h1J9+/Y1R44cMePGjTPHjx93zz9x4oRjvQwZMsT861//MsYY89BDD7mfb4cOHTLx8fGO1DCm/OPz3Xffmaeeesr07dvXREZGmrvvvtuRGgMHDjTffvut2b17t2nfvr3Jysoyxhhz7NgxR/f9gAEDzNGjR40xZx+n0t7y8vJMTExMtbf/0UcfmaioKHPvvfeaKVOmmClTpph7773XREVFmW3btlV7+2V9++23Zv78+Y5us6zly5ebvn37un9PGmPMN998Y6Kioky7du0cq7Ns2TLTt29fU1RU5J63c+dO06NHD7NixQrH6hhjTEFBgZk7d66ZMGGCo8+rUtOmTTOxsbGmc+fO5uGHHzbGGJOWlmaioqLM66+/7kiNTz/91Pz85z83EyZMMI899pj5+c9/bn71q1+ZyMhIR98rXeh3yPHjxx17j/HPf/7TREZGmjvvvNO89957pl+/fmbixImmR48e7t/PTlizZo2JjIw0v/71r01UVJRJTU01mZmZJjIy0qxevdqxOud7/Y8ePdrx17+3X/vGnP/1v3//fkdf/xd67ffs2dPx174x3n39+/U1pABqr/T0dE2fPl0tW7Ysd4ZEZmam5s6dq65duzpWKzc3V6mpqbrvvvsc22ZZK1as0CuvvKLk5GR169ZN0tk7iN9///06duyY9uzZ40id119/XX/729+0YcMG9/Win376qX7zm99o/Pjxjt5wyuVyaeHChcrJydH+/fv19ttvO7Zt6ezN0zIyMnTw4EF169ZNixcv1rvvvqu5c+fqgQce0LBhw6pd47PPPtOECRPUqVMnXXbZZfroo4908803a+/evfrd736nyMhIBzrRBe8T8J///EdZWVnuu4lXx9atW5WUlKSSkhI98cQTeuaZZ9SmTRt9/vnnmjhxomNHyN98800tWrRIHTt21O7duzV58mS1a9dO99xzjyZMmODI2Rhvv/22vvvuOwUHB+uaa65RkyZNdPPNN2vt2rWO3pHeF3e+X7JkiVwul+Li4tw18vLy9Prrr+uBBx5wpIZ09oaGwcHB7l4OHTqkkydP6tNPP3Wsl7KPV3Z2ttavX68nn3zS8U8KeP/995WTk6Pu3burZcuW+te//iVjjHbt2uVYnZSUFGVnZys8PFxFRUW6+uqrdccdd+jDDz90rMaHH36owsJCrz/HSh+vqKgo1atXTzt27FDr1q21Y8cOR/dL6XM5JiZGLVu2lMvl0qlTp/Tuu+86WufLL7/UyZMnlZubq8zMTP3f//2fhg4d6uhZK776NIrvvvtO4eHhatasmbtOu3bt9J///Ef33nuvYzXq1avn7mX37t2KiIhwXxbklLKP2YoVK7R7927dcccdjj1mBFIAfqugoEB79uxRbm6ujDHuN6ZOnlbl7RualcrMzFRYWFi57eXl5Wn16tWO/WGS5D5lq1TpG9PWrVs7VqOsjz76SG+//baefPJJr2z/zJkzOnr0qK655hr3G9Of/vSnjm0/Ly9P6enp+v7771VcXOx+Y9q0aVPHanz44YeOhVtPHT161P3G9LrrrnN02999952++uor3XDDDe43pqdPn3bkxkkLFizQ3r171apVK23YsEHTpk3zyh3pfXHne1/dXT/Qeind/97sxRfPsfnz52vv3r1e3y/efrxK6wTKJ0X4okZldTp27OjIZS62ejl06JB69+7tbB1Hj7cCgEMOHDhw0S+nxMbGmrZt25qePXuaHj16lPvq2bOnIzV81Ysv6tCLf9YJlF5iY2NNYWGhMebs6c09evQwGzZsMMZc+BRIf60TGxvrPpUuEHoJpP1CL1Wv46vncn5+vsnOzjYdOnRwX4JSUFBg4uLiakwNX9UJpF78+qZGAGovb9/5upS3b2gm+a4XX9Q5X42goCD3ncTpxbM6pbzZi9M1fFHH+OiO9L6oU/bxCYReAmm/0EvV65Sq6Z8U4YsavqoTSL1whBSAXzp58qSJi4szO3bs8Hotb9/QzFe9+KIOvfhnnUDpZfHixWbYsGHlbvqyY8cO07VrV9OpU6caVYde/LMOvfhvneeee84MHz683E169u3bZxITE83ixYtrTA1f1QmkXgikAPyWt4OiL/mqF1/UoRf/rBMovfjqjvS+qEMv/lmHXvy3ji8+KcJXn0ZBL57jpkYAAAAAACvqVL4KAAAAAADOI5ACAAAAAKwgkAIAAAAArCCQAgAAAACsIJACAAAAAKz4/wDQzAm/JJr5wwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_rf = results_rf.head(35)\n", + "results_rf.plot(kind='bar',figsize=(16,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 560, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_rf.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 561, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.005028800000000358" + ] + }, + "execution_count": 561, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_rf=np.mean(results_rf.error)\n", + "meanerror_rf" + ] + }, + { + "cell_type": "code", + "execution_count": 562, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.653364
10.551886
21.187203
30.699820
40.524007
......
650.745894
660.655365
671.835191
680.726997
690.825854
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.653364\n", + "1 0.551886\n", + "2 1.187203\n", + "3 0.699820\n", + "4 0.524007\n", + ".. ...\n", + "65 0.745894\n", + "66 0.655365\n", + "67 1.835191\n", + "68 0.726997\n", + "69 0.825854\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 562, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 563, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../rf.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 564, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 565, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29150.959760.33174
10.65190.650380.00152
20.83600.84794-0.01194
30.70930.424640.28466
40.56640.61854-0.05214
50.33810.72774-0.38964
60.79950.706480.09302
70.40670.47320-0.06650
81.01281.15570-0.14290
90.30340.42464-0.12124
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 0.95976 0.33174\n", + "1 0.6519 0.65038 0.00152\n", + "2 0.8360 0.84794 -0.01194\n", + "3 0.7093 0.42464 0.28466\n", + "4 0.5664 0.61854 -0.05214\n", + "5 0.3381 0.72774 -0.38964\n", + "6 0.7995 0.70648 0.09302\n", + "7 0.4067 0.47320 -0.06650\n", + "8 1.0128 1.15570 -0.14290\n", + "9 0.3034 0.42464 -0.12124" + ] + }, + "execution_count": 565, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 566, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6oAAAJDCAYAAAACQOngAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABG1UlEQVR4nO3de5hVddk//ntgGAgPWQqYUF8zNSs8m5ol4BEURhB8FOQriWVpCnmI4AmUycQTaBqWj1FWlidEBUkEFR4sQ7+eEsXHQ6njM8NBQLM4zzCs3x/+mBzOM7Nnz2dmXq/rmuuatfba6/7cs2Yf3nsddkGWZVkAAABAIlo19gAAAADg4wRVAAAAkiKoAgAAkBRBFQAAgKQUNvYAtmTt2rWxYMGC6NChQ7Ru3bqxhwMAAEAOVVVVxbJly6Jr167Rrl27zW5PMqguWLAgBg8e3NjDAAAAoAHdddddccQRR2w2P8mg2qFDh4j4aNB77rnnDt/v5mdujkuOvqSBRpXfOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsWTJkhg8eHB19ttUkkF14+G+e+65Z3Tp0mWH77fzHjvXavm6ykcdvaRZRy9p1tFLmnX0kmYdvaRZRy9p1tFLmnX0kmadutbY2qmeLqYEAABAUgRVAAAAkiKoAgAAkJQkz1EFAACoq8rKyigvL4+1a9fWeR09P9kzXnvttRyOqnFq5KvO1mq0bt06dtttt9hjjz2iVasd308qqAIAAM1KeXl57LLLLrH33ntHQUFBndaxaMWi2GuXvXI8svzXyFedLdXIsiwqKyvjvffei/Ly8vjc5z63w+tz6C8AANCsrF27Nnbfffc6h1Ryo6CgIIqKiqJz586xatWqWt1XUAUAAJodITUdtTnkt/o+DTAOAAAAqDNBFQAAaNYqKqtqfZ8dOaezLuvdljlz5sRvfvObWt3nlltuidmzZ+d0HClwMSUAAKBZK2rTOoovn5bz9U6/sW9O1/fqq6/W+j7f//73czqGVAiqAAAADWTEiBFxxBFHxFlnnRUREeecc0784Ac/iIMPPrjGcn//+9/j3nvvjYiIvfbaKxYtWhQvvfRSLF68OAYPHhz77bdf/PSnP421a9fGP//5zxgxYkSccsopMWrUqDjyyCPjyCOPjIsvvjj222+/eO2112L33XePW265JXbbbbd8t5wTDv0FAABoIAMGDIiHH344IiIWLlwYH3zwwWYhNSJi3333jYEDB8bAgQNjwIABERFRUVERM2bMiMGDB8cf/vCHuPrqq+Ohhx6KcePGxS9+8YvN1vH666/H0KFD449//GPsuuuuMX369IZtrgEJqgAAAA3kqKOOiqVLl0Z5eXlMnTo1+vbd8cOFDzrooOrfx48fH3/729/i5z//efzmN7/Z4te97L777vHlL385IiL222+/+Oc//1n/BhqJoAoAANBACgoKol+/fvHII4/EzJkzaxVU27VrV/372WefHS+//HJ07do1Lrjggi0u37Zt2xp1syyr+8AbmXNUAQAAGlD//v3j7LPPjn333Tc6deq01eVat24d69at22z+hx9+GKWlpXH33XdH27ZtY+LEiVFVldsrDqdGUAUAAJq1isqqnF+hd+N6i9q03u5yn/nMZ+Izn/lMnH766dtc7qtf/WqMHDky9thjjxrzd9ttt/iP//iP6N27d+y8885xyCGHxNq1a2P16tX1Gn/KBFUAAKBZ25EwualFKxZt97tUd2S9WZbF0qVLY/ny5XHiiSduc9mvfvWrMWfOnC3eNmrUqBg1alT1dElJSUREXHfdddXzPn7fYcOGbXdsKRNUAQAAGsisWbOipKQkSkpKoqioKK6//vqYN29eRERUbqiMNq3aRERE165dY9y4cY051KQIqgAAAA2kV69e0atXr+rpkSNHVv++I3ttWypX/QUAACApgioAAABJEVQBAABIiqAKANCMVFRu/t2KW5oHkDIXUwIAaEaK2rSO4sun1ZjXEN8fCU3JhvUV0aqwqFb32ZGLHNVlvewYQRUAAGjWWhUWxdvjBuR8vfuMfiDn68ylL37xi/HGG29s9faysrK47bbb4pprrtnhdc6ePTsWLFgQ3//+93MxxK0SVAEAAFqgRYsWRVlZWa3uc8IJJ8QJJ5zQQCP6N0EVAACggYwYMSKOOOKIOOussyIi4pxzzokf/OAHcfDBB2+27KhRo6KgoCDefPPNWLlyZVx44YXRr1+/mDhxYrz00kuxePHiGDx4cHzjG9+IkpKS+PDDD6Ndu3ZxxRVXxJe//OUoLy+PESNGxOrVq7e4/k1dffXVUV5eHj/+8Y+jV69eMX78+NiwYUPst99+cdlll8WPfvSjWLFiRSxbtix69+4dP/jBD+LBBx+MZ599Nq677ro4/vjj47TTTounnnoq/rXqX3HT+Juia9euOfm7uZgSAABAAxkwYEA8/PDDERGxcOHC+OCDD7YZIt977724995743e/+13ccMMNsWzZsoiIqKioiBkzZsTgwYNj5MiRMWLEiHjooYfiJz/5SVx66aUREfGTn/wk+vfvH9OmTYvDDjtsu2MbM2ZMdO3aNcaOHRsREaWlpfG73/0urr/++vjjH/8Yffr0icmTJ8fDDz8cd999d3zwwQebrWO33XaLKVOmxGn9T4vbb7+91n+fralXUL3lllvi1FNPjd69e8dvfvObzW6/9dZb47jjjou+fftG375946677qpPOQAAgCblqKOOiqVLl0Z5eXlMnTo1+vbd9sXN+vfvH23atIk999wzDjvssHjhhRciIuKggw6KiIhVq1bFggUL4j//8z+jb9++cfnll8fq1avjH//4Rzz77LNxyimnRETEaaedFm3atKnVWD//+c/HLrvsEhER3/rWt+Izn/lM/PrXv45x48ZFZWVlrFmzZrP7HHvssR/dd9/Px4cfflirettS50N/n3322XjmmWfi4YcfjvXr18epp54a3bt3j3322ad6mQULFsRNN90Uhx56aE4GCwAA0JQUFBREv3794pFHHomZM2fGr371q20u37p16+rfN2zYEIWFH0W2du3aVc8rKiqKadP+fXXvJUuWxG677RYREVmWVdctKCio1Vg31oiIuO6666KsrCz69OkTJ554YsybN6963R/Xtm3bj+pF7WptT533qB555JFx5513RmFhYbz//vtRVVUV7du3r7HMggULYtKkSVFcXBxXXXVVrFu3rt4DBgAAaEr69+8f9957b+y5557RqVOnbS776KOPRpZlsXDhwnj55Zfj8MMPr3H7LrvsEnvvvXd1UP3LX/4SgwcPjoiIY445pvow48ceeywqKiq2Wat169axfv36Ld72l7/8Jb71rW/FKaecEosXL4733nsvNmzYsEP95kJBtqVYXAs/+9nP4o477ohevXrFtddeW53aV61aFZdcckmMGTMmOnfuHKNGjYrOnTtXHz+9LeXl5XHCCSdE8bji2HmPnXd4LHNL50aPvXvUtZWk6uglzTp6SbOOXtKso5c06+glzTq5rFHSo2SL36NaMrekyfXS2HX0kmadHanR85M94//s+3+qpzu2/XQUFrXb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iPXr18chhxwSCxYsqLHcxIkTo0OHDjFw4MB48skn4yc/+UnMmDEjioqKtrn+8vLyOOGEE6J4XHHsvMfOOzyuuaVzo8fePWrbTq3lo45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs05ta6xcvjKmj54es2fPji5dumy+QLYdM2bMyI499tgaP+ecc0527LHHVi9TWVmZde3adXuryoqLi7PXXnttu8uVlZVl+++/f1ZWVrbdZT9u7H+PrdXydZWPOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsb3Mt92LKZ1yyilxyimn1JhXWVkZRx11VFRVVUXr1q1j2bJl0bFjx83u+/vf/z769OkTn/rUpzaG4igsrPP1mwAAAGgB6nSOaps2beKII46IGTNmRETE1KlTo1u3bpst99xzz8WUKVMiIuLZZ5+NDRs2xD777FOP4QIAANDc1fmqv2PHjo3JkyfHqaeeGs8//3xccsklERFxzz33xC233BIREaNHj4558+ZFnz594vrrr48bb7wxWrXy1a0AAABsXZ2Pw+3cuXP8/ve/32z+oEGDqn/v1KlT/OY3v6lrCQAAAFoguzcBAABIiqAKAABAUgRVAAAAkiKoAgAAkJQkv9S0qqoqIiKWLFlSq/utXL4yysvLG2JIea+jlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs45e0qxT2xobs97G7LepgizLspyMLIeef/75GDx4cGMPAwAAgAZ01113xRFHHLHZ/CSD6tq1a2PBggXRoUOHaN26dWMPBwAAgByqqqqKZcuWRdeuXaNdu3ab3Z5kUAUAAKDlcjElAAAAkiKoAgAAkBRBFQAAgKQIqgAAACRFUAUAACApgioAAABJEVQBAABIiqAKAABAUgobewD18dZbb8WsWbNiyZIl0apVq+jYsWMce+yxceCBBzb20GrliSeeiMWLF0f37t3jc5/7XPX8++67L84666yc1SktLY1PfOIT0alTp7j//vvjjTfeiMMOOyxOPfXUnNXIh5dffjkOOuigiIh4+umn48knn4zCwsI46aST4uCDD85prT//+c9x8MEHx6677hpTp06Nl19+Ob7yla/EgAEDcrL+q6++OoYNGxaf/OQnc7I+AABoDprsHtW77rorLrvssoiIOPDAA+MrX/lKRERcccUVcccddzTm0GplwoQJ8Yc//CFKS0tj4MCBMW3atOrb7r333pzV+e1vfxvf+ta3YuDAgfGf//mf8cgjj8TnP//5eOCBB+LnP/95zups6rrrrsv5OseOHRsRH/0PXHPNNbHnnnvGHnvsEVdeeWX84Q9/yFmdcePGxe233x7r1q2Lm2++OaZPnx777rtvPP7443H11VfnpMbUqVPjzDPPjMceeywn69uWp59+Ov76179GRMQdd9wRF1xwQdx6661RUVGRsxpPPPFEjBo1Kr71rW/FBRdcENdcc011TQCoiyeeeKL69/vvvz+GDRsWl156acyYMaMRRwU0tIIsy7LGHkRd9OzZM6ZOnRqf+MQnasxfs2ZNnH766TFz5syc1Fm0aNE2b99rr73qtf7i4uJ46KGHorCwMEpLS+O8886LESNGxCmnnBL9+vWLqVOn1mv9H68zZcqUWL58efTp0yeeeeaZaNu2bVRUVMQZZ5wRDz/8cL1r/Od//udm8+bMmRPHH398RERce+219a4REXH66afHQw89FH379o3f/va38alPfSoiIlauXBlnnHFGzrb9qaeeGtOnT4/WrVtHv379YvLkyVFUVBRVVVXRp0+fePTRR+tdo1+/fjFhwoQoKSmJdevWxdChQ+P444+Pdu3a5aCDf7vhhhvi+eefj/Xr10eXLl2ioKAg+vfvH3PmzImqqqqcBO/bb789XnrppTj22GNjzpw5ccQRR0S7du3i/vvvj29+85tx5pln5qATWronnngiTjzxxIj46A3rn/70p+ojKpra0SHU3p///OeYOXNmjSOpunXrFj179mzsodXK+vXr46677orFixfHiSeeGEcccUT1bRMnToxhw4blpM68efNil112iS996UsxceLEeOONN+Lwww+P8847L1q3bp2TGlty2WWXxU033ZSz9W183Z84cWI8//zzcc4550SWZXHffffFV77ylbj00ktzUmf9+vUxZcqUOOmkk2KXXXaJX/7yl/HKK6/EV77ylfjud78bbdu2rXeNCy64IEaPHh2f/exnczDirVu/fn1MnTo12rVrFz179oxrr702nnvuuejatWuMHDkydtttt3rX2LBhQ9x5550xe/bsWLZsWbRp0yY+97nPxamnnhq9e/eufxMf47FfO83lsd9kD/0tLCyM9evXbzZ/7dq10aZNm5zV+e53vxulpaXRsWPH2DTTFxQUxOzZs+u1/izLoqCgICIi9t5777j99ttj6NCh8elPf7p6fi5s2LAhioqKonPnznHeeefVeLKtqqrKSY3ddtstpk6dGhdccEHsuuuuERHxzDPPxJFHHpmT9W+0fv362LBhQ+y+++7Rvn376vlFRUXRqlXuDhJo165dvP/++9GxY8fYfffdY/Xq1VFUVBRr1qyJwsLcPHQKCgpi3333jT/84Q8xb968uO+++2LcuHGx9957x5577hk33nhjTur8+c9/jmnTpkVFRUV07949nnrqqWjTpk1069Yt+vbtm5MaM2bMiKlTp0ZBQUEMGDAgzj///LjzzjtjwIABceaZZ+Y0qHrBqr3GeNHK9QtWRMTPf/7zOPHEE7f4hvWNN97IyRvWfLxZjcjPG9Z8vFmNyM8b1ltuuSVefvnlOO2006Jjx44REbF06dKYMmVKvPTSSzFy5Mh613juuee2eftXv/rVeteIiLjyyitjw4YNsf/++8cPf/jDOPPMM+OCCy6IiI8+4M3FY3/8+PHx4osvxsqVK6tfxwYNGhQzZ86Ma665Jq644op614iIOOecczZ7v7JgwYIYMmRIRETceeedOakTEfH444/H/fffX/0Y7NGjR/Tp0ydnQXXj/1DPnj3j+uuvj9WrV8fZZ58dc+fOjR/96Ec5eU2eP39+9RFu55xzTk7fs37cmDFjYvXq1VFRURF/+MMf4qCDDoqf/vSnMXv27LjyyivjZz/7Wb1rXHfddVFZWRnf/va3Y9asWXHAAQfEZz7zmbjzzjujtLQ0Lrroohx04rFfW83psd9kg+oFF1wQ/fr1i6997WvRoUOHiIhYtmxZPPPMMzl7woqIuOeee+Lss8+OsWPHxuGHH56z9W7Uq1evOOecc2LUqFFx0EEHxX777Re33HJLXHzxxTk9JPPkk0+O//t//2/ceeed1Q+C119/PcaMGROnnHJKTmqMHDkyunXrFjfffHNcdtllcdRRR8Xvfve7OP3003Oy/o0+9alPRffu3aOgoCDGjh0b1113XTz99NMxfvz46NWrV87qXHzxxXHGGWdE7969Y5999olzzjknvva1r8VTTz0V3/72t3NS4+MffhxzzDFxzDHHRGVlZbzxxhtRVlaWkxob66xYsSJWr14da9eujZUrV8anPvWpWLt2bVRWVuakxrp162LNmjXRvn37WLt2bXz44YcREdG+ffucfoCQjxesiNju0Qz9+vWrd418vGBF5OdFK59vViMa9g1rPt6sRuTnDWs+3qxG5OcN64wZM+LRRx/d7PmkT58+0adPn5w89n/+85/HSy+9FAcddNAWP5zO1f/xggULqo9k6tevX5x77rnRrl27OPfcczerW1dPPvlkTJ8+PT788MM46aST4tlnn41WrVpFt27dcvL8tVGvXr3il7/8ZVxyySXRuXPnyLIsrrjiirj44otzVmP16tWxfPny2GuvvWL16tXVj/u1a9fm7IPjiIg333wzpk+fHhEfBZdp06ZFQUFBdO/ePWdHbHTq1Cl+9atfxQ033BAnn3xyDBo0KHr37h2dO3fOyfo3evXVV2P69OlRVVUV3bt3rz6dbN99983ZB9TPPPNM9f/xscceG4MHD4577rknunfvHqeddlrOgqrHfu00p8d+kw2qxcXFceSRR8bTTz8dS5cujSzL4ogjjohhw4ZFp06dclZn5513jquvvjruv//+BgmqF198cRx++OGx0047Vc87/PDD48EHH8zpubbf//7347nnnqux56SoqCiGDRsW3bt3z1mdr33ta/GlL30pxo4dG3Pnzs3Z3tqP2/hk8fbbb8e//vWviPiol+HDh0ePHj1yVuf444+P/fbbL5544ol4991345BDDomddtoprrvuuuqLOdXX4MGDN5vXpk2b6Nq1a3Tt2jUnNSIizj///Dj55JMjy7IYMWJEnHfeefG1r30tnn766ZxdGKp///4xaNCg+MY3vhFPPfVU9O/fPxYuXBgXXXRR9OnTJyc1IvLzghXx0QvwrFmztvrhRy6e7PPxghWRnxetfLxgReTnDWs+3qxG5OcNaz7erEbk5w1r27ZtY8mSJZudcrNo0aIoKiqq9/ojIiZNmhRDhgyJb37zm3HCCSfkZJ1bkmVZrF69Otq3bx+f/vSnY9KkSTFo0KDYfffdc3o0VUVFRXzqU5+KkSNHVj9nrlq1aotHpNXV4MGD46ijjoqxY8fGf/zHf0S/fv1ip512yunRVIcddlgMHTo0Fi9eHFdeeWVMnDgxHnvssbj22mvjO9/5Ts7qtG/fPv72t7/FfvvtF5/73Odi8eLFsddee8V7772Xs/+xgoKC2GOPPeKGG26I0tLSmDx5cpx33nmxbt262HPPPXN2fZJWrVrFO++8EytWrIgVK1ZEeXl5dOnSJT744IOcbf+qqqp4//33Y/fdd49ly5bF2rVrIyKisrIypx8geOzXXnN57EcGDWTy5MnZ0KFDG3sY/P/WrFmTrVy5MsuyLHv99dezX/3qV9lTTz2V0xrz5s3LfvWrX2Xz5s3LsizLVq5cmb3++us5rVFcXJwtXLhws/n/+7//m5122mk5rfXd7343u//++3O6zo/r06dPtmrVqurpJUuWZMcdd1z28MMPZ/369ctZnd69e2dr167Nsuyjx+VGK1asyE499dSc1fnb3/6WnX322dlDDz2UZVmW0x42GjVqVNanT5/s8MMPzy6++OIsy7Js1qxZWY8ePbK77747JzXOPPPM7M0338yyLMsuuuii6v+3JUuWZH379s1JjSyr+fd55513suuvvz47+eSTs+7du2dnnXVWTmqcdtpp2dtvv53Nnz8/O+igg7KysrIsy7Ls/fffz+m2P/XUU7Ply5dnWfbR32ljbytXrsx69+6dkxp/+ctfsh49emTnnntuNmLEiGzEiBHZueeem/Xo0SN7+umnc1Ijy7Ls7bffzsaPH5+z9W3Jvffem5188snVz5VZlmV///vfsx49emQHHnhgTmrcdddd2cknn5ytX7++et4LL7yQHXfccdl9992Xkxoft27duuzaa6/Nhg0bltP/rY0ef/zx7He/+132zjvvZFmWZW+88Ub2+uuvZ/fee2/Oarz44ovZ17/+9WzYsGHZD3/4w+zrX/969r3vfS/r3r17Nnfu3JzU2NpzyAcffJDNnz8/JzWyLMv+/Oc/Z927d8+OPfbY7PHHH8969eqVDR8+PDvuuOOqn6Pr64EHHsi6d++eff/738969OiRTZ8+PSstLc26d++eTZkyJSc1smzLj/2hQ4c2m8f+W2+9lZfH/vHHH9/kHvtN9mJKQMs0b968GD16dOy99941DvsvLS2Na6+9No4++uic1Vq6dGlMnz49vvWtb+VsnR933333xR133BElJSXxta99LSI++tqtb3/72/H+++/Hyy+/nJM6d999d/zud7+LGTNmVB9V8eKLL8YPfvCDuOCCC3J6/nBFRUXcdNNNsWjRonjrrbfikUceydm6P27NmjWxfPny+OxnPxtvvvlmZFkWX/ziF3Oy7r/+9a8xbNiwOOyww+ITn/hE/OUvf4mDDz44Xn311fjxj3+cs6NQtnbBvH/84x9RVlaWkyM3nnrqqRgzZkxs2LAhrrzyyrjxxhtj//33j1deeSWGDx+esz3qDz74YNxyyy1x6KGHxvz58+Pyyy+PAw88ML75zW/GsGHDcnbkxiOPPBLvvPNOtG7dOj772c9Gp06d4uCDD46HHnooZ1/nlq+vjJs0aVJUVFREcXFxdZ2VK1fG3XffnbO9hL/97W+jdevW1b0sWbIkVqxYES+++GJOe/n436y8vDz++Mc/xjXXXJOzv9mECRPi1VdfjX322SceffTRGDlyZPURARsvtJQrU6dOjfLy8mjXrl2sX78+9thjj/jGN74RTz75ZE56efLJJ6OysjIv/2NPPPFELFq0KHr06BHt27eP559/Pvbbb794/vnnc1Zn4/9x7969Y++9946KiopYtWpVPPbYYznt5fXXX48VK1bE0qVLo7S0NP7f//t/MXDgwJwe5ZKvr3F85513ol27dvGZz3ymus6BBx4Y//jHP+Lcc8/NWY327dtX9zJ//vzo0qVL9elFufLxv9l9990X8+fPj2984xs5+5sJqkCTs27dunj55ZerD/vf+GY1V4cARTT8Fb83Ki0tjaKiohrrW7lyZUyZMiVnL1gRUX3Y10Yb37Dut99+OavxcX/5y1/ikUceiWuuuSan683Xdlm5cmXMmzcv3n333aiqqqp+s7rnnnvmZP0RH71hzeWpFzti+fLl1W9Wv/CFL+R03e+880688cYbccABB1S/YV29enXOLtj08bAyY8aMGDVqVM7DyoQJE2LBggXxhS98oUEDUT7qNKde8vUNCfn4Hxs/fny8+uqredkuDR3u8/U/9tvf/jZ+//vfx4YNG+Loo4+OxYsXx0knnRRz5syJww47LCenFuSjxvbqHHrooTk5XaaxelmyZEmceOKJua2T0/2zAA1s4cKF2/zJlT59+mRdu3bNjj/++Oy4446r8XP88cfnpEa+eslHHdslzTrNqZc+ffpklZWVWZZ9dKj0cccdl82YMSPLsq0fTplijY11Nh6W1xx6aeg6vXv3rnEY45tvvpl9/etfz5555pmcnmLQ3P7H8tFLQ/8fb6yzdu3arLy8PDvkkEOqT2VZt25dVlxc3GRq5KtOc+qlyV5MCWiZGvorozZq6Ct+R+Svl3zU2VKNgoKC6q/gaurbpSF6aaztkusa+aqT5eHr3PJRY2OdjZpDLw1dJ1/fkNDc/sfy0ctGTf0rFvNRI191mlMv9qgCTcqKFSuy4uLi7Pnnn2/wWvPnz8/GjBnTYOvPVy/5qGO7pFmnOfUyceLEbNCgQTUuOPP8889nRx99dHbYYYc1mRr5qtOcesmyjy7W9/e//73GvEWLFmVXX311zmrYLunVyLIsu/nmm7Ozzz67xl711157LRswYEA2ceLEJlMjX3WaUy+CKtDkNHRQyad89ZKPOrZLmnWaUy/5CCv5qJGvOs2pl3yxXdKrkWVZ9uyzz9aYfuutt3J2JeZ81shXnebSi4spAQAAkJRWjT0AAAAA+DhBFQAAgKQIqgAAACRFUAUAACAp/x/8T7erRTRXEQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 567, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_kn.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 568, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.011010857142857142" + ] + }, + "execution_count": 568, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 569, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.62584
10.67650
20.71324
30.79172
40.54562
......
650.79428
660.60598
671.48028
680.73740
690.71318
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.62584\n", + "1 0.67650\n", + "2 0.71324\n", + "3 0.79172\n", + "4 0.54562\n", + ".. ...\n", + "65 0.79428\n", + "66 0.60598\n", + "67 1.48028\n", + "68 0.73740\n", + "69 0.71318\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 569, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 570, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 571, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9999916674769973\n", + "Adjusted R^2: 0.9999913886936999\n", + "MAE: 0.0010687737832359861\n", + "MSE: 2.2871364923928635e-06\n", + "RMSE: 0.001512328169542862\n" + ] + } + ], + "source": [ + "pred = pipeline_xgb.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 572, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.2910560.000444
10.65190.6486070.003293
20.83600.836601-0.000601
30.70930.709783-0.000483
40.56640.567276-0.000876
50.33810.3380060.000094
60.79950.7990580.000442
70.40670.407544-0.000844
81.01281.013486-0.000686
90.30340.3031990.000201
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.291056 0.000444\n", + "1 0.6519 0.648607 0.003293\n", + "2 0.8360 0.836601 -0.000601\n", + "3 0.7093 0.709783 -0.000483\n", + "4 0.5664 0.567276 -0.000876\n", + "5 0.3381 0.338006 0.000094\n", + "6 0.7995 0.799058 0.000442\n", + "7 0.4067 0.407544 -0.000844\n", + "8 1.0128 1.013486 -0.000686\n", + "9 0.3034 0.303199 0.000201" + ] + }, + "execution_count": 572, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgb = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgb.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 573, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJDCAYAAAAcidlTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABBvElEQVR4nO3de3RU9b03/k8EQsTL0aqgQvuz3o5tEe/XVgFvQSGC4LEgj1S0tloFRUuhBSXHilDBW7Wny2JttaKIoGAqggqHnipyrKggPl5aNT4JoIDWlltICPv3h4upETEJTGYP4fVaK2tlZu/s9/ebyQzzZu/ZuyBJkiQAAAAgx3ZKewAAAADsmBRSAAAAUqGQAgAAkAqFFAAAgFS0TDO8qqoqFi9eHPvss0+0aNEizaEAAACQZbW1tbFixYro2LFjFBUVbbY81UK6ePHi6N+/f5pDAAAAoIlNnDgxjj322M3uT7WQ7rPPPhHx6eD23XffBv/cHfPviGtOvKaJRpW7jFzlmEt+5phLfuaYS37mmEt+5jSnueQqx1zyM8dc8jPHXPIzp7EZH3zwQfTv3z/T/T4v1UK66TDdfffdNzp06NDgn9t1710btf7WyEVGrnLMJT9zzCU/c8wlP3PMJT9zmtNccpVjLvmZYy75mWMu+ZmztRlb+oimkxoBAACQCoUUAACAVCikAAAApCLVz5ACAABsjZqamqisrIyqqqpt2k7xvxXHG2+8kaVRpZeRq5wtZRQVFUWHDh2iVatWjdqeQgoAAGx3KisrY7fddosDDjggCgoKtno7S1ctjf132z+LI0snI1c5X5SRJEl89NFHUVlZGV//+tcbtT2H7AIAANudqqqq2GuvvbapjJIdBQUFsddee23V3mqFFAAA2C4po/ljax8LhRQAAIBUKKQAAECzUF1T2+ifachnLrdmu19mzpw58bvf/a5RP3PnnXfG7NmzszqOfOCkRgAAQLNQ2KpFlFw3PevbLbu1Z1a39/rrrzf6Z66++uqsjiFfKKQAAADbaOjQoXHsscfGd7/73YiIuOiii+LHP/5xHHHEEXXW+9vf/haTJk2KiIj9998/li5dGq+++mosW7Ys+vfvH4ccckjcfvvtUVVVFf/4xz9i6NChcfbZZ8fw4cPj+OOPj+OPPz6uuuqqOOSQQ+KNN96IvfbaK+68887YY489cj3lrHDILgAAwDbq06dPPPHEExERsWTJkvj44483K6MREQcffHD07ds3+vbtG3369ImIiOrq6pgxY0b0798/Hnzwwbjpppvi8ccfj9GjR8d//dd/bbaNN998MwYOHBh//OMfY/fdd4+ysrKmnVwTUkgBAAC20QknnBDLly+PysrKmDZtWvTs2fDDfDt16pT5fty4cfHXv/41fvWrX8Xvfve7WLNmzWbr77XXXvHNb34zIiIOOeSQ+Mc//rHtE0iJQgoAALCNCgoKolevXvHkk0/GzJkzG1VIi4qKMt9feOGFsWjRoujYsWNcfvnlX7h+69at6+QmSbL1A0+Zz5ACAABkQe/evePCCy+Mgw8+ONq1a7fF9Vq0aBHr16/f7P5PPvkkysvL46GHHorWrVvHXXfdFbW12T3Db75RSAEAgGahuqY262fE3bTdwlYt6l1vv/32i/322y/OO++8L13vuOOOi2HDhsXee+9d5/499tgj/uM//iO6d+8eu+66axx55JFRVVUVa9eu3abx5zOFFAAAaBYaUho/b+mqpfVei7Qh202SJJYvXx4rV66MM84440vXPe6442LOnDlfuGz48OExfPjwzO3S0tKIiBg7dmzmvs/+7KBBg+odWz5TSAEAALbRrFmzorS0NEpLS6OwsDB+8YtfxLx58yIiomZjTbTaqVVERHTs2DFGjx6d5lDzikIKAACwjbp16xbdunXL3B42bFjm+4bshd1ROcsuAAAAqVBIAQAASIVCCgAAQCoUUgCA7VB1Td1rE26sqc58X9ql9NP7NlQHQD5zUiMAgO1QYasWUXLd9Mztslt7xruj+9RZ58ARU3M9LEjVxg3VsVPLwkb9TENONrQ126VhFFIAAKBZ2Kll4Wb/MZMN+f6fO//+7/8eb7311haXV1RUxK9//eu4+eabG7zN2bNnx+LFi+Pqq6/OxhC3SCEFAABoxpYuXRoVFRWN+pnTTz89Tj/99CYa0b8opAAAANto6NChceyxx8Z3v/vdiIi46KKL4sc//nEcccQRm607fPjwKCgoiLfffjtWr14dV1xxRfTq1SvuuuuuePXVV2PZsmXRv3//+M53vhOlpaXxySefRFFRUVx//fXxzW9+MyorK2Po0KGxdu3aL9z+5910001RWVkZ//mf/xndunWLcePGxcaNG+OQQw6Ja6+9Nn72s5/FqlWrYsWKFdG9e/f48Y9/HI899li8+OKLMXbs2DjttNPi3HPPjeeeey7+ueafcdu426Jjx45Z+b05qREAAMA26tOnTzzxxBMREbFkyZL4+OOPv7QsfvjhhzFp0qS4//7745ZbbokVK1ZERER1dXXMmDEj+vfvH8OGDYuhQ4fG448/Hj//+c9jyJAhERHx85//PHr37h3Tp0+Po48+ut6xjRw5Mjp27BijRo2KiIjy8vK4//774xe/+EX88Y9/jB49esTkyZPjiSeeiIceeig+/vjjzbaxxx57xJQpU+Lc3ufGPffc0+jfz5YopAAAANvohBNOiOXLl0dlZWVMmzYtevbs+aXr9+7dO1q1ahX77rtvHH300bFgwYKIiOjUqVNERKxZsyYWL14cP/3pT6Nnz55x3XXXxdq1a+Pvf/97vPjii3H22WdHRMS5554brVq1atRYv/71r8duu+0WERGXXnpp7LfffvHb3/42Ro8eHTU1NbFu3brNfuaUU0759GcP/np88sknjcr7Mg06ZPfOO++MWbNmRUFBQZx//vkxcODAOsvvvvvumDp1auy+++4REXHBBRdE//79szZIAACAfFZQUBC9evWKJ598MmbOnBn33nvvl67fokWLzPcbN26Mli0/rWZFRUWZ+woLC2P69H+dTfuDDz6IPfbYIyIikiTJ5BYUFDRqrJsyIiLGjh0bFRUV0aNHjzjjjDNi3rx5mW1/VuvWrT/Ni8Zl1afePaQvvvhizJ8/P5544omYOnVq/OEPf4h33323zjqLFy+O2267LaZPnx7Tp09XRgEAgB1O7969Y9KkSbHvvvtGu3btvnTdp556KpIkiSVLlsSiRYvimGOOqbN8t912iwMOOCBTSJ9//vlMzzr55JMzhwc//fTTUV395dccbtGiRWzYsOELlz3//PNx6aWXxtlnnx3Lli2LDz/8MDZu3Nig+WZDvXtIjz/++HjggQeiZcuW8eGHH0ZtbW20adOmzjqLFy+OCRMmREVFRRx33HExbNiwTIMGAADIhY0bqpvkEi0NvQ7pfvvtF/vtt1+cd9559a5bVVUVffr0ierq6rjxxhtjzz333GydcePGRWlpadx7773RqlWruP3226OgoCBuuOGGGDp0aEyaNCkOP/zw2GWXXb4066CDDopVq1bF0KFD4/zzz6+z7Ic//GH85Cc/id133z322muv6NixY1RWVtY7/mwpSL5of+wX+OUvfxn33XdfdOvWLcaMGZPZLbxmzZq45pprYuTIkdG+ffsYPnx4tG/fPvOB2y9TWVkZp59+epSMLold9961wYOeWz43uhzQpcHrb41cZOQqx1zyM8dc8jPHXPIzx1zyM6c5zSVXOdnMKO1SGiXX/etQvrJbe252/cUDR0yN0rmlWcn7PI9LfubsSHMp/rfi+P8O/v+2OWfV+lWxW+vdtnk7SZLERys/imt+cE3c98h9UVj4rwL7+YyxpWPjyGOOjG4l3bY597OyNZetzXj/b+/HrH/MqnPf6pWro2xEWcyePTs6dOiw+Q8ljbB27dpkwIAByaRJk7a4zuuvv5707NmzQdurqKhIDj300KSioqIxw0hG/feoRq2/NXKRkascc8nPHHPJzxxzyc8cc8nPnOY0l1zlZDujx7XTMl9JkiTv3NS7zldT8rjkZ86ONJf/+3//b1ZylvxzSVa289RTTyUnnHBC8tRTTyVJkiRjx45Nzj333OTcc89Nzu5xdub7n/3sZ8mwYcOSqVOnZiV3kyeffLJOzme/sunLfl9f9JjU1/nqPWT3nXfeierq6vjGN74RO++8c5x11lnx1ltvZZYvXbo05s2bl9n1myRJ5gO5AAAAO4Ju3bpFt27/2uM5bNiwzPdLVy2N/Xfbv0nzzznnnDjylCObPCfb6j2pUWVlZYwcOTKqq6ujuro6Zs+eXecDt0VFRTFu3LioqKiIJEli4sSJceaZZzbpoAEAANj+1bsrs3PnzrFw4cLo1atXtGjRIs4666zo3r17XHbZZTF48OA4/PDD48Ybb4wrrrgiampq4uijj97ssjAAAADweQ06tnbw4MExePDgOvdNmDAh831xcXEUFxdnd2QAAAA0a/UesgsAAABNQSEFAACaheramkb/TENOArQ126VhnA4XAABoFgpbtIoLHrki69ud/N1fZ32bfEohBQAAyILf/OY38dRTT0VtbW185zvfiX79+sVll10Wu+y+S+zWZrc499xz4/HHH49PPvkkunbtGgMGDIgRI0bE0qVLo2XLljFkyJA49dRT46677opXX301li1bFv3794/+/funPbUmo5ACAABso//5n/+JxYsXx5QpU6KgoCCGDh0aZWVl8d5778XDTzwcR//70fHYY4/Fhx9+GDNmzIiWLVvG1VdfHSeeeGIMHDgw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HlIAAABoCgopAAAAqVBIAQAASIVCCgAAQCoUUgAAAFKhkAIAAJAKhRQAAIBUKKQAAACkQiEFAAAgFQopAAAAqVBIAQAASIVCCgAAQCoUUgAAAFKhkAIAAJAKhRQAAIBUKKQAAACkQiEFAAAgFQopAAAAqWiZZnhtbW1ERHzwwQeN+rnVK1dHZWVlUwwppxm5yjGX/Mwxl/zMMZf8zDGX/MxpTnPJVY655GeOueRnjrnkZ05jMzZ1vU3d7/MKkiRJsjKyrfDSSy9F//7904oHAAAgByZOnBjHHnvsZvenWkirqqpi8eLFsc8++0SLFi3SGgYAAABNoLa2NlasWBEdO3aMoqKizZanWkgBAADYcTmpEQAAAKlQSAEAAEiFQgoAAEAqFFIAAABSoZACAACQCoUUAACAVCikAAAApEIhBQAAIBUt0x5Afd55552YNWtWfPDBB7HTTjtF27Zt45RTTonDDz887aE12rPPPhvLli2Lzp07x9e+9rXM/Y888kh897vfzVpOeXl57LzzztGuXbt49NFH46233oqjjz46zjnnnKxl5MKiRYuiU6dOERHxwgsvxJ/+9Kdo2bJlnHnmmXHEEUdkLefPf/5zHHHEEbH77rvHtGnTYtGiRfGtb30r+vTpk7WMm266KQYNGhT/9m//lrVtAgDA9i6v95BOnDgxrr322oiIOPzww+Nb3/pWRERcf/31cd9996U5tEYbP358PPjgg1FeXh59+/aN6dOnZ5ZNmjQpazm///3v49JLL42+ffvGT3/603jyySfj61//ekydOjV+9atfZS3n88aOHZv1bY4aNSoiPv07uPnmm2PfffeNvffeO2644YZ48MEHs5IxevTouOeee2L9+vVxxx13RFlZWRx88MHxzDPPxE033ZSVjIiIadOmxQUXXBBPP/101rb5RV544YV45ZVXIiLivvvui8svvzzuvvvuqK6uzmrOs88+G8OHD49LL700Lr/88rj55pszuQCwNZ599tnM948++mgMGjQohgwZEjNmzEhxVEBTK0iSJEl7EFtSXFwc06ZNi5133rnO/evWrYvzzjsvZs6cmbWspUuXfuny/ffff5u2X1JSEo8//ni0bNkyysvL45JLLomhQ4fG2WefHb169Ypp06Zt0/Y/mzNlypRYuXJl9OjRI+bPnx+tW7eO6urqOP/88+OJJ57Y5oyf/vSnm903Z86cOO200yIiYsyYMducERFx3nnnxeOPPx49e/aM3//+97HnnntGRMTq1avj/PPPz8rjf84550RZWVm0aNEievXqFZMnT47CwsKora2NHj16xFNPPbXNGRERvXr1ivHjx0dpaWmsX78+Bg4cGKeddloUFRVlZfsREbfccku89NJLsWHDhujQoUMUFBRE7969Y86cOVFbW5u1gn3PPffEq6++GqecckrMmTMnjj322CgqKopHH300vve978UFF1yQlRx2bM8++2ycccYZEfHpG9P/+Z//yRwhsb0d7UHj/PnPf46ZM2fWOTLq1FNPjeLi4rSH1igbNmyIiRMnxrJly+KMM86IY489NrPsrrvuikGDBmUta968ebHbbrvFN77xjbjrrrvirbfeimOOOSYuueSSaNGiRdZyPuvaa6+N2267Lavb3PTv/l133RUvvfRSXHTRRZEkSTzyyCPxrW99K4YMGbLNGRs2bIgpU6bEmWeeGbvttlv85je/iddeey2+9a1vxQ9/+MNo3bp1FmYScfnll8eIESPiq1/9ala290U2bNgQ06ZNi6KioiguLo4xY8bEX/7yl+jYsWMMGzYs9thjj6zkbNy4MR544IGYPXt2rFixIlq1ahVf+9rX4pxzzonu3btnJWMTz//GSeO5H5H9539eH7LbsmXL2LBhw2b3V1VVRatWrbKa9cMf/jDKy8ujbdu28fmOXlBQELNnz96m7SdJEgUFBRERccABB8Q999wTAwcOjK985SuZ+7Nh48aNUVhYGO3bt49LLrmkzgtrbW1tVjL22GOPmDZtWlx++eWx++67R0TE/Pnz4/jjj8/K9jfZsGFDbNy4Mfbaa69o06ZN5v7CwsLYaafs7NwvKiqKjz76KNq2bRt77bVXrF27NgoLC2PdunXRsmX2nh4FBQVx8MEHx4MPPhjz5s2LRx55JEaPHh0HHHBA7LvvvnHrrbduc8af//znmD59elRXV0fnzp3jueeei1atWsWpp54aPXv2zMIsPjVjxoyYNm1aFBQURJ8+feKyyy6LBx54IPr06RMXXHBBVgupf5gar7m8Mf3Vr34VZ5xxxhe+MX3rrbe8Mf2c5vLG9M4774xFixbFueeeG23bto2IiOXLl8eUKVPi1VdfjWHDhm1zRkTEX/7yly9dftxxx21zxg033BAbN26MQw89NH7yk5/EBRdcEJdffnlEfPqfuNl63o8bNy5efvnlWL16debfsn79+sXMmTPj5ptvjuuvv36bMy666KLN3qssXrw4BgwYEBERDzzwwDZnfNYzzzwTjz76aOY52KVLl+jRo0dWnveb/oaKi4vjF7/4RaxduzYuvPDCmDt3bvzsZz/Lyr/HERELFy7MHLF20UUXZf19a0TEyJEjY+3atVFdXR0PPvhgdOrUKW6//faYPXt23HDDDfHLX/4yKzljx46Nmpqa+P73vx+zZs2Kww47LPbbb7944IEHory8PK688sqs5OTi+Z+L535Ebp7/uXjuR+Tm+Z/XhfTyyy+PXr16xUknnRT77LNPRESsWLEi5s+fn5UXpc96+OGH48ILL4xRo0bFMccck9VtR0R069YtLrroohg+fHh06tQpDjnkkLjzzjvjqquuyurhlGeddVb8n//zf+KBBx7I/LG/+eabMXLkyDj77LOzkjFs2LA49dRT44477ohrr702TjjhhLj//vvjvPPOy8r2N9lzzz2jc+fOUVBQEKNGjYqxY8fGCy+8EOPGjYtu3bplJeOqq66K888/P7p37x4HHnhgXHTRRXHSSSfFc889F9///vezkhERdf6T4+STT46TTz45ampq4q233oqKioqsZaxatSrWrl0bVVVVsXr16thzzz2jqqoqampqspIREbF+/fpYt25dtGnTJqqqquKTTz6JiIg2bdpk7T8KInL3xrS+oxN69eq1zRnemG49b0wbprm8MZ0xY0Y89dRTm72W9OjRI3r06JG15/2vfvWrePXVV6NTp05f+J/Q2fg7Xrx4ceaopF69esXFF18cRUVFcfHFF2+WuS3+9Kc/RVlZWXzyySdx5plnxosvvhg77bRTnHrqqVl5/Yr49D3Mb37zm7jmmmuiffv2kSRJXH/99XHVVVdlZfubrF27NlauXBn7779/rF27NvO8r6qqytp/Er/99ttRVlYWEZ+Wk+nTp0dBQUF07tw5q0dftGvXLu6999645ZZb4qyzzop+/fpF9+7do3379lnLeP3116OsrCxqa2ujc+fOmY+AHXzwwVn9j+j58+dn/pZPOeWU6N+/fzz88MPRuXPnOPfcc7NWSHPx/M/Fcz8iN8//XDz3I3Lz/M/rQlpSUhLHH398vPDCC7F8+fJIkiSOPfbYGDRoULRr1y6rWbvuumvcdNNN8eijjzZJIb3qqqvimGOOiV122SVz3zHHHBOPPfZYVj8Pe/XVV8df/vKXOntCCgsLY9CgQdG5c+es5Zx00knxjW98I0aNGhVz587N2t7Xz9r0ovDuu+/GP//5z4j4dC6DBw+OLl26ZCXjtNNOi0MOOSSeffbZeP/99+PII4+MXXbZJcaOHZs5oVI29O/ff7P7WrVqFR07doyOHTtmJeOyyy6Ls846K5IkiaFDh8Yll1wSJ510UrzwwgtZPUFT7969o1+/fvGd73wnnnvuuejdu3csWbIkrrzyyujRo0fWcnL1xnT+/Pkxa9asLf4nRzZe1L0xbTxvTBunubwxbd26dXzwwQebfUxm6dKlUVhYuE3b/qwJEybEgAED4nvf+16cfvrpWdvuZyVJEmvXro02bdrEV77ylZgwYUL069cv9tprr6weGRURUV1dHXvuuWcMGzYs85q5Zs2aLzzKbGv0798/TjjhhBg1alT8x3/8R/Tq1St22WWXrB8ZdfTRR8fAgQNj2bJlccMNN8Rdd90VTz/9dIwZMyZ+8IMfZCWjTZs28de//jUOOeSQ+NrXvhbLli2L/fffPz788MOs/o0VFBTE3nvvHbfcckuUl5fH5MmT45JLLon169fHvvvum5Xzh+y0007x3nvvxapVq2LVqlVRWVkZHTp0iI8//jhrj33Ep0fYffTRR7HXXnvFihUroqqqKiIiampqsno0WS6e/7l47kfk7vnf1M/9iBw9/xPYRpMnT04GDhyY9jBIkmTdunXJ6tWrkyRJkjfffDO59957k+eeey7rOfPmzUvuvffeZN68eUmSJMnq1auTN998M6sZJSUlyZIlSza7///9v/+XnHvuuVnN+uEPf5g8+uijWd3mZ/Xo0SNZs2ZN5vYHH3yQdO3aNXniiSeSXr16ZS2ne/fuSVVVVZIknz4vN1m1alVyzjnnZC3nr3/9a3LhhRcmjz/+eJIkSVbnsMnw4cOTHj16JMccc0xy1VVXJUmSJLNmzUq6dOmSPPTQQ1nJuOCCC5K33347SZIkufLKKzN/bx988EHSs2fPrGQkSd3fz3vvvZf84he/SM4666ykc+fOyXe/+92sZJx77rnJu+++myxcuDDp1KlTUlFRkSRJknz00UdZfezPOeecZOXKlUmSfPp72jS31atXJ927d9/m7T///PNJly5dkosvvjgZOnRoMnTo0OTiiy9OunTpkrzwwgvbvP3Pevfdd5Nx48ZldZufNWnSpOSss87KvE4mSZL87W9/S7p06ZIcfvjhWcuZOHFictZZZyUbNmzI3LdgwYKka9euySOPPJK1nCRJkvXr1ydjxoxJBg0alNW/q8965plnkvvvvz957733kiRJkrfeeit58803k0mTJmVl+y+//HLy7W9/Oxk0aFDyk5/8JPn2t7+d/OhHP0o6d+6czJ07NysZSZJs8TXk448/ThYuXJiVjD//+c9J586dk1NOOSV55plnkm7duiWDBw9Ounbtmnl9zoapU6cmnTt3Tq6++uqkS5cuSVlZWVJeXp507tw5mTJlStZyvuj5P3DgwKw//5v6uZ8kX/z8f+edd7L6/N/Sc/+0007L+nM/SZr2+Z/XJzUCdlzz5s2LESNGxAEHHFDnkP3y8vIYM2ZMnHjiiVnLWr58eZSVlcWll16atW1+1iOPPBL33XdflJaWxkknnRQRn17S6vvf/3589NFHsWjRoqzkPPTQQ3H//ffHjBkzMkdJvPzyy/HjH/84Lr/88qx+vre6ujpuu+22WLp0abzzzjvx5JNPZm3bn7Vu3bpYuXJlfPWrX4233347kiSJf//3f8/Ktl955ZUYNGhQHH300bHzzjvH888/H0cccUS8/vrr8Z//+Z9ZO6pkSyeu+/vf/x4VFRVZORrjueeei5EjR8bGjRvjhhtuiFtvvTUOPfTQeO2112Lw4MFZ20P+2GOPxZ133hlHHXVULFy4MK677ro4/PDD43vf+14MGjQoK0djPPnkk/Hee+9FixYt4qtf/Wq0a9cujjjiiHj88cezeom0XFyKbcKECVFdXR0lJSWZjNWrV8dDDz2UtT1+EZ+eYb9FixaZuXzwwQexatWqePnll7M2l8/+viorK+OPf/xj3HzzzVn9fY0fPz5ef/31OPDAA+Opp56KYcOGZfbwbzrhUTZMmzYtKisro6ioKDZs2BB77713fOc734k//elPWZvLn/70p6ipqWnyv7Fnn302li5dGl26dIk2bdrESy+9FIcccki89NJLWX2+bPpb7t69exxwwAFRXV0da9asiaeffjqrOW+++WasWrUqli9fHuXl5fG///u/0bdv36wetZKryyO+9957UVRUFPvtt18m5/DDD4+///3vcfHFF2cto02bNpm5LFy4MDp06JD5WFC2fPZ39sgjj8TChQvjO9/5TtZ+ZwopkLfWr18fixYtyhyyv+mNaTYPq2rqM2xvUl5eHoWFhXW2t3r16pgyZUrW/mGKiMwhW5tsemN6yCGHZC3js55//vl48skn4+abb87qdnP1uKxevTrmzZsX77//ftTW1mbemO67775Z2X7Ep29Ms/mRiYZYuXJl5o3pQQcdlNVtv/fee/HWW2/FYYcdlnljunbt2qycOOmzhWTGjBkxfPjwJikk48ePj8WLF8dBBx3UZMUnFxm5ysnVXHJxRYJc/Y2NGzcuXn/99SZ/XHJR4HP1+P/+97+PP/zhD7Fx48Y48cQTY9myZXHmmWfGnDlz4uijj87KZ1VzkVFfzlFHHZWVj7mkNZcPPvggzjjjjOzmZHV/K0CWLFmy5Eu/sqVHjx5Jx44dk9NOOy3p2rVrna/TTjstKxm5mksucjwu+ZnTXObSo0ePpKamJkmSTw9v7tq1azJjxowkSbZ8CGS+5vTo0SNzKF1zmEsuHpfu3bvXOfzw7bffTr797W8n8+fPz9pHA5rb31iu5pKrv+WqqqqksrIyOfLIIzMfQVm/fn1SUlKy3WTkKqc5zSWvT2oE7Lia+lJMmzT1GbYjcjeXXOR8UUZBQUHm0lbb++PSFHNJ63HJdkYucpIcXSItFzmf/f00h7nk4nHJxRUJmtvfWK7mssn2funCXGTkKqc5zcUeUiAvrVq1KikpKUleeumlJs9auHBhMnLkyCbbfq7mkoscj0t+5jSXudx1111Jv3796pz05aWXXkpOPPHE5Oijj96ucsxl68ybNy/529/+Vue+pUuXJjfddFNWtu9xyd+cO+64I7nwwgvr7CV/4403kj59+iR33XXXdpORq5zmNBeFFMhbTV1IcilXc8lFjsclP3Oay1yaupDkMsdc8pPHJX9zXnzxxTq333nnnaye/ThXGbnKaS5zcVIjAAAAUrFT/asAAABA9imkAAAApEIhBQAAIBUKKQAAAKn4/wE/XTQOTTQ34QAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgb = results_xgb.head(35)\n", + "results_xgb.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 574, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgb.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 575, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.0002484967735835318" + ] + }, + "execution_count": 575, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgb=np.mean(results_xgb.error)\n", + "meanerror_xgb" + ] + }, + { + "cell_type": "code", + "execution_count": 576, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.658282
10.562751
21.115470
30.695167
40.526078
......
650.746965
660.647061
671.791030
680.770550
690.816548
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.658282\n", + "1 0.562751\n", + "2 1.115470\n", + "3 0.695167\n", + "4 0.526078\n", + ".. ...\n", + "65 0.746965\n", + "66 0.647061\n", + "67 1.791030\n", + "68 0.770550\n", + "69 0.816548\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 576, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 577, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgb.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline lr" + ] + }, + { + "cell_type": "code", + "execution_count": 578, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9925376978865574\n", + "Adjusted R^2: 0.9922880297861076\n", + "MAE: 0.02837607364261138\n", + "MSE: 0.0020482755913549078\n", + "RMSE: 0.04525787877657224\n" + ] + } + ], + "source": [ + "pred = pipeline_lr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 579, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.362385-0.070885
10.65190.657699-0.005799
20.83600.8233900.012610
30.70930.6746660.034634
40.56640.5596960.006704
50.33810.519135-0.181035
60.79950.830816-0.031316
70.40670.3812560.025444
81.01281.0048100.007990
90.30340.2264870.076913
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.362385 -0.070885\n", + "1 0.6519 0.657699 -0.005799\n", + "2 0.8360 0.823390 0.012610\n", + "3 0.7093 0.674666 0.034634\n", + "4 0.5664 0.559696 0.006704\n", + "5 0.3381 0.519135 -0.181035\n", + "6 0.7995 0.830816 -0.031316\n", + "7 0.4067 0.381256 0.025444\n", + "8 1.0128 1.004810 0.007990\n", + "9 0.3034 0.226487 0.076913" + ] + }, + "execution_count": 579, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_lr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_lr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 580, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nHvuufH000/Hvzf8O+6YfEd06dIlKz83gxoBAAA00eDBg+ORRx6JiIjly5fHBx988Klh8b333ovp06fH7373u7j11ltjzZo1ERFRVVUV8+fPj2HDhsXYsWNjzJgxMXv27Pjxj38co0ePjoiIH//4xzFo0KCYO3dudO/evd62TZgwIbp06RITJ06MiIiysrL43e9+F7fcckv88Y9/jH79+sWMGTPikUceifvvvz8++OCDOtvYb7/9YubMmXHuoHPj7rvvbvTP55MIpAAAAE100kknxerVq6OioiLmzJkTAwYM+NT1Bw0aFK1bt46DDjoounfvHi+88EJERBx99NEREbFhw4ZYtmxZ/OAHP4gBAwbENddcExs3box//vOf8dxzz8XZZ58dERHnnntutG7dulFt/fznPx/77LNPRER84xvfiIMPPjh+/etfx6RJk6K6ujo++uijOt9z6qmnfvy9R3w+Pvzww0bV+zQu2QUAAGiigoKCGDhwYDz66KPx+OOPxz333POp67dq1SrzesuWLVFY+HE0Ky4uzswrKiqKuXPnZtZbtWpV7LfffhERkSRJpm5BQUGj2rq1RkTEzTffHOXl5dGvX78444wzYsmSJZltb6tNmzYf14vG1aqPM6QAAABZMGjQoJg+fXocdNBB0aFDh09d97HHHoskSWL58uXxyiuvxHHHHVdr+T777BOHHnpoJpD+5S9/iWHDhkVExCmnnJK5PPiJJ56IqqpPf+Zwq1atYvPmzTtc9pe//CW+8Y1vxNlnnx0rV66M9957L7Zs2dKg/maDM6QAAECLsGVzVbM8oqWhzyE9+OCD4+CDD47zzjuv3nUrKytj8ODBUVVVFddff33sv//+ddaZPHlylJaWxj333BOtW7eOn/zkJ1FQUBDXXXddjBkzJqZPnx5du3aNvfba61NrHX744bFu3boYM2ZMnH/++bWWffvb347vf//7se+++0a7du2iS5cuUVFRUW/7s0UgBQAAWoSGhMbtrVi3Ig7Z55AmbzdJkli9enWsXbs2zjjjjHrX79OnTwwaNKjWvJEjR9aaPvzww+P3v/99ne/t0KFD3HfffZnp+p4vuv/++8cf//jHzPRJJ52Ued2vX7/o16/fDr9va/sWLVqUmdft+G5xTu9zPrVeYwikAAAATbRgwYIoLS2N0tLSKCoqiltuuSWWLFkSERHV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rrF58+aYOXNmnHnmmbHPPvvEr371q/jb3/4WX/rSl+Lb3/52tGnTJgs9ibjsssti/Pjx8dnPfjYr29uRzZs3x5w5c6K4uDhKSkripptuir/+9a/RpUuXGDt2bOy3335ZqbNly5a47777YuHChbFmzZpo3bp1fO5zn4tzzjkn+vbtm5UaWzn+GyeNYz8i+8d/Xl+yW1hYGJs3b64zv7KyMlq3bp3VWt/+9rejrKws2rdvH9tn9IKCgli4cGGTtp8kSRQUFERExKGHHhp33313jBgxIj7zmc9k5mfDli1boqioKDp27BiXXHJJrT+sNTU1Wamx3377xZw5c+Kyyy6LfffdNyIinn322TjxxBOzsv2tNm/eHFu2bIl27dpF27ZtM/OLiopijz2yc3K/uLg43n///Wjfvn20a9cuNm7cGEVFRfHRRx9FYWH2Do+CgoI44ogj4g9/+EMsWbIkHnzwwZg0aVIceuihcdBBB8Xtt9/e5Bp//vOfY+7cuVFVVRU9e/aMp59+Olq3bh09evSIAQMGZKEXH5s/f37MmTMnCgoKYvDgwXHppZfGfffdF4MHD44LLrggq4HUP6bGaylvTH/+85/HGWecscM3pm+88YY3pttpKW9M77zzznjllVfi3HPPjfbt20dExOrVq2PmzJnx8ssvx9ixY5tcIyLir3/966cuP+GEE5pc47rrrostW7bEkUceGd///vfjggsuiMsuuywiPv4QN1vH/eTJk+PFF1+M9evXZ/6XDR06NB5//PG48cYb49prr21yjYsuuqjOe5Vly5bF8OHDIyLivvvua3KNbT355JPx0EMPZY7BXr16Rb9+/bJy3G/9HSopKYlbbrklNm7cGBdeeGEsXrw4fvjDH2bl/3FExNKlSzNXrF100UVZf98aETFhwoTYuHFjVFVVxR/+8Ic4+uij4yc/+UksXLgwrrvuuvjZz36WlTo333xzVFdXxze/+c1YsGBBHHXUUXHwwQfHfffdF2VlZXHFFVdkpU4ujv9cHPsRuTn+c3HsR+Tm+M/rQHrZZZfFwIED48tf/nIceOCBERGxZs2aePbZZ7PyR2lbDzzwQFx44YUxceLEOO6447K67YiIPn36xEUXXRTjxo2Lo48+Ojp37hx33nlnXHnllVm9nPKss86K//W//lfcd999mV/2119/PSZMmBBnn312VmqMHTs2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_lr = results_lr.head(35)\n", + "results_lr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 581, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 582, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.017118101693194786" + ] + }, + "execution_count": 582, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_lr=np.mean(results_lr.error)\n", + "meanerror_lr" + ] + }, + { + "cell_type": "code", + "execution_count": 583, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644653
10.554524
21.231013
30.662338
40.512779
......
650.773317
660.670450
671.802453
680.725688
690.809162
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644653\n", + "1 0.554524\n", + "2 1.231013\n", + "3 0.662338\n", + "4 0.512779\n", + ".. ...\n", + "65 0.773317\n", + "66 0.670450\n", + "67 1.802453\n", + "68 0.725688\n", + "69 0.809162\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 583, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 584, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/lr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline kn" + ] + }, + { + "cell_type": "code", + "execution_count": 585, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.8836213486911326\n", + "Adjusted R^2: 0.8797276391677876\n", + "MAE: 0.11585992831541216\n", + "MSE: 0.031943969462365586\n", + "RMSE: 0.17872875947190364\n" + ] + } + ], + "source": [ + "pred = pipeline_kn.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 586, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29150.959760.33174
10.65190.650380.00152
20.83600.84794-0.01194
30.70930.424640.28466
40.56640.61854-0.05214
50.33810.72774-0.38964
60.79950.706480.09302
70.40670.47320-0.06650
81.01281.15570-0.14290
90.30340.42464-0.12124
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 0.95976 0.33174\n", + "1 0.6519 0.65038 0.00152\n", + "2 0.8360 0.84794 -0.01194\n", + "3 0.7093 0.42464 0.28466\n", + "4 0.5664 0.61854 -0.05214\n", + "5 0.3381 0.72774 -0.38964\n", + "6 0.7995 0.70648 0.09302\n", + "7 0.4067 0.47320 -0.06650\n", + "8 1.0128 1.15570 -0.14290\n", + "9 0.3034 0.42464 -0.12124" + ] + }, + "execution_count": 586, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_kn = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_kn.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 587, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6oAAAJDCAYAAAACQOngAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABG1UlEQVR4nO3de5hVddk//ntgGAgPWQqYUF8zNSs8m5ol4BEURhB8FOQriWVpCnmI4AmUycQTaBqWj1FWlidEBUkEFR4sQ7+eEsXHQ6njM8NBQLM4zzCs3x/+mBzOM7Nnz2dmXq/rmuuatfba6/7cs2Yf3nsddkGWZVkAAABAIlo19gAAAADg4wRVAAAAkiKoAgAAkBRBFQAAgKQUNvYAtmTt2rWxYMGC6NChQ7Ru3bqxhwMAAEAOVVVVxbJly6Jr167Rrl27zW5PMqguWLAgBg8e3NjDAAAAoAHdddddccQRR2w2P8mg2qFDh4j4aNB77rnnDt/v5mdujkuOvqSBRpXfOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsWTJkhg8eHB19ttUkkF14+G+e+65Z3Tp0mWH77fzHjvXavm6ykcdvaRZRy9p1tFLmnX0kmYdvaRZRy9p1tFLmnX0kmadutbY2qmeLqYEAABAUgRVAAAAkiKoAgAAkJQkz1EFAACoq8rKyigvL4+1a9fWeR09P9kzXnvttRyOqnFq5KvO1mq0bt06dtttt9hjjz2iVasd308qqAIAAM1KeXl57LLLLrH33ntHQUFBndaxaMWi2GuXvXI8svzXyFedLdXIsiwqKyvjvffei/Ly8vjc5z63w+tz6C8AANCsrF27Nnbfffc6h1Ryo6CgIIqKiqJz586xatWqWt1XUAUAAJodITUdtTnkt/o+DTAOAAAAqDNBFQAAaNYqKqtqfZ8dOaezLuvdljlz5sRvfvObWt3nlltuidmzZ+d0HClwMSUAAKBZK2rTOoovn5bz9U6/sW9O1/fqq6/W+j7f//73czqGVAiqAAAADWTEiBFxxBFHxFlnnRUREeecc0784Ac/iIMPPrjGcn//+9/j3nvvjYiIvfbaKxYtWhQvvfRSLF68OAYPHhz77bdf/PSnP421a9fGP//5zxgxYkSccsopMWrUqDjyyCPjyCOPjIsvvjj222+/eO2112L33XePW265JXbbbbd8t5wTDv0FAABoIAMGDIiHH344IiIWLlwYH3zwwWYhNSJi3333jYEDB8bAgQNjwIABERFRUVERM2bMiMGDB8cf/vCHuPrqq+Ohhx6KcePGxS9+8YvN1vH666/H0KFD449//GPsuuuuMX369IZtrgEJqgAAAA3kqKOOiqVLl0Z5eXlMnTo1+vbd8cOFDzrooOrfx48fH3/729/i5z//efzmN7/Z4te97L777vHlL385IiL222+/+Oc//1n/BhqJoAoAANBACgoKol+/fvHII4/EzJkzaxVU27VrV/372WefHS+//HJ07do1Lrjggi0u37Zt2xp1syyr+8AbmXNUAQAAGlD//v3j7LPPjn333Tc6deq01eVat24d69at22z+hx9+GKWlpXH33XdH27ZtY+LEiVFVldsrDqdGUAUAAJq1isqqnF+hd+N6i9q03u5yn/nMZ+Izn/lMnH766dtc7qtf/WqMHDky9thjjxrzd9ttt/iP//iP6N27d+y8885xyCGHxNq1a2P16tX1Gn/KBFUAAKBZ25EwualFKxZt97tUd2S9WZbF0qVLY/ny5XHiiSduc9mvfvWrMWfOnC3eNmrUqBg1alT1dElJSUREXHfdddXzPn7fYcOGbXdsKRNUAQAAGsisWbOipKQkSkpKoqioKK6//vqYN29eRERUbqiMNq3aRERE165dY9y4cY051KQIqgAAAA2kV69e0atXr+rpkSNHVv++I3ttWypX/QUAACApgioAAABJEVQBAABIiqAKANCMVFRu/t2KW5oHkDIXUwIAaEaK2rSO4sun1ZjXEN8fCU3JhvUV0aqwqFb32ZGLHNVlvewYQRUAAGjWWhUWxdvjBuR8vfuMfiDn68ylL37xi/HGG29s9faysrK47bbb4pprrtnhdc6ePTsWLFgQ3//+93MxxK0SVAEAAFqgRYsWRVlZWa3uc8IJJ8QJJ5zQQCP6N0EVAACggYwYMSKOOOKIOOussyIi4pxzzokf/OAHcfDBB2+27KhRo6KgoCDefPPNWLlyZVx44YXRr1+/mDhxYrz00kuxePHiGDx4cHzjG9+IkpKS+PDDD6Ndu3ZxxRVXxJe//OUoLy+PESNGxOrVq7e4/k1dffXVUV5eHj/+8Y+jV69eMX78+NiwYUPst99+cdlll8WPfvSjWLFiRSxbtix69+4dP/jBD+LBBx+MZ599Nq677ro4/vjj47TTTounnnoq/rXqX3HT+Juia9euOfm7uZgSAABAAxkwYEA8/PDDERGxcOHC+OCDD7YZIt977724995743e/+13ccMMNsWzZsoiIqKioiBkzZsTgwYNj5MiRMWLEiHjooYfiJz/5SVx66aUREfGTn/wk+vfvH9OmTYvDDjtsu2MbM2ZMdO3aNcaOHRsREaWlpfG73/0urr/++vjjH/8Yffr0icmTJ8fDDz8cd999d3zwwQebrWO33XaLKVOmxGn9T4vbb7+91n+fralXUL3lllvi1FNPjd69e8dvfvObzW6/9dZb47jjjou+fftG375946677qpPOQAAgCblqKOOiqVLl0Z5eXlMnTo1+vbd9sXN+vfvH23atIk999wzDjvssHjhhRciIuKggw6KiIhVq1bFggUL4j//8z+jb9++cfnll8fq1avjH//4Rzz77LNxyimnRETEaaedFm3atKnVWD//+c/HLrvsEhER3/rWt+Izn/lM/PrXv45x48ZFZWVlrFmzZrP7HHvssR/dd9/Px4cfflirettS50N/n3322XjmmWfi4YcfjvXr18epp54a3bt3j3322ad6mQULFsRNN90Uhx56aE4GCwAA0JQUFBREv3794pFHHomZM2fGr371q20u37p16+rfN2zYEIWFH0W2du3aVc8rKiqKadP+fXXvJUuWxG677RYREVmWVdctKCio1Vg31oiIuO6666KsrCz69OkTJ554YsybN6963R/Xtm3bj+pF7WptT533qB555JFx5513RmFhYbz//vtRVVUV7du3r7HMggULYtKkSVFcXBxXXXVVrFu3rt4DBgAAaEr69+8f9957b+y5557RqVOnbS776KOPRpZlsXDhwnj55Zfj8MMPr3H7LrvsEnvvvXd1UP3LX/4SgwcPjoiIY445pvow48ceeywqKiq2Wat169axfv36Ld72l7/8Jb71rW/FKaecEosXL4733nsvNmzYsEP95kJBtqVYXAs/+9nP4o477ohevXrFtddeW53aV61aFZdcckmMGTMmOnfuHKNGjYrOnTtXHz+9LeXl5XHCCSdE8bji2HmPnXd4LHNL50aPvXvUtZWk6uglzTp6SbOOXtKso5c06+glzTq5rFHSo2SL36NaMrekyfXS2HX0kmadHanR85M94//s+3+qpzu2/XQUFrXb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iPXr18chhxwSCxYsqLHcxIkTo0OHDjFw4MB48skn4yc/+UnMmDEjioqKtrn+8vLyOOGEE6J4XHHsvMfOOzyuuaVzo8fePWrbTq3lo45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs05ta6xcvjKmj54es2fPji5dumy+QLYdM2bMyI499tgaP+ecc0527LHHVi9TWVmZde3adXuryoqLi7PXXnttu8uVlZVl+++/f1ZWVrbdZT9u7H+PrdXydZWPOnpJs45e0qyjlzTr6CXNOnpJs45e0qyjlzTr6CXNOrWtsb3Mt92LKZ1yyilxyimn1JhXWVkZRx11VFRVVUXr1q1j2bJl0bFjx83u+/vf/z769OkTn/rUpzaG4igsrPP1mwAAAGgB6nSOaps2beKII46IGTNmRETE1KlTo1u3bpst99xzz8WUKVMiIuLZZ5+NDRs2xD777FOP4QIAANDc1fmqv2PHjo3JkyfHqaeeGs8//3xccsklERFxzz33xC233BIREaNHj4558+ZFnz594vrrr48bb7wxWrXy1a0AAABsXZ2Pw+3cuXP8/ve/32z+oEGDqn/v1KlT/OY3v6lrCQAAAFoguzcBAABIiqAKAABAUgRVAAAAkiKoAgAAkJQkv9S0qqoqIiKWLFlSq/utXL4yysvLG2JIea+jlzTr6CXNOnpJs45e0qyjlzTr6CXNOnpJs45e0qxT2xobs97G7LepgizLspyMLIeef/75GDx4cGMPAwAAgAZ01113xRFHHLHZ/CSD6tq1a2PBggXRoUOHaN26dWMPBwAAgByqqqqKZcuWRdeuXaNdu3ab3Z5kUAUAAKDlcjElAAAAkiKoAgAAkBRBFQAAgKQIqgAAACRFUAUAACApgioAAABJEVQBAABIiqAKAABAUgobewD18dZbb8WsWbNiyZIl0apVq+jYsWMce+yxceCBBzb20GrliSeeiMWLF0f37t3jc5/7XPX8++67L84666yc1SktLY1PfOIT0alTp7j//vvjjTfeiMMOOyxOPfXUnNXIh5dffjkOOuigiIh4+umn48knn4zCwsI46aST4uCDD85prT//+c9x8MEHx6677hpTp06Nl19+Ob7yla/EgAEDcrL+q6++OoYNGxaf/OQnc7I+AABoDprsHtW77rorLrvssoiIOPDAA+MrX/lKRERcccUVcccddzTm0GplwoQJ8Yc//CFKS0tj4MCBMW3atOrb7r333pzV+e1vfxvf+ta3YuDAgfGf//mf8cgjj8TnP//5eOCBB+LnP/95zups6rrrrsv5OseOHRsRH/0PXHPNNbHnnnvGHnvsEVdeeWX84Q9/yFmdcePGxe233x7r1q2Lm2++OaZPnx777rtvPP7443H11VfnpMbUqVPjzDPPjMceeywn69uWp59+Ov76179GRMQdd9wRF1xwQdx6661RUVGRsxpPPPFEjBo1Kr71rW/FBRdcENdcc011TQCoiyeeeKL69/vvvz+GDRsWl156acyYMaMRRwU0tIIsy7LGHkRd9OzZM6ZOnRqf+MQnasxfs2ZNnH766TFz5syc1Fm0aNE2b99rr73qtf7i4uJ46KGHorCwMEpLS+O8886LESNGxCmnnBL9+vWLqVOn1mv9H68zZcqUWL58efTp0yeeeeaZaNu2bVRUVMQZZ5wRDz/8cL1r/Od//udm8+bMmRPHH398RERce+219a4REXH66afHQw89FH379o3f/va38alPfSoiIlauXBlnnHFGzrb9qaeeGtOnT4/WrVtHv379YvLkyVFUVBRVVVXRp0+fePTRR+tdo1+/fjFhwoQoKSmJdevWxdChQ+P444+Pdu3a5aCDf7vhhhvi+eefj/Xr10eXLl2ioKAg+vfvH3PmzImqqqqcBO/bb789XnrppTj22GNjzpw5ccQRR0S7du3i/vvvj29+85tx5pln5qATWronnngiTjzxxIj46A3rn/70p+ojKpra0SHU3p///OeYOXNmjSOpunXrFj179mzsodXK+vXr46677orFixfHiSeeGEcccUT1bRMnToxhw4blpM68efNil112iS996UsxceLEeOONN+Lwww+P8847L1q3bp2TGlty2WWXxU033ZSz9W183Z84cWI8//zzcc4550SWZXHffffFV77ylbj00ktzUmf9+vUxZcqUOOmkk2KXXXaJX/7yl/HKK6/EV77ylfjud78bbdu2rXeNCy64IEaPHh2f/exnczDirVu/fn1MnTo12rVrFz179oxrr702nnvuuejatWuMHDkydtttt3rX2LBhQ9x5550xe/bsWLZsWbRp0yY+97nPxamnnhq9e/eufxMf47FfO83lsd9kD/0tLCyM9evXbzZ/7dq10aZNm5zV+e53vxulpaXRsWPH2DTTFxQUxOzZs+u1/izLoqCgICIi9t5777j99ttj6NCh8elPf7p6fi5s2LAhioqKonPnznHeeefVeLKtqqrKSY3ddtstpk6dGhdccEHsuuuuERHxzDPPxJFHHpmT9W+0fv362LBhQ+y+++7Rvn376vlFRUXRqlXuDhJo165dvP/++9GxY8fYfffdY/Xq1VFUVBRr1qyJwsLcPHQKCgpi3333jT/84Q8xb968uO+++2LcuHGx9957x5577hk33nhjTur8+c9/jmnTpkVFRUV07949nnrqqWjTpk1069Yt+vbtm5MaM2bMiKlTp0ZBQUEMGDAgzj///LjzzjtjwIABceaZZ+Y0qHrBqr3GeNHK9QtWRMTPf/7zOPHEE7f4hvWNN97IyRvWfLxZjcjPG9Z8vFmNyM8b1ltuuSVefvnlOO2006Jjx44REbF06dKYMmVKvPTSSzFy5Mh613juuee2eftXv/rVeteIiLjyyitjw4YNsf/++8cPf/jDOPPMM+OCCy6IiI8+4M3FY3/8+PHx4osvxsqVK6tfxwYNGhQzZ86Ma665Jq644op614iIOOecczZ7v7JgwYIYMmRIRETceeedOakTEfH444/H/fffX/0Y7NGjR/Tp0ydnQXXj/1DPnj3j+uuvj9WrV8fZZ58dc+fOjR/96Ec5eU2eP39+9RFu55xzTk7fs37cmDFjYvXq1VFRURF/+MMf4qCDDoqf/vSnMXv27LjyyivjZz/7Wb1rXHfddVFZWRnf/va3Y9asWXHAAQfEZz7zmbjzzjujtLQ0Lrroohx04rFfW83psd9kg+oFF1wQ/fr1i6997WvRoUOHiIhYtmxZPPPMMzl7woqIuOeee+Lss8+OsWPHxuGHH56z9W7Uq1evOOecc2LUqFFx0EEHxX777Re33HJLXHzxxTk9JPPkk0+O//t//2/ceeed1Q+C119/PcaMGROnnHJKTmqMHDkyunXrFjfffHNcdtllcdRRR8Xvfve7OP3003Oy/o0+9alPRffu3aOgoCDGjh0b1113XTz99NMxfvz46NWrV87qXHzxxXHGGWdE7969Y5999olzzjknvva1r8VTTz0V3/72t3NS4+MffhxzzDFxzDHHRGVlZbzxxhtRVlaWkxob66xYsSJWr14da9eujZUrV8anPvWpWLt2bVRWVuakxrp162LNmjXRvn37WLt2bXz44YcREdG+ffucfoCQjxesiNju0Qz9+vWrd418vGBF5OdFK59vViMa9g1rPt6sRuTnDWs+3qxG5OcN64wZM+LRRx/d7PmkT58+0adPn5w89n/+85/HSy+9FAcddNAWP5zO1f/xggULqo9k6tevX5x77rnRrl27OPfcczerW1dPPvlkTJ8+PT788MM46aST4tlnn41WrVpFt27dcvL8tVGvXr3il7/8ZVxyySXRuXPnyLIsrrjiirj44otzVmP16tWxfPny2GuvvWL16tXVj/u1a9fm7IPjiIg333wzpk+fHhEfBZdp06ZFQUFBdO/ePWdHbHTq1Cl+9atfxQ033BAnn3xyDBo0KHr37h2dO3fOyfo3evXVV2P69OlRVVUV3bt3rz6dbN99983ZB9TPPPNM9f/xscceG4MHD4577rknunfvHqeddlrOgqrHfu00p8d+kw2qxcXFceSRR8bTTz8dS5cujSzL4ogjjohhw4ZFp06dclZn5513jquvvjruv//+BgmqF198cRx++OGx0047Vc87/PDD48EHH8zpubbf//7347nnnqux56SoqCiGDRsW3bt3z1mdr33ta/GlL30pxo4dG3Pnzs3Z3tqP2/hk8fbbb8e//vWviPiol+HDh0ePHj1yVuf444+P/fbbL5544ol4991345BDDomddtoprrvuuuqLOdXX4MGDN5vXpk2b6Nq1a3Tt2jUnNSIizj///Dj55JMjy7IYMWJEnHfeefG1r30tnn766ZxdGKp///4xaNCg+MY3vhFPPfVU9O/fPxYuXBgXXXRR9OnTJyc1IvLzghXx0QvwrFmztvrhRy6e7PPxghWRnxetfLxgReTnDWs+3qxG5OcNaz7erEbk5w1r27ZtY8mSJZudcrNo0aIoKiqq9/ojIiZNmhRDhgyJb37zm3HCCSfkZJ1bkmVZrF69Otq3bx+f/vSnY9KkSTFo0KDYfffdc3o0VUVFRXzqU5+KkSNHVj9nrlq1aotHpNXV4MGD46ijjoqxY8fGf/zHf0S/fv1ip512yunRVIcddlgMHTo0Fi9eHFdeeWVMnDgxHnvssbj22mvjO9/5Ts7qtG/fPv72t7/FfvvtF5/73Odi8eLFsddee8V7772Xs/+xgoKC2GOPPeKGG26I0tLSmDx5cpx33nmxbt262HPPPXN2fZJWrVrFO++8EytWrIgVK1ZEeXl5dOnSJT744IOcbf+qqqp4//33Y/fdd49ly5bF2rVrIyKisrIypx8geOzXXnN57EcGDWTy5MnZ0KFDG3sY/P/WrFmTrVy5MsuyLHv99dezX/3qV9lTTz2V0xrz5s3LfvWrX2Xz5s3LsizLVq5cmb3++us5rVFcXJwtXLhws/n/+7//m5122mk5rfXd7343u//++3O6zo/r06dPtmrVqurpJUuWZMcdd1z28MMPZ/369ctZnd69e2dr167Nsuyjx+VGK1asyE499dSc1fnb3/6WnX322dlDDz2UZVmW0x42GjVqVNanT5/s8MMPzy6++OIsy7Js1qxZWY8ePbK77747JzXOPPPM7M0338yyLMsuuuii6v+3JUuWZH379s1JjSyr+fd55513suuvvz47+eSTs+7du2dnnXVWTmqcdtpp2dtvv53Nnz8/O+igg7KysrIsy7Ls/fffz+m2P/XUU7Ply5dnWfbR32ljbytXrsx69+6dkxp/+ctfsh49emTnnntuNmLEiGzEiBHZueeem/Xo0SN7+umnc1Ijy7Ls7bffzsaPH5+z9W3Jvffem5188snVz5VZlmV///vfsx49emQHHnhgTmrcdddd2cknn5ytX7++et4LL7yQHXfccdl9992Xkxoft27duuzaa6/Nhg0bltP/rY0ef/zx7He/+132zjvvZFmWZW+88Ub2+uuvZ/fee2/Oarz44ovZ17/+9WzYsGHZD3/4w+zrX/969r3vfS/r3r17Nnfu3JzU2NpzyAcffJDNnz8/JzWyLMv+/Oc/Z927d8+OPfbY7PHHH8969eqVDR8+PDvuuOOqn6Pr64EHHsi6d++eff/738969OiRTZ8+PSstLc26d++eTZkyJSc1smzLj/2hQ4c2m8f+W2+9lZfH/vHHH9/kHvtN9mJKQMs0b968GD16dOy99941DvsvLS2Na6+9No4++uic1Vq6dGlMnz49vvWtb+VsnR933333xR133BElJSXxta99LSI++tqtb3/72/H+++/Hyy+/nJM6d999d/zud7+LGTNmVB9V8eKLL8YPfvCDuOCCC3J6/nBFRUXcdNNNsWjRonjrrbfikUceydm6P27NmjWxfPny+OxnPxtvvvlmZFkWX/ziF3Oy7r/+9a8xbNiwOOyww+ITn/hE/OUvf4mDDz44Xn311fjxj3+cs6NQtnbBvH/84x9RVlaWkyM3nnrqqRgzZkxs2LAhrrzyyrjxxhtj//33j1deeSWGDx+esz3qDz74YNxyyy1x6KGHxvz58+Pyyy+PAw88ML75zW/GsGHDcnbkxiOPPBLvvPNOtG7dOj772c9Gp06d4uCDD46HHnooZ1/nlq+vjJs0aVJUVFREcXFxdZ2VK1fG3XffnbO9hL/97W+jdevW1b0sWbIkVqxYES+++GJOe/n436y8vDz++Mc/xjXXXJOzv9mECRPi1VdfjX322SceffTRGDlyZPURARsvtJQrU6dOjfLy8mjXrl2sX78+9thjj/jGN74RTz75ZE56efLJJ6OysjIv/2NPPPFELFq0KHr06BHt27eP559/Pvbbb794/vnnc1Zn4/9x7969Y++9946KiopYtWpVPPbYYznt5fXXX48VK1bE0qVLo7S0NP7f//t/MXDgwJwe5ZKvr3F85513ol27dvGZz3ymus6BBx4Y//jHP+Lcc8/NWY327dtX9zJ//vzo0qVL9elFufLxv9l9990X8+fPj2984xs5+5sJqkCTs27dunj55ZerD/vf+GY1V4cARTT8Fb83Ki0tjaKiohrrW7lyZUyZMiVnL1gRUX3Y10Yb37Dut99+OavxcX/5y1/ikUceiWuuuSan683Xdlm5cmXMmzcv3n333aiqqqp+s7rnnnvmZP0RH71hzeWpFzti+fLl1W9Wv/CFL+R03e+880688cYbccABB1S/YV29enXOLtj08bAyY8aMGDVqVM7DyoQJE2LBggXxhS98oUEDUT7qNKde8vUNCfn4Hxs/fny8+uqredkuDR3u8/U/9tvf/jZ+//vfx4YNG+Loo4+OxYsXx0knnRRz5syJww47LCenFuSjxvbqHHrooTk5XaaxelmyZEmceOKJua2T0/2zAA1s4cKF2/zJlT59+mRdu3bNjj/++Oy4446r8XP88cfnpEa+eslHHdslzTrNqZc+ffpklZWVWZZ9dKj0cccdl82YMSPLsq0fTplijY11Nh6W1xx6aeg6vXv3rnEY45tvvpl9/etfz5555pmcnmLQ3P7H8tFLQ/8fb6yzdu3arLy8PDvkkEOqT2VZt25dVlxc3GRq5KtOc+qlyV5MCWiZGvorozZq6Ct+R+Svl3zU2VKNgoKC6q/gaurbpSF6aaztkusa+aqT5eHr3PJRY2OdjZpDLw1dJ1/fkNDc/sfy0ctGTf0rFvNRI191mlMv9qgCTcqKFSuy4uLi7Pnnn2/wWvPnz8/GjBnTYOvPVy/5qGO7pFmnOfUyceLEbNCgQTUuOPP8889nRx99dHbYYYc1mRr5qtOcesmyjy7W9/e//73GvEWLFmVXX311zmrYLunVyLIsu/nmm7Ozzz67xl711157LRswYEA2ceLEJlMjX3WaUy+CKtDkNHRQyad89ZKPOrZLmnWaUy/5CCv5qJGvOs2pl3yxXdKrkWVZ9uyzz9aYfuutt3J2JeZ81shXnebSi4spAQAAkJRWjT0AAAAA+DhBFQAAgKQIqgAAACRFUAUAACAp/x/8T7erRTRXEQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_kn = results_kn.head(35)\n", + "results_kn.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 588, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_lr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 589, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.011010857142857142" + ] + }, + "execution_count": 589, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_kn=np.mean(results_kn.error)\n", + "meanerror_kn" + ] + }, + { + "cell_type": "code", + "execution_count": 590, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.644653
10.554524
21.231013
30.662338
40.512779
......
650.773317
660.670450
671.802453
680.725688
690.809162
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.644653\n", + "1 0.554524\n", + "2 1.231013\n", + "3 0.662338\n", + "4 0.512779\n", + ".. ...\n", + "65 0.773317\n", + "66 0.670450\n", + "67 1.802453\n", + "68 0.725688\n", + "69 0.809162\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 590, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 591, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/kn.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### pipeline xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 592, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pipeline(steps=[('scalar8', StandardScaler()),\n", + " ('rf_classifier', GradientBoostingRegressor())]) R^2: 0.9993674801009855\n", + "Adjusted R^2: 0.9993463177251821\n", + "MAE: 0.009869758098748365\n", + "MSE: 0.0001736160035471743\n", + "RMSE: 0.013176342570955504\n" + ] + } + ], + "source": [ + "pred = pipeline_xgbr.predict(X_train)\n", + "print(pipelines[i],\"R^2:\",metrics.r2_score(y_train, pred))\n", + "print(\"Adjusted R^2:\",1 - (1-metrics.r2_score(y_train, pred))*(len(y_train)-1)/(len(y_train)-X_test.shape[1]-1))\n", + "print(\"MAE:\",metrics.mean_absolute_error(y_train, pred))\n", + "print(\"MSE:\",metrics.mean_squared_error(y_train, pred))\n", + "print(\"RMSE:\",np.sqrt(metrics.mean_squared_error(y_train, pred)))" + ] + }, + { + "cell_type": "code", + "execution_count": 593, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
y_trainy_pred_trainerror
01.29151.293343-0.001843
10.65190.660147-0.008247
20.83600.8293070.006693
30.70930.735015-0.025715
40.56640.5554470.010953
50.33810.340216-0.002116
60.79950.7850160.014484
70.40670.427782-0.021082
81.01281.035999-0.023199
90.30340.3028000.000600
\n", + "
" + ], + "text/plain": [ + " y_train y_pred_train error\n", + "0 1.2915 1.293343 -0.001843\n", + "1 0.6519 0.660147 -0.008247\n", + "2 0.8360 0.829307 0.006693\n", + "3 0.7093 0.735015 -0.025715\n", + "4 0.5664 0.555447 0.010953\n", + "5 0.3381 0.340216 -0.002116\n", + "6 0.7995 0.785016 0.014484\n", + "7 0.4067 0.427782 -0.021082\n", + "8 1.0128 1.035999 -0.023199\n", + "9 0.3034 0.302800 0.000600" + ] + }, + "execution_count": 593, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_xgbr = pd.DataFrame(zip( y_train, pred, y_train - pred), columns = [ 'y_train','y_pred_train', 'error'])\n", + "results_xgbr.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 594, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJDCAYAAAAcidlTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABDnElEQVR4nO3de3QV5b0//k8EQsTL0aqgQvuz3o61oIh3q4LXoBBB8FiUr1S0tloFRUuhgpJjQVG8Vnu6LNZWK4oICqZeUOHQU0WPFRXFr5dWjd8EUEBry8WQEOb3h4tdAmgS2NmzE16vtbJW5pL5PE9mz85+Z2aeKUiSJAkAAADIsW3SbgAAAABbJ4EUAACAVAikAAAApEIgBQAAIBWt0yxeVVUVCxYsiN122y1atWqVZlMAAADIstra2li6dGl07tw5ioqKNlqeaiBdsGBBDBw4MM0mAAAA0MQmTZoUhx122EbzUw2ku+22W0R82bjdd9+9wT93+0u3xxVHXdFErcpdjVzV0Zf8rKMv+VlHX/Kzjr7kZ52W1Jdc1dGX/KyjL/lZR1/ys05ja3z88ccxcODATPbbUKqBdN1lurvvvnt06tSpwT+3/a7bN2r9zZGLGrmqoy/5WUdf8rOOvuRnHX3JzzotqS+5qqMv+VlHX/Kzjr7kZ53NrfFVt2ga1AgAAIBUCKQAAACkQiAFAAAgFaneQwoAALA5ampqorKyMqqqqrZoO8X/Vhxvv/12llqVXo1c1fmqGkVFRdGpU6do06ZNo7YnkAIAAM1OZWVl7LDDDrHXXntFQUHBZm9n0fJFsecOe2axZenUyFWdTdVIkiQ+/fTTqKysjG9/+9uN2p5LdgEAgGanqqoqdtllly0Ko2RHQUFB7LLLLpt1tlogBQAAmiVhNH9s7r4QSAEAAEiFQAoAALQI1TW1jf6ZhtxzuTnb/TqzZ8+O3/3ud436mTvuuCNmzZqV1XbkA4MaAQAALUJhm1ZRctWMrG+37JY+Wd3eW2+91eifufzyy7PahnwhkAIAAGyh4cOHx2GHHRbf//73IyLivPPOi5/+9Kdx8MEH11nvb3/7W0yePDkiIvbcc89YtGhRvP7667F48eIYOHBg7LfffnHbbbdFVVVV/OMf/4jhw4fHaaedFiNHjowjjjgijjjiiLjssstiv/32i7fffjt22WWXuOOOO2KnnXbKdZezwiW7AAAAW6h///7x+OOPR0TEwoUL47PPPtsojEZE7LvvvjFgwIAYMGBA9O/fPyIiqqur48knn4yBAwfGAw88EGPHjo3HHnssxo0bF//1X/+10TbeeeedGDx4cPzxj3+MHXfcMcrKypq2c01IIAUAANhCRx55ZCxZsiQqKytj+vTp0adPwy/zPeiggzLfT5gwIf7617/Gr371q/jd734XK1eu3Gj9XXbZJQ488MCIiNhvv/3iH//4x5Z3ICUCKQAAwBYqKCiIvn37xhNPPBFPP/10owJpUVFR5vtzzz033njjjejcuXNcfPHFm1y/bdu2deomSbL5DU+Ze0gBAACyoF+/fnHuuefGvvvuGx06dPjK9Vq1ahWrV6/eaP7nn38e5eXl8eCDD0bbtm3jzjvvjNra7I7wm28EUgAAoEWorqnN+oi467Zb2KZVvevtsccesccee8SZZ575tesdfvjhMWLEiNh1113rzN9pp53iP/7jP6JXr16x/fbbR9euXaOqqipWrVq1Re3PZwIpAADQIjQkNG5o0fJF9T6LtCHbTZIklixZEsuWLYuTTz75a9c9/PDDY/bs2ZtcNnLkyBg5cmRmurS0NCIixo8fn5m3/s8OGTKk3rblM4EUAABgC82cOTNKS0ujtLQ0CgsL48Ybb4y5c+dGRETN2ppos02biIjo3LlzjBs3Ls2m5hWBFAAAYAv17NkzevbsmZkeMWJE5vuGnIXdWhllFwAAgFQIpAAAAKRCIAUAACAVAikAQDNUXVP7tdMAzYFBjQAAmqHCNq2i5KoZmekZN54WEV8+mqK0R2lERKxdUx3btC5MoXWQjs15zTdksCHHUtMRSAEAWoBtWhfGB+P615m396hpKbUG0rGp4yAb8v1Y+vd///d49913v3J5RUVF/PrXv47rr7++wducNWtWLFiwIC6//PJsNPErCaQAAAAt2KJFi6KioqJRP3PSSSfFSSed1EQt+heBFAAAYAsNHz48DjvssPj+978fERHnnXde/PSnP42DDz54o3VHjhwZBQUF8d5778WKFSvikksuib59+8add94Zr7/+eixevDgGDhwYxx57bJSWlsbnn38eRUVFcc0118SBBx4YlZWVMXz48Fi1atUmt7+hsWPHRmVlZfznf/5n9OzZMyZMmBBr166N/fbbL6688sq4+uqrY/ny5bF06dLo1atX/PSnP41HH300Xn755Rg/fnyceOKJccYZZ8Tzzz8f/1z5z7h1wq3RuXPnrPzeDGoEAACwhfr37x+PP/54REQsXLgwPvvss68Ni5988klMnjw57rvvvrjpppti6dKlERFRXV0dTz75ZAwcODBGjBgRw4cPj8ceeyx+8YtfxLBhwyIi4he/+EX069cvZsyYEd26dau3baNHj47OnTvHmDFjIiKivLw87rvvvrjxxhvjj3/8Y/Tu3TumTJkSjz/+eDz44IPx2WefbbSNnXbaKaZOnRpn9Dsj7r777kb/fr6KQAoAALCFjjzyyFiyZElUVlbG9OnTo0+fPl+7fr9+/aJNmzax++67R7du3WLevHkREXHQQQdFRMTKlStjwYIF8fOf/zz69OkTV111VaxatSr+/ve/x8svvxynnXZaREScccYZ0aZNm0a19dvf/nbssMMOERFx4YUXxh577BG//e1vY9y4cVFTUxNffPHFRj9z3HHHffmz+347Pv/880bV+zoNumT3jjvuiJkzZ0ZBQUGcddZZMXjw4DrL77rrrpg2bVrsuOOOERFx9tlnx8CBA7PWSAAAgHxWUFAQffv2jSeeeCKefvrpuOeee752/VatWmW+X7t2bbRu/WU0KyoqyswrLCyMGTP+NZr2xx9/HDvttFNERCRJkqlbUFDQqLauqxERMX78+KioqIjevXvHySefHHPnzs1se31t27b9sl40rlZ96j1D+vLLL8dLL70Ujz/+eEybNi3+8Ic/xAcffFBnnQULFsStt94aM2bMiBkzZgijAADAVqdfv34xefLk2H333aNDhw5fu+5TTz0VSZLEwoUL44033ohDDz20zvIddtgh9tprr0wgfeGFFzI565hjjslcHvzMM89EdXX119Zq1apVrFmzZpPLXnjhhbjwwgvjtNNOi8WLF8cnn3wSa9eubVB/s6HeM6RHHHFE3H///dG6dev45JNPora2Ntq1a1dnnQULFsTEiROjoqIiDj/88BgxYkQmQQMAAOTC2jXVTfKIloY+h3SPPfaIPfbYI84888x6162qqor+/ftHdXV1XHfddbHzzjtvtM6ECROitLQ07rnnnmjTpk3cdtttUVBQENdee20MHz48Jk+eHF26dIntttvua2vts88+sXz58hg+fHicddZZdZb9+Mc/jp/97Gex4447xi677BKdO3eOysrK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EEgBAABIhUAKAABAKlo3ZKW77rornnrqqYiI6N69e/zsZz/baPm0adNixx13jIiIs88+OwYOHJjlpgIAANCS1BtI586dG88//3w89thjUVBQED/84Q/j2WefjVNOOSWzzoIFC+LWW2+NQw45pEkbCwAAQMtRbyDdbbfdYuTIkVFYWBgREfvss08sWrSozjoLFiyIiRMnRkVFRRx++OExYsSIaNu2bdO0GAAAgBahIEmSpKErl5eXx4ABA2Ly5Mmx1157RUTEypUr44orrojRo0dHx44dY+TIkdGxY8cYNmxYvdurrKyMk046KUrGlcT2u27f4EbPKZ8TPfbq0eD1N0cuauSqjr7kZx19yc86+pKfdfQlP+u0pL7kqk42a5T2KI2Sq2Zkpstu6RMfjOtfZ529R02L0jmlWam3IfslP+voS37W2Zr7smLZiigbVRazZs2KTp06bbxC0kDvvfdecsIJJySPPvro16731ltvJX369GnQNisqKpL9998/qaioaGgzkiRJkjH/PaZR62+OXNTIVR19yc86+pKfdfQlP+voS37WaUl9yVWdbNfofeX0zFeSJMn7Y/vV+WpK9kt+1tGX/KyzNfelvszXoFF2582bF+eff35cddVVceaZZ9ZZtmjRopg6der6ATdat27QWEkAAABsxeoNpIsXL45LL700br755ujVq9dGy4uKimLChAlRUVERSZLEpEmT6gx4BAAAAJtS76nM3/72t7F69eoYP358Zt6AAQNi9uzZMXTo0OjSpUtcd911cckll0RNTU1069YtBg8e3KSNBgAAoPmrN5COHj06Ro8evdH8c845J/N9cXFxFBcXZ7dlAAAAtGgNuocUAAAAsk0gBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAikAAAApEIgBQAAIBUCKQAAAKkQSAEAAEiFQAoAAEAqBFIAAABSIZACAACQCoEUAACAVAik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N+Kggw6KiIgXX3wx/vSnP0Xr1q3jlFNOiYMPPjhrdf785z/HwQcfHDvuuGNMnz493njjjfjud78b/fv3z1qNsWPHxpAhQ+Lf/u3fsrZNAABo7vL6DOmkSZPiyiuvjIiILl26xHe/+92IiLjmmmvi3nvvTbNpjXbzzTfHAw88EOXl5TFgwICYMWNGZtnkyZOzVuf3v/99XHjhhTFgwID4+c9/Hk888UR8+9vfjmnTpsWvfvWrrNXZ0Pjx47O+zTFjxkTEl6+D66+/PnbffffYdddd49prr40HHnggKzXGjRsXd999d6xevTpuv/32KCsri3333TeeffbZGDt2bFZqRERMnz49zj777HjmmWeyts1NefHFF+O1116LiIh77703Lr744rjrrruiuro6q3Wee+65GDlyZFx44YVx8cUXx/XXX5+pCwCb47nnnst8/8gjj8SQIUNi2LBh8eSTT6bYKqCpFSRJkqTdiK9SXFwc06dPj2233bbO/C+++CLOPPPMePrpp7NWa9GiRV+7fM8999yi7ZeUlMRjjz0WrVu3jvLy8rjgggti+PDhcdppp0Xfvn1j+vTpW7T99etMnTo1li1bFr17946XXnop2rZtG9XV1XHWWWfF448/vsU1fv7zn280b/bs2XHiiSdGRMQNN9ywxTUiIs4888x47LHHok+fPvH73/8+dt5554iIWLFiRZx11llZ2f+nn356lJWVRatWraJv374xZcqUKCwsjNra2ujdu3c89dRTW1wjIqJv375x8803R2lpaaxevToGDx4cJ554YhQVFWVl+xERN910U7zyyiuxZs2a6NSpUxQUFES/fv1i9uzZUVtbm7WAfffdd8frr78exx13XMyePTsOO+ywKCoqikceeSR+8IMfxNlnn52VOmzdnnvuuTj55JMj4ssPpv/zP/+TuUKiuV3tQeP8+c9/jqeffrrOlVHHH398FBcXp920RlmzZk1MmjQpFi9eHCeffHIcdthhmWV33nlnDBkyJGu15s6dGzvssEN85zvfiTvvvDPefffdOPTQQ+OCCy6IVq1aZa3O+q688sq49dZbs7rNdX/377zzznjllVfivPPOiyRJ4uGHH47vfve7MWzYsC2usWbNmpg6dWqccsopscMOO8RvfvObePPNN+O73/1u/PjHP462bdtmoScRF198cYwaNSq++c1vZmV7m7JmzZqYPn16FBUVRXFxcdxwww3xl7/8JTp37hwjRoyInXbaKSt11q5dG/fff3/MmjUrli5dGm3atIlvfetbcfrpp0evXr2yUmMdx3/jpHHsR2T/+M/rS3Zbt24da9as2Wh+VVVVtGnTJqu1fvzjH0d5eXm0b98+NszoBQUFMWvWrC3afpIkUVBQEBERe+21V9x9990xePDg+MY3vpGZnw1r166NwsLC6NixY1xwwQV13lhra2uzUmOnnXaK6dOnx8UXXxw77rhjRES89NJLccQRR2Rl++usWbMm1q5dG7vssku0a9cuM7+wsDC22SY7J/eLiori008/jfbt28cuu+wSq1atisLCwvjiiy+idevsHR4FBQWx7777xgMPPBBz586Nhx9+OMaNGxd77bVX7L777nHLLbdscY0///nPMWPGjKiuro7u3bvH888/H23atInjjz8++vTpk4VefOnJJ5+M6dOnR0FBQfTv3z8uuuiiuP/++6N///5x9tlnZzWQ+sPUeC3lg+mvfvWrOPnkkzf5wfTdd9/1wXQDLeWD6R133BFvvPFGnHHGGdG+ffuIiFiyZElMnTo1Xn/99RgxYsQW14iI+Mtf/vK1yw8//PAtrnHttdfG2rVrY//994+f/exncfbZZ8fFF18cEV/+Ezdbx/2ECRPi1VdfjRUrVmT+lp1zzjnx9NNPx/XXXx/XXHPNFtc477zzNvqssmDBghg0aFBERNx///1bXGN9zz77bDzyyCOZY7BHjx7Ru3fvrBz3615DxcXFceONN8aqVavi3HPPjTlz5sTVV1+dlb/HERHz58/PXLF23nnnZf1za0TE6NGjY9WqVVFdXR0PPPBAHHTQQXHbbbfFrFmz4tprr41f/vKXWakzfvz4qKmpiR/+8Icxc+bMOOCAA2KPPfaI+++/P8rLy+PSSy/NSp1cHP+5OPYjcnP85+LYj8jN8Z/XgfTiiy+Ovn37xtFHHx277bZbREQsXbo0Xnrppay8Ka3voYceinPPPTfGjBkThx56aFa3HRHRs2fPOO+882LkyJFx0EEHxX777Rd33HFHXHbZZVm9nPLUU0+N//N//k/cf//9mRf7O++8E6NHj47TTjstKzVGjBgRxx9/fNx+++1x5ZVXxpFHHhn33XdfnHnmmVnZ/jo777xzdO/ePQoKCmLMmDExfvz4ePHFF2PChAnRs2fPrNS47LLL4qyzzopevXrF3nvvHeedd14cffTR8fzzz8cPf/jDrNSIiDr/5DjmmGPimGOOiZqamnj33XejoqIiazWWL18eq1atiqqqqlixYkXsvPPOUVVVFTU1NVmpERGxevXq+OKLL6Jdu3ZRVVUVn3/+eUREtGvXLmv/KIjI3QfT+q5O6Nu37xbX8MF08/lg2jAt5YPpk08+GU899dRG7yW9e/eO3r17Z+24/9WvfhWvv/56HHTQQZv8J3Q2XscLFizIXJXUt2/fOP/886OoqCjOP//8jWpuiT/96U9RVlYWn3/+eZxyyinx8ssvxzbbbBPHH398Vt6/Ir78DPOb3/wmrrjiiujYsWMkSRLXXHNNXHbZZVnZ/jqrVq2KZcuWxZ577hmrVq3KHPdVVVVZ+yfxe++9F2VlZRHxZTiZMWNGFBQURPfu3bN69UWHDh3innvuiZtuuilOPfXUOOecc6JXr17RsWPHrNV46623oqysLGpra6N79+6ZW8D23XffrP4j+qWXXsq8lo877rgYOHBgPPTQQ9G9e/c444wzshZIc3H85+LYj8jN8Z+LYz8iN8d/XgfSkpKSOOKII+LFF1+MJUuWRJIkcdhhh8WQIUOiQ4cOWa21/fbbx9ixY+ORRx5pkkB62WWXxaGHHhrbbbddZt6hhx4ajz76aFbvh7388svjL3/5S50zIYWFhTFkyJDo3r171uocffTR8Z3vfCfGjBkTc+bMydrZ1/Wte1P44IMP4p///GdEfNmXoUOHRo8ePbJS48QTT4z99tsvnnvuufjoo4+ia9eusd1228X48eMzAyplw8CBAzea16ZNm+jcuXN07tw5KzUuuuiiOPXUUyNJkhg+fHhccMEFcfTRR8eLL76Y1QGa+vXrF+ecc04ce+yx8fzzz0e/fv1i4cKFcemll0bv3r2zVidXH0xfeumlmDlz5lf+kyMbb+o+mDaeD6aN01I+mLZt2zY+/vjjjW6TWbRoURQWFm7Rttc3ceLEGDRoUPzgBz+Ik046KWvbXV+SJLFq1apo165dfOMb34iJEyfGOeecE7vssktWr4yKiKiuro6dd945RowYkXnPXLly5SavMtscAwcOjCOPPDLGjBkT//Ef/xF9+/aN7bbbLutXRnXr1i0GDx4cixcvjmuvvTbuvPPOeOaZZ+KGG26IH/3oR1mp0a5du/jrX/8a++23X3zrW9+KxYsXx5577hmffPJJVl9jBQUFseuuu8ZNN90U5eXlMWXKlLjgggti9erVsfvuu2dl/JBtttkmPvzww1i+fHksX748Kisro1OnTvHZZ59lbd9HfHmF3aeffhq77LJLLF26NKqqqiIioqamJqtXk+Xi+M/FsR+Ru+O/qY/9iBwd/wlsoSlTpiSDBw9OuxkkSfLFF18kK1asSJIkSd55553knnvuSZ5//vms15k7d25yzz33JHPnzk2SJElWrFiRvPPOO1mtUVJSkixcuHCj+f/v//2/5IwzzshqrR//+MfJI488ktVtrq93797JypUrM9Mff/xxcsIJJySPP/540rdv36zV6dWrV1JVVZUkyZfH5TrLly9PTj/99KzV+etf/5qce+65yWOPPZYkSZLVPqwzcuTIpHfv3smhhx6aXHbZZUmSJMnMmTOTHj16JA8++GBWapx99tnJe++9lyRJklx66aWZ19vHH3+c9OnTJys1kqTu7+fDDz9MbrzxxuTUU09Nunfvnnz/+9/PSo0zzjgj+eCDD5L58+cnBx10UFJRUZEkSZJ8+umnWd33p59+erJs2bIkSb78Pa3r24oVK5JevXpt8fZfeOGFpEePHsn555+fDB8+PBk+fHhy/vnnJz169EhefPHFLd7++j744INkwoQJWd3m+iZPnpyceuqpmffJJEmSv/3tb0mPHj2SLl26ZK3OpEmTklNPPTVZs2ZNZt68efOSE044IXn44YezVidJkmT16tXJDTfckAwZMiSrr6v1Pfvss8l9992XfPjhh0mSJMm7776bvPPOO8nkyZOzsv1XX301+d73vpcMGTIk+dnPfpZ873vfS37yk58k3bt3T+bMmZOVGkmSfOV7yGeffZbMnz8/KzX+/Oc/J927d0+OO+645Nlnn0169uyZDB06NDnhhBMy78/ZMG3atKR79+7J5ZdfnvTo0SMpKytLysvLk+7duydTp07NWp1NHf+DBw/O+vHf1Md+kmz6+H///fezevx/1bF/4oknZv3YT5KmPf7zelAjYOs1d+7cGDVqVOy11151LtkvLy+PG264IY466qis1VqyZEmUlZXFhRdemLVtru/hhx+Oe++9N0pLS+Poo4+OiC8fafXDH/4wPv3003jjjTeyUufBBx+M++67L5588snMVRKvvvpq/PSnP42LL744q/f3VldXx6233hqLFi2K999/P5544omsbXt9X3zxRSxbtiy++c1vxnvvvRdJksS///u/Z2Xbr732WgwZMiS6desW2267bbzwwgtx8MEHx1tvvRX/+Z//mbWrSr5q4Lq///3vUVFRkZWrMZ5//vkYPXp0rF27Nq699tq45ZZbYv/9948333wzhg4dmrUz5I8++mjccccdccghh8T8+fPjqquuii5dusQPfvCDGDJkSFauxnjiiSfiww8/jFatWsU3v/nN6NChQxx88MHx2GOPZfURabl4FNvEiROjuro6SkpKMjVWrFgRDz74YNbO+EV8OcJ+q1atMn35+OOPY/ny5fHqq69mrS/r/74qKyvjj3/8Y1x//fVZ/X3dfPPN8dZbb8Xee+8dTz31VIwYMSJzhn/dgEfZMH369KisrIyioqJYs2ZN7LrrrnHsscfGn/70p6z15U9/+lPU1NQ0+Wvsueeei0WLFkWPHj2iXbt28corr8R+++0Xr7zySlaPl3Wv5V69esVee+0V1dXVsXLlynjmmWeyWuedd96J5cuXx5IlS6K8vDz+93//NwYMGJDVq1Zy9XjEDz/8MIqKimKPPfbI1OnSpUv8/e9/j/PPPz9rNdq1a5fpy/z586NTp06Z24KyZf3f2cMPPxzz58+PY489Nmu/M4EUyFurV6+ON954I3PJ/roPptm8rKqpR9hep7y8PAoLC+tsb8WKFTF16tSs/WGKiMwlW+us+2C63377Za3G+l544YV44okn4vrrr8/qdnO1X1asWBFz586Njz76KGprazMfTHffffesbD/iyw+m2bxloiGWLVuW+WC6zz77ZHXbH374Ybz77rtxwAEHZD6Yrlq1KisDJ60fSJ588skYOXJkkwSSm2++ORYsWBD77LNPkwWfXNTIVZ1c9SUXTyTI1WtswoQJ8dZbbzX5fslFgM/V/v/9738ff/jDH2Lt2rVx1FFHxeLFi+OUU06J2bNnR7du3bJyr2ouatRX55BDDsnKbS5p9eXjjz+Ok08+Obt1snq+FSBLFi5c+LVf2dK7d++kc+fOyYknnpiccMIJdb5OPPHErNTIVV9yUcd+yc86LaUvvXv3TmpqapIk+fLy5hNOOCF58sknkyT56ksg87VO7969M5fStYS+5GK/9OrVq87lh++9917yve99L3nppZeydmtAS3uN5aovuXotV1VVJZWVlUnXrl0zt6CsXr06KSkpaTY1clWnJfUlrwc1ArZeTf0opnWaeoTtiNz1JRd1NlWjoKAg82ir5r5fmqIvae2XbNfIRZ0kR49Iy0Wd9X8/LaEvudgvuXgiQUt7jeWqL+s090cX5qJGruq0pL44QwrkpeXLlyclJSXJK6+80uS15s+fn4wePbrJtp+rvuSijv2Sn3VaSl/uvPPO5Jxzzqkz6Msrr7ySHHXUUUm3bt2aVR192Txz585N/va3v9WZt2jRomTs2LFZ2b79kr91br/99uTcc8+tc5b87bffTvr375/ceeedzaZGruq0pL4IpEDeaupAkku56ksu6tgv+VmnpfSlqQNJLuvoS36yX/K3zssvv1xn+v3338/q6Me5qpGrOi2lLwY1AgAAIBXb1L8KAAAAZJ9ACgAAQCoEUgAAAFIhkAIAAJCK/x+flKqUVmqvmgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_xgbr = results_xgbr.head(35)\n", + "results_xgbr.plot(kind='bar',figsize=(16,10))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 595, + "metadata": {}, + "outputs": [], + "source": [ + "pred_final = pipeline_xgbr.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 596, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.0018557211348477257" + ] + }, + "execution_count": 596, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meanerror_xgbr=np.mean(results_xgbr.error)\n", + "meanerror_xgbr" + ] + }, + { + "cell_type": "code", + "execution_count": 597, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume
id
00.642547
10.542795
21.128493
30.693970
40.530295
......
650.748831
660.653880
671.799503
680.727153
690.791244
\n", + "

70 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " consume\n", + "id \n", + "0 0.642547\n", + "1 0.542795\n", + "2 1.128493\n", + "3 0.693970\n", + "4 0.530295\n", + ".. ...\n", + "65 0.748831\n", + "66 0.653880\n", + "67 1.799503\n", + "68 0.727153\n", + "69 0.791244\n", + "\n", + "[70 rows x 1 columns]" + ] + }, + "execution_count": 597, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_pred = pd.DataFrame({'consume': pred_final})\n", + "df_pred['id'] = df_pred.index\n", + "df_pred=df_pred.set_index('id')\n", + "df_pred" + ] + }, + { + "cell_type": "code", + "execution_count": 598, + "metadata": {}, + "outputs": [], + "source": [ + "df_pred.to_csv('../reto_data/outputs/xgbr.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### data frame errores medios" + ] + }, + { + "cell_type": "code", + "execution_count": 599, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
xgbr-0.001856
kn0.011011
rf0.005029
lr-0.017118
xgb-0.000248
ridge-0.016882
\n", + "
" + ], + "text/plain": [ + " 0\n", + "xgbr -0.001856\n", + "kn 0.011011\n", + "rf 0.005029\n", + "lr -0.017118\n", + "xgb -0.000248\n", + "ridge -0.016882" + ] + }, + "execution_count": 599, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame([[meanerror_xgbr, meanerror_kn, meanerror_rf, meanerror_lr, meanerror_xgb, meanerror_ridge]], \n", + " columns=['xgbr','kn','rf','lr','xgb','ridge']).T\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exporting best model" + ] + }, + { + "cell_type": "code", + "execution_count": 600, + "metadata": {}, + "outputs": [], + "source": [ + "import pickle" + ] + }, + { + "cell_type": "code", + "execution_count": 605, + "metadata": {}, + "outputs": [], + "source": [ + "#Saving the Model\n", + "pickle_out = open(\"../reto_data/outputs/xgb.pkl\", \"wb\") \n", + "pickle.dump(pipeline_xgb, pickle_out) \n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 606, + "metadata": {}, + "outputs": [], + "source": [ + "df_train.to_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 607, + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_excel(\"../reto_data/outputs/clean_df.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 608, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
0028.05.02621.51200001.4000
1112.04.23021.51300000.5040
2211.25.53821.51500000.6160
3312.93.93621.51400000.5031
4418.54.54621.51500000.8325
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 distance consume speed temp_inside temp_outside gas_type \\\n", + "0 0 28.0 5.0 26 21.5 12 0 \n", + "1 1 12.0 4.2 30 21.5 13 0 \n", + "2 2 11.2 5.5 38 21.5 15 0 \n", + "3 3 12.9 3.9 36 21.5 14 0 \n", + "4 4 18.5 4.5 46 21.5 15 0 \n", + "\n", + " AC rain sun consume_100Km \n", + "0 0 0 0 1.4000 \n", + "1 0 0 0 0.5040 \n", + "2 0 0 0 0.6160 \n", + "3 0 0 0 0.5031 \n", + "4 0 0 0 0.8325 " + ] + }, + "execution_count": 608, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conclusiones_\n" + ] + }, + { + "cell_type": "code", + "execution_count": 649, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsunconsume_100Km
distance100.000000-12.89667656.2298827.5178238.817534-5.341141-2.573817-1.9790658.11198199.210074
consume-12.896676100.000000-22.786618-16.062288-32.081059-1.5326979.65914024.811771-17.066738-5.218780
speed56.229882-22.786618100.0000005.9292961.541101-9.736041-3.5408000.9489468.16182855.184655
temp_inside7.517823-16.0622885.929296100.00000035.9500421.01976729.737625-3.69372424.2247946.237325
temp_outside8.817534-32.0810591.54110135.950042100.00000014.87050116.756227-18.63148934.6903413.787710
gas_type-5.341141-1.532697-9.7360411.01976714.870501100.00000010.5285406.0328192.276096-5.534834
AC-2.5738179.659140-3.54080029.73762516.75622710.528540100.00000024.2914718.859801-1.870021
rain-1.97906524.8117710.948946-3.693724-18.6314896.03281924.291471100.000000-11.2649990.912464
sun8.111981-17.0667388.16182824.22479434.6903412.2760968.859801-11.264999100.0000006.424729
consume_100Km99.210074-5.21878055.1846556.2373253.787710-5.534834-1.8700210.9124646.424729100.000000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside \\\n", + "distance 100.000000 -12.896676 56.229882 7.517823 8.817534 \n", + "consume -12.896676 100.000000 -22.786618 -16.062288 -32.081059 \n", + "speed 56.229882 -22.786618 100.000000 5.929296 1.541101 \n", + "temp_inside 7.517823 -16.062288 5.929296 100.000000 35.950042 \n", + "temp_outside 8.817534 -32.081059 1.541101 35.950042 100.000000 \n", + "gas_type -5.341141 -1.532697 -9.736041 1.019767 14.870501 \n", + "AC -2.573817 9.659140 -3.540800 29.737625 16.756227 \n", + "rain -1.979065 24.811771 0.948946 -3.693724 -18.631489 \n", + "sun 8.111981 -17.066738 8.161828 24.224794 34.690341 \n", + "consume_100Km 99.210074 -5.218780 55.184655 6.237325 3.787710 \n", + "\n", + " gas_type AC rain sun consume_100Km \n", + "distance -5.341141 -2.573817 -1.979065 8.111981 99.210074 \n", + "consume -1.532697 9.659140 24.811771 -17.066738 -5.218780 \n", + "speed -9.736041 -3.540800 0.948946 8.161828 55.184655 \n", + "temp_inside 1.019767 29.737625 -3.693724 24.224794 6.237325 \n", + "temp_outside 14.870501 16.756227 -18.631489 34.690341 3.787710 \n", + "gas_type 100.000000 10.528540 6.032819 2.276096 -5.534834 \n", + "AC 10.528540 100.000000 24.291471 8.859801 -1.870021 \n", + "rain 6.032819 24.291471 100.000000 -11.264999 0.912464 \n", + "sun 2.276096 8.859801 -11.264999 100.000000 6.424729 \n", + "consume_100Km -5.534834 -1.870021 0.912464 6.424729 100.000000 " + ] + }, + "execution_count": 649, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(df_train.corr())*100" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* El mejor modelo de prediccion es XGB. Diferentes variables afectan al consumo: velocidad, distancia por supuesto. En cuanto al tipo de combustible, solo afecta un 5,53% al precio." + ] + }, + { + "cell_type": "code", + "execution_count": 645, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 18.639912\n", + "consume 4.899123\n", + "speed 40.820175\n", + "temp_inside 21.938007\n", + "temp_outside 12.228070\n", + "gas_type 1.000000\n", + "AC 0.100877\n", + "rain 0.140351\n", + "sun 0.087719\n", + "consume_100Km 0.883618\n", + "dtype: float64" + ] + }, + "execution_count": 645, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#SP98\n", + "gas_type.get_group(1).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 646, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 21.096250\n", + "consume 4.931250\n", + "speed 43.506250\n", + "temp_inside 21.917429\n", + "temp_outside 10.118750\n", + "gas_type 0.000000\n", + "AC 0.043750\n", + "rain 0.100000\n", + "sun 0.075000\n", + "consume_100Km 1.008933\n", + "dtype: float64" + ] + }, + "execution_count": 646, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#E10\n", + "gas_type.get_group(0).mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 644, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
consume_100Kmspeeddistance
gas_type
01.00893343.50625021.096250
10.88361840.82017518.639912
\n", + "
" + ], + "text/plain": [ + " consume_100Km speed distance\n", + "gas_type \n", + "0 1.008933 43.506250 21.096250\n", + "1 0.883618 40.820175 18.639912" + ] + }, + "execution_count": 644, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gas_type.agg({'consume_100Km':'mean','speed':'mean','distance':'mean' })" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "* El consumo de E10es superior pero también la velocidad y la distancia." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.8.3" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "402.712px" + }, + "toc_section_display": true, + "toc_window_display": true + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/outputs/clean_df.xls b/outputs/clean_df.xls new file mode 100644 index 0000000000000000000000000000000000000000..ead0830eba95f189049483ce70db67d8e93a5c08 GIT binary patch literal 42496 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 literal 0 HcmV?d00001 diff --git a/outputs/kn.csv b/outputs/kn.csv new file mode 100644 index 0000000..a8d8585 --- /dev/null +++ b/outputs/kn.csv @@ -0,0 +1,71 @@ +id,consume +0,0.6446531013415518 +1,0.5545237978315094 +2,1.2310126010662652 +3,0.662338451309622 +4,0.5127791248136123 +5,1.2100265863533535 +6,0.3761590715533426 +7,0.639020291293014 +8,2.458872547620752 +9,0.7239324228995845 +10,0.6092048698043159 +11,0.8150952193751146 +12,0.5397752384672238 +13,0.9325818878649366 +14,1.0111508938365765 +15,0.7181969453500753 +16,0.5872806822696226 +17,1.1335907989649683 +18,0.4340843519788302 +19,0.6096089481654952 +20,0.7137345236320148 +21,0.6167482439313391 +22,1.365073509035355 +23,0.6422863269637789 +24,0.7670646882414927 +25,0.5060915815293254 +26,0.5976297939239505 +27,0.6276035210033102 +28,0.5133667440905664 +29,1.316319616711609 +30,0.44792965939051943 +31,0.5579865847917009 +32,0.6909197011151609 +33,0.7844485068701966 +34,1.867599681714788 +35,0.8374833196644822 +36,0.67618951449456 +37,0.5121438490047697 +38,1.2993252510213664 +39,0.6520260349559175 +40,0.6349510878480118 +41,0.7116410578357492 +42,1.295412820762181 +43,0.8291166171473964 +44,0.6209702718858676 +45,0.8849831759661384 +46,0.633585987110071 +47,1.0813856866657123 +48,1.4165824913741687 +49,0.6500607820134497 +50,0.20804779067279466 +51,0.6243896593302024 +52,0.39608060660603933 +53,0.5191340274717423 +54,0.4790935421607486 +55,0.5000576374557513 +56,0.6215074492094629 +57,0.642154008247682 +58,0.6793879652227113 +59,0.94955851921092 +60,0.8605486137066692 +61,0.8828655731845727 +62,0.8414991759325091 +63,1.5285702399021828 +64,0.7065719849157088 +65,0.7733166467535953 +66,0.670449913484552 +67,1.8024533173981734 +68,0.7256881532494817 +69,0.8091618318406606 diff --git a/outputs/lr.csv b/outputs/lr.csv new file mode 100644 index 0000000..a8d8585 --- /dev/null +++ b/outputs/lr.csv @@ -0,0 +1,71 @@ +id,consume +0,0.6446531013415518 +1,0.5545237978315094 +2,1.2310126010662652 +3,0.662338451309622 +4,0.5127791248136123 +5,1.2100265863533535 +6,0.3761590715533426 +7,0.639020291293014 +8,2.458872547620752 +9,0.7239324228995845 +10,0.6092048698043159 +11,0.8150952193751146 +12,0.5397752384672238 +13,0.9325818878649366 +14,1.0111508938365765 +15,0.7181969453500753 +16,0.5872806822696226 +17,1.1335907989649683 +18,0.4340843519788302 +19,0.6096089481654952 +20,0.7137345236320148 +21,0.6167482439313391 +22,1.365073509035355 +23,0.6422863269637789 +24,0.7670646882414927 +25,0.5060915815293254 +26,0.5976297939239505 +27,0.6276035210033102 +28,0.5133667440905664 +29,1.316319616711609 +30,0.44792965939051943 +31,0.5579865847917009 +32,0.6909197011151609 +33,0.7844485068701966 +34,1.867599681714788 +35,0.8374833196644822 +36,0.67618951449456 +37,0.5121438490047697 +38,1.2993252510213664 +39,0.6520260349559175 +40,0.6349510878480118 +41,0.7116410578357492 +42,1.295412820762181 +43,0.8291166171473964 +44,0.6209702718858676 +45,0.8849831759661384 +46,0.633585987110071 +47,1.0813856866657123 +48,1.4165824913741687 +49,0.6500607820134497 +50,0.20804779067279466 +51,0.6243896593302024 +52,0.39608060660603933 +53,0.5191340274717423 +54,0.4790935421607486 +55,0.5000576374557513 +56,0.6215074492094629 +57,0.642154008247682 +58,0.6793879652227113 +59,0.94955851921092 +60,0.8605486137066692 +61,0.8828655731845727 +62,0.8414991759325091 +63,1.5285702399021828 +64,0.7065719849157088 +65,0.7733166467535953 +66,0.670449913484552 +67,1.8024533173981734 +68,0.7256881532494817 +69,0.8091618318406606 diff --git a/outputs/ridge.csv b/outputs/ridge.csv new file mode 100644 index 0000000..f7de279 --- /dev/null +++ b/outputs/ridge.csv @@ -0,0 +1,71 @@ +id,consume +0,0.6443350143378077 +1,0.5551782781913281 +2,1.229196881053583 +3,0.6637175414531918 +4,0.5159011525294468 +5,1.20997614490246 +6,0.37698832312872865 +7,0.6388688220739709 +8,2.4539957365996017 +9,0.7234696693878642 +10,0.6103657117486018 +11,0.8132485983348791 +12,0.5409467654659743 +13,0.9317861278872266 +14,1.0101246148467653 +15,0.7188731821277354 +16,0.587611989448436 +17,1.1335712173073156 +18,0.4337205503921924 +19,0.6111171007356049 +20,0.7139754460415114 +21,0.6180651206689125 +22,1.361615996164917 +23,0.6441436011507358 +24,0.7654247693918648 +25,0.5060234052894627 +26,0.5985281853841152 +27,0.6302195218295403 +28,0.5146345391861872 +29,1.3160078241407875 +30,0.4476157883429854 +31,0.5576402821284928 +32,0.6913648705480615 +33,0.7855932874847282 +34,1.8634140201021543 +35,0.8366539535613932 +36,0.676329787927801 +37,0.5134051050588007 +38,1.29627112197351 +39,0.6534719681754992 +40,0.6350209753599954 +41,0.7114225302747568 +42,1.293990171773236 +43,0.8300377656393744 +44,0.6219152859430643 +45,0.8833225909187314 +46,0.6344037366357966 +47,1.0822300358953154 +48,1.412604619358905 +49,0.6517686265188323 +50,0.21083923535156246 +51,0.6265899246705774 +52,0.3962227375841674 +53,0.5235742253146667 +54,0.47840838002851205 +55,0.5007371163671808 +56,0.6221454802332524 +57,0.64386834364805 +58,0.680515060603715 +59,0.945384755267151 +60,0.8621732565429373 +61,0.883052314631486 +62,0.8411358665923198 +63,1.5240483268033456 +64,0.7088434357928639 +65,0.77487872092376 +66,0.6717560056896899 +67,1.8019213990048795 +68,0.7247192230442077 +69,0.8078432149019346 diff --git a/outputs/xgb.csv b/outputs/xgb.csv new file mode 100644 index 0000000..e313662 --- /dev/null +++ b/outputs/xgb.csv @@ -0,0 +1,71 @@ +id,consume +0,0.65828216 +1,0.5627512 +2,1.11547 +3,0.6951666 +4,0.5260782 +5,1.2601169 +6,0.33083522 +7,0.647491 +8,2.7360463 +9,0.7265857 +10,0.6120059 +11,0.796028 +12,0.54496926 +13,0.95246136 +14,0.98197746 +15,0.73732936 +16,0.58700544 +17,1.1066695 +18,0.3376275 +19,0.61996675 +20,0.69685334 +21,0.60885316 +22,1.2475682 +23,0.63842976 +24,0.75075454 +25,0.38044584 +26,0.64984953 +27,0.6426794 +28,0.53366584 +29,1.3764828 +30,0.3344693 +31,0.6276004 +32,0.7046652 +33,0.7615409 +34,1.7390988 +35,0.82717127 +36,0.7022999 +37,0.5204532 +38,1.3509506 +39,0.6391053 +40,0.623842 +41,0.7437572 +42,1.2709372 +43,0.85014254 +44,0.6362851 +45,0.9749964 +46,0.63479203 +47,1.1146688 +48,1.4583389 +49,0.6573372 +50,0.2562379 +51,0.62435263 +52,0.32927048 +53,0.5035113 +54,0.33637568 +55,0.47874388 +56,0.61915845 +57,0.63948184 +58,0.6826929 +59,0.87838745 +60,0.82341933 +61,0.8341866 +62,0.80633444 +63,1.4191955 +64,0.7007489 +65,0.74696547 +66,0.6470611 +67,1.79103 +68,0.77055043 +69,0.81654805 diff --git a/outputs/xgb.pkl b/outputs/xgb.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d1122a916b5ab818754bbe34c6b4eb313920d2a5 GIT binary patch literal 210670 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 L-=F?)z5M!Lej2XC literal 0 HcmV?d00001 diff --git a/outputs/xgbr.csv b/outputs/xgbr.csv new file mode 100644 index 0000000..2b0ec8b --- /dev/null +++ b/outputs/xgbr.csv @@ -0,0 +1,71 @@ +id,consume +0,0.642546716956961 +1,0.5427953185324578 +2,1.1284933435594784 +3,0.69397003848653 +4,0.530294703094617 +5,1.2482447357417854 +6,0.3500441390944467 +7,0.6479503952305834 +8,2.7169306972458966 +9,0.731753190122496 +10,0.6036134221984873 +11,0.8065536319068729 +12,0.5380100082765393 +13,0.9681206035272446 +14,0.9945212298738573 +15,0.7310098918265033 +16,0.5710210754051207 +17,1.1127051226121405 +18,0.32830989505434766 +19,0.6071630835549795 +20,0.6960605756504287 +21,0.6206610699763324 +22,1.2649576621777157 +23,0.655785180902456 +24,0.7409622158808087 +25,0.3814544983144875 +26,0.602648360809084 +27,0.6384212617595652 +28,0.5347643754111566 +29,1.3853321961379075 +30,0.32860246300962437 +31,0.6047600596712412 +32,0.6971385189384713 +33,0.7549239305179224 +34,1.8730534057374657 +35,0.826015062436743 +36,0.6989189782058608 +37,0.5250024275999118 +38,1.365465281526806 +39,0.6337701494195299 +40,0.6114864422113444 +41,0.7544576976659303 +42,1.2974956325465863 +43,0.85711147095743 +44,0.6530418073990186 +45,0.8268476948722364 +46,0.6194782909482631 +47,1.0880979963917627 +48,1.3838634245301926 +49,0.653688319324298 +50,0.24742882014067766 +51,0.6209664893429457 +52,0.3683052501286956 +53,0.5215896606601408 +54,0.3326277095616918 +55,0.4768653252391541 +56,0.5927016926678768 +57,0.6340755687861432 +58,0.6875007413994565 +59,0.90308359251766 +60,0.8288679509169876 +61,0.8372043154080816 +62,0.8037750772178087 +63,1.5349886395429673 +64,0.6886141091292204 +65,0.7488311215326812 +66,0.6538798014831229 +67,1.799503463613003 +68,0.7271531429545913 +69,0.791244255308263 diff --git a/outputs/xgbr.pkl b/outputs/xgbr.pkl new file mode 100644 index 0000000000000000000000000000000000000000..52d2643dd3104ddf1f2a0e488fd875acdd0e82e8 GIT binary patch literal 122704 zcmd?S30O^C_%?n@X;3OsAr(TQG$_$wok}Xr^E}TqX)dbMpqXZxs0f89(pwfO_thLE>X=b!Egqgp1 zcCWoI_ST+mq8`p3_AbtD_NnoVTGW50qzZ?o2Biwc(|dW_dw8XqQ~t@|WozwX?J1KQ zzx*FlPkRqfcUyZeFK0JLQA;~(Z|l_fg}UC>Zg$q5cDj`F?LAZfxfYY3v$vC_tG%^b zYIHm!{K3oHj`D9hTX&BD%5kBarGve-w~wd2m!-3tWvVJuJe!-Pm$j>h3*{Rxdwa@v z@k`u%Ts;CrZQVWXMO}Sdyq&E*J*@*$ckyS>wqZGX*s&M7zJgss}2)f z;)*1Rk-oN}Nhy-q-l8ja`@~7xRN_)fWfqevw~-7kEL=+p+^!mC(eVU$?9uz0wd@L* z{oDw$8cZoyCIY)G$>ZEZhSagBSg3r~9rkxDGC4cmFX0==3K-?*f#C56#T4xB7{26QwY$i^ODPP(93 zzV{sY5pdkAvX3jX3tY0=HgB}xE_htN`$Du*_iSp^O_k?T4;^66QZ|6$!9ak?(pW<+(c=A6k?BU|uj5%^;1lQYqfPWahHYt{y&=ItEa_w)M2Prqt};YcBff1TVObl#AHfdRSV!csN-j zPNj2pquhW-Jc}o#i@Up8dU?+@ibg#Bj}yVz&6&Sj@eGtFW#djMMwJl1aHcvl_hISg zZfEaBIi1kvJEaNT zEZu#)J$$@p?}LeY=6`ic8daLeR3{1wFgDko8%kdI67E(`JDh-zP5gp?{r$ge?OQ8>x`n79?rIuF)cNI zktLyFA}6`*+OT*yfNibv#6BUv`=U3M z_Z=&Ey2-*aIIT>)^(8R6(6KGO#a?;v3?ZXvuinZFCWap+BHJ$Y2CjO0I8L)~-#340 zfkT?C$5xm&Ox1cY9DR2BYO+BGE8+d~BIBssBHrxi_7cH?Po8XK!$s`926BE=G#}r- zo=hFxemOBg<@!C*hjko-Whc&8m}aD!cobbJ6jgK9*?dv+u&BA% zvaEM6CqEV|3GBD;kLkV~cK7WHuc?O2D86%N-9_p5n=I9Bj|#oYQu+F4}b?%PaU7HdwHIXRZk>t;a2Ck zYUcAwZC8t4f8uVxvLbbWjxot8SZB9I$b_yM^xEHI+wyQp1F`x#VWtD}kmH{I5(Amb z?-jH~q89Z?RG#KU-Vm> z?=0=Bs}40h+oAM&;C6ncki-4g#)Uzy*R~aCPVU@RyWs1EF@+)(u@IUCoJ^{;8?3Tb z_WM~`F&|10+{iL&mNy;wY!8{`ny!2QD{tExU(TmR?&2SqjoJ4cF?~HA$a(W#){3Zb zwt~mnXtw%A-#Pp?D6anDAyT+Oy_L*$d3Pk^rhH3buA}?gA;c=3d;^o@LlLxbK*h!Le6(Vot1%`j#(amq&^*$ zxmQF)%aq?@z3qC9uzkuC=TE!66(0;t8!w$+)f!uwetmMK>(fo#Ov6tVSQ{VZD9qpD zsgjx+=xk52-~LFetS#$QakH{;+(MEWUANYX?i-=L(Y7P43x-Y^AGXu_&H(M{Qwy_zb0AU9w9 zZLn@xQf})*!-TMi!a|mT=T8&Vddl{7Ipk=p3KhFJm}0W?

9?&#w1zj;6;s6JkCj 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 Ci5qVK literal 0 HcmV?d00001