{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "%matplotlib inline\n", "pd.set_option(\"display.max_rows\", 1000) #設定最大能顯示1000rows\n", "pd.set_option(\"display.max_columns\", 1000) #設定最大能顯示1000columns\n", "from pylab import mpl\n", "mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']\n", "# 指定默認字形:解決plot不能顯示中文問題\n", "mpl.rcParams['axes.unicode_minus'] = False" ] }, { "cell_type": "code", "execution_count": 73, "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", "
SO2COO3PM25NoxNONO2THCNMHCCH4WindSpeedTEMPHumidity
05.10.5744.32925.653.3722.282.2370.1952.041.6527.0169.31
15.00.4443.73517.931.7616.172.3530.1762.181.5226.1778.20
23.40.4649.63215.561.8013.782.1290.1361.992.2726.1872.71
33.80.5345.03020.341.6118.722.2390.2242.021.7327.3566.75
46.70.4743.72924.653.4921.172.1550.1861.971.8227.8067.62
\n", "
" ], "text/plain": [ " SO2 CO O3 PM25 Nox NO NO2 THC NMHC CH4 WindSpeed \\\n", "0 5.1 0.57 44.3 29 25.65 3.37 22.28 2.237 0.195 2.04 1.65 \n", "1 5.0 0.44 43.7 35 17.93 1.76 16.17 2.353 0.176 2.18 1.52 \n", "2 3.4 0.46 49.6 32 15.56 1.80 13.78 2.129 0.136 1.99 2.27 \n", "3 3.8 0.53 45.0 30 20.34 1.61 18.72 2.239 0.224 2.02 1.73 \n", "4 6.7 0.47 43.7 29 24.65 3.49 21.17 2.155 0.186 1.97 1.82 \n", "\n", " TEMP Humidity \n", "0 27.01 69.31 \n", "1 26.17 78.20 \n", "2 26.18 72.71 \n", "3 27.35 66.75 \n", "4 27.80 67.62 " ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_excel('KH-1982-2018.xlsx')\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['SO2', 'CO', 'O3', 'PM25', 'Nox', 'NO', 'NO2', 'THC', 'NMHC', 'CH4',\n", " 'WindSpeed', 'TEMP', 'Humidity'],\n", " dtype='object')" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "df[\"SO2\"] = pd.to_numeric(df.SO2, errors='coerce')\n", "df[\"CO\"] = pd.to_numeric(df.CO, errors='coerce')\n", "#df[\"CO2\"] = pd.to_numeric(df.CO2, errors='coerce')\n", "df[\"O3\"] = pd.to_numeric(df.O3, errors='coerce')\n", "df[\"PM25\"] = pd.to_numeric(df.PM25, errors='coerce')\n", "df[\"Nox\"] = pd.to_numeric(df.Nox, errors='coerce')\n", "df[\"NO\"] = pd.to_numeric(df.NO, errors='coerce')\n", "df[\"NO2\"] = pd.to_numeric(df.NO2, errors='coerce')\n", "df[\"THC\"] = pd.to_numeric(df.THC, errors='coerce')\n", "df[\"NMHC\"] = pd.to_numeric(df.NMHC, errors='coerce')\n", "df[\"CH4\"] = pd.to_numeric(df.CH4, errors='coerce')\n", "df[\"WindSpeed\"] = pd.to_numeric(df.WindSpeed, errors='coerce')\n", "df[\"TEMP\"] = pd.to_numeric(df.TEMP, errors='coerce')\n", "df[\"Humidity\"] = pd.to_numeric(df.Humidity, errors='coerce')" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SO2 float64\n", "CO float64\n", "O3 float64\n", "PM25 int64\n", "Nox float64\n", "NO float64\n", "NO2 float64\n", "THC float64\n", "NMHC float64\n", "CH4 float64\n", "WindSpeed float64\n", "TEMP float64\n", "Humidity float64\n", "dtype: object" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dtypes" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')\n", "plt.rcParams[\"figure.figsize\"] = [16,9]" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "X = df.drop(['PM25'], axis=1)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.3, random_state=12)" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((280, 12), (280,))" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_train.shape, y_train.shape" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((121, 12), (121,))" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_test.shape, y_test.shape" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['SO2', 'CO', 'O3', 'Nox', 'NO', 'NO2', 'THC', 'NMHC', 'CH4',\n", " 'WindSpeed', 'TEMP', 'Humidity'],\n", " dtype='object')" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.columns" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", "\n", "# Create linear regression object\n", "regr = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", " normalize=False)" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "regr.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [], "source": [ "lin_pred = regr.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9101721045818417" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "linear_regression_score = regr.score(X_test, y_test)\n", "linear_regression_score" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coefficients: \n", " [ -0.69840943 -9.00508323 0.24863781 -29.59666709 28.86570143\n", " 30.59322777 -89.85269969 119.62046794 106.26429001 2.18980547\n", " -1.2112113 -0.13323809]\n", "Root mean squared error: 3.74\n", "Mean absolute error: 2.76\n", "R-squared: 0.91\n" ] } ], "source": [ "from math import sqrt\n", "# The coefficients\n", "print('Coefficients: \\n', regr.coef_)\n", "# The mean squared error\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, lin_pred)))\n", "# The absolute squared error\n", "print(\"Mean absolute error: %.2f\"\n", " % mean_absolute_error(y_test, lin_pred))\n", "# Explained variance score: 1 is perfect prediction\n", "print('R-squared: %.2f' % r2_score(y_test, lin_pred))" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt8VPWd//H3mYQESIAQZjByhyAgiiJt5eIFumW9W1a6VjBUQVC0lUqk1m1tESIiWOWySJEuFaSloNVaVleKBldAuWkFRZCghOpPs9FcTAnhEpL5/v4IGRNIJhM4mTnn5PV8PHiU+c7tcyZfbN7zvVnGGCMAAAAAAFzCF+sCAAAAAABoDIIsAAAAAMBVCLIAAAAAAFchyAIAAAAAXIUgCwAAAABwFYIsAAAAAMBVCLIA4FL/+Z//qS5duqisrCzWpTQb3/nOd/TTn/401mXYbvz48RoyZEjodqyuc8SIERozZkzU39dpZsyYobS0tFiXAQCORpAFAAc7NWDU9JOf/EQffvihkpKSolxVw2bMmCHLskJ/zj33XGVkZOiLL76IdWlnZcOGDXryySeb/H1WrFgR+ux8Pp+6d++uiRMnKj8/v8nfW2r8debm5uro0aNNWFHTWb58uSzL0syZM8/o+Xv27LG5IgBAJAiyAOBScXFxSklJiXUZ9fL7/fr444+Vk5OjpUuXatu2bRo9enSsyzorbdu2VYsWLaL2fnv27NGePXs0f/58bd68WTfccIMqKiqa/H0bc50bNmxQenq6vvzyyyauqmmsWLFCfr9fzz77rIwxjXru73//e1144YVNVBkAIJz4WBcAAHCvYDAon6/u70Tj4uLUu3dvSVKfPn105MgRjR07Vl999ZU6duwYk5rcplevXmrZsqXOP/98dezYUVdccYXefffdOkfpY3XdJ06ciPp72uXAgQPavHmzFixYoPvuu08bN27UiBEjIn6+m68dANzOG/9PDwDN0Knr6KqnIb/00kvq27evkpOTdc011ygvL6/W89asWaP+/furVatWGjBggJ5//vnQfcXFxZoyZYp69uyp1q1ba+DAgcrOzg7dXz3l9fXXX1fPnj118cUXR1xvZWWlJCkxMTHUduDAAd14441KSkpSly5dNGXKlFprfktKSjR+/Hi1b99e7dq1009+8hP96Ec/qhXkqtdV/uIXv1BSUpLmzZsX0WsvXbpU/fr1U8uWLdW9e3e98cYbkqSvv/5aEyZM0DnnnKPWrVvr0ksvDT2nR48e+o//+I/Q7aNHj+qBBx5Qt27dlJCQoB49eigrKyt0rTXre/rpp9W9e3e1a9dOY8aM0aFDhyL+7CSpf//+kqRPP/30rK77n//8p+644w61b99ebdu21Z133qny8vJa73XqdZ44cUIzZsxQr169lJCQoG7duumNN97Q+PHjde2110qSevbsKcuyQs957733NGLECLVq1Uo9e/bUww8/XGs0+YsvvtAPfvADJScnq0OHDvrlL38Z9vrvuusudenSpdaoaVlZmZKSkvTb3/5WxhjNmjVLPXv2VMuWLdWnT58Gp/2uWLFCnTp10r333qs+ffpo+fLlpz3m8OHDmjp1qrp06aLExESdd9552rt3r0aMGKF77rlHkmRZlnr06CGp7uUATz/9dK3P5rPPPtPtt9+url27Kjk5WcOGDdN7770XtlYAQG2MyAKAhxw4cEDPPPOMVq5cqby8PN1xxx26//77tWbNGknS6tWrNXHiRD355JO67LLL9Prrr2vMmDHq0qWLhg0bpn379qmkpERLlixRWlqaZs6cqR/+8If67LPPlJycHHqfxx57TCtWrFCbNm0arMkYo927d2vmzJm67bbb1K5dO0lSUVGRrrzySl155ZXauHGjioqK9OMf/1jl5eVaunSpJOnWW2/V7t279fvf/17du3fXkiVL9Oc//1kDBw6s9R5btmxRcnKy3n77bbVr167B13711Vd1zz336JlnntG3v/1tffTRR2rZsqUkafLkydq7d69eeuklJSQk1Aryp/q3f/s37d69W0888YT69++vLVu26Oc//7kqKiqUlZUVetzGjRuVkJCgF198Ubt379bkyZPVo0cPzZkzJ8KfrJSTkyNJocB0JtctSePGjdOuXbtCn+nSpUv1wgsvaNCgQfW+949+9COtX79ec+bM0ZAhQ/Txxx+rRYsWevzxxzV8+HDdcccdevPNN9W5c2dJ0scff6zhw4dr4sSJmj9/vnJzczV58mS1bNlSv/jFLxQMBnX99deroqJCL774otq3b69HH31UW7ZsqXf6+W233ab/+q//0tatWzVs2DBJ0n//938rGAzq1ltv1ZIlSzRnzhz98Y9/VK9evbRz507FxcXVe03GGK1cuVI//OEP5fP5NGbMGD355JNavHhxqK9XVlbqmmuu0T/+8Q89/vjjuuCCC7Rr1y5J0qpVq/TMM89o+vTpoc8jUtu2bVO7du307LPPqm3btrrvvvs0ZswY7d+/P+LXAIBmzwAAHOv22283gwcPrvO+hx9+2Jxzzjm1HpucnGxKSkpCbZmZmaZjx46h27169TKPPfZYrde58sorzV133VXne+zcudNIMtu2bTPGGLN8+XIjybzyyith63744YeNJJOYmGhatGhhEhMTzfz5801FRUXoMVlZWaZ///6msrIy1PbMM8+YxMREU1lZaXbs2GEkmezs7ND9wWDQXHTRRbU+k+HDh5tzzz3XlJeXR/zaTz75pGnVqpX5+uuvT6t9wIABZsyYMXVeV/fu3c2DDz5ojDFm48aNp9VnjDGPPfaYSUxMNEePHg3V16NHD3PixInQY2666SZz6aWX1vv5VX/OR48eNRUVFea9994zAwcONCNGjDir667+TDds2BC6PxgMmosvvrjWZ1rzOt99910jyfzlL3+ps9Z169YZSebgwYOhtjvuuMNcffXVtR43ffp006dPH2OMMc8//7zx+Xxm//79ofuPHTtmOnbsaG655ZZ6P5devXqZqVOnhm7feOON5tZbbzXGGDNlyhTTvXt3c/z48XqfX9Prr79uJJnt27cbY4z56KOPjCTzzDPPhB7zwgsvGMuyzN///vc6X2PJkiXm1F+l6vo3W9fjanrppZeMJJOfn2+MOf3fNgDgdEwtBgAP6dOnT2jEU6paY/nVV19JkgoKCpSbm6vp06erZcuWoT9vvfWWDh48KKlqBOqZZ57RzTffrAEDBuiyyy6TVDXdtqbBgwc3WIvf79euXbv00ksvKRAIaPv27bVGyLZt26Z9+/apdevWoVomT56s48ePKz8/Xzt37lSLFi303e9+N/Qcy7JOG42VpEGDBtUaEWvotceMGaNOnTqpX79+ysrKUmFhYei5Dz74oF544QVdfvnlevHFFxUMBuu8vh07digxMbFWfVLVlN/jx4/r448/rlVffPw3k6Bq/lzCSUlJUWJiogYPHqwBAwbor3/961ld93vvvaeEhIRa60Atywo7RXzTpk1q0aKFbrzxxgbrrVlHdnZ2rX42e/bsUD9777331LNnT5133nmh5yQmJqpfv35hX3fcuHF64YUXZIxRSUmJ1q9fr4kTJ0qqmnp89OhRnX/++VqwYIEOHz4c9rWWL1+uHj16aNCgQaqoqFDv3r118cUX15pevGnTptBj7HTs2DEtXLhQ3//+99WvX7/QkUOn/jsDANSPqcUA4CGnTm+sGZ4SEhIkSXPnzg2ta6zWunVrSVXTarOzszVr1izNnDlTxpg6d2WtOc24PnFxcerXr5/69eun5557TpdffrlGjx6tm2++OVTPZZddpt/97nenPTcQCOjQoUNKSEg4bQOj48ePN1hPQ6/dokULffjhh1q5cqUWLlyoefPm6eWXX9YVV1yhjIwMDRs2TAsXLtSECRM0b948bdiwITT1uFplZWXoiJyazMk1nDXrrOvnYiLYIXfHjh1q3bq1OnXqFPoZnc11l5aWqkWLFqd9pseOHau3hmPHjik+Pj7sNN1TJSQk6Oabb9bDDz9c5/2lpaWnfZ4N1SFVTXHOysrStm3btHfvXnXu3Dn0RcKFF16ojz/+WEuXLtWCBQv0m9/8Rhs2bKgzHB86dEgvvfSSjh49WueU4AMHDig9PV3Hjh0L/buJlM/nO+3Lj1Nv33DDDSooKNDDDz+sCy+8ULm5uaf9mwQAhMeILAA0E+3atVOnTp2Um5sbCpjVf7p16yZJev7553Xvvfdq3Lhx6t+/vw4cOGDLew8bNkwZGRmaNm2ajhw5Iqlq86L9+/erW7dup9XTokULnXfeeSorKwutSZSk8vJybdu2rcH3a+i1Jally5a666679MEHH6hv37564oknQs/v2bOnFixYoC1btmjLli1at27dae8xaNAgHTt2TJs3b67VvmnTJiUlJemCCy44o8+qpj59+qh37951hti6NHTdffr0Oe0zPX78eNjP9KKLLtLRo0f11ltv1Xl/dSiuucFV//79tXfvXvXp0+e0Oqqv65NPPql1ZE9hYWGDmzP17t1bQ4cO1QsvvKDnnntOEyZMqPVFQtu2bfXAAw/oo48+UlxcnJYsWVLn66xZs0ZHjx7Vyy+/rHfeeSf054033lBcXJyeffbZ0LUfOHBAubm5EV/7Oeecc9p5yfv27Qv9/euvv9aGDRv061//WqNHj1afPn1YGwsAZ4AgCwAOd+jQIb355pu1/jQ0clWfBx54QE8//bRmzZqlnTt3Kjs7W+PHj9cHH3wgSTr33HP14osv6t1339Urr7yimTNn2nYds2fPVmFhoWbPni1J+vGPf6zS0lLddNNNevPNN/Xuu+9q3rx5evTRRyVJ1113ndLT05WRkaHXXntN27dv15gxY07bYbcuDb32s88+q2XLlun999/Xpk2b9MUXX6hv376SpPvuu09/+9vftGfPHv3tb3+Tz+cLHSNU08iRI3X55ZcrIyNDa9as0fvvvx/6bB966CG1atXKro8uYg1d97XXXqvevXsrIyND69ev1/bt23XLLbeEPUbmmmuu0Xe+8x3deuut+tOf/qQPPvhAq1at0v/+7/9KUuhLkD/96U/avn27JGnatGnavXu3brvtNm3dulVbt27VzJkz9fvf/15S1RThVq1a6Qc/+IE2b96sTZs2afTo0UpKSmrwGn/0ox9p3bp12rJli8aPHx9qnzdvnlavXq0PP/xQ2dnZ+vrrr0M/01MtX75cQ4YM0Q033KBvf/vboT/f/e53df3114fOlL3tttvUuXNn3XjjjVq7dm3oZ7x79+5a1/7ss8+Gdh0eOXKk8vLytGTJEpWXl2vDhg1avXp16L2Tk5OVnJyslStX6v3339fq1av11FNPNXjdAIBTxHSFLgAgrNtvv91IOu3PwYMH69zsqaFNZiorK82sWbNMt27dTEJCgunevbu55557zD//+U9jjDFvvfWWueiii0xiYqIZMmSIefXVV40ks27dOmNM7U2Iwqlvs5qHHnrIJCYmmk8++cQYY8ymTZvM0KFDTWJiounQoYMZOXKk2bJlS+jxe/bsMcOHDzcJCQmma9euZtGiRSYjI8MMGzYs9Jjhw4fXuUFQuNf+61//anr37m0SExNN586dzU9/+tPQNd15552mQ4cOplWrVmbgwIHm+eefD71mzU2QjDHm0KFD5sc//rE555xzTIsWLUy/fv3Mb3/721p11FXfgw8+aLp3717v5xfJ53wm121M7c+0S5cuZt68eWbixIn1bvZkjDFFRUXmjjvuMB06dDAtW7Y0gwYNMu+8807o/szMTNOmTRtz7rnnhtpeeuklc/HFF5uEhARzzjnnmFGjRpm9e/eG7n/rrbfMoEGDTEJCgundu7dZtWqV+d73vhd2sydjjCkuLjYJCQnmqquuqtX+9NNPm65du5qEhATTo0cPM2PGjFqbXlXbt2+fkWSefvrpOl//lVdeqbWJ16effmr+/d//3bRt29YkJSWZyy+/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pLOzMw888EBmzJhxxDWtW7cu99xzT6ZPnz7oez/++OP5+c9/nltuuSWLFi3Kjh07aveDAYBhIsgCwFG4/PLL86tf/SrVajVbtmzJrl27MmXKlIHnV61alcsuuyznnHNORo8enQ9/+MP5/e9/n+RQa/KFF16YXbt2pVKppFQqZceOHSmXy6lUKunt7c2oUaNy1llnHXE9V155ZcaMGZMTTzxx0Pd+5JFHMmPGjJx55pkZPXp0Pv7xj9f2BwMAw0BrMQAchcmTJydJ/vjHP+aJJ57IpZdemnL5v/8+vHPnzvzhD3/I8uXLB66VSqUkydq1a7NkyZKcdtppefOb35zjjjsu/f39edOb3pRbbrkl3//+9/OTn/wk1113Xc4555wjqqe9vf2I3ru7uzuXXXbZwPUTTjjhKD49ANSXIAsAR6FcLufSSy/NI488kqeeeip33XXXYc+fdNJJueqqqzJr1qyX/doHH3wwc+fOzZQpU/LCCy9k1apVA8+9973vzUUXXZRVq1bl7rvvzgMPPJC2trbs379/4DV79+592e/5n6D6Wu99wgknpKenZ+DxM888M7QPDgANQGsxABylyy67LE888UTOOOOMnHzyyYc99773vS+rVq3KX/7yl/T19eUf//hHnnrqqSRJf39/urq6sn///jz00EN54YUXkiRdXV3505/+lP7+/pxyyikD108//fRs3Lgxvb29qVQq+eUvfzloXYO997vf/e6sWLEiW7duzbPPPpulS5ceFoIBoAjsyALAURo/fnwmT56ciy+++GXPnXvuubn66quzaNGi7Nq1K295y1sG5lHnzJmT733ve/nxj3+ca665ZuA04f7+/nznO99Jd3d3Tj755HzmM5/JG97whpx77rm55JJLctttt2XcuHGZOnVqfvvb375qXYO994wZM/Kvf/0rX/ziF9PW1pbrrrsua9eufR1+OgDw+ilV/3O8IgAAABSA1mIAAAAKRZAFAACgUARZAAAACkWQBQAAoFAEWQAAAApFkAUAAKBQBFkAAAAKRZAFAACgUARZAAAACuX/A2kaWtTFtml4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, lin_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Linear Regression Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "from sklearn.neural_network import MLPRegressor\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", "\n", "# Create MLPRegressor object\n", "mlp = MLPRegressor()" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\neural_network\\multilayer_perceptron.py:562: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n", " % self.max_iter, ConvergenceWarning)\n" ] }, { "data": { "text/plain": [ "MLPRegressor(activation='relu', alpha=0.0001, batch_size='auto', beta_1=0.9,\n", " beta_2=0.999, early_stopping=False, epsilon=1e-08,\n", " hidden_layer_sizes=(100,), learning_rate='constant',\n", " learning_rate_init=0.001, max_iter=200, momentum=0.9,\n", " n_iter_no_change=10, nesterovs_momentum=True, power_t=0.5,\n", " random_state=None, shuffle=True, solver='adam', tol=0.0001,\n", " validation_fraction=0.1, verbose=False, warm_start=False)" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mlp.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8532397997401182" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Score the model\n", "neural_network_regression_score = mlp.score(X_test, y_test)\n", "neural_network_regression_score" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "# Make predictions using the testing set\n", "nnr_pred = mlp.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 4.78\n", "Mean absolute error: 3.86\n", "R-squared: 0.85\n" ] } ], "source": [ "# The mean squared error\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, nnr_pred)))\n", "# The absolute squared error\n", "print(\"Mean absolute error: %.2f\"\n", " % mean_absolute_error(y_test, nnr_pred))\n", "# Explained variance score: 1 is perfect prediction\n", "print('R-squared: %.2f' % r2_score(y_test, nnr_pred))" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt4VNXZ9/HfHkJICGAIE4jhDEoQRcFaOViFKooFaSxqKQ0KKgr2Ma9EpFr1QUFU8AQWKWpVkJYqKrZ5pIIYT6ACnvAAkYgG8ZArmBAjIQghzHr/iBkzJCSTsDMze8/3c129StbM7Ln3sJpyz7rXvSxjjBEAAAAAAA7hCXcAAAAAAAA0BoksAAAAAMBRSGQBAAAAAI5CIgsAAAAAcBQSWQAAAACAo5DIAgAAAAAchUQWABxs6dKlsixL+/fvD3coIdGjRw/ddNNN4Q4jrCoqKtS1a1fdd9994Q7FdsOHD9cf/vAHSeG9T+ZZlUmTJmnw4MHhDgMA6kQiCwB1mDRpkizL0qxZs2o99uWXX8qyLK1ZsyYMkTVOdazJyckqLi6u9XhT/qG6d+9effnllzZF2Lyq/x4ty5LH41HXrl31pz/9SaWlpeEOrcliY2P18ccf6/rrr2/297r99tv9n19MTIx69+6t6dOna8+ePc3+3k25z61btzZjRM3rtttuk2VZevLJJxv9WmOMcnNzmyEqAIhcJLIAcAQtW7bU3Xffrby8vHCHctR++OEH3XDDDbZc64QTTtDSpUttuVYoDBgwQNu3b1dubq7uuecePfvss5oyZUq4wzoq7du3l8cTmv8L93q92r59uz766CPdfvvt+te//qXLLrssJO/dmPt8/PHHddJJJzVzRM3DGKNly5bJ6/VqyZIljX79zJkzNWrUqGaIDAAiV0y4AwCASDVw4EBJ0pQpU/T666+H/P2NMbIsy5ZrTZkyRQ899JAmTpyoX//610d1rYMHD9oSU2P4fL4mJ26tWrXScccdJ0nq27evdu7cqTlz5tj6+dalua8fKi1atPB/fieeeKIsy9Kll16qwsJCpaSk1Hp+uO47HPPSLq+99pp27typ+fPnKysrS/n5+erVq1fQr3fyvQNAU7EiCwBHYFmWHn30Ub311lsNrpIUFRVpwoQJSkxMVMeOHTVhwgQVFRUFXOvhhx8OeM3gwYM1adIk/889evTQjBkzNGnSJMXFxWnlypUqKSlRZmamevbsqdatW2vAgAHKyclp9L2MHj1aF198saZOnaoDBw7U+9ynn35a/fr1U3x8vPr3769nnnlGkvT666/Lsizt2rVLs2bNkmVZeuKJJ+T1ejVnzhz/619++WVZlqUXX3zRP3bzzTfr9NNP9//873//W6effrri4+OVmJioiy66KKBcuXrv78svv6yePXvqlFNOqRXnoUOHNGrUKHXp0kVfffVV0J/FoUOHFBsbG5BsffDBBxo+fLji4+PVs2dP3XbbbaqsrPQ//vXXX+t3v/ud2rRpo+TkZM2ePTtgP6dU999fQ9c2xmjOnDnq2bOn4uLi1KdPH3957M6dO3XRRRepQ4cOatOmjS666CL/ex0+n3bv3q2rr75aKSkpio2NVVpamhYvXhxw3z169NCNN96oWbNmqVOnTurQoYP+9Kc/NToJ6tevnz++pt63JH377be66KKL1KZNG3Xo0EE333xzrfc6/D737t2radOmqUuXLmrVqpWOP/545ebmavjw4brmmmv8r+nRo4f/NTk5OTrttNMUHx+vtLQ0PfTQQwHv8emnn+rcc89VfHy8UlNT9de//rXe+z/vvPN0xhlnBIzt2LHDP+cPHDigrKwsde7cWXFxcTr55JMDfhfUZcmSJRo8eLCmTJmitm3b1llevGvXLl1++eXq2LGj4uLi1L9/fxUXF6tHjx6aN2+edu7cKcuyNHz4cEmqNT8l6aabbgr4bLZs2aKxY8cqJSVF7dq103nnnaf8/Px6YwWASEEiCwD1OOWUUzR9+nTNmDGjzj2mknTgwAGdc845Kiws1IsvvqiVK1dq27ZtmjBhQqPfb8WKFerSpYveeecdDR06VNu2bVNpaakWL16st99+Wz179tTvf/977d27t9HXXrhwob777jvdeeedR3zOU089pSuuuEKZmZnatGmTJk2apD/84Q96++23NWjQIG3fvl1er1eZmZnavn27LrnkEp1//vl65ZVX/NdYs2aN4uPj9dJLL/nHXn31VX/p47/+9S9dfPHF+vWvf63169frmWee0Zdffqlzzz23VpJ99913a+nSpXX+w/66667Tpk2btHbtWnXr1q3B+/f5fHrzzTf14IMPKjMz0z++fft2DRs2TAMGDNDbb7+t++67T4sWLdK9994r6eeE+fPPP9fKlSu1atUqvfvuu9q4cWOt9zj876+hay9evFhz587V/Pnz9c477+iWW25RixYtJEmXXHKJSkpKtHbtWuXk5Oiss86q874OHDigX//611q3bp0effRRbdq0SZdddpn+3//7f3riiScCnvuPf/xDe/fu1Zo1a/SXv/xFixcv1uOPP97gZ1dTXl6eLMtS9+7dm3zfPp9Po0ePVl5enlauXKnVq1dr69atevvtt4/4vocOHdL555+v5557Tvfcc4/eeecd3XrrrZKk5cuXa/bs2ZKq/j7feOMNSdL69es1evRojR07Vhs3btRf/vIX3XDDDXrqqackVSXG55xzjioqKrRmzRqtWLFCzzzzjL799tsjxnHZZZdpw4YN+uabb/xjTz/9tDp37qyRI0fqf//3f7VixQotW7ZMGzdubLCMvaysTM8//7z+8Ic/KC4uThdeeKGWLVsmY0zAc84880xt2rRJf//73/3X9fl8euONNzRlyhR17txZ27dv1/Lly+t9v5pycnJ00kkn6dlnn9Xq1au1c+dOTZ06NejXA0BYGQBALRMnTjSDBg0yxhizb98+07t3b3PppZcaY4zZsWOHkWRWr15tjDFm2bJlJikpyZSXl/tf/+qrrxpJpqCgwBhjjCSzePHigPcYNGiQmThxov/n7t27m9NOO63euDZv3mwkmY0bNxpjjFmyZImRZH788cc6n394rI8++qiJjY01ubm5te7TGGN69epl7r777oBrnHXWWebqq6/2/9ypUydz2223+X/+17/+ZVq1amX27dtnjDGmX79+5qqrrjJ9+/Y1xhizZ88eExMTYzZt2mSMMaZnz55mwoQJAe+xc+dO07JlS/PEE08E3NeqVasCnte9e3dz4403mgULFpjWrVubDRs21Pt5TZw40ViWZVq1amViYmJMUlKSWbp0acBzrrjiCjNy5MiAsZkzZ5o+ffoYY4x55plnjMfjMXl5ef7Hf/zxR5OcnGzGjRsXENvhf38NXTszM9N0797dHDhwoFbsbdu2NTfddFOd91VzPj355JOmRYsWAfEZY8yUKVNMt27dAuL71a9+FfCcgQMHmt///vd1vocxxtx2222mU6dOxhhjKioqzBtvvGG6d+9uJk2adFT3Xf2ZfvbZZ/7H9+/fbzp27Bjwmda8z+eee85YlmXef//9OmNdvHixOfyf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e1q1apVmzZply73ceOON6ty5s1544YWA8RkzZujhhx/WnDlztHnzZuXk5GjSpEn6+OOP/c/p1q2b1q5dq48++khff/21pKpE9qOPPtJbb72l0aNHS5JGjhyp9evXKzc3VyNHjvS//vbbb9eTTz6pW265Re+//75efvlljR07Vn379tXvf//7oOIfM2aMFixYoJtuuqnR524+8MADeu+99/yNkKZPn65PPvnE38Rnw4YNmjVrlr8J0qWXXqr4+HhdfPHFWr9+vdatW6eLL764zlXawzV07QceeEBPPfWUtmzZopycHH3//fdKS0uTJF1xxRV67bXXtHXrVr366quKi4urs6lVRkaGevXqpTFjxmjVqlX68MMPNXfuXD3++OMB3aRDqaH7njBhguLj43XRRRf5P9OxY8cqISHhiNe87LLL1LlzZ40ZM0bZ2dn66KOP9PDDD+uTTz6R9HP1w5NPPqkPPvhAUtV8XrVqla6//nq9++67WrdunbKysvwdtadOnardu3dr/Pjx2rRpk1566SVdeuml/lLsI/F4PMrIyNCTTz6pXbt2BXSUnjlzpv7zn/9o69atWrNmjQ4cOFCr7FuqWh1dtmyZLrzwQg0dOlSnnXaa/z/jxo3TKaec4p/b1V+8jB49Wi+//LI2b96se+65x/9FQLdu3VRQUKAXX3zR/3mMGDFCGzZs0AsvvKCKigqtWLEioClbp06d5PF49Oijj+rjjz/Www8/rBUrVtR73wAQUcK6QxcAIlR9TU5GjRoV0EDJGGM++eQTc+6555r4+HhzzDHHmKFDh5r//ve//scLCwvNmDFjTNu2bU1qaqq5//7762z2dHiDmTfffNOcfPLJplWrVmbw4MHmxRdfDHjvxjZ7qmnDhg3G4/EE3OehQ4fMnDlzTLdu3UxsbKzp3r27ueaaa8wPP/zgf84rr7xiunfvbuLj4012drZ/vFu3bmbgwIH+nysrK01iYqI544wzar33smXLzEknnWRatmxpvF6vueKKK0xRUZH/8SPd1+Gf0bRp00yLFi0C4qjpSH+PGRkZJjk52d/k59///rc55ZRTTGxsrOnUqZNJT0/3N8Qypurv4dRTTzWxsbHm+OOPNytWrDBnnHGG+eMf/3jE2KrVd+2HH37YdO3a1cTGxpoePXqY22+/3Rw6dMgYUzXPjjnmGJOQkGCGDh1qXnnlFf81dVjzsIKCApORkWHat29vYmNjzcCBA82zzz5b72dnjDHjxo0zw4YNq/OzMyaw2dORNOW+jQn8TI877jizfPlyc8455xyx2ZMxVU3BLr74YtOuXTuTkJBgfvWrX5n8/HxjTNV8GzdunGndurUZPHiw/zWPPvqoOf74403Lli1N586dzYQJE8w333zjf/w///mPSUtLM7GxsaZ///5m7dq1pnfv3kds9lRty5YtRlJAIzRjjLn99ttNSkqKadWqlenbt69ZtGhRna+vbuq0Zs2aOh9/6KGHjCSzfft2Y4wxH3/8sRk5cqRp3bq1adeunRk5cqQpLS01xlQ1VBsxYoSJi4vzf34HDx4006ZNMx07djTHHHOMufLKK811110X0OzpkUceMV26dDGtW7c248aNM3/9618D/ndHsycAkcwypoHNMQAAoJYePXpozJgxWrhwYbhDAQAg6lBaDABAI7377rvauXOnhg4dGu5QAACISqzIAgBQjx9++EFjx47VNddco549e2rLli26+eab1b59e73//vtBN0ACAAD24fgdAADqERcXp44dOyozM1O7d+9WcnKyRo0apbvuuoskFgCAMGFFFgAAAADgKOyRBQAAAAA4CoksAAAAAMBRHLdHtqCgINwhAPXyer0qLi4OdxhAs2B+w+2Y43Az5jecIDU1NajnsSILAAAAAHAUElkAAAAAgKOQyAIAAAAAHIVEFgAAAADgKCSyAAAAAABHIZEFAAAAADgKiSwAAAAAwFFIZAEAAAAAjkIiCwAAAABwFBJZAAAAAICjkMgCAAAAAByFRBYAAAAA4CgxoXqjyspKzZgxQ2lpaZo6darGjx8vr9crSerdu7emTZsWqlAAAAAAAA4WskT2+eefV8eOHf0/JyUlaeHChaF6ewAAAACAS4SktPibb77RF198oSFDhoTi7QAAAAAALtbsK7LGGC1ZskRXXXWVtm3b5h8vKytTZmamvF6vJkyYoN69e9f5+pycHOXk5EiS5s6d6y9HBiJVTEwM8xSuxfyG2zHH4WbMb7iJZYwxzfkGa9eu1d69ezV27Fi9/vrr2rZtm6ZOnep/fMOGDVq2bJkWL14c1PUKCgqaK1TAFl6vV8XFxeEOA2gWzG+4HXMcbsb8hhOkpqYG9bxmX5Fdt26dfvzxR23YsEF79+7VgQMHlJqaqt/+9reSpCFD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WWedlcmTJ+eggw7a42s/8MADmTNnTt797ndn0qRJ+fjHP17bNwYA6sDRYgDYD9OmTUuS/OlPf8pDDz2U008/PZXKfz8f7u/vzx//+Mfce++9o2ttbW1JktWrV2fZsmU5/PDD87a3vS3jxo3L0NBQ3vrWt+bKK6/M9773vfz4xz/ORRddlGOOOWaf9tPV1bVPr93X15czzjhjdP3AAw/cjz89ADSWIAsA+6FSqeT000/PAw88kEcffTQ33njjLl9/y1veknPPPTfz5s171f97xx13ZOHChZk+fXpeeOGFrFy5cvRrH/jAB3LyySdn5cqVuemmm3L77benvb09O3bsGP2ebdu2veo5Xwqqe3vtAw88MBs3bhx9/Mwzz4ztDw4ATcDRYgDYT2eccUYeeuihHHnkkTnkkEN2+doHP/jBrFy5Mn/9618zODiYf/7zn3n00UeTJENDQ+nt7c2OHTty991354UXXkiS9Pb25s9//nOGhoZy6KGHjq4fccQRefzxxzMwMJBqtZpf/OIXe9zXnl77fe97X1asWJH169fn2WefzV133bVLCAaAItCRBYD9NHXq1EybNi2nnnrqq7523HHH5bzzzsuSJUuyadOmvP3tbx+9HnXBggW5884786Mf/Sjnn3/+6DThoaGhfOc730lfX18OOeSQfOYzn8mb3vSmHHfccTnttNNy3XXXpaOjIzNmzMjvfve73e5rT689Z86c/Pvf/87nP//5tLe356KLLsrq1avfgHcHAN44bcMvjVcEAACAAnC0GAAAgEIRZAEAACgUQRYAAIBCEWQBAAAoFEEWAACAQhFkAQAAKBRBFgAAgEIRZAEAACgUQRYAAIBC+X/oMw6oJ+i7fgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, nnr_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Neural Network Regression Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import Lasso\n", "\n", "lasso = Lasso()" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Lasso(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=1000,\n", " normalize=False, positive=False, precompute=False, random_state=None,\n", " selection='cyclic', tol=0.0001, warm_start=False)" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lasso.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8873130463758103" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Score the model\n", "lasso_score = lasso.score(X_test, y_test)\n", "lasso_score" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "# Make predictions using the testing set\n", "lasso_pred = lasso.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 4.19\n" ] } ], "source": [ "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, lasso_pred)))" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt81NWd//H3DDEEAmkIE4gB5BIFfyqKqAVUKttSQawbi+1aNlRhRcHHykqg1t4WNV4WvKFFFmuxKF1W8dbmIQtis1ZQuakFRZCABnExDeZiJAlCCHN+f4QMCYTJTPKd73y/33k9Hw8eD+ZkLme+OYG855zzOT5jjBEAAAAAAC7hj3cHAAAAAACIBkEWAAAAAOAqBFkAAAAAgKsQZAEAAAAArkKQBQAAAAC4CkEWAAAAAOAqBFkAAGJkzJgx+slPfiJJqq+vV79+/fTwww/b3o8BAwboF7/4he2v6zRTpkzRyJEj490NAIAFCLIAgA5zS0C4++675fP55PP5lJSUpJycHM2ZM0cHDhyI+WsnJyfrww8/1OzZsyN+zPbt22PYo9i666675PP59Oyzz0b9WGOMduzYEYNeAQC8giALAEgogUBAu3fv1gcffKC7775b//3f/60bbrjBltfu0aOH/P7I/ut9+umndd5558W4R7FhjNGyZcsUCAS0dOnSqB8/d+5cTZgwIQY9AwB4RVK8OwAAgJ06deqkM888U5J07rnnyufz6ac//anKysqUlZV10v2NMfL5fHZ3U0eOHLH9Na3y17/+VXv37tWCBQuUn5+vkpISDRo0KOLHu/m9AwDswYwsACCmqqqqNHPmTA0cOFBdu3bVsGHDVFRUFPr6V199palTp6p3797q2rWrvv3tb4e+tnbtWl122WVKTU1VIBDQQw89FPpaZWWlbrnlFmVlZSk5OVlDhgzR4sWLo+7fOeecI0nau3evpMb9pHfccYemTJmilJQUvfzyy5Kkv/3tbxozZoy6dOmigQMH6q677lJDQ0Poeb744gtdd9116tatm3r27Klf/epXJ72Wz+fTk08+GbpdW1urWbNmqW/fvurcubPOOuss7dixQ2PGjNGtt94aesyAAQNCjykqKtLFF1+sLl26aMiQIXriiSdavMbHH3+s73//++rSpYuys7P129/+Nuz7v/LKK3XZZZe1aNuzZ498Pp9WrVqlw4cPKz8/X3369FFKSorOP/98lZeXh33OpUuXauTIkZo+fbq6d+/e6vLi/fv3a+rUqerVq5dSUlI0dOhQVVRUaMCAAZo/f7727t0rn8+nMWPGSGq537jJL37xixbX5qOPPtLEiROVlZWltLQ0XXnllSopKQnbVwCAOxFkAQAxtXPnTlVXV2vx4sVav369Bg4cqH/6p39SbW2tJGn69Ol699139ac//Unr1q3TxIkTJUkVFRW66qqrdNFFF2nTpk16/vnn1a9fP0nS4cOH9Q//8A9at26dnnrqKW3atEk33HCD/u3f/k1/+MMfoupfcXGxfD6f+vfvH2pbsWKF+vbtq82bN+vSSy/V7t27dcUVV2jYsGFav369Hn74YS1atCgUrIPBoK6++moVFxfr5Zdf1urVq7V9+3atX7/+lK979OhRjR8/Xi+99JIefPBBbd68Wb/5zW8kScuXL1dBQYEkaffu3Vq7dq0k6a233tLVV1+tiRMnauPGjfrlL3+pn/3sZ3ruueckNQbj733ve6qvr9drr72mFStW6IUXXtAXX3xxyn7ccMMN2rBhg/bt2xdqe/7559WnTx+NGzdO//7v/64VK1Zo2bJl2rhxo6ZPnx72etbU1OiVV17RT37yE6WkpOjaa6/VsmXLZIxpcZ/Ro0dr06ZN+v3vfx963mAwqLVr12r69Onq06ePdu/ereXLl4d9veaKiop03nnn6cUXX9Tq1au1d+9ezZgxI+LHAwBcxAAA0EE33nijGTFiRET33bJli5FkNm7caIwxZujQoeYnP/nJSfd7//33jSTz2muvnfS1Z5991nTq1MkUFxe3aJ8+fbo544wzTvnad911l+ndu7cxxpj6+nqzdu1a079/fzNlypTQffr3728uvvjiFo/7l3/5FzNu3LgWbXPnzjWDBw82xhjzwgsvGL/fb3bt2hX6+qFDh0yvXr3M9ddfH2qTZBYvXmyMMeall14yPp/PvP/++632dfHixebE/6a/+93vmunTp7dou+GGG8yVV15pjDHmwQcfNGlpaaaqqir09fLyctOpUydz5513tvo6tbW1plu3buaxxx4LtQ0dOtT86le/MsYYc80115hLL73UBIPBVh9/ot///vfG7/eb0tJSY4wxq1evNpLMG2+8EbrPww8/bLp27Wr+7//+r9XnuPPOO03//v1btF1xxRUtruWp7tfcggULTNeuXUN9j2acAgCcjRlZAEBMHT16VH/4wx/04x//WEOHDg0tY/3qq68kSXfeeadeeuklXX755Xr55ZcVDAYlSRdeeKGuvvpqXXvttZo+fbo+/vjj0HNu3rxZAwcO1ODBg1u81pgxY/T555+HrUK8f/9+paSkKCUlRePHj9cPf/jDFst9JWnEiBEtbm/cuFFFRUWhx6WkpOiBBx7Qnj17JDUuOx44cKDOOuus0GM6d+6ss88++5T9WLdunQYMGKDhw4ef8j4n2rhxo55++ukW/Vi+fHmLflxyySXq0aNH6DGBQEB9+vQ55XOmpqZq4sSJevHFFyVJO3bs0EcffaSpU6dKkmbNmqUPPvhAw4YN0x/+8AfV19eH7ePSpUs1evRoZWZmqqGhQWPGjDmp6NO6des0YsQI9e3bN+L3Honq6mo98MADGj9+vM4880zdcccdOnjwoA4fPmzp6wAA4o8gCwCIqenTp6ugoEC5ublasWKFNm/e3OLreXl52rVrly6++GJNnTpVo0eP1qFDh+Tz+bRy5Uq9/PLL+uyzz3Teeefp8ccfl9QYjjt16nTSa5ljy1fDha1AIKCtW7dq165d+uqrr7RgwQJ17ty5xX26devW4nZycrJ+/OMfa+vWraE/27Zt04cffiipcalsSkrKSa916NChU/bj0KFDSk5OPuXXW5OcnKzbb7+9RT8++ugjrV69ut39kKSf/vSnWr9+vb744gs999xz+s53vhMqiPXd735Xn376qXJzc/WLX/xCF1xwgb788stWn2fXrl1av3691q5dq9NOO02nnXaaunTpooqKCr388suqqalp93v3+/2hDzmaNL9dX1+vyy67TH/5y180c+ZMvf7661q0aFFUrwEAcA+CLAAgpl544QXddtttmjx5ss455xx9+umnJ91n4MCBeuyxx7R+/XqtX78+FMwkacKECVqzZo3y8/M1d+5cSdLw4cP16aefnlTIZ926dRo0aJACgcAp+9OpUyedffbZysnJOSnAnso555yjHTt2aPDgwTr77LNb/JGkwYMH65NPPtH+/ftDj6moqAh7Duz555/f6nto0nRMz9GjR1v0o7i4+KQ+5OTkhPrx3nvvtQiuH3/88SmDZ5Pvfve7ys7O1iuvvKIVK1bopptuavH13r17q6CgQDt27NBnn312yn2rzzzzjFJSUvTOO+/o3XffDf15/vnndfDgwdCs7/nnn693331XX3/99Snfe/P33dSHE/f67ty5M/T3jz76SDt27NBDDz2kq6++WoMGDWrxdQCAtxBkAQCWOHDggN58880Wfw4dOqTTTz9dL7/8st577z2tXLlS99xzT4vH3X777Xrttde0fft2vfbaa/L7/TrzzDP1/vvvq6CgQJs2bdL777+vrVu3asiQIZIaZ3EHDRqka665RitXrtTWrVs1b948Pf3007rvvvssf29z5szRtm3bQoWRNmzYoHvuuUdPP/20JGny5Mnq0qWLrrvuOr311luholWpqamnfM4bbrhBffr00TXXXKPCwkJ98MEHevLJJ7Vt2zZJ0hlnnCFJevbZZ/W3v/1NknTHHXdo5cqVmj17tt59912tW7dO+fn5WrVqlSRpxowZqqys1KRJk7Rp0yatWbNGP/3pT5WWlhb2/fn9fuXl5enZZ5/V/v37dd1114W+NnfuXP35z38OfX8OHz580pJuqXF2dNmyZbr22mt16aWX6uKLLw79uf7663XBBReElhfPnDkzVCDrL3/5i7Zs2aIHH3ww9EHAGWecodLSUq1atSp0PcaOHasNGzbo1VdfVX19vVasWKH//d//Db1+79695ff79dRTT+nDDz/Uk08+qRUrVoR93wAAF4v3Jl0AgPvdeOONRtJJf/bs2WPefvttc/7555vOnTubkSNHmlWrVhlJZvXq1cYYY26++WbTs2dP06VLFzNs2DDzwgsvGGOM2b17t7nkkktMly5dTEZGhvnhD39oSkpKQq9ZWlpq8vLyTI8ePUxycrK58MILzYsvvhi2n82LPZ1K//79Wy2M9Kc//clccMEFJjk52fTu3dvk5uaaHTt2hL7+9ttvm+HDh5vk5GRz5plnmuXLl5vvfe97pyz2ZIwxe/fuNT/60Y9MWlqaSU1NNZdffnnoPTY0NJjrr7/edO3a1YwcOTL0mKeeesqcddZZ5rTTTjN9+vQxkydPNvv27Qt9/c9//rMZMmSISU5ONkOHDjWvv/66ycnJOWWxpyYfffSRkWRuueWWFu133323ycrKMp07dzZnn322WbRoUauPbyrq1FpxLmOMeeKJJ4wks3v3bmOMMR9++KEZN26c6dq1q0lLSzPjxo0z1dXVxhhjDhw4YMaOHWtSUlJC1+/I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AAAoFEEWAACAQhFkAQAAKBRBFgAAgEIRZAEAACgUQRYAAIBCEWQBYAiuueaaXHnllSmXy+967qWXXkpHR0eWLFlSh8r2X0dHR9avX1/vMgBgnwmyADBEAwMDefzxx9+1vmLFijQ3N9ehIgAYXQRZABiiT3ziE1mxYsUea9u3b89jjz2Wj33sY3WqardKpVLX4wPAcBhT7wIAoGjOPvvs/PznP09vb28mTpyYJPnb3/6W448/PgcffPDg6x5//PHce++96evry5QpU3LVVVdl3Lhx2bBhQ+6+++68/PLLaW5uzpe//OWcf/75SZIHH3wwS5cuzb/+9a+cfvrp6ezszJIlS/LPf/4z8+bNS5KsX78+3/jGNwa3MHd0dGTOnDn53e9+l/POOy8dHR3veewkWbZsWZYvX5633norF1xwwXB+dABQE67IAsAQjR8/Pqeeemr+/Oc/D66tWLEi5557bqrVapLklVdeye23354rrrgiCxYsyK5du3LfffclSTZv3pzPf/7z+cUvfpG5c+dm4cKF2bJlSzZu3JhFixals7Mzd911V2bOnLnPNa1evTq33XZbZsyYsddjP/bYY3nggQdy/fXXZ8GCBdm4cWPtPhgAGCaCLADsh3PPPTd/+tOfUq1Ws27duvT392fq1KmDz3d1dWX69Ok58cQTM27cuHzxi1/ME088kWT31uTTTz89/f39qVQqKZVK2bhxY5qamlKpVNLX15dDDjkkxx133D7Xc/7556elpSWHH374Xo/98MMPZ+bMmfn4xz+ecePG5dJLL63tBwMAw8DWYgDYD1OmTEmSPP3001m5cmXOOeecNDX95/xwb29vnnzyySxbtmxwrVQqJUlWrVqVRYsW5SMf+UiOPPLIHHTQQSmXy/nQhz6U66+/Pr/61a/y29/+NpdddllOPPHEfaqnra1tn47d09OT6dOnD64fdthh+/G/B4D6EmQBYD80NTXlnHPOycMPP5ynnnoqt9xyyx7Pf/CDH8yFF16Yjo6Od/3bu+++O3Pnzs3UqVPz9ttvp6ura/C5T3/60znzzDPT1dWVW2+9NXfddVeam5uzY8eOwdds27btXe/5TlD9b8c+7LDDsmnTpsHHr7/++tD+4wAwAthaDAD7afr06Vm5cmUmT56cSZMm7fHcWWedla6urrzwwgsZGBjIq6++mqeeeipJUi6X093dnR07dmTJkiV5++23kyTd3d155plnUi6Xc9RRRw2uH3PMMVmzZk36+vpSqVTyxz/+ca917e3Yn/zkJ7N8+fKsX78+W7ZsyeLFi/cIwQBQBK7IAsB+mjBhQqZMmZKzzz77Xc+dfPLJueiii7JgwYL09/fn6KOPHrwfdc6cOfnlL3+Z3/zmN7n44osHpwmXy+Xceeed6enpyaRJk3LdddflAx/4QE4++eR89rOfzQ033JDW1tacccYZeeSRR96zrr0de+bMmXnjjTfy3e9+N83NzbnsssuyatWqA/DpAMCBU6q+M14RAAAACsDWYgAAAApFkAUAAKBQBFkAAAAKRZAFAACgUARZAAAACkWQBQAAoFAEWQAAAApFkAUAAKBQBFkAAAAK5X8AfclEQK17ZqsAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, lasso_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Lasso Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import ElasticNet\n", "\n", "elasticnet = ElasticNet()" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ElasticNet(alpha=1.0, copy_X=True, fit_intercept=True, l1_ratio=0.5,\n", " max_iter=1000, normalize=False, positive=False, precompute=False,\n", " random_state=None, selection='cyclic', tol=0.0001, warm_start=False)" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "elasticnet.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.888862421794889" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "elasticnet_score = elasticnet.score(X_test, y_test)\n", "elasticnet_score\n", "\n" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "elasticnet_pred = elasticnet.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 4.16\n" ] } ], "source": [ "\n", "\n", "# The mean squared error\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, elasticnet_pred)))\n", "\n" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import RandomForestRegressor\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", "\n", "\n", "# Create Random Forrest Regressor object\n", "regr_rf = RandomForestRegressor(n_estimators=200, random_state=1234)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,\n", " max_features='auto', max_leaf_nodes=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, n_estimators=200, n_jobs=None,\n", " oob_score=False, random_state=1234, verbose=0, warm_start=False)" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Train the model using the training sets\n", "regr_rf.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9023960871039343" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Score the model\n", "decision_forest_score = regr_rf.score(X_test, y_test)\n", "decision_forest_score" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [], "source": [ "# Make predictions using the testing set\n", "regr_rf_pred = regr_rf.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 3.90\n", "Mean absolute error: 3.02\n", "R-squared: 0.90\n" ] } ], "source": [ "# The mean squared error\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, regr_rf_pred)))\n", "# The absolute squared error\n", "print(\"Mean absolute error: %.2f\"\n", " % mean_absolute_error(y_test, regr_rf_pred))\n", "# Explained variance score: 1 is perfect prediction\n", "print('R-squared: %.2f' % r2_score(y_test, regr_rf_pred))" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['SO2', 'CO', 'O3', 'Nox', 'NO', 'NO2', 'THC', 'NMHC', 'CH4',\n", " 'WindSpeed', 'TEMP', 'Humidity'],\n", " dtype='object')" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.columns" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA80AAAItCAYAAAADhZjDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xu0nYO9Lv5nrkyxxF0mYoWoe4SEOuLeYFjoHqN16tBQ1126qRPa9GKnPcVZlG31qE3HrhMtu5W0sssuqj0V3RZJ41IldWklXYK4rggW25G4xUrm7w/H+nU1eSPSJHPNzM9nDGOs+d7m953PH8aT933nLFWr1WoAAACApTTVegAAAADor5RmAAAAKKA0AwAAQAGlGQAAAAoozQAAAFBAaQYAAIACSjMAAAAUUJoBaCh///d/n1Kp1Oe/crm8St9j1qxZq/R4K+q6667rc17PPPNMTeZYUXPnzs3bb79d6zEAYLmUZgAazp577pknnnii97/HH398lR37X//1X7P77ruvsuN9FMccc0x+9KMfJUmmT5+erbfeuiZzrIg777wzO+ywQ1566aVajwIAy7Vq/2kdAOrAuuuumx133HG1HPu9995bJcdZsmRJmpo+2r9tb7jhhtlqq62SJNtuu+0qv4K+KnxwXqvqcwKA1c2VZgD4C6+88kpOOumkbLLJJtliiy1y0kkn5ZVXXuld/6tf/Sqf+MQnetf/wz/8Q956660kySGHHJKzzjorSVIqlfKxj30syfu3hO+333593ufqq69OqVTqfd3W1pYhQ4bkpptuypZbbpmjjjoqSfLmm29m3Lhx2XzzzbPpppvm05/+dJ5++ukVPp/p06enVCrltttuy8EHH5z11lsvBxxwQObOnZtf/epXGT58eDbYYIP83d/9XZ+rvoccckhOOumk/PjHP84OO+yQ5ubmHHjggfnjH//Y5/i//e1vc8ghh2SDDTbI+uuvnyOOOCKPPvroUu9/yy23ZPfdd8/GG2+cv//7v8/f/d3fJUm222673s/htddeyznnnJPtttsugwYNyp577pmOjo7eY31w+/lDDz2Ugw46KIMGDcqoUaNy77339pnpySefzLHHHptNN9006623Xvbdd9/edR+W780335yPf/zjWW+99bLVVlvl+uuvX+HPGoC1k9IMAP/Pu+++m8MOOyzz58/PbbfdlptuuimdnZ056aSTerf5xS9+kRNPPDF33nlnJk6cmJ/+9Ke58sorkyTXX399LrrooiTJE088kd/+9rcf6f3feuut/PCHP8wvf/nLXHrppUnev+X6d7/7XX72s5/lN7/5Td5777186lOfSk9Pz0c69vnnn5/zzz8/v/jFL/LMM8/k6KOPznnnnZcf/vCHuf7663Pfffflggsu6LPPjBkzctNNN+UnP/lJpk6dmrfffjtHHXVUFi1a1Lu+tbU122+/fTo6OjJ16tSUSqUceuih6e7u7nOsiy++OO3t7eno6Mj/+l//q89t5E888USSpLOzM6+//nomTpyY++67L9ttt13Gjh2bhQsX9jnWl770pXzrW99KR0dHmpqacvzxx/deuX7hhRey//7758UXX8wNN9yQe++9t/cfID4s3z/96U/57Gc/m+OOOy4PPvhgrrnmmmy66aYf6XMGYC1UBYAGcuqpp1ZLpVJ13XXX7f3vc5/7XLVarVYnT55c3Wyzzapvvvlm7/Z33XVXNUl13rx5yzzef/2v/7X6yU9+svf1xIkTq3/9v9dTTz21uu+++/ZZ9tfb/c//+T+rSaqPPfZY77IZM2ZUBwwYUH3++ed7l82dO7eapHrfffctc56pU6dWk1SffvrparVarU6bNq2apPrTn/60d5u2trZqkuqdd97Zu+zzn/98dffdd+99ffDBB1dbWlqqb7/9du+y2bNnV5NUb7755mq1Wq0eeuih1YMOOqjP+y9YsKA6ePDg6gUXXNDn/b///e8vd85lefjhh6tJqvfff3+1Wq1Wf/zjH1eTVDs6Onq3ufXWW6tJqrNnz65Wq9Xq2WefXW1paakuWLBgqeN9WL433XRTNUm1s7OzcCYAGk//e9gJAFazUaNG5Wc/+1nv64022ihJcv/99+c///M/s9lmm/Wuq1arSZKnn346W221VR5//PH88Ic/zIMPPpinnnoqL774YvbZZ59VMtf666+f3Xbbrff1/fffn8WLFy/z+eunn346+++//wofe4899uj9e5tttkmSjB49unfZ0KFDM3Xq1D77jB49Os3Nzb2vd91112y44YZ56qmnkiQPPPBAvvnNb/bZZ4MNNsjee++dxx57rM/yv7xFusjixYszadKkTJ06NZ2dnZk7d26S5D//8z/7bPeXn/f222+fJHn55Zez6667ZsaMGTnyyCOzwQYbLHX8D8v3yCOPzN5775199903X/jCF/KlL30pw4YN+9C5AVi7Kc0ANJzm5uYMHz58qeUDBw7Mdtttl1//+tdLrRs2bFieeOKJfPzjH8+pp56aiy++ODvttFP+8R//sff24iJNTU1ZsmRJn2V//TrJUkVv4MCBWXfddfPII48ste0HX/i1ov7yS8E++IKxddZZp3fZgAEDegvkX77/X1q8eHHefvvtbLzxxr2vBwwYsNR7VavVvPvuu32WLavE/rUzzzwzHR0dufjii3PhhRemWq0u85vI/3LuD87rg9nfeeedpeb+y/NZXr6DBg3K/fffn3//93/PlVdeme9///v5yU9+ks9+9rMfOjsAay/PNAPA/zNixIi88MIL2WijjTJ8+PA+/w0aNCi/+tWvMmDAgEycODFjxozJVlttldmzZ/c5xgeFdPHixb3Lttxyy3R1dfXZrrOzc4Xmeffdd/Pmm28uNc8HxXV1+uMf/9in3E+fPj09PT3Zc889kyR77bVX/uM//qPPPm+++WYeeuihD72yvKzP6cYbb8zZZ5+dk046KSNGjOi9ov1RjBo1qnfOv/Zh+Sbv/+PB8ccfn/vvvz+f+tSncvHFF3/kGQBYuyjNAPD/nHDCCalUKjnqqKNy++235+GHH84111yT8ePHJ3n/6u7ChQvzgx/8II888kjGjx+fZ555ps8xPridd9KkSXnooYeSJK2trZk3b14mTpyYRYsW5c4778y//du/feg8hx12WD7+8Y/nuOOOyy233JJHH300119/fU4++eRlbr9gwYK8+OKLSZJnn332I39Z2F979tlnc9ppp+UPf/hDfvnLX+b000/PkUce2Xtb9wUXXJDf/va3OeOMM/L73/8+d999d4499tgMHDiw91vEi3zwOU2ZMiW///3vk7z/+d50002ZOXNm/s//+T+58MILP/LMEyZMyNNPP51jjjkmM2bMyMyZM3Peeecl+fB8b7vttlx55ZV56KGH8rvf/S5PPPFEdtlll488AwBrF6UZAP6f9ddfP7/5zW+y2Wab5b/9t/+WQw89NNddd12OOOKIJMnYsWNz1lln5Rvf+EYOO+yw3p+A+kuHH354jjvuuJxzzjkZN25ckvfL7z/90z/lkksuyWabbZarrrqqt6gtT1NTU2699dbsscceOfXUU3PQQQfl8ssvz+GHH77M7W+66aacdtppSd7/yagXXnjhb/k48ulPfzqVSiWHHXZYTj755Bx00EGZMmVK7/ojjzwyv/71r/Poo4/m4IMPzqc//elssMEGueeee1KpVJZ77OHDh+crX/lKLrvsshx99NFJkh/96Ed56623ctBBB+WSSy5Zqau8e++9d+644468+uqrOfLII3PkkUf2XtX/sHw33XTT/Ou//msOOOCAfOYzn8mee+6ZiRMnfuQZAFi7lKp//QATANDwDjnkkAwZMqTPF6YBQCNypRkAAAAKKM0AAABQQGkGAACAAp5pBgAAgAKuNAMAAEABpRkAAAAKlGs9QH82b968Wo/AalapVNLd3V3rMVgDZN0Y5NwY5Nw4ZN0Y5Nw4+lvWLS0tK7SdK80AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoECpWq1Waz1Ef1Uq1XoCAACA+tHVNa9wXaVSSXd39xqcZvlaWlpWaDtXmgEAAKCA0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACijNAAAAUEBpBgAAgAJKMwAAABRQmgEAAKCA0gwAAAAFlGYAAAAoUK71AH/tsssuy3PPPZc33ngjAwcOTHNzcw4//PDceOON2XTTTZMko0ePzimnnJK2trb83//7f3PFFVf0OcaMGTPy/e9/PxMnTszgwYMzbty43nVbbrllvvjFL2aLLbZYo+cFAABA/el3pfncc89Nklx11VUZOXJkxowZk1mzZmWXXXbJ+eefv9T2CxcuzOzZszNixIjeZXfccUc23njjPttddNFFGTx4cH75y19m8uTJ+frXv756TwQAAIC6V/e3Z++///7p6Ojoff3MM8+kubk566677jK3//jHP55XXnllTY0HAABAHet3V5qLzJkzJ+PHj0+SHH300Tn44IOTJPvss08mTpyYN954IxtttFFuv/32HHHEEbnuuuuWOsbixYszbdq0jBw5cpnv0dHR0VvA29vbV8+JAAAArKUqlUrhunK5vNz1/VXdlOadd955mbdnl8vljBkzJtOnT09ra2s6OztzxhlnLFWa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F7+4zFuzAQAA4K+tNaV54403zvjx45e57vLLL1/D0wAAALA2WCtuzwYAAIDVQWkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQoFzrAfqzrq55tR4BAACAGnKlGQAAAAoozQAAAFBAaQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKOB3mpdj6NCWWo+wWvj9aQAAgBXjSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQAGlGQAAAAoozQAAAFBAaQYAAIACSjMAAAAUUJoBAACggNIMAAAABcq1HmBV6Onpyc9//vPcfffdSZKmpqacd955effddzNp0qS88MILSZK99torp556apqbm2s5LgAAAHVirSjN3/ve97L++uvn8ssvT3Nzc954440sWrQol156aT7/+c9nn332SU9PT6ZMmZKrr74648ePr/XIAAAA1IG6vz37ySefTFdXV84444zeK8gbbbRRZsyYkf333z/77LNPkqRcLuekk07KU089lfnz59dyZAAAAOpE3V9p7uzszO67756mpr79/5lnnsmYMWP6LGtqasr222+f559/PkOGDFnqWB0dHeno6EiStLe3r76ha6xSqdR6hH6jXC77PBqErBuDnBuDnBuHrBuDnBtHvWZd96U5SdZZZ52llvX09KRUKi21vFQqpVxe9mm3tramtbV1lc/X33R3d9d6hH6jUqn4PBqErBuDnBuDnBuHrBuDnBtHf8u6paVlhbar+9uzhw0bls7OzqWWb7vttkstX7JkSebOnZttttlmTY0HAABAHav70jxy5MgkyQ033JCenp4kyauvvppPfvKTmTFjRh555JEk7195njx5coYPH16XtwQAAACw5pWq1Wq11kP8rV5//fVcd911mTVrVpqbm7Phhhvma1/7Wl5//fVMmjQpL730UkqlUkaPHp2TTz45AwcOXKHjLuPu7rVCV9e8Wo/Qb/S3W0RYfWTdGOTcGOTcOGTdGOTcOPpb1it6e/Za8UzzJptsssyfkRo8eHAuuuiiGkwEAADA2qDub88GAACA1UVpBgAAgAJKMwAAABRQmgEAAKCA0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACijNAAAAUKBc6wH6s66uebUeAQAAgBpypRkAAAAKKM0AAABQ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+vTpOfTQQ3uXL168OP/8z/+cM888MyNGjMiDDz6Y73//+2lvb88pp5ySf//3f8+RRx6ZDTfcMCNHjlzquB0dHeno6EiStLe3f+S5KpXKyp8UNVEul+XWIGTdGOTcGOTcOGTdGOTcOOo167oszUly+umnp62tLaNHj+5dNm/evDQ3N2fEiBFJktGjR+eaa67JW2+9lb322iu33357Jk+enP/xP/7HMo/Z2tqa1tbWlZ6pu7t7pfelNiqVitwahKwbg5wbg5wbh6wbg5wbR3/LuqWlZYW2q7vbsz+wxRZbpLW1NVOmTEmpVEry/pXmD/5psTjhAAAgAElEQVT+S01N759muVzOu+++2/saAAAAlqeu2+NRRx2Vxx9/PPPnz0+SbL311lmwYEH+/Oc/J0lmzpyZIUOGpLm5OQ888ECampry2c9+Nj/5yU9qOTYAAAB1oq5Lc7lczmmnnZZXX3219/VXvvKVTJo0KV/60pcyderUnH322XnnnXcyefLknHDCCRkzZkyef/75zJ49u8bTAwAA0N+Vqsv6CmqSJMu403u5urrmrZ5BWG3623MVrD6ybgxybgxybhyybgxybhz9Leu1/plmAAAAWN2UZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAXKtR6gP+vqmlfrEQAAAKghV5oBAACggNIMAAAABZRmAAAAKKA0AwAAQAGlGQAAAAoozQAAAFBAaQYAAIACfqd5OYYObVnhbf2mMwAAwNrHlWYAAAAooDQDAABAAaUZAAAACijNAAAAUEBpBgAAgAJKMwAAABRQmgEAAKCA0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACpRrPcDK+PWvf50777wz77zzTjbccMN85zvfyXPPPZdJkyblhRdeSJLstddeOfXUU9Pc3JwFCxbk2muvzdNPP51qtZrjjz8+Bx54YI3PAgAAgP6u7krz448/nnvuuSft7e0ZOHBgXn755bz55pu59NJL8/nPfz777LNPenp6MmXKlFx99dUZP3583njjjRxxxBHZbbfdMn/+/HzjG9/Ivvvum3K57k4fAACANajubs9euHBhmpqa0tT0/uhbbLFFfvOb32T//ffPPvvskyQpl8s56aST8tRTT2X+/PkZOnRodttttyTJkCFDMmDAgCxatKhm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nJPm5ubcddddueWWW9Lc3JzttttuuVfEOzo60tHRkSRpb29fav0Hs7H2KJfLcm0Qsm4Mcm4Mcm4csm4Mcm4c9Zr1ckvztttum3feeSevvfZa5s+fn5122im77rprHnvssYwePTp//vOfc+yxx/bZZ+7cufniF7+YL37xi/n617+eOXPmZOjQofnBD36QCy+8MFtuuWWf54qPPfbYtLe3Z+7cufnc5z6XwYMH967r6urKd77zncyfPz8XXHBB/st/+S/53e9+l6amplxxxRXp6urKlVdemcsuuyxXX311Tj311HzsYx/L9ddfn46Ojuy111656aab8k//9E9Zf/31853vfKfP8f9aa2trWltbC9d3d3d/6AdKfalUKnJtELJuDHJuDHJuHLJuDHJuHP0t65aWlhXabrmlOUlGjhyZWbNm5YUXXsjIkSOz66675vbbb89rr72WJNl88837bL/ddttlq622SpLsuOOOvbdz77TTThkyZEiS5MADD8ytt96a5P1ifsUVV+TWW2/NhAkTMn78+N5bvg8++OA0NTWlpaUlLS0tmTdvXh5++OE89dRTmTlzZpLkrbfeyttvv53Ozs5ceeWVSZL33nsvo0ePzh//+Mfss88+2XjjjZMk++23X5544okV+mAAAADgQ0vzqFGjMmvWrDz77LM5/PDDU6lUsmjRotx///3LfJ55nXXW6f17wIABWbJkSRYtWpQBAwb0Lu/p6emzT3Nzc4477rjssMMOuf7663PppZf27v+BRYsWZd11183ixYtz2mmnZe+99+5d99Zbb6W5ubm3NH/gV7/6VZ9jvPfeex92ugAAANDrQ7/yeo899sif//znvPvuu733n++2226ZOnVqRo0atUJvssMOO2TWrFl59dVXs3jx4tx111296x599NHeMtvU1JT11luvd93999+fJHnyySezYMGCDBkyJMOHD8+dd96ZxYsXp6enJ3PmzMmgQYOy6aab9n7T90svvZTu7u7stNNOeeCBB/Lmm2/mnXfeyd13372CHwsAAACswJXmjTfeOOuuu2523nnn3mWjRo3KtGnTsttuu63Qm2y++eY59thjc95552X99dfPvvvum87OziTvfyP3//7f/zvNzc3ZbLPN8oUvfKF3v6ampnzta19LtVrNOeeck3K5nE9+8pN59tlnc/bZZ2fgwIE55phjsvPO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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "features = X.columns\n", "importances = regr_rf.feature_importances_\n", "indices = np.argsort(importances)\n", "\n", "plt.title('Feature Importances')\n", "plt.barh(range(len(indices)), importances[indices], color='b', align='center')\n", "plt.yticks(range(len(indices)), features[indices])\n", "plt.xlabel('Relative Importance')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "image/png": "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oyFDhmj48OGBc6ibN2/WD3/4Q1111VV6++23NWvWLD344INnrCE5OVk33nijnn/++aDxZ599Vj/60Y/Url073XTTTaqoqNBrr72mgoICDRo0KOT39cYbb2jfvn265ZZblJWVpe7du2v58uVBj9m6dasGDhyo5ORkrV69Wm+++aauuuoqde7cWXv27FHfvn01cuRI7dmzRz/72c9Cvt7J/vd//1c5OTlas2aNlixZoj/84Q9asGBB2M8HAITBAABsa8yYMWbAgAENfu61114zkkxRUZH59NNPjdvtNhs3bgx8/siRIyYpKcn88Y9/NMYYc9FFF5kbbrihwa/1wAMPmI4dOxpjjCkvLzeSzFNPPXXa4/bu3WskmVdeecUYY8yDDz5o2rRpY8rLy4MeN2zYMDNo0KDAx5LMrbfeGvi4pqbGeDwe88tf/jLk9+5yuUzLli0Df0aPHm2MMWbFihUmISHBFBYWBj3njjvuMF27dg183K1bN3PZZZcFPeYnP/mJGTZsWNDYjBkzTO/evY0xxkyaNMl069bNHD169LSaDh8+bCSZZcuWnbFuY4wZPHiwufnmm40xxhw8eNCsWLHCtGjRwixfvtwY8/X7+Itf/CLoeT179jSPPPJI0NigQYPMhAkTjDHG3HXXXaZHjx7m+PHjgc+/9957RpJZsmSJMcaYN99800gyH374oTHGmHvuucdkZGSYqqqqBmu9+eabzeDBgwMfHzp0yKSmpppVq1YFPa5bt27m4YcfNsYYM3z4cDNw4MCgz7/44otBc+NUa9euNZLMtm3bjDHGfPXVVyYhIcG89tprxhhjWrdube67774Gn9uQnJwc861vfSvw8bRp00xKSkrQ9zlixAjTr18/U1tb2+DXGDBggBkzZkzQ2MnvZajHnSw7O9tce+21gY+7detmpk2bFvb3AgA4HSuyAOBQJSUlcrlc8nq92rx5s/x+v4YMGaLk5GQlJyerbdu2OnbsmPbu3av9+/frgw8+aHS7piSlp6frzjvv1N13363Ro0dr8+bNZ3zs5s2b1b9/f6WnpweNDxkyRB988EHQWP/+/QN/T0hIULdu3fTVV1+FrOWSSy7Rtm3bAn/mzZsXeN0ePXqod+/ep73uvn37dODAgcDYqaumf//731VQUBB4n5KTk/Xwww8HVhsnTJigw4cP61vf+pYWLFiggwcPhqzxTJ5//nklJycrNTVV06ZN0+LFizVmzJigx5xcW2lpqYqKijRjxoyg2t5+++1Abe+9956+973vBXVv7tu3b8g61q9fr2HDhik1NTWsuj/44AMdPHhQY8aMCapj3759QXVcc801Qc9rrI5Bgwape/fugVXZ559/Xp07d9b3v/99SdL/+3//T3PnztV1112n119/PeTXOnDggF588UXddNNNqqmpUU1NjW666SZVV1cHbbVev369fvjDH0b9/HFhYaGmTJmiQYMG6bzzztNf//pX7d+/P6qvAQDxjiALAA710ksvqX///kpNTVVSUpIkac2aNUHB78MPP9SECRN05MgRSQo8rjG/+c1vtG7dOtXU1CgrK0v33ntvg4+rra1VQkLCaePGGB09ejRorEWLFkEfJyYmNnodTXJysi644ILAn4yMjEZfV5KOHTsWGDs1wCUlJemmm24Kep927Nih7du3S5Iuuugi7dmzRxMnTtSCBQuUmZl5VtfTXHvttdq2bZs+++wzFRcX6/bbbz/tMSfXVv+zmTt3blBtO3fu1NKlSyVJVVVVSk5ODvoa9T/bMzly5EjYP/eT6/j9738fVMeuXbsC24fPpg6Xy6WcnJxAkF21apXGjh0bCJn33Xef3n//ffl8Po0YMUI33njjGefHs88+q8OHDysvL08tWrRQixYtdNlll0lS0PbiSL/3+jr9fn/Q2Mkf79mzR/369dOhQ4c0e/ZsbdmyRTk5ORG9BgCgcQRZAHCg1atX64UXXtCMGTMkKXDWtaSkJCj4XXDBBfJ4PPL5fOrQoUOjK10nu/LKK/X8889r4cKFmj9/foMrTpdeeqk2b94cOIdbb/369RGdH41UfRfgoqKi0163Z8+eIa+f6dOnj3bt2qXevXuf9l7Va9OmjaZOnaoPP/xQCQkJgSZS9aGrtra20Rpbt26tCy64QF27dg2rk27btm2VkZGhoqKi0+rq2rWrJKl37956++23g563bt26kF/3kksu0dq1a8/Ybdntdgd9P+eff75atGihf/7zn6fV0alTp7OuQ5Juu+02ffTRR3rllVe0ceNGjRs3LujzF198sX73u9/phRde0AsvvHBas7J6y5cv12WXXaZ//OMfQX+mTp2qt956S5988kngew8150/93iWpY8eO+uKLLwIfHz9+PGierV69OjAnBg0apE6dOmnXrl2Nfu8AgMgQZAHA5o4ePaqPP/5YhYWFWrNmje666y7deOONmjt3roYPHy6pLlhkZ2frrrvu0jPPPKPt27frL3/5i0aMGCGpbpXp/vvv1/Lly/Xf//3f2rJli9atW9dgg5ri4mJNmTJFb7/9trZv366NGzeqY8eOatu27WmPvfvuu5WQkKARI0ZozZo1evfddzV16lQVFBQEusA2hZycHPXs2VPXX3+9XnrpJW3btk1z5szR7373u0bvBZ0yZYp27Nih2267TRs3btTGjRv14IMP6ne/+50k6fHHH9eqVav0wQcfqKCgQPv371dmZqakutXKjh07avXq1dq+fbtKS0uj+n1NnTpVTz31lGbPnq2tW7eqoKBAY8eODawWT5o0Se+//74mTpyod999Vy+88IKmT58eMihPmzZNe/fu1ahRo7R+/Xpt2bJF999/f+DzXbt21Y4dO7Rhwwbt3r1bKSkpuuuuuzRz5kwtXrxY77//vl5++WXdcMMNgV9YTJo0SX/96181Y8YMbd26VcuWLQvrjtzevXurf//+uv/++/Xd735X3bp1C3zuJz/5id58803t3LlTb7zxhpKTkwMB/mSFhYXauHGjxo8fr8suuyzozy9+8Qu1aNEisCr7q1/9Sm+88YZuv/32wM/6oYceCvreN2zYoHfffTcQfocOHaoVK1boww8/1KFDhzRt2jRVV1cHntOpUycdPHhQv/3tb7Vt2zZNnjxZn376aaPfOwAgQs17RBcAcC7GjBljJBlJJiEhwWRkZJjRo0ebTZs2nfbY/fv3m3Hjxpn09HTTqlUr06dPHzNv3rygx/z2t781mZmZpkWLFua8884zc+bMMcYEN3uqqKgwgwcPNqmpqaZNmzbm6quvNlu3bjXGnN7syRhjdu/eba6//nrTunVrk5ycbK688krzxhtvBL2uzqKBTqhGV8YYU1xcbHJycky7du1MUlKS6devn3n++eeDHnOmpjt/+ctfzLe//W2TlJRkOnbsaLKzs82uXbuMMcY89dRTpkuXLiYpKcl0797dzJw5M6hZ0B//+EfTsWNH07p1a7Nly5YGazu52VNDGnofjTGmtrbWzJ4923Tt2tUkJSWZbt26mTvvvNP8+9//Djzm6aefNt26dTMtW7Y0l19+uXnvvfdMQkLCGZs9GWPMunXrzJVXXmmSk5NNenq6GTVqVOBz//zn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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, regr_rf_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Decision Forest Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import ExtraTreesRegressor\n", "\n", "extra_tree = ExtraTreesRegressor(n_estimators=200, random_state=1234)" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ExtraTreesRegressor(bootstrap=False, criterion='mse', max_depth=None,\n", " max_features='auto', max_leaf_nodes=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, n_estimators=200, n_jobs=None,\n", " oob_score=False, random_state=1234, verbose=0, warm_start=False)" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "extra_tree.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9167571974098775" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "extratree_score = extra_tree.score(X_test, y_test)\n", "extratree_score" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [], "source": [ "extratree_pred = extra_tree.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 3.60\n" ] } ], "source": [ "\n", "\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, extratree_pred)))\n", "\n" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA80AAAItCAYAAAADhZjDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xu0XYO9L/Dv2llii7csxA5R7wgJdcW7wbDRM0br1KGhnqf0UDe06cNJe4sbyrF7Vek4daPltJJWTmlR7a3osUkajyqpRyvpFsQrO4LNcWV7xU7W/cOxb3eTGYlGVmZ8PmMYI2uuueb8rfn9w/juOeealXq9Xg8AAACwhKZGDwAAAACrK6UZAAAACijNAAAAUEBpBgAAgAJKMwAAABRQmgEAAKCA0gwAAAAFlGYAPlT+8R//MZVKpc9/1Wp1pe5j5syZK3V7y+uaa67p872eeuqphsyxvObMmZM33nij0WMAwDIpzQB86Oy+++557LHHev979NFHV9q2/+3f/i277rrrStveijjqqKPywx/+MEkybdq0bLnllg2ZY3ncfvvt2W677fL88883ehQAWKaV+6d1ACiBtddeO9tvv/0Hsu233357pWxn8eLFaWpasb9tr7/++tliiy2SJFtvvfVKP4O+Mrz7vVbWcQKAD5ozzQDwF1588cWccMIJ2WijjbLZZpvlhBNOyIsvvtj7/q9+9at87GMf633/n/7pn/L6668nSQ466KCcccYZSZJKpZKPfOQjSd65JHyfffbps58rr7wylUql9/X48eMzaNCg3HDDDdl8881zxBFHJElee+21jBkzJptuumk23njjfPKTn8yTTz653N9n2rRpqVQqueWWW3LggQdmnXXWyX777Zc5c+bkV7/6VYYOHZr11lsvf/d3f9fnrO9BBx2UE044IT/60Y+y3Xbbpbm5Ofvvv3/++Mc/9tn+b3/72xx00EFZb731su666+awww7Lww8/vMT+b7rppuy6667ZcMMN84//+I/5u7/7uyTJNtts03scXn755Zx11lnZZpttMmDAgOy+++5pb2/v3da7l58/8MADOeCAAzJgwICMGDEid999d5+ZHn/88Rx99NHZeOONs84662Tvvffufe+98r3xxhvz0Y9+NOuss0622GKLXHvttct9rAFYMynNAPBf3nrrrRxyyCGZP39+brnlltxwww3p6OjICSec0LvOL37xixx//PG5/fbbM2HChPzkJz/J5ZdfniS59tprc8EFFyRJHnvssfz2t79dof2//vrr+cEPfpBf/vKXufjii5O8c8n17373u/z0pz/Nb37zm7z99tv5xCc+kZ6enhXa9rnnnptzzz03v/jFL/LUU0/lyCOPzDnnnJMf/OAHufbaa3PPPffkvPPO6/OZ6dOn54YbbsiPf/zjTJkyJW+88UaOOOKILFy4sPf91tbWbLvttmlvb8+UKVNSqVRy8MEHp6urq8+2LrzwwrS1taW9vT3/63/9rz6XkT/22GNJko6OjrzyyiuZMGFC7rnnnmyzzTYZPXp0uru7+2zrC1/4Qr7xjW+kvb09TU1NOfbYY3vPXM+dOzf77rtvnnvuuVx33XW5++67e/8A8V75/ulPf8qnP/3pHHPMMbn//vtz1VVXZeONN16h4wzAGqgOAB8iJ598cr1SqdTXXnvt3v8+85nP1Ov1en3SpEn1TTbZpP7aa6/1rn/HHXfUk9TnzZu31O39/d//ff3jH/947+sJEybU//p/ryeffHJ977337rPsr9f7n//zf9aT1B955JHeZdOnT6/369ev/uyzz/YumzNnTj1J/Z577lnqPFOmTKknqT/55JP1er1enzp1aj1J/Sc/+UnvOuPHj68nqd9+++29yz772c/Wd911197XBx54YL2lpaX+xhtv9C6bNWtWPUn9xhtvrNfr9frBBx9cP+CAA/rsf8GCBfWBAwfWzzvvvD77/973vrfMOZfmwQcfrCep33vvvfV6vV7/0Y9+VE9Sb29v713n5ptvriepz5o1q16v1+tnnnlmvaWlpb5gwYIltvde+d5www31JPWOjo7CmQD48Fn9bnYCgA/YiBEj8tOf/rT39QYbbJAkuffee/Of//mf2WSTTXrfq9frSZInn3wyW2yxRR599NH84Ac/yP33358nnngizz33XPbaa6+VMte6666bXXbZpff1vffem0WLFi31/usnn3wy++6773Jve7fdduv991ZbbZUkGTlyZO+ywYMHZ8qUKX0+M3LkyDQ3N/e+3nnnnbP++uvniSeeSJLcd999+frXv97nM+utt1723HPPPPLII32W/+Ul0kUWLVqUiRMnZsqUKeno6MicOXOSJP/5n//ZZ72/PN7bbrttkuSFF17IzjvvnOnTp+fwww/Peuutt8T23yvfww8/PHvuuWf23nvvfO5zn8sXvvCFDBky5D3nBmDNpjQD8KHT3NycoUOHLrG8f//+2WabbfLrX/96ifeGDBmSxx57LB/96Edz8skn58ILL8wOO+yQf/7nf+69vLhIU1NTFi9e3GfZX79OskTR69+/f9Zee+089NBDS6z77g9+La+//FGwd39gbK211upd1q9fv94C+Zf7/0uLFi3KG2+8kQ033LD3db9+/ZbYV71ez1tvvdVn2dJK7F87/fTT097engsvvDDnn39+6vX6Un+J/C/nfvd7vTv7m2++ucTcf/l9lpXvgAEDcu+99+ZnP/tZLr/88nzve9/Lj3/843z6059+z9kBWHO5pxkA/suwYcMyd+7cbLDBBhk6dGif/wYMGJBf/epX6devXyZMmJBRo0Zliy22yKxZs/ps491CumjRot5lm2++eTo7O/us19HRsVzzvPXWW3nttdeWmOfd4vpB+uMf/9in3E+bNi09PT3ZfffdkyR77LFH/uM//qPPZ1577bU88MAD73lmeWnH6frrr8+ZZ56ZE044IcOGDes9o70iRowY0TvnX3uvfJN3/nhw7LHH5t57780nPvGJXHjhhSs8AwBrFqUZAP7Lcccdl1qtliOOOCK33nprHnzwwVx11VUZO3ZsknfO7nZ3d+f73/9+HnrooYwdOzZPPfVUn228eznvxIkT88ADDyRJWltbM2/evEyYMCELFy7M7bffnn//939/z3kOOeSQfPSjH80xxxyTm266KQ8//HCuvfbanHjiiUtdf8GCBXnuueeSJE8//fQK/1jYX3v66adzyimn5A9/+EN++ctf5tRTT83hhx/ee1n3eeedl9/+9rc57bTT8vvf/z533nlnjj766PTv37/3V8SLvHucJk+enN///vdJ3jm+N9xwQ2bMmJH/83/+T84///wVnnncuHF58sknc9RRR2X69OmZMWNGzjnnnCTvne8tt9ySyy+/PA888EB+97vf5bHHHstOO+20wjMAsGZRmgHgv6y77rr5zW9+k0022ST/8A//kIMPPjjXXHNNDjvssCTJ6NGjc8YZZ+RrX/taDjnkkN5HQP2lQw89NMccc0zOOuusjBkzJsk75fdf/uVfctFFF2WTTTbJFVdc0VvUlqWpqSk333xzdtttt5x88sk54IADcumll+bQQw9d6vo33HBDTjnllCTvPDJq7ty5f8vhyCc/+cnUarUccsghOfHEE3PAAQdk8uTJve8ffvjh+fWvf52HH344Bx54YD75yU9mvfXWy1133ZVarbbMbQ8dOjRf+tKXcskll+TII49Mkvzwhz/M66+/ngMOOCAXXXTR+zrLu+eee+a2227LSy+9lMMPPzyHH35471n998p34403zr/9279lv/32y6c+9ansvvvumTBhwgrPAMCapVL/6xuYAIAPvYMOOiiDBg3q84NpAPBh5EwzAAAAFFCaAQAAoIDSDAAAAAXc0wwAAAAFnGkGAACAAkozAAAAFKg2eoDV2bx58xo9AsupVqulq6ur0WOwnORVLvIqF3mVi7zKRV7lIq9yaUReLS0ty7WeM80AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoEClXq/XGz3E6qpSafQEAAAA5dHZOe99fa5Wq6Wrq2slT7NsLS0ty7WeM80AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFKg2eoC/dskll+SZZ57Jq6++mv79+6e5uTmHHnporr/++my88cZJkpEjR+akk07K+PHj83//7//NZZdd1mcb06dPz/e+971MmDAhAwcOzJgxY3rf23zzzfP5z38+m2222Sr9XgAAAJTPaleazz777CTJFVdckeHDh2fUqFGZOXNmdtppp5x77rlLrN/d3Z1Zs2Zl2LBhvctuu+22bLjhhn3Wu+CCCzJw4MD88pe/zKRJk/LVr371g/0iAAAAlF7pL8/ed999097e3vv6qaeeSnNzc9Zee+2lrv/Rj340L7744qoaDwAAgBJb7c40F5k9e3bGjh2bJDnyyCNz4IEHJkn22muvTJgwIa+++mo22GCD3HrrrTnssMNyzTXXLLGNRYsWZerUqRk+fPhS99He3t5bwNva2j6YLwIAALCGqtVq7+tz1Wr1fX/2g1aa0rzjjjsu9fLsarWaUaNGZdq0aWltbU1HR0dOO+20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SmCNKc2XXXZZtt9++1xxxRXp169f7rnnnrS1teWSSy7J8ccfn0022SSdnZ0577zzlGYAAACWyxpxeXZHR0e6u7vzmc98Jv369UuS7Lffftlhhx1y1113ZZNNNkmSvPjii9l6660bOSoAAAAlskacaX766aczbNiwJZbvuOOOeeaZZ3LnnXdm0qRJaWpqyrhx4wq3097envb29iRJW1vbBzYva45ardboEUqpWq06diUir3KRV7nIq1zkVS7yKpfVOa81ojT39PSkUqks9b1qtZqPfexj+djHPpaOjo5ccsklufTSSzNgwIAl1m1tbU1ra+sHPS5rkK6urkaPUEq1Ws2xKxF5lYu8ykVe5SKvcpFXuTQir5aWluVab424PHvrrbfOo48+usTy2bNnZ8iQIb2vhw4dmlqtlueee25VjgcAAEBJrRGledddd01TU1NuvPHGLF68OPV6PXfffXfmzJmTESNGZP78+UmS5557Ll1dXdliiy0aPDEAAABlsEZcnp0kX/3qV/OjH/0oZ5xxRpJk2223zde+9rUsWrQol1xySd56660MGDAgn//855d6aTYAAAD8tTWmNG+44YYZO3bsUt+79NJLV/E0AAAArAnWiMuzAQAA4IOgNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAAChQbfQAq7POznmNHoHlVKvV0tXV1egxAACANYwzzQAAAFBAaQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQAHPaV6GwYNbGj0CK+T95eV53AAAQBFnmgEAAKCA0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACijNAAAAUEBpBgAAgAJKMwAAABRQmgEAAKCA0gwAAAAFlGYAAAAoUG30ACuqp6cnP//5z3PnnXcmSZqamnLkkUfm7rvvzrnnntu73i9+8YssXLgwo0eP7l3229/+NldccUUmTJiQgQMHrvLZAQAAKJfSlebvfve7WXfddXPppZemubk5r776ambPnv2en3v11VczderU1Gq1VTAlAAAAa4JSXZ79+OOPp7OzM6eddlqam5uTJBtssEHWWWed9/zspEmTMnr06FQqlQ96TAAAANYQpTrT3NHRkV133TVNTUt2/dmzZ2fs2LG9r7u7u3PYYYclSR5++OFUq9UMGzZsmdtvb29Pe3t7kqStrW0lTs7qzNUHq161WnXcS0Re5SKvcpFXucirXORVLqtzXqUqzUmy1lprLXX5jjvuuNR7mt96661cf/31+frXv/6e225tbU1ra+tKm5Vy6OrqavQIHzq1Ws1xLxF5lYu8ykVe5SKvcpFXuTQir5aWluVar1SXZw8ZMiQdHR0r9JmHHnoor7zySs4///ycffbZefnll3PRRRfljTfe+ICmBAAAYE1RqjPNw4cPz3XXXZfrrrsuRx11VKrVal566aW89tprhZ/Ze++9s/fee/e+HjNmTL7xjW8s133QAAAAfLjAcgryAAAgAElEQVSVqjRXKpWcffbZueaaa3LGGWekubk566+/fj7+8Y83ejQAAADWQJV6vV5v9BCrKz+0/eHQ2Tmv0SN86LjHqFzkVS7yKhd5lYu8ykVe5eKeZgAAACghpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAECBaqMHWJ11ds5r9Agsp1qtlq6urkaPAQAArGGcaQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQAGlGQAAAAp4TvMyDB7c0ugR3pNnSQMAAHxwnGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoEBDS/Po0aMzadKkPsvGjx+fjo6O3n9/6UtfWuJz06dPz+jRo/PSSy8lScaMGdP77yR55ZVXMmbMmN7Xr7/+eq6++uqcccYZGTNmTMaOHZs333zzg/hKAAAArEGqjdx5pVLJjBkzctBBB2XIkCFLXae7uzuzZs3KsGHDepfddttt2XDDDZdrH4sWLcpFF12U3XbbLf/6r/+aarWarq6uVKsN/eoAAACUQEPPNFcqlRx33HG5+uqrU6/Xl7rOvvvum/b29t7XTz31VJqbm7P22msv1z5+//vfZ8CAARk9enRvUa7VakozAAAA76nhzXGfffbJ1KlTM23atBx88MFLvL/XXntlwoQJefXVV7PBBhvk1ltvzWGHHZZrrrmmz3rjx49Pv379kiSLFy/uXd7R0ZHddtttuWZpb2/vLehtbW3v8xutWrVardEjrBaq1apjUSLyKhd5lYu8ykVe5SKvcpFXuazOeTW8NCfJqaeemvHjx2fkyJFLvFetVjNq1KhMmzYtra2t6ejoyGmnnbbU0jxw4MAk79zT/I1vfCPJO2ezl/escmtra1pbW/+2L7OKdXV1NXqE1UKtVnMsSkRe5SKvcpFXucirXORVLvIql0bk1dLSslzrrRa/nr3ZZpultbU1kydPTqVSWeL91tbWTJ06NdOnT88BBxyQpqblH3urrbbq/WExAAAAWBGrRWlOkiOOOCKPPvpo5s+fv8R7AwcOTEtLS26++eYccsghK7TdUaNG5fHHH89tt93We9n2vHnz0tPTs1LmBgAAYM212pTmarWaU045pc+jo/7S4Ycfnu233z4bb7zxCm23f//++cY3vpEZM2bk9NNPz1lnnZXvf//7fe57BgAAgKWp1It+tpos5Urx1U5n57xGj7BacM9KucirXORVLvIqF3mVi7zKRV7l4p5mAAAAKCGlGQAAAAoozQAAAFBAaQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQIFqowdYnXV2zmv0CAAAADSQM80AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACjgkVPLMHhwyyrdn0dcAQAArF6caQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQAGlGQAAAAoozQAAAFBAaQYAAIACSjMAAAAUUJoBAACgQGlK81VXXZV58+YtsXzmzJn55je/mSRpb2/PPffcs6pHAwAAYA21Ukvzscce2+f17NmzM378+JWy7X/6p39KS0vLMtdpbW3NfvvtlySZNWtW7rvvvpWybwAAAD6cSnOmeUU98sgjefbZZxs9BgAAACVWXVU7uv7669OvX78cddRRSZIxY8bkggsuyKJFi/LNb34zI0aMyP33358999wzO+64Y2666aY0NTVl3LhxGTRoUMaPH59jjz02Q4cOzQMPPJBJkyalX79+2WmnnZbYx6abbpopU6akUqnk8ccfzzrrrJNhw4altbU1SXLuuefms5/9bLbddts+M7a3t6e9vT1J0tbWtoqOzP9Xq9VW+T7XFNVq1fErEXmVi7zKRV7lIq9ykVe5yKtcVue8VmppXrx4ccaOHdv7+u23386mm276np974YUX0tramhNPPDFnnXVWkuS73/1uJk6cmPb29pxwwgm963Z3d+f73/9+zj///Gy++ea58sorl9jeqFGjMn/+/N6S/sADD+Q//uM/0tramldeeSXd3d1LFObkncu73y3WjdDV1dWwfZddrVZz/EpEXuUir3KRV7nIq1zkVS7yKpdG5PVet/++a6WW5qamplx++eW9r2fPnp3Jkye/5+c22WSTbLPNNkmSIUOGZK+99kqSbL/99vnDH/7QZ93Zs2dnhx12yKBBg5Ik+++/f26++eZlbn/EiBH5wQ9+kLfeeiv3339/9t133xX6XgAAAHw4rbJ7mvv165fFixf3vu7p6en9d7X6/7t7U1NT1lprraV+JkkWLlyYfv36LXU7RarVavbYY488/PDDue+++7L//vu/7+8BAADAh8cqK82bbrppnnrqqSTJ3Llz88orr7yv7Wy33XaZOXNmXnrppSxatCh33HHHUtfr379/FixYkHq9nuSdM9J33XVXXn/99QwePPh97RsAAIAPl1VWmvfZZ58sXLgwF1xwQe64445svPHG72s7m266aY4++uicc845GTduXLbeeuulrrfnnnvm3nvvzbe//e0kyc4775zZs2dn7733ft/fAQAAgA+XSv3dU7EfAl/5ylfy9a9/fbl/la1S+YAH+iudnfNW7Q7XIH7ooVzkVS7yKhd5lYu8ykVe5SKvclmdfwhsjX1O81974IEHsskmm6y2P2MOAADA6meVPae5kSZNmpQHHngg48aNa/QoAAAAlMiHojSfdNJJOemkkxo9BgAAACXzobk8GwAAAFaU0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACnwofj37/ersnNfoEQAAAGggZ5oBAACggNIMAAAABZRmAAAAKKA0AwAAQAGlGQAAAAoozQAAAFBAaQYAAIACntO8DIMHt3zg+/AsaAAAgNWXM80AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFKg2eoD349e//nVuv/32vPnmm1l//fXzrW99K88880wmTpyYuXPnJkn22GOPnHzyyWlubs6CBQty9dVX58knn0y9Xs+xxx6b/fffv8HfAgAAgNVd6Urzo48+mrvuuittbW3p379/Xnjhhbz22mu5+OKL89nPfjZ77bVXenp6Mnny5Fx55ZUZO3ZsXn311Rx22GHZZZddMn/+/Hzta1/L3nvvnWq1dF8fAACAVah0l2d3d3enqakpTU3vjL7ZZpvlN7/5Tfbdd9/stddeSZJqtZoTTjghTzzxRObPn5/Bgwdnl112SZIMGjQo/fr1y8KFCxv2HQAAACiH0p1q3W233TJ16tSMGzcuJ554Ynbfffc89dRTGTVqVJ/1mpqasu222+bZZ5/NoEGDepc/+OCD2XbbbTNgwIAltt3e3p729vYkSVtb2wf7Rf5LrVZbJftZ01WrVceyRORVLvIqF3mVi7zKRV7lIq9yWZ3zKl1prlar+epXv5oZM2Zk4sSJmTFjRnp6elKpVJZYt1Kp9LkEe/78+fnJT36ScePGLXXbra2taW1t/cBmX5qurq5Vur81Va1WcyxLRF7lIq9ykVe5yKtc5FUu8iqXRuTV0tKyXOuV7vLsd+255565+OKL84c//CHVajUdHR193l+8eHHmzJmTrbbaKkny4osv5tJLL82YMWOy2WabNWJkAAAASqZ0pfmZZ57JCy+8kCSp1+upVqs56aSTMn369Dz00ENJkp6enkyaNClDhw5NrVbLyy+/nG9/+9s5/fTTs+222zZyfAAAAEqkdJdnd3d359vf/nYWLVqU5ubmfOpTn0qtVss///M/Z+LEiZkwYUIqlUpGjhyZz33uc0mS66+/PvPnz893v/vd3u1cdtllfj0bAACAZarU6/V6o4dYXS3lNumVrrNz3ge/kw8B96yUi7zKRV7lIq9ykVe5yKtc5FUu7mkGAACAElKaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFKg2eoDVWWfnvEaPAAAAQAM50wwAAAAFlGYAAAAooDQDAABAAaUZAAAACijNAAAAUEBpBgAAgAJKMwAAABTwnOZlGDy4ZaVsx/OeAQAAysmZZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAECBv7k0L1y4MN/61reyePHi5f7MzJkz881vfvNv3fUKmzZtWq688spVvl8AAADKaZml+cILL8w999zT+/qWW27J1772td7XL774YsaMGZNx48alqen99e8FCxbkO9/5TsaOHZvTTjstv/zlL9/XdgAAAGBlqy7rzREjRuSRRx7JfvvtlyT54x//mBdffDGvvfZa1l133cyaNSu77rrr3zTA5MmTs/322+fLX/5y6vV6Xnrppb9pewAAALCyLLM077bbbrn99tuTJD09Pens7Mwuu+ySWbNmZeTIkZk1a1aGDx+eY489Nj/96U8zc+bMXH/99Rk4cGBmzpyZnXfeOV/84hdTqVTywAMPZNKkSenXr1922mmn3n10d3enWn1njEqlklqtliQZP358hg8fnnvvvTfd3d05/vjjc8ABB2Tx4sX5yU9+kgcffDDVajWf+9znstNOO+WFF17IhAkT8vLLL2fLLbfMWWedlebm5txxxx256aab0tzcnG222eZ9nxEHAADgw2eZpXnrrbfOm2++mZdffjnz58/PDjvskJ133jmPPPJIRo4cmT//+c85+uij+3xmzpw5+fznP5/Pf/7z+epXv5rZs2dn8ODB+f73v5/zzz8/m2++eZ/7io8++ui0tbVlzpw5+cxnPpOBAwf2vtfZ2ZlvfetbmT9/fs4777z8t//23/K73/0uTU1Nueyyy9LZ2ZnLL788l1xySa688sqcfPLJ+chHPpJrr7027e3t2WOPPXLDDTfkX/7lX7LuuuvmW9/6Vp/t/7X29va0t7cnSdra2t7XAV2ad/8QwAenWq06ziUir3KRV7nIq1zkVS7yKhd5lcvqnNcyS3OSDB8+PDNnzszcuXMzfPjw7Lzzzrn11lvz8ssvJ0k23XTTPutvs8022WKLLZIk22+/fe/l3DvssEMGDRqUJNl///1z8803J3mnmF922WW5+eabM27cuIwdO7b3ku8DDzwwTU1NaWlpSUtLS+bNm5cHH3wwTzzxRGbMmJEkef311/PGG2+ko6Mjl19+eZLk7bffzsiRI/PHP/4xe+21VzbccMMkyT777JPHHnus8Lu2tramtbV1+Y/ecurq6lrp26SvWq3mOJeIvMpFXuUir3KRV7nIq1zkVS6NyKulpWW51nvP0jxixIjMnDkzTz/9dA499NDUarUsXLgw995771LvZ15rrbV6/92vX78sXrw4CxcuTL9+/XqX9/T09PlMc3NzjjnmmGy33Xa59tprc/HFF/d+/l0LFy7M2muvnUWLFuWUU07Jnnvu2fve66+/nubm5t7S/K5f/epXfbbx9ttvv9fXBQAAgF7veYPvbrvtlj//+c956623ek+X77LLLpkyZUpGjBixXDvZbrvtMnPmzLz00ktZtGhR7rjjjt73Hn744d4y29TUlHXWWaf3vXvvvTdJ8vjjj2fBggUZNGhQhg4dmttvvz2LFi1KT09PZs+enQEDBmTjjTfu/aXv559/Pl1dXdlhhx1y33335bXXXsubb76ZO++8czkPCwAAACzHmeYNN9wwa6+9dnbcccfeZSNGjMjUqVOzyy67LNdONt100xx99NE555xzsu6662bvvfdOR0dHknd+kft//+//nebm5myyySb53Oc+1/u5pqamfOUrX0m9Xs9ZZ52VarWaj3/843n66adz5plnpn///jnqqKOy4447ZsyYMbnyyiszefLkbLTRRhk7dmyGDh2afffdN1/+8pez8cYbZ9ddd013d/eKHiMAAAA+pCr1er3e6CGWZvz48Tn22GMzdOjQhs1Qqayc7XR2zls5G6KQe1bKRV7lIq9ykVe5yKtc5FUu8iqX1fmeZs9fAgAAgAJKMwAAABR4z3uaG2X8+PGNHgEAAIAPOWeaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQYLV95NTqoLNzXqNHAAAAoIGcaQYAAIACSjMAAAAUUJoBAACggNIMAAAABZRmAAAAKKA0AwAAQAGPnFqGwYNb/uZteGwVAABAeTnTDAAAAAWUZgAAACigNAMAAEABpRkAAAAKKM0AAABQQGkGAACAAkozAAAAFFCaAQAAoIDSDAAAAAWUZgAAACigNAMAAEABpRkAAAAKlLo0jx49OpMmTeqzbPz48eno6EiSLF68OD//+c9z5pln5owzzsjZZ5+dhx56qBGjAgAAUEKlLs2VSiUzZszIM888s9T3b7rppsyePTttbW2ZMGFCxowZk6uuuirPPvvsKp4UAACAMqo2eoC/RaVSyXHHHZerr746559/fiqVSu97b7/9dm655ZZ85zvfyXrrrZck+chHPpKjjz46N998c84888wlttfe3p729vYkSVtb20qZsVarrZTtsGzVatWxLhF5lYu8ykVe5SKvcpFXucirXFbnvEpdmpNkn332ydSpUzNt2rQcfPDBvcuff/751Gq1bLjhhn3W32GHHTJlypSlbqu1tTWtra0rdb6urq6Vuj2WrlarOdYlIq9ykVe5yKtc5FUu8ioXeZVLI/JqaWlZrvVKfXn2u0499dT87Gc/S3d3d++ynp6ePmee31WpVFKtlv5vBQAAAKwCa0Rp3myzzdLa2prJkyf3FuUtttgizz//fBYsWNBn3dmzZ2fIkCGNGBMAAICSWSNKc5IcccQRefTRRzN//vwkydprr51DDz00V155Zd54440kyZNPPpkbb7wxn/rUpxo5KgAAACWxxlynXK1Wc8opp+T888/vXXbMMcfkuuuuy5e//OUkyUYbbZTTTz89gwYNatSYAAAAlEilXq/XGz3E6mopt0SvsM7OeX/7RnhPfuihXORVLvIqF3mVi7zKRV7lIq9y8UNgAAAAUEJKMwAAABRQmgEAAKCA0gwAAAAFlGYAAAAooDQDAABAAaUZAAAACijNAAAAUEBpBgAAgALVRg+wOuvsnNfoEQAAAGggZ5oBAACggNIM/L/27jQmivuP4/iHFQXB6LKAGmvUoqLGg9g2HsWjHlHbGFFT0TbREFujLaC12qKtVay11rvWAzVNNLE+cNP7gWla71QreGEsaPBCVKqssEAVga7M/4FxI38dwK11IPt+PWJmmdnfbz75svvdmVkAAAAAmKBpBgAAAADABE0zAAAAAAAmaJoBAAAAADBB0wwAAAAAgAmaZgAAAAAATNA0AwAAAABggqYZAAAAAAATNM0AAAAAAJigaQYAAAAAwARNMwAAAAAAJmiaAQAAAAAwQdMMAAAAAIAJmmYAAAAAAEzQNAMAAAAAYIKmGQAAAAAAEzTNAAAAAACYoGkGAAAAAMAETTMAAAAAACZomgEAAAAAMBFgGIZh9SAAAAAAAKiPONNsYt68eVYPAU+AvBoW8mpYyKthIa+GhbwaFvJqWMirYanPedE0AwAAAABggqYZAAAAAAATjVJTU1OtHkR9FRUVZfUQ8ATIq2Ehr4aFvBoW8mpYyKthIa+GhbwalvqaF18EBgAAAACACS7PBgAAAADABE0zgGeqqqpKeXl5Vg8DdUReAADA3wVaPQArHDlyRDt37pTNZtO4ceM0dOhQ72N5eXlav3697ty5o5deekkJCQmy2WzKzs7Wli1b5PF4NGzYMI0fP97CGfgXX/JKTU2Vy+WSzXb/c6F169Z5f8Z/q6a8duzYod9//11NmjTR+vXrveupL+v4khf1ZZ2a8tq9e7d+++03VVZWqmvXrnr33XfVqFEj6stCvuRFfVmnprx27typY8eOqaKiQqNGjVJcXJwkXr+s5Ete1Jd1asrrgbS0NGVnZ3vfc9Sr+jL8TFlZmTFjxgyjsLDQcLvdxttvv22UlJR4H1+4cKFx8uRJ4969e8bChQuN9PR0o6qqykhOTjZyc3ONu3fvGjNnzjQuX75s3ST8iC95GYZhLFq0yLh586ZVw/ZbteWVmZlpXLlyxUhKSvKuo76s40tehkF9WaW2vPbu3Wv8888/hsfjMZYsWWIcOnSI+rKQL3kZBvVlldryKiwsNAzDMEpKSozJkycbZWVl1JeFfMnLMKgvq9SWl2EYxpkzZ4zPP//c+56jvtWX3320cvr0aXXr1k0Oh0N2u109evTQmTNnJEmlpaUqKChQ7969ZbPZNHDgQGVmZurSpUtq0aKF2rdvr+DgYPXt21eZmZkWz8Q/+JIXrFNTXpIUExOj4ODgattQX9bxJS9Yp7a8hg4dqsDAQDVq1Ejt2rXT7du3qS8L+ZIXrFNbXg6HQ5LkdrsVGRmpoKAg6stCvuQF69SWV2VlpXbt2qWJEyd619W3+vK7y7Nv3bqlyMhI73J4eLjcbrckqbCwUBEREd7HHA6HTp48qcLCwke2yc/Pf3aD9mO+5CVJjRs31uLFixUaGqrRo0dr0KBBz3bgfqqmvMxQX9bxJS+J+rJKXfOqqKjQqVOnNH/+fOXm5lJfFvElL4n6skpteWVlZWnDhg26e/eu3nvvPdlsNl6/LORLXhL1ZZXa8vr22281YsQINWvWzLuuvtWX3zXNHo9HAQEB3uWAgABvIf3/YzabTTabrcZt8N/yJS9J+vjjjyVJ165d06effqpOnTqpTZs2z3Dk/smXWqG+rOPrsae+rFGXvKqqqrRhwwaNGjVKLVu21IULF6gvi/iSl0R9WaW2vLp37660tDRdu3ZNy5Yt08KFC3n9spAvebVq1Yr6skhNeeXl5enKlSt68803VVBQUKdtrOB3lR0WFqaioiLv8sNnKx/3WHh4uOx2e7X1RUVFCg8Pf3aD9mO+5PWwtm3bqkuXLrp27dqzGbCfqykvM9SXdXzJ62HU17NVW16GYWjz5s1q27atRo4cKYn6spIveT2M+nq26vr38EEuly9fpr4s5Etej1tPfT0bNeV14MAB3bhxQx988IGWLVumwsJCrV27tt7Vl981zTExMTp9+rRKSkpUXFysnJwc9erVS5IUERGhoKAgZWVlqaqqSocOHVL//v0VHR2t/Px85efnq7y8XOnp6erbt6/FM/EPvuQlSTdu3JAkuVwuXbhwQR06dLBqCn6lprzMUF/W8SUvifqySm15ff3117Lb7dXuCaO+rONLXhL1ZZWa8qqsrNSlS5ckSSUlJTp//rw6dOhAfVnIl7wk6ssqNeU1ZcoUrVu3TitXrtT8+fMVHh6u2bNn17v6CjAMw7Ds2S1y4MABfffdd5KkyZMnS7pfRGPGjNGlS5e0ceNGlZWVafDgwZo0aZIkKTMzU9u2bZPH41FcXJxGjBhh2fj9jS95zZkzR+Xl5QoKCtKECRO8zTT+ezXltXz5cuXl5amoqEgREREaNmyYxo4dS31ZyJe8qC/rmOUVHR2tRYsWeS/xlaSJEydqwIAB1JeFfMmL+rKOWV6jRo1SamqqSkpKFBQUpHHjxmngwIGSeH9oJV/yor6sU9P7jQcKCgq0ZMkS77+cqk/15ZdNMwAAAAAAdeF3l2cDAAAAAFBXNM0AAAAAAJigaQYAAAAAwARNMwAAAAAAJmiaAQAAAAAwQdMMAAAAAICJQKsHAABAQ5CYmCiXyyVJCgsL0+DBg/XGG28oICCgxu0OHDigX375RV988cUTPZ/H49HcuXM1a9YsPf/88z6P+4GHx+90Ov/1/gAA8BecaQYAoI5SUlK0a9cupaSkaP/+/Tp48OBT2/etW7eUnJzsXQ4MDNSXX375VBpmSdq4caMkadWqVU9lf//GxYsX9cknn1g9DAAA6oSmGQCAJxAQEKCoqCjFxsYqOzv7qe23rKxMN2/efGr7q68Mw1BxcbGKioqsHgoAAHXC5dkAAPigoqJCwcHB3uWcnBxt27ZN+fn5io6O1owZMxQeHv7Idtu3b9fRo0dVVlamXr16KSkpSRcvXtTixYslSfHx8Ro8eLASExMVHx+vVatW6ejRo8rOzlZqaqp3P0lJSZoyZYr69OmjvXv36scff9SdO3fUv39/JSQkqHHjxjWOPzU1VV27dtXZs2d18eJF9evXT/Hx8Vq/fr1yc3PVq1cvzZo1S02aNJHT6dT169cVGRmpPXv2KDQ01DtO6X7D/8033+jEiRPyeDzq3bu3EhIS1KxZM2VlZWnNmjWKi4vTrl27NG3aNG3atMk719dff13x8fGPPS7BwcFyOp3Ky8tTRESE9u3bp7CwMCUlJalz586S7p+h3759u86ePauqqipNnz5d/fr1k9vt1tatW5Wdna3IyEi99dZb6tat27/KHADgnzjTDADAE6iqqlJWVpYyMjL0yiuvSJLcbreWLl2q0aNHKy0tTa1atdLWrVsfu31oaKg+++wzffXVV8rPz9e+ffvUvXt372XTTqdTiYmJ1bYZMGCAzp07p9LSUkn3L28uKyvTCy+8oOPHj8vpdGr27Nlas2aNcnNztXv37jrN5ciRI3rnnXe0dOlSpaena+nSpUpISNDq1at1/vx5HT582Pu7p06dksPhUFpamiZPnqzNmzcrPz9fkrRp0yYVFRVp2bJlWrlypf7+++9q8y8vL1dpaam2bNmifv36KSUlRZGRkXI6nYqPjzc9Lg+cPn1anTp10ubNm9W5c2dt375d0v37vpcsWSK73a61a9dq1apVatOmjQzD0PLly9W6dWulpaUpLi5Oq1evVnl5eZ2OCwAAD6NpBgCgjhKhD+gAAAS+SURBVJYvX65JkyZpxYoV+vDDDxUVFSVJOnjwoHr27KnY2FiFhIRo7NixyszMlMfjeWQfEyZMUOPGjXX9+nWFhYXp6tWrtT5vmzZt1L59ex0/flyS9Mcff+jll19WYGCgfv31V8XFxSkqKkp2u10jR47UiRMn6jSf2NhYtW7dWu3bt1fXrl3VvXt3dezYUS1btlSPHj107dq1amN47bXX1LRpU/Xr109du3bVqVOnVFJSooyMDE2fPl0Oh0MOh0NTpkxRenq6KisrJd1vbsePH69mzZpVOztf1+PSoUMHDRgwQCEhIRo+fLjy8vIkSSdPnpTH49HUqVPVvHlzhYeHq127drpw4YJu3bqlyZMnKyQkRAMHDlTTpk11/vz5Oh0XAAAexuXZAADUUUpKijp37qzVq1dr//796tKli6T7lwhnZGR4z5o+UFxc/Mjy6tWrVVlZqQ4dOqi8vPyxjfXjxMbGKiMjQ0OHDlV6erpmzpwpSXK5XNq+fbv37KsktWrVqk77bNGihffn4OBg2e32assPml5JioyMfGTb27dvy+VyKSgoSGFhYdV+98G9y5IUEhKikJAQ03HUdlweHldISIgqKiokSTdu3FDbtm1ls1U/B+ByuVRaWqpJkyZVW+92u80PBgAAJmiaAQB4As2bN1dycrJmz56twYMHq1u3brLb7Ro0aJCSkpJq3Hb37t0KCwvT+++/L0lKS0tTVVWVJNX6r6tiY2PldDqVlZUlm83mvafXbrdrzJgxGjJkyFOYnbnbt29XW75+/bpiYmLkcDhUUVGh4uJib3PrcrnUqFEjORwOuVyuR5ra/59rTcelJi1atFBBQcEj6+12uyIiIrz3TgMA8G9weTYAAE8oIiJCo0eP1rZt21RVVaX+/fvr2LFjOnnypCorK/XXX38pIyPjke3u3bun4uJilZWV6ezZs97LraX79/RK0uXLl733Lj8sPDxcHTt2lNPp1KBBg7zrBwwYoJ9//lm5ubmqqKhQTk6OcnJynvqcz549q8OHD+vu3bvavXu3XC6X+vTpI4fDoZiYGG3dulVut1tut1s7duzQkCFDFBj4+M/mQ0NDvd+gffv27RqPS01efPFFlZaWyul06s6dOyooKNDly5cVHR0tm82m77//XmVlZSouLtaBAwee4tEAAPgTmmYAAHwQFxenkpIS7dmzR88995wSExO1Y8cOTZ06VStWrHjsZdevvvqqPB6Ppk2bpp9++kl9+/b1PuZwODR8+HAtWLBAP/zww2OfMzY2VufOndPAgQO964YMGaLY2FgtX75c06ZN044dO9SkSZNHtn3w5WJz5871ab4xMTE6evSopk2bpoMHD+qjjz7yNvrJyckKDg7W3LlzNW/ePLVq1UoJCQmm++rcubN69uyp5ORkHTp0qMbjUpNmzZppwYIF+vPPPzVjxgwtXrxYpaWlCgwMVEpKik6fPq3p06dr3rx53i8tAwDgSQUYhmFYPQgAAFB/OZ1OXb16VXPmzLF6KAAAPHOcaQYAAAAAwARNMwAAAAAAJrg8GwAAAAAAE5xpBgAAAADABE0zAAAAAAAmaJoBAAAAADBB0wwAAAAAgAmaZgAAAAAATNA0AwAAAABg4n8hmFfzfsDanQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "features = X.columns\n", "importances = extra_tree.feature_importances_\n", "indices = np.argsort(importances)\n", "\n", "plt.title('Feature Importances')\n", "plt.barh(range(len(indices)), importances[indices], color='b', align='center')\n", "plt.yticks(range(len(indices)), features[indices])\n", "plt.xlabel('Relative Importance')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt0lNW9xvFnhhguCRiGGRwDiAIa0IqitUgVsS1WQdtUOK3FIKgFta0okWPbIx7UeClUFDFQq3IKQmmh2tbUekGzkIAVUCsoQglKEC8YyMWUEG5JZp8/QsYMhMkEJu+87zvfz1pZJXtuv4xv15pn9t6/7THGGAEAAAAA4BDeRBcAAAAAAEBrEGQBAAAAAI5CkAUAAAAAOApBFgAAAADgKARZAAAAAICjEGQBAAAAAI5CkAUAwAHGjh2riy++OPz7oEGDdMcdd1hex8UXX6yxY8da/rp2c/fdd6tnz56JLgMAkhZBFgCS2PXXXy+PxxPxk5KSEvPjv/jiC1VWVsa1pnvvvfeImpr+fPzxx3F9vWM1b968cE3t2rVT7969NXHiRO3cudOS1y8qKtKMGTNivv/WrVu1f//+Nqyo7Tz99NPyeDx68MEHj+nxGzdujHNFAIBEI8gCQJI799xz9eGHH4Z/iouLY3rcRx99pB49euj999+Paz233XZbuJbGoLZx48bwmN1mwTZv3qwPPvhAjzzyiFasWKHvf//7qq+vb/PX7dKli0444YSY7rts2TL169dP5eXlbVxV21iwYIH8fr8WLFjQ6sc++eSTOuecc+JfFAAgoWL/2h0A4Ert27dXv379Wv24uro6GWOi3icUCsnrbd13pj6fTz6fT5LUvXt3SVKfPn3UoUOHuL5OvPTt21cpKSkaMGCA/H6/vvWtb2ndunX6+te/fsR9E1VnbW2t5a8ZL1u2bNGbb76p2bNn6/bbb9cbb7wRscS6JU7+2wEAR8eMLACgWVOnTlV6erpKS0slNYSw8847T9dcc43uvfdeDRgwQJL0rW99K7zkd8WKFfJ4PPrb3/6mr33tazrxxBMlSW+88YYuv/xy+f1+de3aVT/84Q9VVlZ2zLU1LustLCzUqaeeqvPPP19SQ7ieOnWqMjMz1aVLF337298+YsZ48eLFGjBggDp16qSBAwfqL3/5S/i2iooKjR8/Xt27d1enTp00ZMiQVtV15plnSpK2b98u6av9pL/4xS/UqVMnPf7445IaZrOvuuoqpaWlqVevXrr99tu1d+/e8PNUVVXphhtuUNeuXdWlSxfdfPPNRwSynj176u677w7/fvDgQU2bNk2nnXaaUlNT1bt3bxUVFWns2LH63ve+J0nq1atXxNLxd955R5dccok6duyoPn36KC8vT3V1deHbP/30U1199dVKT0+X3+/X//7v/0b9+2+88UadeuqpEWPV1dXq2LGjnnrqKYVCId1333069dRT1aFDB2VlZWnz5s1Rn3P+/Pk65ZRTNGnSJPXt21fz588/4j67d+/Wbbfdph49eqh9+/Y644wzVFxcrIsvvliTJk1SfX29PB5P+Aubw/cbS9KcOXMi3pvt27fruuuuU8+ePZWenq6LLrpI69evj1orAMA6BFkAQLPuvvtunXTSSbr33nslSc8884y2b9+uxx9/XLfddpuWLVsmSfrDH/5wxJLfBx54QNOnT1dhYaEk6R//+Icuu+wyvfjii1q6dKlWrlypqVOnHneNM2bM0MKFC/X73/9eknTzzTdr6dKleuqpp7RixQqdfPLJuvzyy1VdXS1JWrRokW666SZNnjxZa9as0XXXXacf/ehHWrt2rSRp4sSJWr9+vZ5//nkVFRXp6quvblU9jcuym4a5lStX6j//+Y/efPNN/eAHP1BZWZmGDh2qjIwMrVy5Uk8//bT+/ve/68477ww/ZsyYMVq+fLl+//vf6/XXX1ddXZ3+9re/RX3ta6+9VnPmzNFdd92lt99+Ww8//LBSUlL0yCOP6KmnnpIkrVq1Klzj5s2bdemll+qCCy7Q6tWr9Zvf/EaPPfaYZs2aJUmqr6/XyJEjtXXrVv31r3/Viy++qPXr1+utt946ag3jxo3T9u3bI+7z/PPPy+v16sc//rHmzJmjmTNn6vHHH9dbb72lX/3qV1FnqEOhkBYtWqRrrrlGHo9H11xzjZ599tmI0F9XV6fLL79czz//vGbOnKm33npL//M//yNjjJYuXap77rlH7dq104cffqjly5dHfQ+bevPNN9WtWzctXLhQr7/+uurr63XttdfG/HgAQBszAICkNX78eOPxeEz79u3DP2PGjAnf/sorr5iUlBTzzjvvmJNPPtksWLAgfNu///1vI8m8/vrr4bHXX3/dSDJz5syJ+rq333676d+/f4v1zZ8/30gy+/btixh/+umnjSTzyiuvhMe2bt1qPB6Pefvtt8Nje/fuNSkpKebPf/6zMcaY3r17m4cffjjiub75zW+an/3sZ8YYYwYMGGDGjh3bYl1Na6itrTV1dXXmnXfeMQMHDjTDhw8P3+eiiy4yPXv2NHV1deGxadOmmbPPPtvU19eHx5566inTqVMnY4wxb775ppFkioqKwreHQiHzta99zVx00UXhsR49epipU6caY4xZs2aNkWT+/ve/N1vrCy+8YCSZTz/9NDw2btw4c+WVV0bc76677jJnnnmmMcaYP/7xj6Zdu3Zm69at4dv37t1runXrZnJycpp9nVAoZHr37m3++7//Ozw2YsQIM27cOGOMMT/96U9Nnz59zMGDB5t9/OFefvllI8n861//MsYYs2HDBiPJLFy4MHyfJUuWGK/Xa9avX9/sc+Tn55t27dpFjOXk5ES8l0e7X1PPPvuskWTKy8uNMcZMnTrV9OjRI6a/AwAQf+yRBYAkN3DgQC1ZsiT8e5cuXcL/vvzyyzV69Gh95zvf0Te+8Q2NHz8+puccPHhwxO87duzQb3/7W61evVpbt27Vp59+qkAgcNy1N32dtWvXyhhzxJLRuro6bdu2TV988YW2b9+uu+66K2JJbm1tbXgJ9C9/+UtNmDBB27dv1+TJk/WDH/ygxT2t6enpqqurk9fr1bXXXhtePtzo/PPPV7t27cK/r1mzRhs3blSnTp3CY6FQSLW1tdq1a5feffdddejQQUOHDg3f7vF4NHDgwPCS5cOtXLlSHTp00JVXXhm11qbWrFmjrVu3Ruw9rq+vDzeQevfdd9WvXz/16dMnfHvHjh2VlZV11Of0eDzKycnRH//4Rz388MOqqKhQYWFheGb+5ptv1rPPPqsBAwbotttu04033qj09PSjPt/8+fPVr18/DRw4UHV1derfv7/OOusszZ8/X9ddd134b+/bt2/cGzrt27dPTz75pJYvX64tW7aEu2V/+eWX6tatW1xfCwDQegRZAEhyHTp0UP/+/Y96e7du3bR371517Ngx5udsGk4qKys1aNAgDR06VL/61a+UlZWlp556SvPmzTuuug9/ndTUVEnSihUrlJGREXG/pqF55syZ+u53vxtxe1pamiRp/PjxGjp0qB577DGNHz9egwYN0muvvab27dsftYZ//etfat++vTIzMyPCaXM1NtZ5ySWX6Iknnjjivj6fT9XV1UpNTZXH44m4LdrROfv371dKSkqrGkmlpqbqxz/+cUSolxR+3erq6mYbbLV0hM91112nhx56SG+//bbeffdd9e7dW5dccokk6ZxzztFHH32kJ598UjNnztTDDz+s5cuX6/TTTz/ieb788ksVFBTowIEDR3Rn3rRpk7Zv367evXtr//794f/2sfJ6vQqFQhFjh/8+YsQI/ec//9G0adP0ta99TcXFxeG9xgCAxGOPLADgqJYvX67/+7//U0FBgV555RX9+c9/Dt/WGJpaOmpmxYoV2rVrl373u9/psssu0ymnnKJNmzbFvdbGRks7d+5U//79I366deumbt26qXv37tq2bdsRt/fq1Sv8PH369NHjjz+uVatWadWqVXr11Vejvm5WVpb69evXbIg9Wp3FxcXq3bv3EXWkpKTojDPO0O7du/XBBx+EH7N///7wPt7mDBw4UHv27NHq1aubvb25/1ZnnnmmNm3apKysrIgaGmdcGxsmNW3KtWvXLv373/+O+vf1799fF1xwgZ577jktXbpUN954Y8TtJ554on7xi19o8+bNCoVC+t3vftfs8/zpT3/SgQMH9NJLL+ntt98O/xQWFsrj8eiZZ54J/+1btmw56my11+uVMSaiw/ZJJ52kzz//POJ+TZtO7dq1S0VFRbrnnnt09dVX6/TTT9eWLVui/t0AAGsRZAEgyR04cEAfffRRxM/+/ftVXV2tG2+8UZMnT9aIESOUm5urSZMmqbKyUpKUmZmplJQUPffcc1q3bp1qamqaff7MzExJUn5+vt5//3099NBDWrVqVdz/jgEDBujKK6/ULbfcoj/84Q96//339Ze//EXf//73w/e58847NXfuXP3617/WunXr9Nprr2ncuHHhYD1p0iQtW7ZMmzZt0rJly+T1eo/paKJobr31VlVVVWnUqFEqKirSO++8o0ceeUTTp0+XJF111VU67bTTNGbMGL322mtas2aNfvSjH0X9wuDKK6/Ueeedpx//+MdasmSJ3n//fS1atEhFRUWSpFNOOUVSQ8fmxkA8ZcoUrV+/XuPHj9fq1av15ptv6p577gmf1Tpu3Dilpqbqv/7rv7Rq1SoVFRVp9OjRUZcCN7ruuuv04osvau3atRHL0WfOnKklS5bogw8+UGFhoaqqqo66VHn+/Pm6+OKLNWLECH39618P/3znO9/RFVdcoWeeeUbGGF1//fUKBoO66qqr9MILL+i9997TE088oY0bN4b/9lAopIULF2rdunWSpOHDh+uTTz7R008/rYMHD+q1117T0qVLw6994oknqlOnTnrmmWf03nvvafHixfrtb3/b4t8NALBQYrfoAgASafz48UbSET+rVq0yEydOND169DB79uwxxhhTXV1tTj755HDjHmOMmTlzpunatavx+Xzmiy++CDd7+ve//x3xOvfdd5/p3r276dy5s/nZz35mpk6dak466aQW62up2VNtbW3EeEVFhRk/frzp2rWr6dixoznrrLPMrFmzwrfX19ebvLw806tXL5Oammp69+5tfv7zn5vdu3cbY4y58cYbjc/nMx07djSDBg0yzz333FFrO1oNTV100UXNNkZasWKFufDCC0379u2N3+83l112mVm7dm349g0bNpihQ4ea1NRU06tXLzN79mwzfvz4ozZ7MsaY8vJyc/3115tu3bqZjh07mvPPP9+8++674dsnTZpk0tPTTa9evcJjzz33nDn77LPNCSecYILBoLn66qvN5s2bw7evXLnSDBo0yKSmpprTTz/dLFmyxAwbNuyozZ4alZWVmRNOOMGMHDkyYnzu3Lnh9/60004zeXl5JhQKHfH4Dz74wEgy8+bNa/b5n3/+eSPJrFixwhhjzLZt28yoUaNMly5dTFpamhk6dKj5+OOPjTHG1NXVmR/+8IemY8eO5uKLLw4/x/3332969Ohh0tLSzOjRo01eXl5Es6e//OUvpm/fvqZDhw7miiuuMIsWLTKSzIcffmiModkTACSax5gWTrMHAAAAAMBGWFoMAAAAAHAUgiwAAAAAwFEIsgAAAAAARyHIAgAAAAAchSALAAAAAHAUgiwAAAAAwFFSEl1Aa+3YsSPRJQBR+f1+lZeXJ7oMoE1wfcPtuMbhZlzfcILMzMyY7seMLAAAAADAUQiyAAAAAABHIcgCAAAAAByFIAsAAAAAcBSCLAAAAADAUQiyAAAAAABHIcgCAAAAAByFIAsAAAAAcBSCLAAAAADAUQiyAAAAAABHIcgCAAAAAByFIAsAAAAAcBSCLAAAAADAUQiyAAAAAABHIcgCAAAAAByFIAsAAAAAcBSCLAAAAADAUVISXQAAAAAA+wuVlUoFi2WqKuXJ8EnZ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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, extratree_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Extra Trees Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "from sklearn.ensemble import AdaBoostRegressor\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n", "\n", "# Create Decision Tree Regressor object\n", "tree_1 = DecisionTreeRegressor()\n", "\n", "tree_2 = AdaBoostRegressor(DecisionTreeRegressor(), n_estimators=200, learning_rate=.1)" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "AdaBoostRegressor(base_estimator=DecisionTreeRegressor(criterion='mse', max_depth=None, max_features=None,\n", " max_leaf_nodes=None, min_impurity_decrease=0.0,\n", " min_impurity_split=None, min_samples_leaf=1,\n", " min_samples_split=2, min_weight_fraction_leaf=0.0,\n", " presort=False, random_state=None, splitter='best'),\n", " learning_rate=0.1, loss='linear', n_estimators=200,\n", " random_state=None)" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Train the model using the training sets\n", "tree_1.fit(X_train, y_train)\n", "tree_2.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8654467934849918" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Score the decision tree model\n", "tree_1.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.892229896203619" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Score the boosted decision tree model\n", "boosted_tree_score = tree_2.score(X_test, y_test)\n", "boosted_tree_score" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [], "source": [ "# Make predictions using the testing set\n", "tree_1_pred = tree_1.predict(X_test)\n", "tree_2_pred = tree_2.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coefficients: \n", " [ -0.69840943 -9.00508323 0.24863781 -29.59666709 28.86570143\n", " 30.59322777 -89.85269969 119.62046794 106.26429001 2.18980547\n", " -1.2112113 -0.13323809]\n", "Root mean squared error: 4.09\n", "Mean absolute error: 3.09\n", "R-squared: 0.89\n" ] } ], "source": [ "\n", "\n", "# The coefficients\n", "print('Coefficients: \\n', regr.coef_)\n", "# The mean squared error\n", "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, tree_2_pred)))\n", "# The absolute squared error\n", "print(\"Mean absolute error: %.2f\"\n", " % mean_absolute_error(y_test, tree_2_pred))\n", "# Explained variance score: 1 is perfect prediction\n", "print('R-squared: %.2f' % r2_score(y_test, tree_2_pred))\n", "\n" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA80AAAItCAYAAAADhZjDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3WuUVOWdL/5vNSW0eJdSsVGMd0RB4xHvQV2Wmlkr8cTRoPE60YzGgybk4pCcqKc1OnbGOJo18WCikwiJTHSixmQiZmyF4CVGiZdESIuK10bU1vEI3rCh/i8c+58ObAQFiqY+n7Vcq2vvZz/7t+v3wvXl2bt2qVar1QIAAAAsoaneBQAAAMCaSmgGAACAAkIzAAAAFBCaAQAAoIDQDAAAAAWEZgAAACggNAMAAEABoRmAhvJ3f/d3KZVKvf4rl8sr9RwzZ85cqfMtr2uvvbbXdT399NN1qWN5zZkzJ2+99Va9ywCAZRKaAWg4e+yxRx5//PGe/x577LGVNve//uu/Zrfddltp862Io48+Oj/60Y+SJNOmTctWW21VlzqWxx133JHtt98+L774Yr1LAYBlWrn/tA4AfcCAAQOyww47rJK533333ZUyz+LFi9PUtGL/tr3BBhtkyy23TJJss802K30FfWV4/7pW1vcEAKualWYA+Asvv/xyTjzxxGy88cbZfPPNc+KJJ+bll1/u2f+rX/0qn/jEJ3r2//3f/33efPPNJMnBBx+cM888M0lSKpXysY99LMl7t4Tvu+++vc5z1VVXpVQq9XxubW3N4MGDc+ONN2aLLbbIkUcemSR54403Mnbs2Gy22WbZZJNN8ulPfzpPPfXUcl/PtGnTUiqVcuutt+aggw7Kuuuum/333z9z5szJr371qwwbNizrr79+/uZv/qbXqu/BBx+cE088MT/+8Y+z/fbbp7m5OQcccED++Mc/9pr/t7/9bQ4++OCsv/76WW+99XL44YfnkUceWeL8N998c3bbbbdstNFG+bu/+7v8zd/8TZJk22237fkeXn311Zx99tnZdtttM3DgwOyxxx5pb2/vmev9288ffPDBHHjggRk4cGBGjhyZe+65p1dNTzzxRI455phssskmWXfddbPPPvv07Pug/t500035+Mc/nnXXXTdbbrllrrvuuuX+rgFYOwnNAPDf3nnnnRx66KGZN29ebr311tx4443p6OjIiSee2DPmF7/4RU444YTccccdmTBhQn7605/miiuuSJJcd911ufDCC5Mkjz/+eH7729+u0PnffPPN/PCHP8wvf/nLXHLJJUneu+X6d7/7XX72s5/lN7/5Td5999186lOfSnd39wrNfd555+W8887LL37xizz99NM56qijcu655+aHP/xhrrvuutx77705//zzex0zffr03HjjjfnJT36SKVOm5K233sqRRx6ZhQsX9uyvVqvZbrvt0t7enilTpqRUKuWQQw5JV1dXr7kuuuiitLW1pb29Pf/0T//U6zbyxx9/PEnS0dGR1157LRMmTMi9996bbbfdNmPGjMmCBQt6zfWlL30p3/rWt9Le3p6mpqYcd9xxPSvXzz//fPbbb7+88MILuf7663PPPff0/APEB/X3T3/6Uz772c/m2GOPzQMPPJCrr746m2yyyQp9zwCshWoA0EBOOeWUWqlUqg0YMKDnv8997nO1Wq1WmzRpUm3TTTetvfHGGz3j77zzzlqS2ty5c5c63//8n/+z9slPfrLn84QJE2p//b/XU045pbbPPvv02vbX4/7P//k/tSS1Rx99tGfb9OnTa/369as999xzPdvmzJlTS1K79957l1rPlClTaklqTz31VK1Wq9WmTp1aS1L76U9/2jOmtbW1lqR2xx139Gz7/Oc/X9ttt916Ph900EG1lpaW2ltvvdWzbdasWbUktZtuuqlWq9VqhxxySO3AAw/sdf758+fXBg0aVDv//PN7nf/73//+MutcmoceeqiWpHbffffVarVa7cc//nEtSa29vb1nzC233FJLUps1a1atVqvVzjrrrFpLS0tt/vz5S8z3Qf298cYba0lqHR0dhTUB0HjWvIedAGAVGzlyZH72s5/1fN5www2TJPfdd1/+67/+K5tuumnPvlqtliR56qmnsuWWW+axxx7LD3/4wzzwwAN58skn88ILL2TvvfdeKXWtt9562XXXXXs+33fffVm0aNFSn79+6qmnst9++y333LvvvnvP31tvvXWSZNSoUT3bhgwZkilTpvQ6ZtSoUWlubu75vMsuu2SDDTbIk08+mSS5//77881vfrPXMeuvv3722muvPProo722/+Ut0kUWLVqUiRMnZsqUKeno6MicOXOSJP/1X//Va9xfft/bbbddkuSll17KLrvskunTp+eII47I+uuvv8T8H9TfI444InvttVf22WeffOELX8iXvvSlDB069APrBmDtJjQD0HCam5szbNiwJbb3798/2267bX79618vsW/o0KF5/PHH8/GPfzynnHJKLrroouy44475h3/4h57bi4s0NTVl8eLFvbb99eckSwS9/v37Z8CAAXn44YeXGPv+D34tr7/8UbD3f2BsnXXW6dnWr1+/ngD5l+f/S4sWLcpbb72VjTbaqOdzv379ljhXrVbLO++802vb0kLsXzvjjDPS3t6eiy66KBdccEFqtdpSf4n8L+t+/7rer/3tt99eou6/vJ5l9XfgwIG577778u///u+54oor8v3vfz8/+clP8tnPfvYDawdg7eWZZgD4b8OHD8/zzz+fDTfcMMOGDev138CBA/OrX/0q/fr1y4QJEzJ69OhsueWWmTVrVq853g+kixYt6tm2xRZbpLOzs9e4jo6O5arnnXfeyRtvvLFEPe8H11Xpj3/8Y69wP23atHR3d2ePPfZIkuy55575z//8z17HvPHGG3nwwQc/cGV5ad/TDTfckLPOOisnnnhihg8f3rOivSJGjhzZU+df+6D+Ju/948Fxxx2X++67L5/61Kdy0UUXrXANAKxdhGYA+G/HH398KpVKjjzyyNx222156KGHcvXVV2fcuHFJ3lvdXbBgQX7wgx/k4Ycfzrhx4/L000/3muP923knTpyYBx98MElSrVYzd+7cTJgwIQsXLswdd9yRf/u3f/vAeg499NB8/OMfz7HHHpubb745jzzySK677rqcdNJJSx0/f/78vPDCC0mSZ555ZoV/LOyvPfPMMzn11FPzhz/8Ib/85S9z2mmn5Ygjjui5rfv888/Pb3/725x++un5/e9/n7vuuivHHHNM+vfv3/Mr4kXe/54mT56c3//+90ne+35vvPHGzJgxI//xH/+RCy64YIVrHj9+fJ566qkcffTRmT59embMmJFzzz03yQf399Zbb80VV1yRBx98ML/73e/y+OOPZ+edd17hGgBYuwjNAPDf1ltvvfzmN7/Jpptumr/927/NIYcckmuvvTaHH354kmTMmDE588wz841vfCOHHnpozyug/tJhhx2WY489NmeffXbGjh2b5L3w+4//+I+5+OKLs+mmm+bKK6/sCWrL0tTUlFtuuSW77757TjnllBx44IG57LLLcthhhy11/I033phTTz01yXuvjHr++ec/yteRT3/606lUKjn00ENz0kkn5cADD8zkyZN79h9xxBH59a9/nUceeSQHHXRQPv3pT2f99dfP3XffnUqlssy5hw0blq985Su59NJLc9RRRyVJfvSjH+XNN9/MgQcemIsvvvhDrfLutddeuf322/PKK6/kiCOOyBFHHNGzqv9B/d1kk03yr//6r9l///3zmc98JnvssUcmTJiwwjUAsHYp1f76ASYAoOEdfPDBGTx4cK8fTAOARmSlGQAAAAoIzQAAAFBAaAYAAIACnmkGAACAAlaaAQAAoIDQDAAAAAXK9S5gTTZ37tx6l8BqUKlU0tXVVe8yWE30u7Hod2PR78ah141FvxvL6ux3S0vLco2z0gwAAAAFhGYAAAAoIDQDAABAAaEZAAAACgjNAAAAUEBoBgAAgAJCMwAAABQQmgEAAKCA0AwAAAAFhGYAAAAoIDQDAABAAaEZAAAACgjNAAAAUEBoBgAAgAJCMwAAABQQmgEAAKCA0AwAAAAFhGYAAAAoIDQDAABAAaEZAAAACpRqtVqt3kWsqUqlelcAAADQd3R2zv1Ix1cqlXR1da2kapatpaVlucZZaQYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAoIzQAAAFBAaAYAAIACQjMAAAAUEJoBAACgQLneBfy1Sy+9NM8++2xef/319O/fP83NzTnssMNyww03ZJNNNkmSjBo1KieffHJaW1vz//7f/8vll1/ea47p06fn+9//fiZMmJBBgwZl7NixPfu22GKLfPGLX8zmm2++Wq8LAACAvmeNC83nnHNOkuTKK6/MiBEjMnr06MycOTM777xzzjvvvCXGL1iwILNmzcrw4cN7tt1+++3ZaKONeo278MILM2jQoPzyl7/MpEmT8vWvf33VXggAAAB9Xp+/PXu//fZLe3t7z+enn346zc3NGTBgwFLHf/zjH8/LL7+8usoDAACgD1vjVpqLzJ49O+PGjUuSHHXUUTnooIOSJHvvvXcmTJiQ119/PRtuuGFuu+22HH744bn22muXmGPRokWZOnVqRowYsdRztLe39wTwtra2VXMhAAAAa6lKpfKRji+Xyx95jpWtz4TmnXbaaam3Z5fL5YwePTrTpk1LtVpNR0dHTj/99CVCc2tra/r3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ACggNAMAAEABoRkAAAAKCM0AAABQQGgGAACAAt7TvAxDhrTUu4TVxjupAQAAlmSlGQAAAAoIzQAAAFBAaAYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAoIzQAAAFBAaAYAAIAC5XoXsDzGjBmTT33qUzn55JN7trW2tua4447LsGHDsnjx4tx0002ZNm1aFi1alPXXXz8nnHBC9thjjyTJPffck5tuuilvv/12ttpqq3z5y1/OwIED63U5AAAA9BF9YqW5VCplxowZefbZZ5e6/+abb87s2bPT1taWCRMmZOzYsbn66qvz3HPPJUkWLVqUiy++OFdeeWU23njj3HbbbauzfAAAAPqoPhOajz/++FxzzTWp1Wq99r377ru59dZbM3bs2Ky//vpJko997GM55phjcssttyRJRo8enebm5iTJtttumwULFqzeCwAAAKBP6hO3ZyfJvvvum6lTp2batGk55JBDera/+OKLqVQq2WijjXqN33HHHTNlypRe2xYvXpy77747J5100lLP0d7envb29iRJW1vbSr6CNVulUql3CXVTLpcb+vobjX43Fv1uLPrdOPS6seh3Y1kT+91nQnOSnHbaaWltbc2oUaN6tnV3d6dUKi0xtlQqpVzufXmTJk3KsGHDsvPOOy91/mq1mmq1unKL7iO6urrqXULdVCqVhr7+RqPfjUW/G4t+Nw69biz63VhWZ79bWlqWa1yfuD37fZtvvnmq1WomT57cE5S33HLLvPjii5k/f36vsbNnz87QoUN7Pt9www1ZsGBBTjjhhNVaMwAAAH1XnwrNSXLkkUfmsccey7x585IkAwYMyGGHHZarrroqb731VpLkqaeeyk033ZTPfOYzSd77obAXX3wx/+t//a+lrkoDAADA0vSp27OT9+5xP/XUU3PBBRf0bDv22GNz/fXX56tf/WqSZOONN84ZZ5yRwYMH55VXXsm//du/ZbPNNsuXv/zlJMlhhx2WI488si71AwAA0HeUan/9c9T0aKRF6c7OufUuoW48J9NY9Lux6Hdj0e/GodeNRb8bi2eaAQAAoA8RmgEAAKCA0AwAAAAFhGYAAAAoIDQDAABAAaEZAAAACgjNAAAAUEBoBgAAgAJCMwAAABQo17uANVln59x6lwAAAEAdWWkGAACAAkIzAAAAFBCaAQAAoIDQDAAAAAWEZgAAACggNAMAAEABoRkAAAAKeE/zMgwZ0lLvEnrx3mgAAIDVy0ozAAAAFBCaAQAAoIDQDAAAAAWEZgAAACggNAMAAEABoRkAAAAKCM0AAABQQGgGAACAAkIzAAAAFBCaAQAAoIDQDAAAAAXK9S5gRVx66aV59tln8/rrr6d///5pbm7OYYcdlkceeSTnnXdez7hf/OIXWbhwYcaMGZMkeeKJJzJ58uTMnTs3pVIp++23X04++eR6XQYAAAB9RJ8Kzeecc06S5Morr8yIESMyevTozJw5M4888kjhMU8++WQuv/zyjB07NsOHD0+SvPTSS6ulXgAAAPq2tf727BtuuCHHH398T2BOks0337yOFQEAANBX9KmV5iKzZ8/OuHHjej4vWLAghx9+eJKko6MjZ5999nLN097envb29iRJW1vbyi/0I6pUKvUuYa1ULpd9tw1EvxuLfjcW/W4cet1Y9LuxrIn9XitC80477bTUZ5qTpFQqpVxevsusVqupVqurpMaVoaurq94lrJUqlYrvtoHod2PR78ai341DrxuLfjeW1dnvlpaW5Rq31t+evfXWW6ejo6PeZQAAANAHrfWh+aijjsqPfvSjPPvss0mSxYsX5/nnn69zVQAAAPQFa8Xt2cuy5557ZsGCBbn88svz9ttvp1wu59BDD81WW21V79IAAABYw5VqtVqt3kWsqUqlelfQW2fn3HqXsFbynExj0e/Got+NRb8bh143Fv1uLJ5pBgAAgD5EaAYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAoIzQAAAFCgXO8C1mSdnXPrXQIAAAB1ZKUZAAAACgjNAAAAUEBoBgAAgAJCMwAAABQQmgEAAKCA0AwAAAAFvHJqGYYMaVkl83qVFQAAQN9gpRkAAAAKCM0AAABQQGgGAACAAkIzAAAAFBCaAQAAoIDQDAAAAAWEZgAAACggNAMAAEABoRkAAAAKCM0AAABQQGgGAACAAnUNzWPGjMmkSZN6bWttbU1HR0fP31/5yleWOG769OkZM2ZMXnnllSTJ2LFje/5Oktdeey1jx47t+fzmm2/mmmuuyZlnnpmxY8dm3Lhxefvtt1fFJQEAALAWKdfz5KVSKTNmzMjBBx+coUOHLnXMggULMmvWrAwfPrxn2+23356NNtpouc6xaNGiXHzxxdl9993zL//yLymXy+nq6kq5XNdLBwAAoA+o60pzqVTK8ccfn2uuuSa1Wm2pY/bbb7+0t7f3fH766afT3NycAQMGLNc5fv/732fgwIEZM2ZMT1CuVCpCMwAAAB+o7slx3333zdSpUzNt2rQccsghS+zfe++9M2HChLz++uvZcMMNc9ttt+Xwww/Ptdde22tca2tr+vXrlyRZvHhxz/aOjo7svvvuy1VLe3t7T0Bva2v7kFf0wSqVyiqbmxVXLpf1pIHod2PR78ai341DrxuLfjeWNbHfdQ/NSXLaaaeltbU1o0aNWmJfuVzO6NGjM23atFSr1XR0dOT0009famgeNGhQkveeaf7Wt76V5L3V7OVdVa5Wq6lWqx/tYpZDV1fXKj8Hy69SqehJA9HvxqLfjUW/G4deNxb9biyrs98tLS3LNW6N+PXszTffPNVqNZMnT06pVFpif7VazdSpUzN9+vQceOCBaWpa/rK33nrrnh8WAwAAgBWxRoTmJDnyyCPz2GOPZd68eUvsGzRoUFpaWnLLLbfk0EMPXaF5R48enSeeeCK33357z23bc+fOTXd390qpGwAAgLXXGhOay+VyTj311F6vjvpLRxxxRHbYYYdssskmKzRv//79861vfSszZszIGWeckbPPPjs/+MEPej33DAAAAEtTqhX9bDVZyp3iK0Vn59xVMzEfiudkGot+Nxb9biz63Tj0urHod2PxTDMAAAD0IUIzAAAAFBCaAQAAoIDQDAAAAAWEZgAAACggNAMAAEABoRkAAAAKCM0AAABQQGgGAACAAuV6F7Am6+ycW+8SAAAAqCMrzQAAAFBAaAYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAHvaV6GIUNaPvIc3vUMAADQd1lpBgAAgAJCMwAAABQQmgEAAKCA0AwAAAAFhGYAAAAoIDQDAABAAaEZAAAACgjNAAAAUEBoBgAAgAJCMwAAABToM6H56quvzty5c5fYPnPmzHz7299OkrS3t+fee+9d3aUBAACwllqpofm4447r9Xn27NlpbW1dKXP//d//fVpaWpY5plqtZv/990+SzJo1K/fff/9KOTcAAACNqc+sNK+oRx99NM8991y9ywAAAKAPK6+uE91www3p169fjj766CTJ2LFjc+GFF2bRokX59re/nZEjR+aBBx7IXnvtlZ122ik333xzmpqaMn78+AwePDitra057rjjMmzYsDz44IOZNGlS+vXrl5133nmJc2y22WaZMmVKSqVSnnjiiay77roZPnx4qtVqkuS8887L5z//+Wy33Xar6/IBAADog1ZqaF68eHHGjRvX8/ndd9/NZptt9oHHvfTSS6lWqznppJNy9tlnJ0m+973vZeLEiWlvb8+JJ57YM3bBggX5wQ9+kAsuuCBbbLFFrrrqqiXmGz16dObNm9cT0h988MH853/+Z6rVal577bUsWLBgqYG5vb097e3tSZK2trYVvv6lqVQqK2V1Jm2LAAAgAElEQVQeVp1yuaxPDUS/G4t+Nxb9bhx63Vj0u7Gsif1eqaG5qakpV1xxRc/n2bNnZ/LkyR943Kabbpptt902STJ06NDsvffeSZIddtghf/jDH3qNnT17dnbccccMHjw4SXLAAQfklltuWeb8I0eOzA9/+MO88847eeCBB7LffvstdVy1Wu1ZjV5Zurq6Vup8rHyVSkWfGoh+Nxb9biz63Tj0urHod2NZnf3+oN/Met9qe6a5X79+Wbx4cc/n7u7unr/L5f8/uzc1NWWdddZZ6jFJsnDhwvTr12+p8xQpl8vZc88988gjj+T+++/PAQcc8KGvAwAAgMax2kLzZpttlqeffjpJ8vzzz+e11177UPNsv/32mTlzZl555ZUsWrQod95551LH9e/fP/Pnz0+tVkvy3or03XffnTfffDNDhgz5UOcGAACgsay20Lzvvvtm4cKFufDCC3PnnXdmk002+VDzbLbZZjnmmGNy7rnnZvz48dlmm22WOm6vvfbKfffdl+9+97tJkl122SWzZ8/OPvvs86GvAQAAgMZSqr2/FNsAvva1r+Wb3/zmcj9YXip99HN2ds796JOwSnlOprHod2PR78ai341DrxuLfjeWhn6mud4efPDBbLrppmvcL7EBAACw5lpt72mup0mTJuXBBx/M+PHj610KAAAAfUhDhOaTTz45J598cr3LAAAAoI9pmNuzAQAAYEUJzQAAAFBAaAYAAIACQjMAAAAUEJoBAACggNAMAAAABRrilVMfVmfn3HqXAAAAQB1ZaQYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAp4T/MyDBnS8pGO955nAACAvs1KMwAAABQQ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lUrlI1TOmqJcLutlA9HvxqLfjUW/G4deNxb9bixrYr/7fGhOktNOOy2tra0ZNWpUz7bu7u6USqUlxpZKpZTLS7/sarWaarW63Oft6upa8WJZ41QqFb1sIPrdWPS7seh349DrxqLfjWV19rulpWW5xvXp27Pft/nmm6darWby5Mk9QXnLLbfMiy++mPnz5/caO3v27AwdOrQeZQIAANDHrBWhOUmOPPLIPPbYY5k3b16SZMCAATnssMNy1VVX5a233kqSPPXUU7npppvymc98pp6lAgAA0EesFbdnJ+/d+37qqafmggsu6Nl27LHH5vrrr89Xv/rVJMnGG2+cM844I4MHD65XmQAAAPQhpdpf/+w0PZbySHQvnZ1zV08hrFKek2ks+t1Y9Lux6Hfj0OvGot+NxTPNAAAA0IcIzQAAAFBAaAYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAqU613Amqyzc269SwAAAKCOrDQDAABAAaEZAAAACgjNAAAAUEBoBgAAgAJCMwAAABQQmgEAAKCAV04tw5AhLYX7vI4KAABg7WelGQAAAAoIzQAAAFBAaAYAAIACQjMAAAAUEJoBAACggNAMAAAABYRmAAAAKCA0AwAAQAGhGQAAAAoIzQAAAFBAaAYAAIACHzk0L1y4MN/5zneyePHi5T5m5syZ+fa3v/1RT73Cpk2blquuumq1nxcAAIC+aZmh+aKLLsq9997b8/nWW2/NN77xjZ7PL7/8csaOHZvx48enqenD5e/58+fnn//5nzNu3Licfvrp+eUvf/mh5gEAAICVrbysnSNHjsyjjz6a/fffP0nyxz/+MS+//HLeeOONrLfeepk1a1Z22223j1TA5MmTs8MOO+SrX/1qarVaXnnllY80HwAAAKwsywzNu+++e+64444kSXd3dzo7O7Prrrtm1qxZGTVqVGbNmpURI0bkuOOOy89+9rPMnDkzN9xwQwYNGpSZM2dml112yZe//OWUSqU8+OCDmTRpUvr165edd9655xwLFixIufxeGaVSKZVKJUnS2tqaESNG5L777suCBQtywgkn5MADD8zixYvz05/+NA899FDK5XK+8IUvZOedd85LL72UCRMm5NVXX81WW22Vs88+O83Nzbnzzjtz8803p7m5Odtuu+0yV8Tb29vT3t6eJGlra1vmF/d+nfR95XJZPxuIfjcW/W4s+t049Lqx6HdjWRP7vczQvM022+Ttt9/Oq6++mnnz5mXHHXfMLrvskkcffTSjRo3Kn//85xxzzDG9jpkzZ06++MUv5otf/GK+/vWvZ/bs2RkyZEh+8IMf5IILLsgWW2zR67niY445Jm1tbZkzZ04+97nPZdCgQT37Ojs7853vfCfz5s3L+eefn//xP/5Hfve736WpqSmXX355Ojs7c8UVV+TSSy/NVVddlVNOOSUf+9jHct1116W9vT177rlnbrzxxvzjP/5j1ltvvXznO9/pNf9fq1arqVary/XFdXV1Ldc41nyVSkU/G4h+Nxb9biz63Tj0urHod2NZnf1uaWlZrnHLDM1JMmLEiMycOTPPP/98RowYkV122SW33XZbXn311STJZptt1mv8tttumy233DJJssMOO/Tczr3jjjtm8ODBSZIDDjggt9xyS5L3gvnll1+eW265JePHj8+4ceN6bvk+6KCD0tTUlJaWlrS0tGTu3Ll56KGH8uSTT2bGjBlJkjfffDNvvfVWOjo6csUVVyRJ3n333YwaNSp//OMfs/fee2ejjTZKkuy77755/PHHl+uLAQAAgA8MzSNHjszMmTPzzDPP5LDDDkulUsnChQtz3333LfV55nXWWafn7379+mXx4sVZuHBh+vXr17O9u7u71zHNzc059thjs/322+e6667LJZdc0nP8+xYuXJgBAwZk0aJFOfXUU7PXXnv17HvzzTfT3NzcE5rf96tf/arXHO++++4HXS4AAAD0+MCfvN59993z5z//Oe+8807PveW77rprpkyZkpEjRy7XSbbffvvMnDkzr7zyShYtWpQ777yzZ98jjzzSE2abmpqy7rrr9uy77777kiRPPPFE5s+fn8GDB2fYsGG54447smjRonR3d2f27NkZOHBgNtlkk55f+n7xxRfT1dWVHXfcMffff3/eeOONvP3227nrrruW82sBAACA5Vhp3mijjTJgwIDstNNOPdtGjhyZqVOnZtddd12uk2y22WY55phjcu6552a99dbLPvvsk46OjiTv/SL3//2//zfNzc3ZdNNN84UvfKHnuKampnzta19LrVbL2WefnXK5nE9+8pN55plnctZZZ6V///45+uijs9NOO2Xs2LG56qqrMnny5Gy88cYZN25chg0blv322y9f/epX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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "features = X.columns\n", "importances = tree_2.feature_importances_\n", "indices = np.argsort(importances)\n", "\n", "plt.title('Feature Importances')\n", "plt.barh(range(len(indices)), importances[indices], color='b', align='center')\n", "plt.yticks(range(len(indices)), features[indices])\n", "plt.xlabel('Relative Importance')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt0VOW9//HPJDFAQkISZnAMBPEKIlqkPSpF1Cpij5fmaLXVRiss9XhBDkaPPf0Vm2KwrfQUIiq1VVrx2LRaLz2RSksBFSxVsau1gpZIDV7onNFJYkoIcknm+f0xZCQBkhnYM7P3M+/XWl2LPNnZ893PfNPMx733s33GGCMAAAAAADwiJ9MFAAAAAACQDIIsAAAAAMBTCLIAAAAAAE8hyAIAAAAAPIUgCwAAAADwFIIsAAAAAMBTCLIAgENy3333acSIEero6Ohzu1AopKFDh+qJJ55IU2XZ584779SIESPiX//bv/2bvvzlL6e9jquuukpnnHFG2l/XbRYvXiyfz6fOzs5MlwIA1iHIAoClpk2bJp/PJ5/Pp7y8PB1xxBG67LLL9NJLLzn6OjNmzNCGDRtUWFjY53bl5eV6++239ZWvfMXR1+/t7LPPjh937/+NGjUqpa/d28qVK3u8/vDhw/XVr35VTU1NaXn9+vp6/fznP094+1AopI8//jiFFaXOihUr5PP5dP311x/Uz7/zzjvasWOHw1UBAFKFIAsAFhs/frw2bdqkN998U7/4xS9UUVGh8847T9/+9rcde43c3FyVlJQktO3QoUPl8/kce+39qa+v16ZNm7Rp0yZdeuml8TnYtGmTVq9endLXPpBVq1Zp48aNevjhh/XOO+/o3HPP1bZt21L+uoWFhRo0aFBC227cuFEjRozQm2++meKqUmPJkiXy+/361a9+pe3btyf1s8uXL9exxx6r5ubmFFUHAHBaXqYLAACkzoABA3TsscdKkkaPHq0vfOELuvTSSzVlyhQdf/zxuvrqqzNcofOGDx8e/3dRUVGPOTiQaDSqnJzU/bfdkSNH6thjj9Xo0aM1duxYHXXUUfrd736nyy67LO21HEhnZ6eMMWl/XSf885//1K9//Wt997vf1X/+53/qmWee0VVXXZXwz+/evTuF1QEAUoEzsgCQZSZPnqzp06fre9/7Xnysq6tL3/72tzV8+HAVFxfr7LPP1uuvv97j51asWKEzzjhDBQUFGjJkiG699VZJ0pw5cxQMBuPbvfHGG5o6daqKi4tVUlIS3+7dd9+Vz+fT7373u/i27777rq644gr5/X4NGDBA48eP11NPPdXjdX0+n+677z7NnDlTZWVlCgaD+s53vnNIc9B9D+fChQs1ZMgQ3XbbbZKkDz/8UF/72tc0ZMgQHX744fr617+ulpaW+M91dnZq9uzZKi8vV3Fxsc455xy98cYbSb32qFGjNGjQIL333nuHVMvOnTtVXV2tYcOGqaCgQJdffrm2bt3a47XOOOOMHoHOGKOFCxdqzJgxGjBggI444gg98cQTuvPOO3XSSSdJivWHz+fTli1bJEl///vfddFFF6mwsFAVFRWaNWtWjzOebW1tmj59ukpLS1VcXKwbbrihz2BYW1urgoKCHvdUG2NUUVGhb33rW5KkH/3oRxo9erQGDhyoUaNG9Xsm/fHHH5ckXX/99Tr77LP1yCOP7LPNrl27VFNTo6OOOkr5+fk68sgjtXr1al111VW6+OKLJUkVFRXKy4v9N/7e9xtL0m9+85sec9PS0qIZM2Zo1KhRKigo0Pjx4/X888/3WSsAwBkEWQDIQueee642btwYD0Y333yz6uvr9eCDD2r16tUaOXKkpk6dqn/+85+SpOeee05f/OIXNWbMGK1atUrLli3TCSecsM9+o9Gozj//fJWWluoPf/iDli5dqnHjxu23hubmZk2aNEnvvfeefvnLX2rt2rU655xzdPnll2vVqlU9tv3BD36giooKrVq1SlVVVaqtre0RiA/G5s2btWbNGr3wwgu6+eabtWPHDp177rlqaWnR7373Oz355JPasGGDvv71r8d/5oYbbtATTzyhhx56SC+++KKOOOIInX/++Wpvb0/4dT/44AN98sknPe7XPZhabr31Vj366KP64Q9/qLVr1+q4447Tj3/84z5f+4477tA3v/lNXXvttXrllVe0ePFiDR48WLfddpuWLVsmKRYKN23apCOOOEKRSESTJ09WSUmJ1qxZo4cffljPPvus7rjjjvg+r7zySj3//PP62c9+phdeeEGdnZ369a9/fcAarr76au3YsUPPPfdcfOwPf/iDtmzZounTp+vZZ5/VzJkzNXv2bP3pT3/SD37wAw0YMKDP41qyZIkuuugiDR48WFdccYVeeOEFvf/++z22+drXvqYHHnhA3/rWt/Taa6/pv//7v5WXl6f58+froYcekiS99NJLamxs7PO19vbmm29q27Zt+slPfqI//vGPGjlypL7yla8kfWkzAOAgGACAla655hpz2mmn7fd7v//9740k09TUZN59912Tk5NjXn755fj3d+zYYfLz880vfvELY4wx48aNM1/60pf2u6/vfOc75vDDDzfGGNPS0mIkmR//+Mf7bLd582Yjyfz2t781xhhz1113meLiYtPS0tJju/PPP9+ceeaZ8a8lmauuuir+dWdnp/H7/eYb3/jGQc9BVVWVGTRokPn444/jYz/72c+M3+8327dvj491z9NHH31k3nnnHePz+cxrr70W//727dtNXl6e+dWvfrXf11+xYoWRZDZt2mSi0ajZuHGj+cIXvmDGjh1rdu7cedC1vP/++yY3N9c8+uijPV7vggsuMMOHD49/PWnSJFNVVWWMMWbLli0mNzfX3Hffffutdf369UaSeemll+JjNTU15qSTTjJdXV3xsYceesgUFBQYY4z54x//aCSZ1atXx78fjUbNuHHjzKRJk/b7OsYYc8YZZ5jLLrss/vVNN90Uf8/nzZtnCgsLTVtb2wF/fm9/+9vfjCTz9NNPG2NiPXjYYYeZ2tra+DavvPKKkWSeffbZ/e5j6dKlRpL54IMP4mOzZ8/uMZcH2m5vr732mpFk/vSnPxljjHn44YeNJLN79+6EjgUAkDjOyAJAFgqHw/L5fAoEAlq3bp2i0ajOPvtsDRw4UAMHDtSQIUO0a9cubd68WR9//LE2bNiQ0GNcysrKdNNNN2nGjBm68sortW7dugNuu27dOp166qkqKyvrMX722Wdrw4YNPcZOPfXU+L9zc3N15JFH6qOPPkryqHs6/vjjeyxS9corr6ilpUWlpaXxebjoooskxc6YvvrqqzLG6Iwzzoh/v7S0VJ2dndq8eXOfr3XiiScqPz9fY8eOVVFRkVauXKn8/PyDruWNN95QV1eXpk6d2uN1xo8ff8Aa/vjHP6qrqyupx/G88sorevPNN1VQUBCvY8aMGdq+fbs++ugj/fnPf9bAgQM1efLk+M/4fD6dfPLJfe7361//upYtW6aOjg51dnbqqaee0rXXXispduZ02LBhOuGEE3T33Xf3uJx6fx555BEVFRVp6tSp6uzsVHFxsc477zwtWbIkfs/vmjVrNHDgQF144YUJH3siurq6tHjxYl122WUaN26czjzzTEny7MrPAOAlLPYEAFnoN7/5jU499VQNHjw4HqhWrVqloUOH9tjO7/fHH0myd/Dqy49+9CNVVVXp3nvv1cSJEzVr1iwtWLBgn+26urqUm5u7z7gxRjt37uwxdthhh/X4Oi8v75AXJho8eHCPr/Pz83Xsscfq2Wef3WfbI488Uh988IEk6cUXX9xnleZAINDnay1dulSjRo1SMBhUcXHxIdfS0NAgSRo4cGCP7/X1+Jhk38fubc8880w9+OCD+3yvrKxM7e3tys/P32cl6v4eY/OVr3xF//Ef/6Fly5apuLhYO3fujC98NWLECL311ltasmSJ7rvvPs2fP1/PPfecPv/5z++zn66uLj322GNqb29XUVHRPt9/6aWXdOaZZ2rHjh3Ky8tLahGtnJwcRaPRHmO9v7722mu1evVq3X333ZowYYJ27drV539MAAA4hyALAFlm6dKlevrpp+Mhqfte13A4rEmTJu2zvTFGw4YN04oVK3TFFVck9BqTJk3SpEmT9MADD2jmzJn7fdzPhAkT9OCDD+qf//ynhgwZEh9fs2aNTjvttIM5tEMyduxYLV68WKWlpTr88MP3+30ptgjT6aefntS+jz766H5XTk6mluOPP15S7N7S7jO1xhitWbPmgPvsPku6YsUKXXnllft8vzvkdXV19ajjscce05FHHrnfx/gcf/zx2rp1qzZs2BC/F3rHjh169dVX+3xm75AhQ3TxxRfrqaeeUmFhoa644goVFBTEvz9w4EDdeOONuv7663Xaaadp/vz5+w2yy5cv1//93//pZz/7WXyxKikWOKdOnaolS5bozDPP1Mknn6xt27bp5Zdf1sSJExM69sMPP1zNzc3atWtXPPxv3Lixx889+eST+u53v6uqqipJ0jPPPHPAYwYAOIsgCwAW27lzp/7+97+rq6tLW7Zs0dNPP62f/vSnmjdvni644AJJsTBSWVmpm2++WR0dHRo/frzeeecd/fSnP42v0nrnnXfq1ltv1bBhw/TlL39ZHR0d+stf/hJfkbhbKBTS/Pnzdckll6i4uFgvv/yyDj/8cA0ZMiS+cFS3GTNm6KGHHtJFF12kOXPmqKSkRI8//rhWrlyZkZVfr776atXW1uriiy/W3XffHb/s+u2339b8+fN1wgkn6MILL9SNN96o9vZ2nXzyydq0aZMeffTR/Z45TWUtEyZM0KRJk3TTTTdp9+7dqqio0I9//GP94x//OOBZx8985jP60pe+pFtuuUXbtm3TqaeeqnfeeUc+n0+XXHKJysvLlZubqyeffFJFRUUaM2aMbrnlFt1///269NJL9c1vflOFhYVavXq1du/erW9+85u66KKLdNRRR+nKK6/UggULVFRUpO9973s9AmFfxzh9+nQVFhbqV7/6VXz8kUceUTQa1ec+9zm1tLQoFArtcwn13tuOHDlS06ZN2+escFVVlf7nf/5H999/vy688EJNmDBBV1xxhebNm6exY8fqr3/9q0aOHKmzzjpLI0eOlBR7BvG5556r0047Teecc466urp09913a/bs2Vq/fv0+Z6aDwaCefPJJTZ48WaFQSHPnzu33uAEADsnkDboAgNS55pprjCQjyeTm5pry8nJz5ZVXmldffXWfbT/++GMzffp0U1ZWZgYNGmTGjh1rfvjDH/bY5ic/+YkZPXq0Oeyww8zw4cPNPffcY4zpudhTa2urOeuss8zgwYNNcXGxOe+888xf/vIXY8y+iz0ZY8zGjRvNxRdfbIqKiszAgQPNpEmTzPPPP9/jdSWZBx98sMfYaaedZq655pqE5uBAiz3tbzGiv/71r2bKlClm0KBBpqSkxEyaNKlHvS0tLeaaa64xpaWlZtCgQebEE080dXV1B3z9vRd7OpCDreWDDz4wF154oRk4cKAZNmyYmT17tvn2t799wMWejIktTnXrrbeaYDBoBgwYYMaOHWuWL18e//68efNMSUmJGTp0qPnoo4+MMca8+OKL5vTTTzcDBgwwfr/fnHfeeT16aP369Wby5MkmPz/fVFRUmIULF5prrrmmz8WejDFm9+7dJhAImLFjx/YYf/rpp80xxxxj8vPzzYgRI8ytt95qduzYsc/Pt7S0mPz8fHPnnXfud/+vv/66kWSWLFlijDGmubnZTJs2zQwdOtQMGjTIfPaznzV//vOf49vPnDnTDB482FRUVMTHFi9ebI466igzaNAgM2XKFPPAAw/0WOxpzZo15qSTTjIDBgwwEydONM8995yRZFasWGGMYbEnAEglnzEeffo5AAAAACArsWoxAAAAAMBTCLIAAAAAAE8hyAIAAAAAPIUgCwAAAADwFIIsAAAAAMBTCLIAAAAA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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, tree_1_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Decision Tree Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 130, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xl0VPX9//HXDCGBJMQsE4hhFRAQBRGtiKioRXGpTcHWpbiAuICCEKnab7FRAyKgEqil/qpUEEwrLrRRCwJBgSqbtaIoDaDBemwcmqUpIYGQZD6/P0IGQiDMwGz35vk4x3PIZ+587vvevCN5ce/9jMMYYwQAAAAAgEU4w10AAAAAAAD+IMgCAAAAACyFIAsAAAAAsBSCLAAAAADAUgiyAAAAAABLIcgCAAAAACyFIAsA8Mvo0aN10UUXhbsM/f3vf1dKSoo++uijE277gx/8QA8++GAIqmqZ8vPz5XA49NVXX0mS5syZo86dO2v//v0hrWPBggVyOByqra0N6X4jzVdffSWHw6H8/PxwlwIAQUOQBYAgGj16tBwOhxwOh1q3bq3evXvr97//fVhq+f7771VWVhb0/SxatMh7zE6nU8nJybryyiu1ePFiBfKjyy+44ALt2LFDQ4YMOeG2a9as0XPPPRewfR/LE0884T3uY/33zTffBHX/R6qtrW2076SkJA0dOlQffPBBSPY/adIkbdu2TW3btvVp+3379ulf//pXkKsKjr179yo2Nla9evU6qfeXlpbK7XYHuCoAsD+CLAAE2YABA7Rr1y598skn+vnPf65x48Zp2bJlIa3hq6++UseOHfX555+HbJ9ffvmlduzYoRUrVuiaa67RI488omuvvTagV+lcLpdP2yUkJKh169YB2++xPPjgg9q1a5d27dqlWbNmSao/Bw1jnTp1Cur+j2XGjBnatWuX3n33XXXs2FHDhw/Xp59+GvT9tmrVSomJiT5vf+aZZ2rJkiVBrCh4li5dqri4OO3atUsffvihX++tqqpShw4duHIKACeBIAsAQRYTE6OePXuqf//+evzxx3XOOefovffeC2kNtbW1Ab0a6ovu3bvrzDPP1KBBg/TII4/os88+086dOzVhwoSQ1hEqycnJ6tmzp3r27Kn27dtLqj8HDWNRUVFN3uPxeIJaU2pqqnr27KkhQ4ZoyZIl6ty5s/7whz8cc9tg19KcmpqasO37VC1cuFAjR45U3759tWjRIr/e6/F4VFdXF5zCAMDmCLIAEGIHDhxQhw4dGo299NJLOueccxQTE6PU1FSNGTNGpaWljbZZt26dLr/8csXHxysuLk5XX321PvvsM+/r1dXVyszMVMeOHdWmTRv1799fxcXFeuKJJ3TWWWdJkq644opGt7l+/fXXuuGGGxQXF6dOnTpp4sSJqqys9M75v//9T3fddZeSkpKUkJCge+65RwcPHjyp4+7QoYNmzJihRYsW6fvvv/eOv/baa+rbt6/atm2rfv366fXXX2/0vq+++ko//elPlZSUpLZt22rQoEGSpLVr18rhcKigoECS9N///ldjxoxRhw4dFBsbqwsvvNA7R7du3fTLX/7S+/X+/fv18MMPq0uXLoqOjla3bt2UnZ3dKFRcfvnluuWWW/T//t//U9euXXXaaafplltu0d69e0/q+KXDz3Dm5+erW7duOv/88yXV/0PD1KlTlZ6eroSEBF155ZVNrp7n5ubqrLPOUmxsrPr376+33nrLr323atVKvXv39t7Ceyq1vPjii+rZs6diYmI0aNAgffnll41ef+yxx5pcgV65cqWGDBmi2NhYnXbaafrFL37hfba2tLRUv/71r+VwOPTqq69Kqr/dePz48XK5XEpOTlZGRkaj24+NMZo+fbo6d+6sNm3a6KqrrtK///3v4x7/+vXr5XA4mtxePWrUKF188cWSpPfff18XX3yx4uLi5HK5NGfOnGbP6Y4dO7Rx40bdfPPNuuWWW/T666+rqqqqyXa5ubk677zz1KZNG7lcLuXk5GjBggVq166dJOn222+Xw+HQhx9+2OR544ZzceS5kaSnn35aZ599tuLi4nTGGWfoN7/5TbO1AoDdEGQBIESqqqo0Y8YM7d27V/fdd593fMaMGZowYYJuv/12bdq0SS+99JLWr1+vkSNHerdZv369hg0bpu7duys/P18rVqyQw+HQFVdcoZKSEknSr3/9ay1dulSLFy/Wpk2bvPt48MEHtXLlSknSq6++6r3NtbS0VJdddpni4+O1bt06/eEPf9Dy5cv10EMPefd72223afXq1frDH/6gDz74QA6HQ2+++eZJn4Mf/vCH8ng82rBhgyTpT3/6k+666y5NnDhRmzdv1ujRo3XLLbd4X//uu+80ePBgff/991q6dKk++ugj/fjHPz7m3Pfdd58+/vhj/fnPf25y/o72k5/8RLm5uZo5c6a2bNmiRx55RLNnz9aTTz7ZaLt169Zpw4YNeuuttzR37lwtW7ZMM2bMOOnjbzBr1iwtXrxYL7/8srf2pUuX6sUXX9TatWt1+umna/jw4aqoqJAkLVmyRPfee68mT56sTZs26fbbb9dNN92kzZs3+7xPY4x27dqlbt26nVItS5cu1fjx4739eu+992ratGnN7vvtt9/Wddddp3POOUfvv/++/vrXv6pXr14aMmSIdu3apaSkJGVmZmrXrl36yU9+Iqn+e/Txxx/r9ddf13vvvaeqqirdcMMN3n9smD17tp566ik98sgj2rRpk6699lrNnj37uDVceuml6tatm9544w3v2P79+/X2229r7Nix2rNnj66//noNGjRImzdv1p/+9KcT3g6+aNEipaWlef/Ro6Kiosk/MPz2t7/VnXfeqWuvvVYffvihli5dqg4dOuimm27y/kPUs88+q127dumCCy5odn9HWr58ubKzs7VhwwbdcccdmjRpkl/9AACWZwAAQXPnnXcah8NhYmJijMPhMFFRUWb27NmmtrbWGGNMVVWViYuLM4899lij923cuNFIMu+//74xxpgrrrjCXHLJJY22qaioMCkpKSYrK8sYY8wNN9xgLr74YuPxeJrU8c9//tNIMh988IF3LDs72/Tt29fU1dV5x15++WUTExNj6urqzJYtW4wks2bNGu/rHo/HnHvuuWbQoEHHPeaFCxcaSWb//v1NXjt48KCRZF5++WVjjDHdu3c3Tz/9dKNtLrvsMnPvvfcaY4yZMGGCSU9PNxUVFU3m+uCDD4wk889//tMYY0y/fv3MLbfccsyaunbtah599FFjjDHr1q0zkkx+fn6jbZ5++mkTExPjrXvo0KGmW7dupqamxrvNiBEjzIUXXnjcYz/ROXjppZeMJPPee+95x77++mvjcDjMxx9/7B2rqqoyUVFR5vXXX/fW/8wzzzSa6+KLLzb333//MfdfU1NjJJmXXnrJGGPMnj17zMSJE01cXJwpKCg4pVp69eplxowZ02h/s2fPNpLMrl27jDHGTJ061XTs2NH7ep8+fczIkSOPe75SUlLMtGnTvF+///77JioqyhQVFXnHdu7caSSZLVu2mAMHDpiEhATz5JNPNprn/vvvN5Iafc+O9Nhjj5kOHTp4e37p0qUmLi7OVFRUmM2bNx+zL46ntrbWpKenm4kTJ3rHzj//fHPllVd6vz5w4IA57bTTzEMPPXTMOSoqKowks2TJEu/Y6tWrG53L4213JI/HY+Lj482zzz5rjDFm165dRpJZvXq1T8cCAFbEFVkACLL+/ftr69at+vTTT7VkyRK99NJL3qtOX375pSorK3XNNdc0es+gQYPUpk0bffHFF5KkLVu2NNkmPj5eF1xwgXebyZMn67PPPtOAAQP08ssvn/AW4E2bNqmgoECxsbFq06aN2rRpo/vuu0/V1dVyu936xz/+oejoaF1++eXe9zgcDp177rknfS4aVmft0KGDiouLVVhYqKysLO/+27Rpow8//FC7d++WVH8levjw4YqPjz/h3I8++qjefPNNXXLJJXrrrbeO+8znli1bFBMToyuuuKLR+OWXX67q6mrt2rXLOzZw4MBGz7Z2795d//nPf/w+7qM13B4tSZs3b5YxRpdccon3HCQlJam2tla7d+/W999/r3/961/61a9+1eg8bdq0yXuejmf8+PGKiYlRhw4d9Le//U2rV69W7969T7qWyspK7dy5U1dffXWjOQYMGHDcGkpKSlRQUKAbb7zR5/OzadMm1dbW6owzzvDW0a9fP0nS7t279dVXX2nv3r1+1SFJd9xxh/bs2aP169dLqr+t/aabbvL+LA0fPlw33HCDxo0bpx07djQ716pVq1RUVKSf/vSnqq2tVW1trW666SZ98MEH3lugP//8c/3vf//z69h9tWrVKt111136wQ9+oJSUFO3bt0///e9/A74fAIhUTVeeAAAEVJs2bdSnTx9J0rnnniuXy6WrrrpK//znP723SbZq1eqY762urpYk1dXVHXMbY4x3myuvvFJff/215s+fr1/+8pd65plntG7dOu/CQ0eLjo7WkCFD9OKLLzZ5LTU1VRUVFWrdurWczsb/5nngwAEfj7ypd999VzExMY0+MmfWrFm69tprG20XGxvr3Vd0dLRPczc86zhv3jyNGTNGc+bM0Zo1a9SmTZtG29XV1Xk/luZI5tBiWA3nU1KTlY6joqICsmjWkcG84fjWrl3bZKXf1NRU75+fffbZJsEtLi6u2f08/vjj+tnPfqakpKTj9oE/tTTcXnz0OW2uJxpWqfb1+9iwbWxsrD755JMmr6Wnp2v79u1+1yHJu/jYG2+8oYEDB2r58uXeFYOdTqdWrFih5cuXa+7cuerbt6/mzZt33MXJFi5cKEkaOnRok9deeeUVZWVleevx59gbft6O/IeYo/9RZtGiRRo/frxmzJihBx54QD169NDZZ5/t8z4AwA64IgsAIdYQhGpqatS3b1/FxMRo1apVjbbZsmWLDhw44L1aNnDgwCbbVFZW6h//+EejK2odOnRQdna2tm/frm+++Ua5ubmSDv9yfORiRn379tXOnTvVpUsX9enTp9F/rVu3Vq9evVRZWamtW7d631NdXa1Nmzad1HHv3r1bTzzxhB588EGddtppOu2005Senq7CwsIm++/SpYuk+qvZa9euVW1trU/7OOOMMzR37lxt2LBBGzZs0IoVK5psM3DgQB04cEB/+9vfGo2vX79ecXFxIQ8Effv2lSTt2bOnyXlISUlRSkqK2rdvr927dzd5vXPnzs3OnZaWpt69ex83xPpbS1pamhISEpp8zMy6deuOO2fHjh2VkpKi1atXH3cbp9PZpDerqqpUXV3dpI6EhAT17NnTuziSr3U0uOOOO7Rs2TL9+c9/VteuXXXJJZd4X3M4HLr++uu1evVqTZw4UY8//vgx5/jvf/+rt99+Ww888IA+/vjjRv8NHTpUr7zyiowx6tu3r6Kioo577Mf6uWxYCO7IhasaFjRr8Prrr2v48OHKzMzU+eefr5qaGj6LFkCLwxVZAAiy6upqffXVV6qtrVVBQYEeeeQRXXjhherXr58cDod+8Ytf6Omnn1ZsbKyGDRumb7/9VlOmTNHVV1+tSy+9VJKUlZWl6667Tvfee6/Gjh2rgwcPasaMGYqOjtb48eO92wwcOFBnnnmmPv30U1VXV6tXr16S6q9iRUVF6c0331RycrJ69eql+++/X3PnztWIESP0f//3f4qPj9f69eu1f/9+TZ06Vddee6169uypUaNGac6cOUpMTNTTTz/t80elFBYWqnXr1iotLdWaNWs0Z84cXXHFFY0WS3r44Yf18MMPq0OHDrr++utVWlqqV199VQ899JD69++vRx99VEOGDNGNN96oKVOmKDY2Vn/5y180ffr0JvubNGmSrr32WnXu3FnvvfeenE6nevbs2WS7YcOG6ZJLLtGoUaP0zDPP6KyzztLGjRs1ffp0TZ06VW3btvX7e3wqzjrrLF1//fUa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XOD7PHm5jcOCVP91Xq5095RTrxM4GfQlEDLNBtlNmzZ5/1xbW6udO3eqS5cuio+P13/+8x/t3btXvXv3JsgCAADfVFX6N34cprzMr3EgFOhLIHSaDbKPP/64989z587VPffco2HDhnnH3nzzTdXV1R3rrQAAAE3Fxkn7jxFaY+P8msaRmKxjPRvlSEw+ubqAAKAvgdBx+rrhJ598oksuuaTR2PXXX6/33nsv4EUBAACbGj2p/pnYIzlb1Y/7I2OUdPQzh6lp9eNAuNCXQMj4/DmyaWlp+vjjj3XppZd6x7788ku1adMmKIUBAAD7adWnn+oys0951WJnapo8mdmsDouIQl8CoePzqsVffPGFZs2apbPOOkunn366SktL9Y9//ENjxozRVVddFew6vVi1GJGOFQFhZ/Q37I4eh53R37CCgKxafKRzzjlH8+bN09/+9jcVFxerU6dOGjFihHr06HHSRQIAAAAA4C+fg6wkJScna/DgwSorK1OfPn2CVRMAAAAAAMflc5D97rvvlJOTI7fbrbq6Or322mv66KOPVFFRoWuuuSaYNQIAAAAA4OXzqsW///3vddlll2nJkiVqeKy2d+/e+utf/xq04gAAAAAAOJrPQfbbb7/V8OHD5XQefku7du1UXl4elMIAAAAAADgWn4Ns9+7d9f777zca27hxozp27BjwogAAAAAAOB6fn5G9++67NX36dK1fv16S9OSTT+rbb7/VI488ErTiAAAAAAA4ms9BtmPHjpo3b57+/ve/q6SkRImJiRo4cKDi4+ODWR8AAAAAAI34FGSNMZo2bZomT56siy++ONg1AQAAAABwXD49I+twOFRRUaG9e/cGux4AAAAAAJrl863F559/vmbNmqUf/OAHat++vRwOh/e14cOHB6U4AAAAAACO5nOQ3bFjh1wul3bv3q3du3c3eo0gCwAAAAAIlRMG2VWrVunzzz9Xamqqhg4dqrPPPjsUdQEAAAAAcEzNPiP7xhtvKC8vT2eccYaSkpI0d+5cbdmyJVS1AQAAAADQRLNXZNeuXauHHnpIPXr0kCT1799fr7zyii688MKQFAcAAAAAwNGaDbKlpaU644wzvF/37t1b//73v/3eycGDB7Vw4UJt375dNTU1uu666/SjH/1It956q1wulySpR48emjx5st9zAwAAAABalmaDrDFGn332mYwx3rHa2lp9+umnjcYGDhzY7E6qq6t17rnn6t5771VFRYWmTJmiiy66SMnJyXr++edP8RAAAAAAAC1Js0HW5XJpwYIFzY45HI4TBtl27drpoosukiQlJCQoJSVFVVVVJ1szAAAAAKAFazbIzp8/P+A7/Pbbb1VTU6POnTuroqJCEydOlMvl0m233eZ9FvdI+fn5ys/PlyTNnDnTeysyEKmioqLoU9gW/Q27o8dhZ/Q37MRhjrxHOMj27t2r6dOn695771XPnj294xs3btTixYv1wgsvnHCOoqKiYJYInDKXy6WSkpJwlwEEBf0Nu6PHYWf0N6wgPT3dp+2a/fidQNq3b59mzZqlW2+9tVGIlaTBgwfr4MGDqqysDFU5AAAAAACLCkmQraqq0uzZszVy5Eidd955kuqvzjYE108//VTx8fGKi4sLRTkAAAAAAAtr9hnZQFmxYoV2796tRYsWadGiRZKkKVOm6JlnnpHT6VRiYqIyMzNDUQoAAAAAwOJC+oxsIPCMLCIdz5/Azuhv2B09Djujv2EFEfeMLAAAAAAAgUCQBQAAAABYSkiekQUAIFJ5it1SXq5MeZkciclSxig5U9PCXVbEsft5aji+ssoKeeLa2e74AMBuCLIAgBbLU+yWycmSit2SJCNJhTvkycwmxBzB7ufpyOOraRi00fEBgB1xazEAoOXKy/WGM69DV+ZwBLufJ7sfHwDYEEEWANBimfIyv8ZbKrufJ7sfHwDYEUEWANBiORKT/Rpvqex+nux+fABgRwRZAEDLlTFKOvoZyNS0+nEcZvfzZPfjAwAbchhjTLiL8EdRUVG4SwCaxYeNw87s2N92X403UOx+nhqOL6qyQrWsWgybsuP/w2E/6enpPm1HkAUCjL8kYGf0N+yOHoed0d+wAl+DLLcWAwAAAAAshSALAAAAALAUgiwAAAAAwFKiwl0AAKBlsfOiQYE6Njufo0CqK9gmLZonVVVKsXHS6Elq1adfuMsCAIQAQRYAEDKeYrdMTpZU7JYkGUkq3CFPZrblg1qgjs3O5yiQ6gq2STlZkqeufmB/pZSTpbrMbMIsALQA3FoMAAidvFxvQPM6dPXR8gJ1bHY+R4G0aN7hENvAU1c/DgCwPYIsACBkTHmZX+NWEqhjs/M5CqiqSv/GAQC2QpAFAISMIzHZr3ErCdSx2fkcBVRsnH/jAABbIcgCAEInY5R09HOeqWn141YXqGOz8zkKpNGTJGerxmPOVvXjAADbcxhjTLiL8EdRUVG4SwCa5XK5VFJSEu4ygKAIRH/beUVeVi0OrWCsWsz/w2Fn9DesID093aftCLJAgPGXBOyM/obd0eOwM/obVuBrkOXWYgAAAACApRBkAQAAAACWQpAFAAAAAFgKQRYAAAAAYClR4S4AAAA0FozVeO2I1Z0BoOUiyAIAEEHqCrZJOVmSp65+YH+llJOlusxswuwRPMVumZwsqdgtSTKSVLhDnsxswiwAtADcWgwAQCRZNO9wiG3gqasfx2F5ud4Q63XoCi0AwP4IsgAARJKqSv/GWyhTXubXOADAXgiyAABEktg4/8ZbKEdisl/jAAB7IcgCABBJRk+SnK0ajzlb1Y/jsIxR0tHPwqam1Y8DAGyPxZ4AAIggrfr0U11mNqsWn4AzNU2ezGxWLQaAFoogCwBAhGnVp580c0G4y4h4ztQ06e4p4S4DABAG3FoMAAAAALAUgiwAAAAAwFIIsgAAAAAASyHIAgAAAAAshSALAAAAALAUgiwAAAAAwFIIsgAAAAAASyHIAgAAAAAshSALAAAAALAUgiwAAAAAwFIIsgAAAAAASyHIAgAAAAAshSALAAAAALAUgiwAAAAAwFIIsgAAAAAAS4kKxU4OHjyohQsXavv27aqpqdF1112nH/3oR1q+fLneeecdRUdHa/To0TrvvPNCUQ4AeHmK3VJerkx5mRyJyVLGKDlT08JdVsDY/fgAAEDLFJIgW11drXPPPVf33nuvKioqNGXKFHXv3l0rV67UnDlzVFpaqmnTpmn+/PmKigpJSQAgT7FbJidLKnZLkowkFe6QJzPbFmHP7scHAABarpDcWtyuXTtddNFFcjgcSkhIUEpKirZv367Bgwerbdu26tSpk1JTU1VYWBiKcgCgXl6uN+R5HbqCaQt2Pz4AANBihfzy57fffquamhpVVFSoc+fO3vHk5GSVl5c32T4/P1/5+fmSpJkzZ8rlcoWsVuBkREVF0acWUVZZoZpjjEdVVijZBt/DYBwf/Q27o8dhZ/Q37CSkQXbv3r367W9/q/Hjx+uDDz6Q03n4grDT6Wz0dYNhw4Zp2LBh3q9LSkpCUitwslwuF31qEZ64dsccr41rZ4vvYTCOj/6G3dHjsDP6G1aQnp7u03YhW7V43759mjVrlm699Vb17NlTSUlJKisr875eWlqqlJSUUJUDAFLGKOnoZ0VT0+rH7cDuxwcAAFqskATZqqoqzZ49WyNHjvSuTDxw4EB99NFHqq6u1nfffad9+/apW7duoSgHACRJztQ0OTKz5Rg0VOrdT45BQ+Ww0UJIdj8+AADQcjmMMSbYO3nrrbf0l7/8RYmJid6xxx57TB999JHWrFmj6Oho3XffferTp88J5yoqKgpmqcAp47Yd2Bn9Dbujx2Fn9DeswNdbi0MSZAOJIItIx18SsDP6G3ZHj8PO6G9YQcQ9IwsAAAAAQCAQZAEAAAAAlhLyz5EFAFiPp9gt5eWqrLKi/mN9Mkad9KJRDXOZ8jI5EpNPaS4AANAyEWQBAM3yFLtlcrKkYrdqGgYLd8hzEisgHzmXJJlTmAsAALRc3FoMAGheXq43eHoduqoa1rkAAECLRZAFADTLlJf5NR6quQAAQMtFkAUANMuRmOzXeKjmAgAALRdBFgDQvIxR0tHPr6am1Y+Hcy4AANBisdgTAKBZztQ0eTKzpbxcRVVWqPYUVi0+ci5WLQYAACfLYYwx4S7CH0VFReEuAWiWy+VSSUlJuMsAgoL+ht3R47Az+htWkJ6e7tN23FoMAAAAALAUgiwAAAAAwFIIsgAAAAAAS2GxJwDACXmK3VJersoqK+Q5hcWejpyLxZ5wquglAGi5CLIAgGZ5it0yOVlSsVs1DYOFO+TJzPY7NBw5lySZU5gLLRu9BAAtG7cWAwCal5frDQteh66EhXUutGz0EgC0aARZAECzTHmZX+OhmgstG70EAC0bQRYA0CxHYrJf46GaCy0bvQQALRtBFgDQvIxR0tHPHKam1Y+Hcy60bPQSALRoDmOMCXcR/igqKgp3CUCzXC6XSkpKwl0GEFANq8NGVVaollWLESGC0Uv8Pxx2Rn/DCtLT033ajiALBBh/ScDO6G/YHT0OO6O/YQW+BlluLQYAAAAAWApBFgAAAABgKQRZAAAAAIClEGQBAAAAAJYSFe4CAEQ+O68yW1ewTVo0T6qqlGLjpNGT1KpPv7DWZOfzDQAAEAgEWQDN8hS7ZXKypGK3JMlIUuEOeTKzLR+u6gq2STlZkqeufmB/pfT/27v/2Kru+o/jr3tvqS0F1pZbViuLfGHf/XArCGyyGrdljM20UTGKXQi6FfxmZXHa3eHIvompS3WGaVhDVpyJbDQY1OCi1glKCnMa5waZ35GxLh0oUySlW39Qgd6Wy733fP+447IOKT3l9J7z+fT5+Ke5717ued9P3tC+OOd8bnOjUrEm38KszesNAADgFS4tBjC6tu3ZUJX13hlD47VuOh9iz0mnMnW/2LzeAAAAHiHIAhiVM9Dvqm6U+KC7eg5Yvd4AAAAeIcgCGFWouNRV3ShTi9zVc8Dq9QYAAPAIQRbA6Javkj54b2ZZeaZuuroGKRwZWQtHMnW/2LzeAAAAHgk5juP43YQbXV1dfrcAjCoajaq3t9fvNjxl8y667Frsjo3zDbwfMw6bMd8wQUVFxZieR5AFPMYPCdiM+YbtmHHYjPmGCcYaZLm0GAAAAABgFIIsAAAAAMAoBFkAAAAAgFHy/G4AAPwUxM2eAAAAMDrOyAKYtFKdB6XmRqnvXWloMPO1uTFTBwAAQGARZAFMXq2bpD+Ka7MAABQSSURBVHRqZC2dytQBAAAQWARZAJNXfNBdHQAAAIFAkAUweU0tclcHAABAIBBkAUxedQ1SODKyFo5k6gAAAAgsgiyASStyXaUUa5JmzpIKizJfY03sWgwAABBwfPwOgEktcl2ltGGL320AAADABc7IAgAAAACMQpAFAAAAABiFIAsAAAAAMEpOg2wikVBXV1cuDwkAAAAAsExONnuKx+NqaWlRR0eHqqqqtHbtWknSypUrFY1GJUnz5s3TQw89lIt2AAAAAAAGy0mQDYfDqq6u1uLFi3X48OFsvbS0VE899VQuWgAAAAAAWCInlxYXFBSosrJSkUgkF4cDAAAAAFjM18+RPXXqlL7+9a8rGo3qy1/+subNm3fBc/bs2aM9e/ZIkjZs2JC9FBkIqry8POYU1mK+YTtmHDZjvmGTkOM4Tq4O9uKLL6qzszN7j+w5L7/8srZt26ann376kq/BZlEIumg0qt7eXr/bACYE8w3bMeOwGfMNE1RUVIzpeYH4+J2qqiolEgkNDg763QoAAAAAIOB8C7InT57MBtfXXntN06ZNU1FRkV/tAAAAAAAMkZN7ZIeGhrR+/XoNDw8rkUioo6NDNTU1+u1vf6twOKzi4mLFYrFctAIAAAAAMFxOgmxhYeF//Jid6urqXBweAAAAAGCRQNwjCwAAAADAWBFkAQAAAABG8fVzZAFMrHRPt9S2Xc5Av0LFpdLyVQqXlfvdlidS7b+RnntWSqelcFhasUaRuz7nd1sAAADIAYIsYKl0T7ec5kapp1uS5EjSkbeUjjUZH2ZT7b+Rdmw5X0inpR1blJIIswAAAJMAlxYDtmrbng2xWe+doTXec8+6qwMAAMAqBFnAUs5Av6u6UdJpd3UAAABYhSALWCpUXOqqbpTwRf7pulgdAAAAVuG3PsBWy1dJH7wXtqw8UzfdijXu6gAAALAKmz0BlgqXlSsda7Jy1+LIXZ9TSmLXYgAAgEmKIAtYLFxWLv3POr/bmBCRuz4nEVwBAAAmJS4tBgAAAAAYhSALAAAAADAKQRYAAAAAYBTukYWRUp0HpdZNUnxQmlok1TUocl2l320FTrqnO1CbPQWtn6D2BAAAgNERZGGcVOdBqblRSqcyhaFBqblRqVgTYfZ90j3dcpobpZ5uSZIjSUfeUjrW5EtQC1o/Qe0JAAAAl8alxTBP66bzIfacdCpTx3lt27MBLeu9s4/0854g9gQAAIBLIsjCPPFBd/VJyhnod1WfaEHrZ7Rj+9kTAAAALo0gC/NMLXJXn6RCxaWu6hMtaP2Mdmw/ewIAAMClEWRhnroGKRwZWQtHMnWct3yV9MH7PMvKM3X6yQhiTwAAALikkOM4jt9NuNHV1eV3CwiAIO9aHI1G1dvb63cbkoK3I2/Q+glqT0EWpPkGJgIzDpsx3zBBRUXFmJ5HkAU8xg8J2Iz5hu2YcdiM+YYJxhpkubQYAAAAAGAUgiwAAAAAwCgEWQAAAACAUQiyAAAAAACj5PndAOAnL3c/Prf7bf/gKaWLpo9799vUvj9K21qks2elKVOkex9UZMntl9XT5e7I69U6TcR6s9vw6IK8wzcAAMB4sWsxJq1U50GpuVFKp84XwxEp1uT6F/10T7ec5kapp/t8saxcoViTq3CV2vdHacvGC7/xP+tch1nPevJonYK43rbzcs3PYcdL2I4Zh82Yb5iAXYuBS2ndNPIXfCnzuHWT+9dq2z4yVEmZx23b3b3OthZ39Vz05NU6BXG9beflmgMAAAQIQRaTV3zQXX0UzkC/q/pFnT3rrj4Kz3ryap2CuN6283DNAQAAgoQgi8lrapG7+ihCxaWu6hc1ZYq7+ig868mrdQrietvOwzUHAAAIEoIsJq+6hsz9gu8XjmTqbi1fJX3w3syy8kzdjXsfdFfPRU9erVMQ19t2Xq45AABAgEQee+yxx/xuwo1Tp0753QIsEY5eKee/b5AOvZEpXFEiPfC/49oEJ1Q0TZp/s0KnT2pKyUw5/3WNQnUNrjceCs+eI+fKCumN/5PSjpSfL61+aFy7Fr+/J02bodDV14+vJ4/WaaLW+3Lem+28XPNzpk6dqng87lGHQPAw47AZ8w0TTJ8+fUzPY9diwGPsCAibMd+wHTMOmzHfMAG7FgMAAAAArESQBQAAAAAYhSALAAAAADBKnt8NIPjSPd1S23Y5A/2ZjzdZvsr3TXWC2JNXUp0HpdZNmc/6nFok1TVc1uY8XrB5vQEAAGAegixGle7pltPcKPV0S5IcSTryltKxJt+CTBB78kqq86DU3CilU5nC0KDU3KhUrMm3MGvzegMAAMBMXFqM0bVtzwaYrPfOzvkmiD15pXXT+RB7TjqVqfvF5vUGAACAkQiyGJUz0O+qngtB7Mkz8UF39Rywer0BAABgJIIsRhUqLnVVz4Ug9uSZqUXu6jlg9XoDAADASARZjG75KumD90GWlWfqfgliT16pa5DCkZG1cCRT94vN6w0AAAAjhRzHcfxuwo2uri6/W5h0grhjbRB7Oicajaq3t3fcf55dixFklzvfQNAx47AZ8w0TVFRUjOl5BFnAY/yQgM2Yb9iOGYfNmG+YYKxBlkuLAQAAAABGIcgCAAAAAIxCkAUAAAAAGCWnQTaRSHCPKwAAAADgsuTl4iDxeFwtLS3q6OhQVVWV1q5dK0natWuXnn/+eeXn56uurk4LFy7MRTsAAAAAAIPl5IxsOBxWdXW17r333mytu7tbu3fv1pNPPqlHHnlEP/rRj5RMJnPRDgAAAADAYDkJsgUFBaqsrFQkEsnW9u/fr6qqKhUWFmr27NkqKyvTkSNHctEOAAAAAMBgObm0+D/p6+vTVVddlX1cWlqqgYGBC563Z88e7dmzR5K0YcMGRaPRnPUIjEdeXh5zCmsx37AdMw6bMd+wiW9BNplMKhw+f0I4HA6PeHzOsmXLtGzZsuxjPsQZQceHjcNmzDdsx4zDZsw3TFBRUTGm5/n28TslJSXq7+/PPu7r69PMmTP9agcAAAAAYAjfguyiRYv00ksv6cyZMzp27JhOnz6tOXPm+NUOAAAAAMAQObm0eGhoSOvXr9fw8LASiYQ6OjpUX1+vW2+9VQ8//LDy8/NVX1+vUCiUi3YAAAAAAAYLOY7j+N2EG11dXX63AIyK+09gM+YbtmPGYTPmGyYI/D2yAAAAAACMB0EWAAAAAGAU3z5+xzbpnm6pbbucgX6Fikul5asULiv3uy1PePXevFwjr14r1XlQat0kxQelqUVSXYMi11WOqydcWhBnAAAAAOYhyHog3dMtp7lR6umWJDmSdOQtpWNNxv9i7dV783KNvHqtVOdBqblRSqcyhaFBqblRqVgTYXYCBHEGAAAAYCYuLfZC2/bsL9RZ750tMp5X783LNfLqtVo3nQ+x56RTmTq8F8QZAAAAgJEIsh5wBvpd1U3i1Xvzco08e634oLs6LksgZwAAAABGIsh6IFRc6qpuEq/em5dr5NlrTS1yV8dlCeQMAAAAwEgEWS8sXyV98L68svJM3XRevTcv18ir16prkMKRkbVwJFOH94I4AwAAADBSyHEcx+8m3Ojq6vK7hf/I5h1U2bXYHT5s/OKCOANwh/mG7Zhx2Iz5hgkqKirG9DyCLOAxfkjAZsw3bMeMw2bMN0ww1iDLpcUAAAAAAKMQZAEAAAAARiHIAgAAAACMkud3A8B4TMQmTQAAAADMwBlZGCfVeVBqbpT63pWGBjNfmxszdQAAAADWI8jCPK2bpHRqZC2dytQBAAAAWI8gC/PEB93VAQAAAFiFIAvzTC1yVwcAAABgFYIszFPXIIUjI2vhSKYOAAAAwHoEWRgncl2lFGuSZs6SCosyX2NN7FoMAAAATBJ8/A6MFLmuUtqwxe82AAAAAPiAM7IAAAAAAKMQZAEAAAAARiHIAgAAAACMQpAFAAAAABiFIAsAAAAAMApBFgAAAABgFIIsAAAAAMAoBFkAAAAAgFEIsgAAAAAAoxBkAQAAAABGIcgCAAAAAIxCkAUAAAAAGIUgCwAAAAAwCkEWAAAAAGAUgiwAAAAAwCgEWQAAAACAUQiyAAAAAACjEGQBAAAAAEYJOY7j+N0EAAAAAABjxRlZwGOPPvqo3y0AE4b5hu2YcdiM+YZNCLIAAAAAAKMQZAEAAAAARiHIAh5btmyZ3y0AE4b5hu2YcdiM+YZN2OwJAAAAAGAUzsgCAAAAAIxCkAU8kEgk1NXV5XcbAAAAwKSQ53cDgMni8bhaWlrU0dGhqqoqrV27VpK0a9cuPf/888rPz1ddXZ0WLlzoc6eAe4lEQlu3btWbb76ps2fPqqamRp/5zGeYb1ghnU7r8ccfV29vryRp9erV+vjHP858wyrJZFKPPPKIrr32Wq1du5b5hlUIssBlCIfDqq6u1uLFi3X48GFJUnd3t3bv3q0nn3xSfX19+s53vqPNmzcrL4+/bjDLmTNntGDBAt1///06deqU1q1bp7lz5zLfsEIoFNKDDz6okpISHThwQD//+c9VXl7OfMMqv/zlLzVr1ixJ/H4C+3BpMXAZCgoKVFlZqUgkkq3t379fVVVVKiws1OzZs1VWVqYjR4742CUwPtOnT9ctt9yiUCikGTNmaObMmXrzzTeZb1ghFAqppKREktTT06OPfvSj/PsNqxw7dkx///vfVVVVJYnfT2Afgizgsb6+PkWj0ezj0tJSDQwM+NgRcPmOHj2qs2fP6tSpU8w3rNHW1qY1a9Zo586dWrFiBf9+wxqO42jr1q1avXp1tsZ8wzYEWcBjyWRS4fD5v1rhcHjEY8A0J0+eVEtLix544AHmG1ZZvny5nn32Wa1cuVKPP/448w1rtLe364YbblB5eXm2xnzDNlwUD3ispKRE/f392cd9fX2aOXOmjx0B43f69Gk98cQTWrlypa6++modOHCA+YZ1lixZoq1bt/LvN6zxpz/9SUNDQ3r55Zd1+vRpnTlzRtXV1cw3rMJ/wwAeW7RokV566SWdOXNGx44d0+nTpzVnzhy/2wJci8fj+v73v68vfOEL2Z0tmW/Y4p133sleVnno0CFNmTKF+YY1vvvd72rjxo36wQ9+oHvuuUef+MQntHjxYuYbVuGMLHAZhoaGtH79eg0PDyuRSKijo0P19fW69dZb9fDDDys/P1/19fUKhUJ+twq49rvf/U5vv/22Wltb1draKkn61re+xXzDCoODg/re976ndDqtGTNmKBaLae7cucw3rMV8wzYhx3Ecv5sAAAAAAGCsuLQYAAAAAGAUgiwAAAAAwCgEWQAAAACAUQiyAAAAAACjEGQBAAAAAEYhyAIAAAAAjEKQBQDAha997Wv66le/qmQyecH3Dh8+rNraWu3YscOHzsavtrZWR48e9bsNAADGjCALAIBLiURCr7766gX1vXv3qqCgwIeOAACYXAiyAAC49LGPfUx79+4dURsaGtIrr7yiefPm+dRVRjqd9vX4AADkQp7fDQAAYJrbbrtNP/zhD9Xb26toNCpJ+vOf/6zrr79eU6ZMyT7v1Vdf1U9/+lP19/drwYIFuv/++1VUVKSuri4988wz+tvf/qaCggJ98Ytf1N133y1J2r17t9ra2vTvf/9bN910k2KxmHbs2KF//etfWrdunSTp6NGj+uY3v5m9hLm2tlZ1dXX61a9+pbvuuku1tbUXPbYk7dy5U7t27dLg4KA+//nP53LpAADwBGdkAQBwqbi4WAsXLtSLL76Yre3du1d33nmnHMeRJP3jH//QU089pTVr1mjz5s06e/asfvazn0mSBgYG9OlPf1pPP/206uvrtXXrVp08eVLHjx9Xa2urYrGYtmzZopqamjH3dODAAW3cuFHV1dWjHvuVV17Rr3/9azU0NGjz5s06fvy4dwsDAECOEGQBABiHO++8U3/4wx/kOI7efvttnThxQosWLcp+v729XUuXLtWNN96ooqIiffazn9Vf//pXSZlLk2+66SadOHFC6XRaoVBIx48fVzgcVjqdVn9/vwoLC3XttdeOuZ+7775bM2bM0PTp00c99gsvvKCamhpdc801Kioq0le+8hVvFwYAgBzg0mIAAMZhwYIFkqSDBw9q3759uuOOOxQOn///4d7eXr322mvauXNnthYKhSRJ+/fvV2trq6666ip9+MMfViQSUTKZ1JVXXqmGhgb95Cc/0XPPPaf77rtPN95445j6KSsrG9Oxe3p6tHTp0mx92rRp43j3AAD4iyALAMA4hMNh3XHHHXrhhRf0+uuva8OGDSO+f8UVV2jFihWqra294M8+88wzqq+v16JFi5RKpdTe3p793ic/+Undcsstam9v1xNPPKEtW7aooKBAw8PD2efE4/ELXvNcUL3UsadNm6a+vr7s43feecfdGwcAIAC4tBgAgHFaunSp9u3bp7lz52rWrFkjvvepT31K7e3t6uzsVCKR0D//+U+9/vrrkqRkMqnu7m4NDw9rx44dSqVSkqTu7m698cYbSiaTqqioyNbnzJmjQ4cOqb+/X+l0Wr///e9H7Wu0Y998883atWuXjh49qpMnT2r79u0jQjAAACbgjCwAAONUWlqqBQsW6Lbbbrvge/Pnz9eXvvQlbd68WSdOnNBHPvKR7P2odXV12rZtm37xi1/onnvuye4mnEwm9eMf/1g9PT2aNWuWvvGNb+hDH/qQ5s+fr9tvv12PPvqoSkpKtGTJEv3lL3+5aF+jHbumpkbvvvuuvv3tb6ugoED33Xef9u/fPwGrAwDAxAk557ZXBAAAAADAAFxaDAAAAAAwCkEWAAAAAGAUgiwAAAAAwCgEWQAAAACAUQiyAAAAAACjEGQBAAAAAEYhyAIAAAAAjEKQBQAAAAAYhSALAAAAADDK/wMTLaOnhwPuTAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, tree_2_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('Boosted Decision Tree Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [], "source": [ "from xgboost.sklearn import XGBRegressor\n", "\n", "#Fitting XGB regressor \n", "xboost = XGBRegressor(n_estimators=200)" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\xgboost\\core.py:587: FutureWarning: Series.base is deprecated and will be removed in a future version\n", " if getattr(data, 'base', None) is not None and \\\n" ] }, { "data": { "text/plain": [ "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n", " colsample_bytree=1, gamma=0, importance_type='gain',\n", " learning_rate=0.1, max_delta_step=0, max_depth=3,\n", " min_child_weight=1, missing=None, n_estimators=200, n_jobs=1,\n", " nthread=None, objective='reg:linear', random_state=0, reg_alpha=0,\n", " reg_lambda=1, scale_pos_weight=1, seed=None, silent=True,\n", " subsample=1)" ] }, "execution_count": 132, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xboost.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8902505097601974" ] }, "execution_count": 133, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xgb_score = xboost.score(X_test, y_test)\n", "xgb_score" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [], "source": [ "#Predict \n", "xboost_pred = xboost.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root mean squared error: 4.13\n" ] } ], "source": [ "print(\"Root mean squared error: %.2f\"\n", " % sqrt(mean_squared_error(y_test, xboost_pred)))" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAItCAYAAAAEx0bWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt4VNW9//HPDAGCCRDGGRjDRQQEije8IhV+YA/1Qq1RsKU0VrAiWhVLpLfnoIgBEbxAKVKk0gOVpmoVPTmoVI0KVItgFRRFIhqsRRqaiykhCCGZ9fsjZmQgDBPY2bP3nvfreXwOWZnLd5J1KJ+91v4unzHGCAAAAAAAl/AnuwAAAAAAAJqDIAsAAAAAcBWCLAAAAADAVQiyAAAAAABXIcgCAAAAAFyFIAsAAAAAcBWCLAAADvDpp5/K5/PpL3/5iyTp2WefVTAY1KeffmprHatXr5bP59PWrVttfV8n8vl8euSRR5JdBgCgCQRZAECT3njjDfn9fs2ZMydmvLa2Vn379tUVV1wRM/7xxx9r4sSJ6tmzp9q2batOnTrp3HPP1bJly6KPGT9+vHw+n3w+n1q3bq1+/fpp8eLFdnycw/zrX/9SZWVl3Mf07NkzWm/79u113nnn6c9//rMt9V111VX66KOP1LNnz4Qev3//fn388cctW1QLMcbolFNOUfv27bVnz55mP3/Pnj22B34AQHIRZAEATbrooos0btw43Xvvvfr3v/8dHX/ooYf0+eefa+HChdGx5557TmeddZb+85//aPHixdq4caOeeeYZjRkz5rBwNXDgQG3btk1vv/22fvjDH+rmm2/WM888Y9vnkhpCd9euXfXee+8d9bE33XSTtm3bpqKiIg0fPlxjxozRs88+2+I1+nw+BQKBhB8/YsQIzZw5swUrajmrV6/Wzp075fP59PTTTzf7+d/4xjdiLpgAALwvLdkFAACc6/7779f//d//6a677tLixYv1z3/+U/fee6+mT5+uk08+WZK0bds2jRkzRlOnTtV///d/R587YMAAXXzxxYe9Ztu2bdWnTx9J0plnnqmnn35af/nLXzRq1Ch7PpSkuro6GWMSemxWVpb69OmjPn36aNCgQdq0aZMWL16sq6+++rDHRiIR+f3JuUZ84MCBpLyvFZYuXaohQ4YoMzNTy5Yt0/jx45v1fDd/dgDAsWFFFgBwRKFQSLNmzdLvf/97bd68WVOmTFGvXr2Ul5cXfczs2bPVu3fvmBDbHPv27VOXLl1ixh599FGdfvrpatu2rUKhkK6//npVVFTEPGbNmjUaPny4MjMzlZGRoUsuuUTvvvtu9Pv79+9XXl6eunbtqvT0dJ155pkqKyvT9OnT9Y1vfEOSdPHFF8vn8zVrW+qAAQP0j3/8Q9LX95M+++yzOv3009WxY8fo437zm9+oV69eysjI0AUXXKDXXnst5nVWrlypM888U23bttWAAQO0evXqmO8vW7ZMPp9P+/bti479/e9/16WXXqr27dsrMzNTo0ePjt5bu379ev3hD3+Qz+fT9OnTJUn19fW666671LVrV3Xo0EHDhw/Xpk2bYt7n97//vU499VS1bdtW559/vjZv3nzEz75jxw61atVKjz76aMz43XffrezsbNXX1+u9997TJZdcog4dOigrK0uTJ0+O+/Osrq7WihUrNGbMGP3gBz/Q2rVrVVJSctjjXn75ZQ0ZMkQnnHCCOnbsqMmTJ0d//rt27dI999wjn8+nZcuWHXa/caNwOBz92UgNAfq8885T+/bt1bVrV/3yl79UJBKJWy8AwBkIsgCAuG688Uade+65uu6667RixQotXrxYaWlfb+h5+eWXdeWVVzb7dffu3atZs2Zp9+7duummm6Ljs2bN0m233aYf/ehHevPNN/Xoo49q7dq1MSu2a9eu1YgRI9SrVy8VFRVp1apV8vl8uvjii1VeXi5Juuuuu/Tkk0/qscce05tvvhl9j9tvv10vvviiJOmPf/yjtm3bpm7duiVcd3Fx8WH3rc6cOVOzZ89WUVGRJOm+++7TjBkzNHPmTP3tb3/T8OHDNXLkSG3fvl2StGHDBl111VUaMmSIXn/9dc2YMUP33HNP3PfduHGjhg4dqvT0dK1cuVKvvfaahgwZom7dumnbtm0aOHCgRo0apW3btun222+XJN1yyy0qKCjQokWLtGbNGvXo0UOXXHKJ/vOf/0iSVqxYoYkTJ+qHP/yh1q1bp1tuuUX5+flHrKFbt266+OKL9dRTT8WMP/nkkxo3bpx8Pp8uvfRSderUSa+//rpWrlyp008/Pe7n+vOf/6wDBw5o9OjRuvLKK9WuXTv94Q9/iHnM888/r8suu0z9+/fXK6+8ohdeeEHf+MY3NGjQIG3btk3BYFCTJk3Stm3bNHr06Ljvd7DCwkLdfvvt+utf/6rp06fr/vvv1xNPPJHw8wEASWQAADiK5cuXG0lm0KBBh32vdevWZsGCBTFjffv2NW3btjVt27Y1J598cnR83LhxxufzmbZt2xqfz2fS0tLM/fffb+rq6owxxuzdu9dkZGSYO++8M+b11q1bZySZV1991RhjzMUXX2yGDBkS85jq6mpz4oknmmnTphljjPnud79rvvnNb5pIJHJYzR9++KGRZF577bW4n/vkk082v/zlL40xxlRVVZkHHnjAtGrVyrzyyivGGGNee+01I8k8/PDD0efs3bvXZGZmmscff/yw15o1a5YxxpiRI0eaoUOHxnz/mWeeMZLMqlWrjDHGLF261EgyX375pTHGmCuuuMKcffbZpr6+vslaBw0aZMaNGxf9+tNPPzV+v9+sW7cuOrZv3z7Tpk0b86c//ckYY8yAAQPMj370o5jXmTt3rpFkPvzwwybfZ9myZSYtLc2Ul5cbY4x5++23jSRTXFxsKioqjCTzyCOPNPncplx00UXm8ssvj349ZswY07Nnz5jf2+mnn26uvPLKI75Gly5dzN133x39evv27TE/yyM97lBnnXWWufnmm6NfSzKLFi1K+LMAAOzDiiwAIK59+/Zp5syZGjJkiNavX6+XXnop5vuZmZn64osvYsZeeOEFbdq0SRMmTIjZGis13Be7adMmbdy4UcuXL9ejjz6qq666SpL0wQcfqKamRpdddlnMcwYNGqT09HS9//77khpWNA99TGZmps4777zoYyZPnqx3331XAwcO1P/8z/+otrb2mD7/gw8+qPT0dGVlZWnRokVasWKFvvWtbx1WX6P3339fe/bs0bhx45Senh7977PPPouuyL7zzju65JJLYl5j4MCBcetYu3atrrrqqoTvwd2wYYMikYiGDx8eraFjx46qra3V9u3btW/fPn344YfNrmP06NFq06ZNtOHVE088oaFDh6pv374KBAL6yU9+oltvvVVjx47Vhg0b4r7Wtm3b9MYbb+h73/ue6urqVFdXp+9///v69NNPo1uxv/jiC73//vvNWmlN1FtvvaVbb71V3/zmN9WlSxe9++67h81lAIAzEWQBAHHdc8892rVrl1asWKGcnBzdcsstMeH0/PPPP+z+z969e6t///4KBoOHvV56err69++vs846Sz/4wQ/029/+Vs8995w+/PBD1dfXS5JatWrVZC379++X1HDvZ1OPMcZEH/Otb31Ln3zyiXJycvSrX/1KZ511Vkz35UT9+Mc/1rvvvqsdO3ZEX+9QmZmZ0T+3adNGkrR8+XJt2rQp+t+WLVui24erq6uVnp4e8xqHBv5D7du3L/raiWh87CuvvBJTx4cffqiJEydqz549MsY0u47MzExdffXVeuqpp2SM0ZNPPqkf//jH0e//9re/1Zo1a1RXV6fBgwfrjjvuOOJrLV26VFLDz7h169Zq3bp1NLA2diFurKc5n70x7B96v+vBX69du1aDBw9WIBDQ3Llz9f7772vo0KEJvwcAILkIsgCAI3rnnXf04IMP6t5771Xnzp01d+5c7dixQzNmzIg+5tZbb9Vrr72m//3f/z2m9zBfdQ8+cOCABgwYoLZt2x626rthwwbt27cvuvJ5zjnnHPaYmpoavfPOOzGro126dFF+fr62bNmiTz/9VAUFBZK+DjqNwTmeQCCgfv36qWvXrgl9nj59+qh169b65z//qf79+8f8d9JJJ0mS+vbtq9dffz3meWvWrIn7umeeeaZefvnlI37f7/fHfJ7GhlalpaWH1REMBhUMBqP3sjanDkm67rrr9Oqrr+r555/XF198oe9973sx37/ooov01FNPaf78+Zo3b16Tq5yRSETLly/XlVdeqbfeeivmv2uvvVYrVqxQdXW1wuGwOnfu3KzP3rlzZ/l8Pn3++efRsYqKiuj905L09NNPq3///poxY4YuvPBCdezYUR999NFRPzsAwBk4fgcA0KS6ujr9+Mc/1sCBA3XzzTdLknr16qUpU6bogQceUG5urgYMGKArr7xSeXl5+v73v69Jkybp6quvViAQ0Pbt26NNlQ62f/9+ffzxx6qrq9PWrVv1i1/8QhdccIHOOOMM+Xw+/exnP9N9992nE044QSNGjNBnn32mKVOm6JJLLomumE2bNk0jR47UxIkTdcMNN6i2tlazZs1SmzZt9JOf/CT6mHPOOUennnqqNm7cqP3796tv376SpOzsbKWlpenpp59WIBBQ3759lZGRYcnPLSMjQ7fccoumT5+u9PR0DRkyRJ9//rkeeeQRLV++XB07dtSkSZN0ww03aNq0abr66qu1adMmzZ8/P+7r3nXXXcrJydGNN94YXQF99dVXNXXqVElS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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(y_test, xboost_pred)\n", "plt.xlabel('Measured')\n", "plt.ylabel('Predicted')\n", "plt.title('XGBoost Predicted vs Actual')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Scores:\n", "Linear regression score: 0.9101721045818417\n", "Neural network regression score: 0.8532397997401182\n", "Lasso regression score: 0.8873130463758103\n", "ElasticNet regression score: 0.888862421794889\n", "Decision forest score: 0.9023960871039343\n", "Extra Trees score: 0.9167571974098775\n", "Boosted decision tree score: 0.892229896203619\n", "XGBoost score: 0.8902505097601974\n", "\n", "\n", "RMSE:\n", "Linear regression RMSE: 3.74\n", "Neural network RMSE: 4.78\n", "Lasso RMSE: 4.19\n", "ElasticNet RMSE: 4.16\n", "Decision forest RMSE: 3.90\n", "Extra Trees RMSE: 3.60\n", "Boosted decision tree RMSE: 4.09\n", "XGBoost RMSE: 4.13\n" ] } ], "source": [ "print(\"Scores:\")\n", "print(\"Linear regression score: \", linear_regression_score)\n", "print(\"Neural network regression score: \", neural_network_regression_score)\n", "print(\"Lasso regression score: \", lasso_score)\n", "print(\"ElasticNet regression score: \", elasticnet_score)\n", "print(\"Decision forest score: \", decision_forest_score)\n", "print(\"Extra Trees score: \", extratree_score)\n", "print(\"Boosted decision tree score: \", boosted_tree_score)\n", "print(\"XGBoost score:\", xgb_score)\n", "print(\"\\n\")\n", "print(\"RMSE:\")\n", "print(\"Linear regression RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, lin_pred)))\n", "print(\"Neural network RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, nnr_pred)))\n", "print(\"Lasso RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, lasso_pred)))\n", "print(\"ElasticNet RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, elasticnet_pred)))\n", "print(\"Decision forest RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, regr_rf_pred)))\n", "print(\"Extra Trees RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, extratree_pred)))\n", "print(\"Boosted decision tree RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, tree_2_pred)))\n", "print(\"XGBoost RMSE: %.2f\"\n", " % sqrt(mean_squared_error(y_test, xboost_pred)))" ] } ], "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.6.7" }, "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": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }