Skip to content

Instantly share code, notes, and snippets.

@apetenchea
Created March 20, 2019 01:05
Show Gist options
  • Save apetenchea/0ef0e5fe6af48b8ea0e1913ce256dc2d to your computer and use it in GitHub Desktop.
Save apetenchea/0ef0e5fe6af48b8ea0e1913ce256dc2d to your computer and use it in GitHub Desktop.
For meetup
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn.ensemble import RandomForestRegressor\n",
"from sklearn.model_selection import train_test_split\n",
"from pandas.api.types import is_numeric_dtype, is_string_dtype\n",
"from sklearn.metrics import r2_score\n",
"import xgboost as xgb\n",
"plt.rcParams['figure.figsize'] = 16, 9"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Prepare dataset"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('./data/train.csv')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"# Transform categorical data into numerical data\n",
"def make_cats(df):\n",
" for n, c in df.items():\n",
" if is_string_dtype(c):\n",
" df[n] = c.astype('category').cat.as_ordered()\n",
" df[n] = df[n].cat.codes + 1\n",
" \n",
"# If a column has missing values, replace them with the median and add another column 'missing'\n",
"def fix_numeric(df):\n",
" for n in df:\n",
" col = df[n]\n",
" if is_numeric_dtype(col) and any(pd.isnull(col)):\n",
" df[n + '_nan'] = pd.isnull(col) * 1\n",
" filler = col.median()\n",
" df[n] = col.fillna(filler)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"df.drop('Id', axis='columns', inplace=True)\n",
"make_cats(df)\n",
"fix_numeric(df)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"X = df.drop('SalePrice', axis='columns')\n",
"Y = df.SalePrice\n",
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2)\n",
"X_train, X_valid, Y_train, Y_valid = train_test_split(X_train, Y_train, test_size=0.3)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(817, 351, 292)"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(X_train), len(X_valid), len(X_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Random forest"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Validation: 0.767147865699559\n",
"Training: 0.8158940396277206\n"
]
}
],
"source": [
"rf = RandomForestRegressor(n_estimators=100, n_jobs=-1)\n",
"rf.fit(X_train, Y_train)\n",
"print('Validation: ', r2_score(Y_valid, rf.predict(X_valid)))\n",
"print('Training: ', r2_score(Y_train, rf.predict(X_train)))"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1e4d69c2320>]"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6sAAAIMCAYAAAATjDpnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd4W+X5xvHvsSzvvXfsDNvZCdkBAgFC2aXMQFltKdBCB6WDlg5KC3RTOn60tKVlFMIsZYRNKJC9946deO+9NM75/WHHJCFOZEe2ZOX+XJcvx9KR9DiQxLfe930ew7IsRERERERERPxJkK8LEBERERERETmSwqqIiIiIiIj4HYVVERERERER8TsKqyIiIiIiIuJ3FFZFRERERETE7yisioiIiIiIiN9RWBURERERERG/o7AqIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4nWBfF3CkpKQkKzc319dliIiIiIiIyCBYu3ZtrWVZyce7zu/Cam5uLmvWrPF1GSIiIiIiIjIIDMPY78l12gYsIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4HYVVERERERER8TsKqyIiIiIiIuJ3FFZFRERERETE7yisioiIiIiIiN9RWBURERERERG/o7AqIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4HYVVERERERER8TsKqyIiIiIiIuJ3FFZFRERERETE7yisioiIiIiIiN9RWBURERERERG/o7AqIiIiIiIifkdhVURERERERPyOwqqIiIiIiIj4nWBfFyAiIiJDo93h4u8fFfHs6hJGpUQxb0wS8/KTGZMShWEYvi5PRETkMAqrIiIiAc5tWry4tpTfvrOTquYuTh2dSFlDOz9/fTu8vp302DBO7wmup41OIi4ixNcli4iIKKyKiIgEsv/tquHBxdvZUdnClOw4/nTtKczITQCgrLGDD3fV8OGuGt7YUslza0oJMmBSVhzfP7+QWSMTfVy9iIiczAzLsnxdw2GmT59urVmzxtdliIiIDGvbK5p5YPF2PtpdS05CBN87r5ALJqb1ud3X5TbZWNrEh7tqeGl9KQ1tTp69dTbjM2KHuHIREQl0hmGstSxr+nGvU1gVEREJDG7TYmNpI8+sPMAL60qJCbPztbNGc/2cEYQG2zx+noqmDi77v2W4TIv/fHUuWfERg1i1iIicbBRWRURETgKVTZ18uKuG/+2u4ePdtTR1OAmxBXHj3BHcMX8MsRH2AT3vrqoWrnhkGcnRobz4lbk6xyoiIl7jaVjVmVUREZFhxOk2Wbmvnv/tqubDXbXsrGoBICU6lAXjUjmjp0lSfOSJhcv81GgevWE6N/xjFTc/voanbp5FmN3z1VkREZETpbAqIiIyTJQ1dnDrk2vYUtZMiC2IGXnxXHZKIWcUJFOQGu318TOzRybyu6snc8fT6/nmog38+fOnYAvSiBsRERkaCqsiIiLDwMp9dXz13+twuEweunoynxmfRkTI4P8zftGkDKqau/jZa9u479Wt3HvJ+GOG4t1VLTy96gCdTje3zx+t864iIjJgCqsiIiJ+zLIsnlyxn/te3UZOYgSPXj+d0SlRQ1rDl07Lo6Kxg79/XER6XDi3nTHqsPs7nW7e3FLJ0ysPsKq4HrvNIMgw+M/6Mm4/czRfnjdSW4hFRKTfFFZFRET8VJfLzY9e3sJza0o5uzCFhxZOISZsYA2TTtQPLhhLZXMnv3hjB2kxYVw6NZN9Na08vfIAL64rpaHdSW5iBN8/v5ArpmXR4XRz/+vb+e07u3h+bSk/uXgcZ49N9UntIiIyPHnUDdgwjPOAhwEb8HfLsn5xxP0PAfN7vowAUizLijMMYz7w0CGXFgILLct6ua/XUjdgERERqGru5Lan1rL+QCNfP2s03zwnnyAfnxftcrm58bFVrN3fwNTseFYV1xMcZHDu+FSunTmCuaMSP1Xjx7tr+ckrW9hb08ZZhSn8+KJx5CZF+ug7EBERf+C10TWGYdiAXcACoBRYDVxjWda2Pq7/GjDVsqwvHnF7ArAHyLIsq72v11NYFRGRk93a/Q3c9tRa2rpc/O6qyZw3Id3XJfVq6nByzaMraO50cs3MHK6cnkVKdNgxH+NwmTy+rJjfv7sLp9vilnkj+er8UUNy5lZERPyPN8PqHOBey7I+0/P19wEsy3qwj+uXAT+xLOudI26/BTjDsqzPH+v1FFZFRORk9sLaUn7w0mbSYsP42w3TKUiL9nVJn2KaFoZBv7sPV/VsI/7P+jJSY0K5duYIrp6RTVrsscOuiIgEFk/DapAHz5UJlBzydWnPbUd70RFAHvD+Ue5eCDzjweuJiIiclP67oYzvvLCRmXkJvHLHqX4ZVAGCgowBjclJjQnjoaun8Nytc8hPjeahd3cx9xfvcfPja1iyoxq3efyjSdDd0GlXVQtdLne/axARkeHDk/03R/vXqK9/TRYCL1iWddi/HoZhpAMTgbeO+gLdq663AOTk5HhQkoiISGBZsqOau57byKy8BP5+4/SA7p47My+BJ780i/11bSxaXcLza0p4d3sVmXHhXD0jm6tnZJMa073a2ul0s72imS1lTWwua2JLWTO7qlpwmRb5qVH84ZqpFKbF+Pg7EhGRweDVbcCGYawHbrcsa9kRt38DGG9Z1i3HK0jbgEVE5EidTjdL99SyuriB2SMTOH1MMjYfNxvyplVF9Vz/j5Xkp0bz9JdnEe2jjr++4nCZvLOtimdWHeDjPbXYggxmj0ygrtXB7urW3hXX+Ag7EzJjmZAZS3psGH94bw/NnU7uuWAsN8wZMaDVXhERGXrePLMaTHeDpbOBMrobLF1rWdbWI64roHvlNM864kkNw1gBfN+yrCXHK0hhVUQkMP3lf3t5dWM5k7JimTYigRm58eQkRPQZMFo6nSzZWcNbWyv5YEc1bY5PNu1kxoWzcEY2Vx2yAjdcbSlr4ppHV5AcE8rzt84hMSrU1yX5VHFt92rru9uryIoPZ0JGbE9AjSEzLvyw/19qW7v4zvMbWbKzhrMLU/jVFZM8/v1zuU1KGjqobOqksrmDyqYuqpo7qWjqoLK5i6qmTgBuP2s0187MCag3R0REfM1rYbXnyS4Afk/36JrHLMu63zCM+4A1lmW90nPNvUCYZVl3H/HYXGApkG1Zlnm811JYFREJPE+u2M+PXt5CYVo0ZY0dtHS6AEiKCmVGbjzTRsQzIzeB9Ngwluys5s0tlSzdU4fDbZIUFcKCcWl8Znwq03MTWLKjmmdWHWDZ3jpsQQZnF6Zwzawc5g3D1dai2jau/MsyQmxBvPCVuWTEhfu6pGHHsiz+tayYBxfvIDbCzu+umszpY5KPeq3btFi5r47XNlfw5pZK6tsch90fHRZMWkwYabFhpMWEsb++nVVF9RSmRXPvJeOZPTJxKL4lEfGRoto2lu6ppdPpxrQsXKaFaVq4TXBb3b8GmJoTx2ljkggNDtzjGoPNq2F1KCmsiogElre3VnLbU2s5qzCFv1w3jSDDYHd1K6uL61m7v4HVxfWUNnQc9pis+HDOG5/GZyakcUpO/FFDaFFtG4tWH+CFNaXUtTl6zzveODeX2HD/30Zb0dTBFY8sp8Pp5vnb5jAqOcrXJQ1r2yua+foz69ld3cot80by7XMLCAkOwm1arC6u5/VNFbyxpYLaVgfhdhtnj01hXn4ymXHhveE0MvTwVh6WZfHGlkruf307ZY0dXDgpnR9cMJZMvakgEjAO1LXz2uZyXt9Uwdby5mNee/CfItOC6NBgFoxL5fyJ6Zw+JsnjPgOdTjcOt0nMSXbc40gKqyIi4nNr9zdw7d9WUJgewzNfntXnXM3Kpk7W7K+nrKGD08YkMS49xuPzhwfPOz69aj9L99QxITOGp788269/EKhvc3DVX5dT2dTJoltmMyEz1tclBYQOh5v7F2/jqRUHmJAZw7SceBZvqaSmpYswexBnF6Zy4aR05hekEB7i+YpIh8PNXz/cyyMf7MUw4CtnjObWM0b6rAlWW5eLxZsreH5NKaUN7fz8cxM4qzDVJ7WIDEcl9e0s3lzB65sr2FTaBMCU7DgumpTOgnGpxEWEYAsysBkGQUFgMwxsPV3QHS6TpXtqeX1zBW9vraS500VUaDDnjE3hgonpzMtPJsxuo77NwZ7qVvbWtB72uayxA8vq3smRFR9BVnw4mXHhZMWH936dmxRJVGhgz6FWWBUREZ/aV9PK5Y8sIzbczotfmTskZzHf31HFLU+s5ZQR8TzxxZl+2VG3tcvFtX9bwc7KFh7/4kxtLR0Eb2+t5HsvbqLd4easwhQunJTOWYUpfb5Z4qnShnYeXLyD1zdXkBkXzvfOL2RKVhyx4XaiwoIHdRu6ZVms3d/Ac2tKeG1TBe0ON3lJkdht3TsV7jwnnzvmjyZomG2FFxkKNS1dbChpZENJAx/vqWNjSSMAk7NiuXBSOudPSCc7IaLfz+twmSzbW8vizRW8va2KxnYnUaHB2G0GDe3O3uvC7EGMTIpiVEoUo5OjCLMHUdbYQVlDB6UNHZQ2tB/WlyHMHsRtZ4zi1nmj+vXG2nCisCoiIj5T3dLJ5Y8so73LzUtfncuIxMghe+1XNpbzjUXrOTM/mb9eP52QYE9Gig+NutYuvvrvdazZ38Bfr5vGOeO0GjZYDp45O9GAejTL99bx01e3sqOy5bDbo0ODiQm3Ex3W/Tk23M649BhOG5PElOw47Lb+/79Y1dzJi+tKeWFNKftq24gMsXHhpHSump7NtBHxdDpNfvCfzfxnfRkLxqXyu6smn3TdpEUO1el0s7W8ifUHGtlQ0sj6A42UNXYfNbEFGUzIiOH8ielcOHFgAbUvTrfJ8r11vLW1EtOyGJX8STjNjAs/5htJlmXR1OHsDa6vbqzofVPs+xcUcuHE9IDrdq6wKiIiPtHW5WLhoyvYU93KoltmMzk7bshreHrlAX7wn81cNCmdhxdO9YvGSx/srObbz2+iucPJr6+cxGenZPq6JDkBLrfJx3tqqW110NzhpLnTSXOHi+ZOJ00dTpo7nN3bAGtasSyICLExKy+BU0cnMXdUEoVp0Yf98GqaFmWNHeyqamFXVSu7q1rYVd3CtvJmTKt7Nu1V07M5f0LaUc/W/mtZMT9/fTu5iRH89frpjE7RGWg5OdS1drG6uIE1xfWs3t/A1rImXD2NkDLjwpmSHdf9kRPHhIzYYbNSuWJfHT99dRvbK5qZmZvAjy8eF1BHRhRWRURkyDndJjc/voaP99Tytxum+fQc3V//t5cH39jBNTNzeOBzE3z2rnSn080v39zBP5cWk58axcMLpzI2PcYntcjQa2x3sGJfHUv31LF0Ty37atsASIwMYc6oREKDbeyubmFPdSvth2wDTIsJY0xqFFOz47jslCxyk46/O2H53jrueHodXS6Th66ewoKTYOW+0+nmuTUlxITZuXhyhl+8MSWDx7IsDtS3s7q4gdVF9azeX8++mu4/UyHBQUzJimNabjxTsuOYmh1HyjAfbeY2LZ5dXcJv3t5JQ7uDhTOy+fa5BQEx4kxhVUREhpRlWXz3hU08v7aUX1w2kYUzc3xdEr96cwf/98FebjtjFHefXzjkr7+zsoVvLFrPjsoWbpqby93nF/rlOVoZOhVNHb3BdfneOkzLIj81mjGpUeSnRpOfGsXolOgBd7Qua+zgtifXsrmsia+fPYZvnj0mIM+xHuzU/MDi7b3dxMemx3DPBWM5bUySj6s7eTS1Oymqa6O4to2i2jYa2h2kxoSRHhtGemw4GXHdo6A8HfHiNi2qWzopb+ygrLH788GPssZOyhraae4ZfRYbbmf6iHhm5HXP7Z6QGRuwo2Sa2p08/N5unlheTHiIjW+cPYYvnJo3rN+cUVgVEZEh9dA7u3j4vd18/ewxfGtBvq/LAbp/oP3Rf7fw1IoDfPe8Ar565ughe93HlxXzwBs7iAkL5tdXTGZ+YcqQvLZIp9PND1/ewgtrS5lfkMzCmTmMz4ghMy48IM69bS1v4r5Xt7GyZwbujy8aR12bg1++uYPShg7OLEjm++ePpSAt2telBgyX22RVUT3rDjSwr7Y7nBbXtR82q9gwICo0uHeO9qGSokJIjw0nOToUp9uk0+mmw+mmw9Hz0fN1p9P81GNjwoLJiOvumJseF0ZhWgwz8xIYnRwVkG/EHMue6hZ++uo2Ptpdy7z8ZP6wcApxESG+LmtAFFZFRGTIvL6pgtufXsflp2Txmysn+dUPxKZpcedzG/jvhnJ+dukErp89YlBfr6ali28/v5H/7arhrMIUfnXFJJICYMuWDC+WZfHUiv387PXtOFzdASAmLJhxGTGMS49lfEYM4zJiGJ0SNaDGT75Q29rFb9/exaLVB4gLt/PtzxSwcEZO7+pSl8vNE8v288f3d9Pa5eLqGdnceU7+oG0FNU2Ldqeb9i4X7Q43EaE24sJD/Kqp24k42On2zS2VvL2tqjeYpsaEkpcUSV5SJLmJkb2/zk6IIMxuo93hoqKpk8qm7pXRiqZOKpo6KG/spLa1C7stiIgQG+F2G2E9n8PtNiJCbITZbaTEhH4STmPD1DDsCJZlsWh1CT/571ZSY0P5y3XTGJ8x/M6yKqyKiMiQ2FrexBWPLGdsejTP3DLbL7dhOd0mX3lqLe/tqOb+SydyzczsQQnUa4rrufXJtbR2ubjnwrFcP3uEXwV3Ofl0ONzsqGxmW0UzW8ub2VbezI7K5t4VrJDgIO69eDzXzvL9tv2+OFwmTywv5uF3d9PhdHPDnFy+cfYYYiOOHmIa2hz88f09PLmiGLstiFvnjeK62TkYhoHTbeJ0m7jcVs+vuz93uUyaOpyffLQ7Dv+6w0m7w02bw0V7l5v2ntXAo4kKDSY+0k58RAhxESEkRNiJiwghNSaM7IRPZmkmRoYM+t8PlmWxr7aND3bWsHxvLWF2G1nxEWTGd8/1zI4PJzMuorfpUKfTzce7a1m8pYJ3t1X1zhA9qzCFCyamcdqY5ICf/zlcrD/QwFeeWkdjh4MHL5vI56Zm+bqkflFY9VOmaVHS0D6kYxxERAZLXWsXl/xpKW7T4pWvnUpKtP82s+h0uvnyE2v4aHct8wuSuf9zE8mIC/fa87+xuYJvPLuBjNgwHr1hOvmp2oIo/sltWhTVtrK1vJlFq0pYVVzPv2+e5Xczfzudbl5aV8ajH+6luK6d+QXJ3HPhOI87HRfXtvGrt3aweHNlv1/bMLpHEcVFhBAbbicmPJio0GAiQoKJCLERGdrzOSSY8J7VwXanm4Y2Bw3tDhrbu7tBN7Y7aGh30tDmoKXr8O2x4XZbd2BM6A6vEzNjuWhSxgl3q+1wuFmxr44PdlazZGcNB+rbAchLisSyurtOO92H//yfGBlCelwYRTVttDncxIQFs2BcGhdMTOPU0Uk6a++nalq6uOPpdawsquemubncc+HYYbNTQmHVD7lNi++9uIkX1pbywbfP9Kizn4iIv3K6Ta77+0o2lDTy/G1zmJQ19CNq+sttdp8l/fVbO7EFGdx9fiHXzsw54XNP/1xaxH2vbWNKdhx/v2F6QHRqlJNDc6eTS/+8lKZ2J69+7TSvvoEzUI3tDp5cvp/HlxdT2+pgYmYs31qQP+Bz3+sONLBufwN2WxDBNgN7UBD2YIPgoCDsNgO7LYiQ4CBiw+3EhXeH0+iwYK+fh2zpdFLW2EFpfQclDe29MzVLGzooqe9uHBQXYefqGdlcP3sEWfGezwA9UNfOkp3VLNlZzfK9dXS5TMLsQZw6KokzC5I5syCld6aoaVrUtHb1vvbBj7LGDjLjwjhvQjpzRiYGzHbmQOd0mzy4eAePLS1iZm4Cf/r8VL9+4/gghVU/4zYtvvP8Rl5aXwbAv2+examj1a1ORIavH/93C08s389DV08edtuPSurbufulTSzdU8esvAR+cfkk8gbwBqJpWjz4xnb+9lER545L5eGFU4fNDD+Rg/ZUt3Lpn5cyKjmSZ2+d47NVtJL6dv7xcRHPri6hw+nmzIJkbp03itkjEwJ+O71lWawqqufx5cW8tbUKy7I4Z2wqN52ay5yRiZ/6/h0ukzXF9by/ozug7u0Z35KXFMmZBcnML0hhZl6CVkRPIv/dUMb3XtxEbLid//v8NKaNiPd1SceksOpHXG6Tu57fyH83lHPZKZm8tK6MP1wzlUsmZ/i6NBGRAXlm1QG+/9Jmbpk3kh9cMNbX5QyIZVk8t6aEn/c0oLnr3Hy+eGoewR5uoep0urnr+Y28vqmCG+aM4CcXjx/WYwTk5PbW1kpufXItV07L4ldXDG2TtM2lTfz1w70s3lyBLcjgksmZ3DJv5Enbzbe8sYOnVuznmVUHaGh3UpAazQ1zRzBvTDLL99axZGc1H+2upbXLRYgtiFkjE5hfkMJZhSnatXeS217RzK1PrqWiqYPfXDmZz07J9HVJfVJY9RMut8mdz23k1Y3lfOczBSyckc20n7/LvReP46ZT83xdnohIv60urufav61g7qgkHrtpxrAPaFXNnfzw5S28s62KyVmx/Pji8UzKij3muZ+mdidffnINq4rq+f75hdwyb2TAr/xI4Pvd2zv5w/t7+Nlnx3P9nNxBf71Op5sHFm/nieX7iQ4N5tpZOXzh1DzSYv1/C+NQ6HS6eWVjOY8vK2ZreXPv7WkxYcwv7F49PXV0EpFqeCSHaGp38r0XN/G1s0f7dZdghVU/4HSbfHPRBl7fXMH3zy/k1jNG4TYtRt+zmDvmj+aucwt8XaKISL+UN3ZwyZ8+JjrMzstfPbXPbpzDjWVZvLapgntf2Updm4OQ4CDGpkUzPjOWCRndYz4K0qIJs9sobWjnpn+uZn9dm9+/cy3SH6ZpcfMTa/hwVw3P3DKbGbkJg/Zau6pa+NrT69lZ1cIXTs3lzgX5xGhEyVFZlsXa/Q1sKm1i1sgExqXH6M0xGfYUVn3M4TL5+jPreXNrJT+8cCw3nz6y975TfvYO501I44HPTfRhhSIi/dPhcHPlX5dRXNvOy7fPZXRK4G3Ra2x38MHOGraWN7G1vJktZU009wy4twUZjEmJorbVQZfLzV+vn8bcUeo9IIGlqaO74VJLp4vXvnaa11c5LcviqZUH+Plr24gOC+bXV05mfsHAGieJyPDlaVjVvoFB4HCZ3P70Ot7ZVsWPLxrHF087fLtvYmQI9a0OH1UnItJ/zZ1OvvfCJraWN/P3G6YHZFAFiIsI4dKpmVw6tXu11LIsShs62FLWxJaeABsTZudnl044ac/TSWCLDbfz6PXTuPTPS7ntqbU8e6v3Zic3tDn47oubeGdbFfPyk/ntlZNJjlbnbBHpm8Kql3W53Hz1qXW8t6Oan14ynhvn5n7qmoTIEOrbFFZFxP+53CbPrC7h9+/soq7NwQ8uKOTssam+LmvIGIZBdkIE2QkRnD8x3dfliAyJManR/Paqydz21DrufWUrD1426YSfc9neWu58dgP1bQ5+eOFYvnhqntdHw4hI4FFY9bInlu3nvR3V/OzSCVw/e8RRr0mMCmFnZcsQVyYi4jnLsvhgZw33L97OnupWZuUl8K8LxzExy3+bNYiI95w3IZ3b54/iz0v24nBZTBsRT0FaFGNSoz0+W+p0m1Q1d/L0ygM88r+95CVF8o8bZzAhU3+PiIhnFFa9rKa1izB7UJ9BFbSyKiL+bXtFM/e/vp2P99SSlxTJo9dPY8G4VDX0EDnJfGtBAdXNXSzeXMGL60p7b8+IDSM/LZqC1GjGpEYTG26noqmDssYOyhs7KW/soLyxg6rmTsye1ihXT8/mJ5eMIyJEP3qKiOf0N4aXOd0m9qBjz+hLiAylod2Jy216PM9PRGSwVTd38tu3d/Hc2hJiw+385OJxfH7WCEKC9feUyMnIFmTw6ysn88vLJ1HW2MGuqhZ2VrWwq7KFnVWtLNtTh8Nt9l4fYgsiPS6MjNhw5o5KIjMujIy4cPLTojklJ96H34mIDFcKq17mclsE2469+pAYGQJAQ7tTjQVExC+sKqrnC/9chcNt8qVT8/jaWWMCZiyNiJyYoKBPzm4fembd5TYprmujtctNRlwYSZGhOocqIl6lsOplLtM85iB56D6zClDf5lBYFRGf21rexJf+tZrU2DAeu3EGuUmRvi5JRIaBYFtQwHYGFxH/oL1dXuZ0W8cNqwk9K6t1bV1DUZKISJ+Katu48bFVRIcF89SXZimoioiIiN9QWPWy7nOox9sG3L2aqiZLIuJLlU2dXPf3lZgWPHnzLDLiwn1dkoiIiEgvhVUvc7otgo9zXuPgyqrCqoj4SkObg+v/sZKmDiePf2Emo5KjfF2SiIiIyGF0ZtXLnO7jn1mN72laUteqsCoiQ6+ty8UX/rWa/fXtPP6FmZqdKiIiIn5JK6te5jKP3w042BZEXIRdZ1ZFZMh1udzc+uRaNpc18adrpjJnVKKvSxIRERE5KoVVL3O6TYKPM2cVusfXaBuwiAwlt2lx57Mb+HhPLb+8fBLnjk/zdUkiIiIifVJY9TKX2yLkONuAobvJkrYBi8hQsSyLe/6zmcWbK/nhhWO5YlqWr0sSEREROSaFVS9zmcfvBgzdTZa0sioiQ6HT6eau5zayaHUJt88fxc2nj/R1SSIiIiLHpQZLXuZwW4SHHP89gISoEFYXK6yKyOAqbWjntqfWsrW8mW8tyOdrZ432dUkiIiIiHlFY9TKX28R+nNE10H1mtaHdgdu0sHlwvYhIfy3bW8sdT6/H6TL5+w3TOXtsqq9LEhEREfGYwqqXudzH7wYM3duATQsa2x0kRoUOQWUicrKwLIvHlhbzwOLt5CVF8uj10xipOaoiIiIyzCisepnTNAn2oMFSQmQIAPVtCqsiJ6Omdidby5vYXNbElvJmdle1cMmUDL5yxigMY+C7LTqdbr7/0mb+s76Mc8el8turJhMdZvdi5SIiIiJDQ2HVyzztBpzUE1Dr2hyMGeyiRMTn1u6vZ8W+eraUNbGlvImS+o7e+zLjwkmMCuFXb+6kqqmTn1w8nqABHA8obWjn1ifXsq2imbsW5HP7/NEDeh4RERERf6Cw6mUut0mwBz8cHrqyKiKBbcW+OhY+ugKAEYkRTMqK49r2i26JAAAgAElEQVSZI5iQGcP4jNjuYwGmxYNvbOdvHxVR3+7kt1dOJiTY84btS3ZWc9dzG3G6TP5x43TOKtT5VBERERneFFa9zGlaHm0DTuwJq3UKqyIB77GPi4iPsPP+XWcS3/Nn/0hBQQb3XDiOpKhQHnxjB43tDv5y3TQiQ4/913RNSxc/e20br2wsJz81ir9cp/OpIiIiEhgUVr3M6Taxe9Bg6eAPrPWtCqsigaykvp13t1fxlTNH9RlUD3XrGd3X3f3iJq79+0r+edOM3p0Yh7Isi+fXlHL/4u10ONx885wxfOXMUYQG2wbj2xAREREZcgqrXuZyWwQHHX9l1W4LIiYsmLq2riGoSkR85ckV+zEMg+tmj/D4MVdNzyYu3M4dz6znyr8s44kvzSIzLrz3/n01rfzgP5tZsa+embkJPHDZBEanRA9G+SIiIiI+4/mBKPGIpyurAIlRodoGLBLA2h0uFq06wHkT0kiPDT/+Aw5x7vg0nvziTKqbu7jikWXsqW7B4TL543u7Oe/hj9ha3syDl01k0S2zFVRFREQkIGll1ctcpmdzVqH73Kq2AYsErv+sL6O508UX5uYO6PGzRiby7K1zuOGxVVzxl+UkR4Wyu7qViyal8+OLx5ESHebdgkVERET8iFZWvciyLNymhd2DBkvQ3RFY3YBFApNlWfxraTETMmOYNiJ+wM8zLiOGl74yl9hwO+0ON4/dNJ0/XXuKgqqIiIgEPK2sepHTbQF4HFYTo0JYd6BxMEsSER9ZtreO3dWt/ObKyRjGic06zUmM4O075xFkGB7//SIiIiIy3CmsepHTbQJ4NGcVuldWG9odmKZFkIePEZHh4Z9Li0mMDOGiSeleeT51+RUREZGTjd6i9yJXz8qqJ3NWARIiQ3GbFk0dzsEsS0SG2IG6dt7bUcW1s3IIsytkioiIiAyEwqoXOc3ulVWPuwH3zE5UR2CRwPLE8mJshsHnZ3k+rkZEREREDqew6kW9K6sezFmF7jOrgJosiQSQti4Xz64p4fyJ6aTFqgmSiIiIyEAprHrRwTOrnq6sJkQeDKtdg1aTiAytl9aX0dLp4qYBjqsRERERkW4Kq17kMvvZDTgyFNA2YJFA0T2upohJWbGckhPn63JEREREhjWFVS/q7Qbs4cpqfKQdgPpWhVWRQPDxnlr21rRx09zcEx5XIyIiInKyU1j1ok9G13j22xoabCM6NFgrqyIB4l9Li0mKCuFCL42rERERETmZKax60cEGS56eWQVIiApRWBUJAMW1bby/s5prZ43QTFQRERERL1BY9SKXeXAbsOe/rYmRIWqwJBIAnli+H5thcN2sHF+XIiIiIhIQFFa9yDmQldXIUOp0ZlVkWGvtcvH8mhIunJROSozG1YiIiIh4g0dh1TCM8wzD2GkYxh7DMO4+yv0PGYaxoedjl2EYjYfcl2MYxtuGYWw3DGObYRi53ivfv3yyDbi/K6sKqyLDUW1rF39esodzf/c/Wro0rkZERETEm4KPd4FhGDbgz8ACoBRYbRjGK5ZlbTt4jWVZdx5y/deAqYc8xRPA/ZZlvWMYRhRgeqt4f+M8uA04qH9nVuvbHFiWpe6hIsPEhpJGnlhWzGubKnC4TU4dncj9n5vI1Jx4X5cmIiIiEjCOG1aBmcAey7L2ARiGsQj4LLCtj+uvAX7Sc+04INiyrHcALMtqPeGK/ZjT1R1W+7uy6jItmjtcxEbYB6s0ETlBnU43r2+q4InlxWwsbSIyxMbCmdncMGcEo1OifV2eiIiISMDxJKxmAiWHfF0KzDrahYZhjADygPd7bsoHGg3DeKnn9neBuy3Lcg+4Yj/mMru3AXs6ZxUgITIEgLq2LoVVET9U2dTJkyuKeWZVCfVtDkYlR3LfZ8fzuamZRIfpz6yIiIjIYPEkrB4teVl9XLsQeOGQMBoMnE73tuADwLPATcA/DnsBw7gFuAUgJ2f4dtLs75xV+CSs1rc5GJk8KGWJnNQcLpNfvrmDcLuNBeNSmZgZS5AHW/U3lDTy2MdFLN5cgduyOGdsKjfNzWXuqERt2RcREREZAp6E1VIg+5Cvs4DyPq5dCNx+xGPXH7KF+GVgNkeEVcuyHgUeBZg+fXpfQdjvDWTOalJUKIBmrYoMApfb5M5nN/D65gqCDPjTkj2kxoRyzthUzhmXytxRiYfNRHW6Td7cUsljS4tYf6CR6NBgbpyby41zcslJjPDhdyIiIiJy8vEkrK4GxhiGkQeU0R1Irz3yIsMwCoB4YPkRj403DCPZsqwa4CxgzQlX7acOzlntz5nVQ1dWRcR7TNPi7pc28/rmCn544VguPyWL93dU8862Kv6zvox/rzxAZIiNMwqSWTAulYqmTp5Ytp/K5k5yEyO49+JxXDE9m6hQT/6aFBERERFvO+5PYZZluQzDuAN4C7ABj1mWtdUwjPuANZZlvdJz6TXAIsuyrEMe6zYM49vAe0b3vrm1wN+8/l34iYNzVgdyZlVhVcR7LMvivte28cLaUr55zhhuPn0kAJdPy+LyaVl0Ot0s31vH29uqeHd7FYs3VwJw2ugkHrhsAmfmp3i0VVhEREREBo9HSwaWZS0GFh9x24+P+PrePh77DjBpgPUNKwfPrNr7cWY1zG4jMsRGXavCqoi3/PbtXfxrWTE3n5bHN84e86n7w+w25hemML8whfvNCWwpbyIiJJjRKVE+qFZEREREjkb727zINYCVVeietVrX1jUYJYmcdB75YC9/WrKHa2Zmc8+FY4/bDCkoyGBSVtwQVSciIiIinvJ8CVCOyzmAM6sACZGh2gYs4gVPLi/ml2/u4JLJGfz80onq2isiIiIyjCmselHvymo/z7olRYZoG7DICXpxbSk/+u9Wzhmbym+vmoxNZ05FREREhjWFVS9yuU0Mg37/kJwQGaKVVZET8MbmCr7zwkZOHZ3In66d2u/dDSIiIiLif/QTnRc5TQt7UFC/tx4mRHWH1UMaKYuIh3ZUNvP1ReuZmhPPo9dPJ8xuO/6DRERERMTvKax6kdNl9ru5EkBiZAgOt0lrl2sQqhIJXJZlcd+r24gMDebvN0wnUjNRRURERAKGwqoXuUyr3+dVobvBEjBk51bdpkWHwz0kryUymN7eVsWyvXXceU4+8T0zi0VEREQkMCisepHTbQ7orFxizw/ZdUN0bvWRD/Zw5m+WYJradizDV5fLzQOLtzMmJYrPz8rxdTkiIiIi4mUKq17kclsD2wYc1R1Wh6rJ0mubKqhq7qKkoX1IXk9kMPxzaTH769r50UXjCFZDJREREZGAo5/wvMhpDmxlNSHyYFjt8nZJn1LR1MGOyhaA3s8iw01NSxd/en8PZxemMC8/2dfliIiIiMggUFj1IpfbGuA24J4zq0OwsvrBzpreX+9UWJVh6jdv7aTL5eaeC8f6uhQRERERGSQKq17kMs0BNVgKD7ERbrdR72GDpXUHGqhu7uz36wAs2VFNZlw4OQkR7KxSWJXhZ0tZE8+tLeHGObmMTI7ydTkiIiIiMkgUVr3I4bIGfHYuITLEo5XVLpebz/9tJT95ZWu/X6PL5WbpnlrOKEimIC1aK6sy7FiWxU9f3Up8RAhfO3uMr8sRERERkUGksOpFLtPEPoAGS9DdZMmTsLqptIkOp5v3dlTT0uns12usKW6gzeFmfkEKhWnRFNW20eU6eUfYON0mlqWOyIPt9n+v47zff8hrm8pPuAP165srWF3cwF3n5hMbbvdShSIiIiLijxRWvcjlHticVeheWfWkwdLKfXUAOFwm72yr6tdrLNlRTYgtiLmjEslPjcZtWuypbh1QvcNdfZuDeb9awuWPLGO3tkMPmqV7anl9cwVVzZ3c8fR6zn/4IxZvrhhQaO10unlw8Q4K06JZOEOjakREREQCncKqFznd5oC3ASdGhnp0ZnVlUT0FqdFkxoXzysbyfr3GB7tqmDUygcjQYArTogHYdRIGNcuy+OHLm6lt7aKoto0L/vARv393Fw6X6evSAoplWfzyzR1kxoWz7O6zeXjhFJymyVf/vY4L/vARb27pX2j924f7KGvs4CcXj8c2wDeFRERERGT4UFj1IpdpETLQsNqzDfhY21KdbpO1+xuYPTKBiyan8/HuWo9ns5bUt7OnupUzC1IAyE2KJMQWdFKOr3l1UwWLN1dy54J83v3WGZw/IZ3fv7ubi/74EesONHj0HG7TYnVxPe9tr8J9gltbA9WbWyrZVNrEN88ZQ3iIjc9OyeSdO8/goasn0+Uyue2pdVz0x495a2vlcbdjVzZ18n8f7OW88WnMGZU4RN+BiIiIiPhSsK8LCCQut0lw2MB+SxMiQ+hymbQ73ESGHv05Npc10e5wM2tkIjkJEfz1f/t4Y0sFn5814rjP/8HOagDOLOieSWm3BTEyOfKka7JU3dzJj17ewtScOG45fSTBtiD+cM1ULp2awT3/2cLljyzjprm5fPvcgk/9d3C4TJbvq+PNLZW8s62K2tbubdujU6K485x8zp+QRpBW/IDuPwu/fnsnY1KiuOyUrN7bbUEGn5uaxcWTMvjvhnL++P5ubn1yLdkJ4YxJiSYnIYLshAhGJESQkxhBdnwE4SE2fvXmDtymxQ8u0KgaERERkZOFwqoXOdwWwUED7wYMUNfq6DOsrtxXD8DMvAQSI0MYmRzJqxvLPQqrS3bWkJMQwcikyN7bCtOiWVVUP6B6hyPLsrj7pc10Ot385srJh23ZPqswlbfvTODXb+3kn0uLeXtrFQ9cNpEZufF8uKuGt7ZW8e72Klo6XUSE2JhfmMJnxqcRZMDD7+7m9qfXMTY9hm8tyOecsSkYxomHVtO0eOjdXcwZmcjc0Ukn/HxD6cV1peyraeOv10876pbdYFsQl0/L4rNTMnh5QznvbKvkQH0HK/fV0eY4vOlXSnQo1S1dfOXMUeQkRgzVtyAiIiIiPqaw6kUu9wl0Az4YVtu6+vyBfGVRHaNTokiKCgXgkskZPPzebiqbOkmLDevzuTudbpbtreXq6dmHhaiCtBhe3lBOU4fzpOis+vzaUt7fUc2PLxrHqKPM54wOs3PfZydwyeQMvvfiJm58bBUhwUE4XCZxEXY+Mz6N88ancdqYJMLstt7HnT8hnVc3lvP7d3fx5SfWMDkrlrvOLeD0MUknFFofW1rEH9/fw+PLinnzm/PIiAsf8HMNpU6nm4fe2c3UnDjOHZd6zGuDbUFcMS2LK6Z1r75alkV9m4MD9e0cqG+npL6d/XXtdLlMbp8/eijKFxERERE/obDqRS7zxOasAn2eQXWbFmuKG7hkSkbvbRdPzuD37+7mtU3l3Hz6yD6fe2VRPZ1OkzMLUw67/dAmSzNyEwZU93BR2tDOfa9uY1ZeAjfNzT3mtdNzE3j966fzj4+LqGnp4txxqczMS+jzv60tyODSqZlcNCmdl9aV8fB7u7nhsVXMyI3n2+cWMGtk/89Ybi1v4ldv7mTOyEQ2lTZy57MbePrLs4dFY6EnlhdT2dzJ7xdO6XdYNwyDxKhQEqNCmZoTPzgFioiIiMiwoAZLXuR0m9gHGCYOrpb2NWt1W3kzrV0uZuV9EipHJUcxPiOGVzdVHPO5l+yoJjQ4iDlHhKb8nrAa6E2WTNPiuy9swrIsfnPlZI/OlYbZbdw+fzT3XjKeuaOTPHoTItgWxFUzsnn/22fws8+OZ39dO1c/uoLn1pT0q94Oh5tvLNpAXISdP3/+FO69ZDwri+p59MN9/XoeX2jqcPLnJXs5Iz+Z2QMI6SIiIiIiBymsepHLbWEfpJXVlUXd81WPDAAXT85gY0kj++va+nzuD3ZWM3dU4mFbVwEyYsOIDgtmV4CH1adW7mfZ3jruuXAc2QmDf+YxNNjG9XNy+fC78zl9TBLff2lzv2bi3r94G3uqW/ndVVNIiAzhimlZXDgxnd++vZNNpY2DWPmJ+9uH+2jqcPKdzxT4uhQRERERGeYUVr3IZZoED/DMakSIjdDgoD7D6op99eQmRpAac/jZ1Isnd28Lfq2P1dWi2jaK69p7R9YcyjAMClKjA7ojcHFtGw8u3sG8/GSumZk9pK8dZrfxl+umMSEjhjueXudRM6t3tlXx1IoD3DJvJKeN6W6qZBgGD3xuIsnRoXxj0QbaHa7BLn1Aqls6+cfHRVw8OYMJmbG+LkdEREREhjmFVS9yuMwBr6wahkFiZEjvOJRDmT0zPWflfXpbZWZcONNHxPPKhvKjPu+SHd0ja+YfJawCFKRFs6Oy+bhzLocjt2nx7ec3Emwz+OXlE73Sobe/IkODeeymGWTGh/Olx1ezvaK5z2urmzv53oubGJcew13n5h92X2yEnd9dNYXiujbue3XbYJc9IH98bw9Ot8ldC/KPf7GIiIiIyHEorHqRy7QIPoEGOAlRIUddWd1R2UJTh5NZI4/eBOniyRnsrGo56grpB7tqGJkc2WeH4YK0aJo7XVQ1fzokD3f/+Hgfa/Y38NNLxpMe67tOuolRoTzxxZlEhgRz42OrKKlv/9Q1pmlx1/MbaXe4+MM1UwkNtn3qmjmjErntjFEsWl3Cm1uOfU55qO2va+OZVQdYODOb3EPGI4mIiIiIDJTCqhe53APvBgyQEBl61LB68LxqX11lL5iYTpABr248fHW13eFixb66PldVAQpSDzZZ6nvFbziqaOrgN2/v4txxqXxuaqavyyErPoLHvziTTqebGx5b9akV9MeWFvHR7lp+dNE4Rqd8eqzOQXeek8+krFjufmkzlU2dg122x373zi6CbQZfP2uMr0sRERERkQChsOpFTnPgc1YBkiJDqGs9SljdV09WfDiZfczZTI4OZe6oJF7dVH7Ydt7le+twuMxjh9WejsCBdm712dUlOFwmP7ponE+2/x5NQVo0j900g4qmDm765ypaOp3AJ2NqFoxL5dqZOcd8jpDgIH5/9RS6nCbfem4Dpnns7dsOl0lTu9Nr38PRbC1v4r8byvniqXmkxPQ971dEREREpD80Z9VL3KaFZTHgM6vQ3RH4yJVVy7JYVVx/zMAJcMnkDL774iY2lTYxOTsOgCU7q4kIsTEjr+95lXERIaTGhAZUWHWbFs+tLuH0MUlD0v23P6bnJvB/nz+FLz+xllufXMsj103rHVPzy8sneRSsRyZHce8l4/jei5v520f7uPWMUb33NXc6Wbe/gdXF9awubmBjSSNdLpMRiRFMzY5jak48p+TEU5gefdT/Vy3LorShg63lzWwrb2JreTO7qlswMAizBxFmt/V+hPd8vb2imdhw+2F1iIiIiIicKIVVL3G6TYABdwOG7jOrHU43HQ434SHdZxZ3V7dS3+bo87zqQZ+ZkMY9L2/m1Y3lTM6Ow7IsluyoYe6opKOefzxUQVoMO6sCJ6x+uLuG8qZO7rlwnK9LOaqzClP51eWTuOv5jZz92/9R29rFk1+a2Tu+yBNXTc9myY4afvP2TsLsNvbVtLKquKGnWRbYggwmZMRw3ewRJEWFsrGkkWV763i5pxFXaHAQk7JimZoTT15SJHuqW9la3sS28maaO7u7DQcZMDoliinZ8dgM6HSadLq6//9s6nBS1eSm0+Wmy2nyvfMKiQ23D8rvl4iIiIicnBRWvcTVsx3THjTwldXEnrBS19ZFVkj3iuDKfT3nVfOOHVZjw+2ckZ/Ca5sq+MEFY9lb00pZYwdfnX/81a7CtGj+tawOl9s8oTO3/uLZVSUkRoawYFyqr0vp0+XTsqhr6+KBxTv48ul5nD4muV+PNwyDBy+byPkPN/KTV7YSEWLjlJx4vnH2GGbkJjAlO47I0MP/eFuWRUVTJ+sONLD+QCPrDzTwr6XFONwmocFBFKbHcNHkDMZnxDA+I5bCtOhPzeYVERERERkqCqte4nR5YWU1MhSAulYHWfHdYXVFUT1pMWHkeLCd9ZIpGby7vYrVxfVsKm0COOp81SMVpEbjcJkU17Ufs7nPcFDT0sW726v44ml5hAT7d/C+Zd4ozixIYXTywH7P4yNDeOmrc6lrdTA2Pfq4bzQYhkFGXDgZceFcNKl7Pm+Xy01VUxcZcWEB8UaFiIiIiAQOhVUvcZoHw+qJnVkFes+tWpbFqqJ65o5K9Ogs4zljUwi323hlYzlFtW0UpEb32ZTpUAebLO2qahn2YfWFtaW4TIurZ2T7uhSP5Pd0Yx6og+FzoEKDbX2ONRIRERER8SUtpXiJy31wG/AJdAOOOrgNuDusFtW2UdPSxay8o4+sOVJESDDnjEvl9c0VrC6u58wCz7aWjk6JIsjonuc6nFmWxbOrDzAzL4FRA1ytFBERERER/6Cw6iUHw6p3Vla7Z3CuLKoHOG5zpUNdMjmDxnYnTrfl0RZggDC7jdykSHYO81mry/fVUVzXzjUzh8eqqoiIiIiI9E3bgL3k4DbgE5mzGhUaTIgtqHdldeW+OpKiQhmZFOnxc8zLTyImLBjTgum5fY+sOVJhWjTbyod3WF20qoSYsGDOn5Du61JEREREROQEKax6Se824BNYWTUMo3vWaqsDy7JYWVTPrJEJHp1XPSg02Ma3FuTjcJv9qiU/NZo3tlQeNjZnOGloc/DmlkqunZWjDrYiIiIiIgFAYdVLeuesnsCZVejeClzX5qCkvoOKpk5mH2dkzdHcdGpevx9TmBaNZcHu6hYmZcX1+/G+9tL6Mhxuc9g0VhIRERERkWPTmVUvORhWT2RlFSAxqjusrijqma860rPmSieqIC0GGJ5NlizLYtGqA0zOjmNseoyvyxERERERES9QWPUSl3mwwdKJr6zWt3Wxcl89CZEhjBmiUTI5CRGE2YPYNQzD6roDDeyubuUaraqKiIiIiAQMhVUv+WQb8AmurEaGUt/qYGVRHTNy4/t1XvVE2IIMxqREs7Nq+IXVZ1aVEBli4+LJGb4uRUREREREvERh1UsONlgKCT6xcJkYFUKbw01pQ4fH81W9pSAtethtA27udPLapnIumZJBZKiOYIuIiIiIBAqFVS9xmd5ZWT04axX6N1/VGwrToqlp6aK+Z3TOcPDfDeV0Ok0WzsjxdSkiIiIiIuJFCqte4nB578wqQExYMIVpQ9ssKD81GoCdw2h1ddGqA4xNj2FSVqyvSxERERERES9SWPWSgyurJ9wNuCeszsxLwHaCY3D6qzDtYFhtHtLXHagtZU1sLW/mmpnZQ3a2V0REREREhobCqpccPLN6onNWU6LDAJg9RCNrDpUcHUp8hH3YNFl6ZtUBwuxBfHZKpq9LERERERERL1NHGi/x1pzVnMQI/nLdKZyRn+KNsvrFMAwK0qKHxTbgdoeL/24o54KJ6cSG231djoiIiIiIeJlWVr3EW3NWAc6bkE54iO2En2cgClKj2VXVimVZPnl9T/1vZw2tXS6umq7ZqiIiIiIigUhh1UtcXlpZ9bWCtBhau1yUNnT4upRj2lXVimHAlOw4X5ciIiIiIiKDYHgnKz/i7Dmzaj/B0TW+VpA2PDoCF9W2khEbTpjdNyvQIiIiIiIyuIZ3svIjB8+semMbsC/lp0YB+H2TpaLaNkYmR/q6DBERERERGSQKq17izTOrvhQdZiczLtyvV1Yty2JfTRt5SQqrIiIiIiKBSmHVS3q7AQ/zbcDQPW/Vn8NqbauDli4XIxVWRUREREQC1vBPVn7C5bYIMiDoBOes+oOCtGj21rTicJm+LuWoimrbAMhLjvJxJSIiIiIiMlgUVr3EaZrDvhPwQQVp0bhMi/11bb4u5aj21bQCaGVVRERERCSAeZSuDMM4zzCMnYZh7DEM4+6j3P+QYRgbej52GYbReMh97kPue8WbxfsTl9sKmLCakxABwIH6dh9XcnRFtW2EBAeRERfu61JERERERGSQBB/vAsMwbMCfgQVAKbDaMIxXLMvadvAay7LuPOT6rwFTD3mKDsuypnivZP/kdJvDvrnSQVnx3WHVX2et7qttIzcxAlsAbLkWEREREZGj82QpcCawx7KsfZZlOYBFwGePcf01wDPeKG44cbotggOguRJAUlQI4XYbJX66srqvplWdgEVEREREApwn6SoTKDnk69Ke2z7FMIwRQB7w/iE3hxmGscYwjBWGYVzax+Nu6blmTU1NjYel+xeX28QeICurhmGQFR9OSYP/hVWX2+RAfTsj1VxJRERERCSgeRJWj5bArD6uXQi8YFmW+5DbcizLmg5cC/zeMIxRn3oyy3rUsqzplmVNT05O9qAk/+MyrYDZBgyQFR/ul9uAyxo7cLotrayKiIiIiAQ4T8JqKZB9yNdZQHkf1y7kiC3AlmWV93zeB3zA4edZA4bTHTjdgAGyEyL8chvwvpruDsXqBCwiIiIiEtg8SVergTGGYeQZhhFCdyD9VFdfwzAKgHhg+SG3xRuGEdrz6yTgVGDbkY8NBC63hT1AzqxC98pqc6eLpg6nr0s5zL6DM1YVVkVEREREAtpx05VlWS7gDuAtYDvwnGVZWw3DuM8wjEsOufQaYJFlWYduER4LrDEMYyOwBPjFoV2EA0kgdQMGyO7tCOxfq6tFta3EhttJiAzxdSkiIiIiIjKIjju6BsCyrMXA4iNu+/ERX997lMctAyaeQH3DhtO0CA6wbcAAJfUdjM+I9XE1n9hX00ZeUiSGEThvDIiIiIiIyKcFTrryMZfbxB5Acz+z4sMBf1xZbdN5VRERERGRk4DCqpe43IHVDTg23E50aLBfdQRud7ioaOpkZLLCqoiIiIhIoFNY9RKnGVjdgA3DIDM+3K9WVot6mytpxqqIiIiISKALnHTlYy63FVBhFQ6Or/GfldUidQIWERERETlpBFa68iGn2yQ4gM6sQndH4JKGdg5v8Ow7RTUKqyIiIiIiJwuFVS9xugNrGzB0N1lqd7hpaPePWav7atvIiA0jPMTm61JERERERGSQBVa68iGXGVgNluDQ8TX+cW51X20beWquJCIiIiJyUlBY9RKX2yI4KOCM+84AACAASURBVLB+Oz8ZX+P7c6uWZVFU08pINVcSERERETkpBFa68qHubcABurLqBx2B69ocNHe6dF71/9u7/2DLz/o+7O/P3XsXrSQUrcQCRrsSK5CFnZaA2ciGxK7HNjZOM8j9GSlpQ9xmaBtDEib9oWY6NsFN20zj0mTCZMokjp0mg+ooSavGqhnGuE0ayYxEzIAlVaBdYWslQKsVQkJI2nPO9+kf99yry2pXe+853++eq3Nfr5k77Pd7n7P3ud85c5a3Ps/zfAAAYI8QVnsy7pbvNODLX7Oag5eu7YplwJsnAVsGDAAAe8JypasFGk26pduzmiSHD166K5YBb5wE/BbLgAEAYE8QVnuyjKcBJ8mRqw7simXAx5/8dtb2Va6Z7qMFAACW2/KlqwVZP2BpOSurj33z+YX3Wn3k1HO57urLsm8JnzEAAPBywmoPWmvT1jXL9ziPHDyQF8ddTj374kLn8ciTz+V6hysBAMCesXzpagHG3XrVcW0Jq36HDy7+ROBJ1/J7p7/jcCUAANhDhNUejCfTsLq6fI/zyFWL77X62Defz5lJp7IKAAB7yPKlqwUYdV2SLO2e1SQLbV9z4slvJ0muP+QkYAAA2CuE1R6MxuthdRlPA75kbV9ed/lrFlpZPTFtW3NUZRUAAPaM5UtXC7CxZ3UZ+6wmi29f88iTz+W1l6zm6sv2L2wOAADAxSWs9mA0mVZWV5bzcR4+eGkefWqBldUnv53rX3dZqpbzPwYAAAAvt5zp6iLbOGBpaSurBw/k8aefz6RbTK/VR049Z78qAADsMcJqD8YbBywt4Z7VJDly1aUZdy1ff+aFi/6znz8zyePfesF+VQAA2GOWM11dZKNpZXX/klZWDx+ctq9ZwInAjzzpcCUAANiLhNUebC4DXtI9q0c22tcs4ETgjbB6/SFhFQAA9pLlTFcX2ZnJxjLg5aysfs+Vl6Sq316rz7wwyreeH11w3CPTHqtvvlpYBQCAvURY7cF4srx9VpPkNav78sYrLum11+rP/cN/lX/rE/8yL4wmrzjuxKnn8sYrLsllr1nt7WcDAAC733Kmq4tss8/qynJWVpP1pcB99Vp9/swknzvxVE48+Vz+5m9+5RXHnnjyOUuAAQBgDxJWezCaLPdpwMn6IUuP9VRZ/fzvfTNnJl1ueP3l+V/++Yk88Pgz5xzXWsuJU992uBIAAOxBy5uuLqLx5mnAy/s4D191ab72rec3g/k87j7+ZFZXKr/6H92Ug5fuz3/1j7+4uZR6q6eeO5NnXhgLqwAAsActb7q6iF7qs7q8y4APHzyQriWPPz1/dfXu46fzh45cmTddeSB/5f1/MF967Fv5e//yqy8bt3ES8FsOXT73zwQAAF5dhNUenJlWVteWOKxutK+Z95ClZ18Y5UuPfSvvecvVSZI/9q+/MT/xfW/IL33mofz+6e/eE3tCj1UAANizhNUebCxhXdY+q0ly5KoDSeZvX3PvV5/KpGt59zSsVlV+8Wf+YFZXVvKX/+mX0lrbHHvi1HNZ21c5fPDAXD8TAAB49VnedHURbexZXeZlwG+84pLsW6m5K6t3P3w6+1dX8gPXHty89z1/4EBu++m35f99+Mnc8fmTm/cfefLbufaqS5f64CoAAODcpIAejLrl7rOarJ90/KYrL5m7fc3dx0/nXdcezCVr+77r/p+86dr84TcfzH/76w/m1LMvJlnfs3r0dfarAgDAXrS86eoi2qysLnGf1SQ5fOWlcy0D/uZzZ/Lg15/Z3K+61cpK5b//t9+e589M8tH/8/5Mupavnv6OHqsAALBHCas92Gjnsra63I/zyFUH5loG/LlHTqe15D1vfXlYTZK3vv7y/Pkff2t+/Ytfy6/e/dWcGXe53uFKAACwJy13urpIRhunAS/xAUvJ+onATzz7Yl4YTWZ6/d3HT+fS/fvy9sNXnnfMB3/kLXnbG1+b/+6uB5M4CRgAAPaq5U5XF8nmacBLfMBSkhyengj82Iy9Vu8+fjp/+M1XveLe3v2rK/kf/p23p5ueCnzUMmAAANiThNUejLq9sWd1o9fqLPtWn3j2hTz8xLfPuV/1bO84cmX+sx99S46+7rIcuvw1O/5ZAADAq9/qoiewDMaTLqsrlarlDquHN8LqDPtW7zl+Oknynre8blvj/4ufelv+0ntvXPpnCgAAnJvKag/GXVv6JcBJ8vrXvib7V1dycob2NfccP50rLlnN97/pim2/ZmXJK9UAAMD5Cas9GE26pe6xumFlpXL4ygM5+dTOK6t3Hz+dH7z+6uwTQAEAgG1Y/oR1EYwnbU+E1SS55uCBHVdWT37zO/n9p76zrf2qAAAAibDai9F0z+pecOSqS3e8Z3Vjv+q7hVUAAGCbhNUejPZQZfXwwQN56rkzee7F8bZfc8/x07n6sv353te/dsCZAQAAy2RvJKyBjbtuTxywlLzUvubkNqurrbXcffx0fugtVzswCQAA2DZhtQfjSdtTy4CT7fda/erp7+Trz7xgvyoAALAjwmoP9sppwMn6MuAk2z5k6e7jTyZJ3n29sAoAAGzf3khYAxt3e2fP6tWX7c+BtX3bPmTp7uOn88YrLsnR11028MwAAIBlsjcS1sBGk72zZ7WqcvjggW0tA26t5bePn8573nJ1qvbG8wEAAPohrPZgNOmytrJ3HuWRqy7d1gFLX/7Gt3P6uTNa1gAAADu2dxLWgMaTtmcqq8n6vtVHt7FndXO/qrAKAADskLDag1HXsrpH9qwm6+1rnn1hnG89P3rFcXcfP51rr7o0h6ftbgAAALZr7ySsAY0nXdb2SOuaJDly1fqJwK+0b3XStfz2idNa1gAAADPZVlitqvdV1UNV9XBV3XaO73+8qr4w/fpyVT191vevqKrHqupv9TXx3WQ82TunASfZrJR+4rcezv/90BN5cTx52ZgHHn8mz74wtgQYAACYyeqFBlTVviSfSPLeJCeT3FtVd7bWHtgY01r7yJbxH07yzrP+ml9M8v/0MuNdaC+dBpwk3/uG1+bmd7wpn3ngG/m/fvfrufw1q/k3bjyUn/z+N+RHb3x9/sCBNf1VAQCAuVwwrCa5KcnDrbUTSVJVtye5OckD5xl/a5Jf2LioqncleUOS30hybK7Z7lKjrttTldX9qyv5G7e8My+MJrn7+JP5zAPfyGceeCK//sWvZXWl8oPXX5VvPPNi3vr6y/P6Ky5Z9HQBAIBXoe2E1WuSPLrl+mSSHzzXwKq6LsnRJJ+dXq8k+aUk/2GSH59rprvYeNKyuof2rG64ZG1ffuxtb8iPve0N+as/0/I7jz49Da5fz/FTz+XP/tGji54iAADwKrWdsHquFNbOM/aWJHe01jY2Mf65JHe11h6tOn+Yq6oPJvlgklx77bXbmNLuMprsrdOAz2VlpfKu6w7mXdcdzG0//bY89vTzufqy/YueFgAA8Cq1nbB6MsmRLdeHkzx+nrG3JPm5LdfvTvLDVfXnklyeZH9Vfbu19l2HNLXWPpnkk0ly7Nix8wXhXWvcdVnbQ3tWt+OaKw8segoAAMCr2HbC6r1Jbqiqo0key3og/ZNnD6qqG5McTHLPxr3W2p/a8v0/k+TY2UF1Gey104ABAACGdsGE1VobJ/lQkk8neTDJr7XW7q+qj1XV+7cMvTXJ7a21V11ldF577TRgAACAoW2nsprW2l1J7jrr3s+fdf3RC/wdv5LkV3Y0u1eJ0aTL2orKKgAAQF8krDl1XUvXorIKAADQI2F1TqOuSxJ7VgEAAHokYc1pPFnforsX+6wCAAAMRVid00ZYVVkFAADoj4Q1p5eWAausAgAA9EVYndNosh5WV1VWAQAAeiNhzcmeVQAAgP4Jq3PaqKzaswoAANAfCWtO425aWbVnFQAAoDfC6pw296yueJQAAAB9kbDmtLFndf+qyioAAEBfhNU5qawCAAD0T8Ka02hizyoAAEDfhNU5jTunAQMAAPRNwpqTPqsAAAD9E1bnpM8qAABA/ySsOW30WRVWAQAA+iNhzWnzNGAHLAEAAPRGWJ3TxmnAa1rXAAAA9EbCmtNYZRUAAKB3wuqcRp0+qwAAAH0TVue0UVm1DBgAAKA/EtacNvqsrq16lAAAAH2RsOY06qZ7VlcsAwYAAOiLsDqn0VifVQAAgL5JWHMad12qkn0qqwAAAL0RVuc0mjSHKwEAAPRMyprTeNJpWwMAANAzYXVO4645XAkAAKBnwuqcRpMu+7WtAQAA6JWUNafRpMuqPasAAAC9krLmNJ40e1YBAAB6JqzOadQ1PVYBAAB6JmXNaTzpHLAEAADQM2F1TqNJy6rKKgAAQK+krDmNuy777VkFAADolbA6p9GkU1kFAADomZQ1p9Gk2bMKAADQM2F1TuNJ5zRgAACAnklZcxp3+qwCAAD0TVid0/oyYI8RAACgT1LWnNaXAausAgAA9ElYndO4a/asAgAA9EzKmtOZcWfPKgAAQM+E1TmNuy5r9qwCAAD0Ssqa03jiNGAAAIC+CatzGumzCgAA0Dspa07jrmV1RWUVAACgT8LqnMaTlrVVjxEAAKBPUtYcWms5M+myprIKAADQK2F1DpOuJUlW7VkFAADolZQ1h/FmWFVZBQAA6JOwOofRpEsSfVYBAAB6JmXNYTxRWQUAABiCsDqHUTetrNqzCgAA0Kttpayqel9VPVRVD1fVbef4/ser6gvTry9X1dPT+9dV1een9++vqv+0719gkUbTyuqayioAAECvVi80oKr2JflEkvcmOZnk3qq6s7X2wMaY1tpHtoz/cJJ3Ti+/luQ9rbUXq+ryJL87fe3jff4SizKe7lldtWcVAACgV9tJWTclebi1dqK1dibJ7UlufoXxtyb5VJK01s601l6c3n/NNn/eq8bInlUAAIBBbCc8XpPk0S3XJ6f3XqaqrktyNMlnt9w7UlVfnP4df21ZqqpJMrZnFQAAYBDbSVnnKhu284y9JckdrbXJ5sDWHm2tvT3JW5N8oKre8LIfUPXBqrqvqu47derUdua9K2yeBryisgoAANCn7YTVk0mObLk+nOR81dFbMl0CfLZpRfX+JD98ju99srV2rLV27NChQ9uY0u6w2WdVZRUAAKBX20lZ9ya5oaqOVtX+rAfSO88eVFU3JjmY5J4t9w5X1YHpnw8m+SNJHupj4rvBuNs4DVhYBQAA6NMFTwNurY2r6kNJPp1kX5Jfbq3dX1UfS3Jfa20juN6a5PbW2tYlwt+X5JeqqmV9OfFfb619qd9fYXFG4+lpwA5YAgAA6NUFw2qStNbuSnLXWfd+/qzrj57jdZ9J8vY55rerjTp9VgEAAIZg/eoc9FkFAAAYhpQ1B31WAQAAhiGszkGfVQAAgGFIWXPY6LMqrAIAAPRLyprDmc09q5YBAwAA9ElYnYPKKgAAwDCkrDls7Fl1wBIAAEC/hNU5bJwGvKZ1DQAAQK+krDls9llVWQUAAOiVsDqHcWfPKgAAwBCkrDmcGW/0WVVZBQAA6JOwOodx12XfSqVKWAUAAOiTsDqH8aTpsQoAADAAYXUOo0mzXxUAAGAAktYcxl3nJGAAAIABCKtzGE1aVvVYBQAA6J2kNYfxpMt+lVUAAIDeCatzGE26rNqzCgAA0DtJaw6jrtmzCgAAMABhdQ7jSZc1e1YBAAB6J2nNYTxRWQUAABiCsDqH9WXAHiEAAEDfJK05OA0YAABgGMLqHEaTTp9VAACAAUhacxjZswoAADAIYXUO467Lmj2rAAAAvZO05jCetKyuqKwCAAD0TVidw2iisgoAADAESWsO465lzZ5VAACA3gmrcxiNO31WAQAABiBpzWGksgoAADAIYXUOY31WAQAABiFpzWGszyoAAMAghNU5jPRZBQAAGISkNQd9VgEAAIYhrM6otTZtXeMRAgAA9E3SmtFo0pLEacAAAAADEFZnNO66JNFnFQAAYACS1ow2Kqv2rAIAAPRPWJ3ReLJeWbVnFQAAoH+S1ozG3bSyas8qAABA74TVGY1UVgEAAAYjac3IacAAAADDEVZntLFndXXFIwQAAOibpDUjlVUAAIDhCKsz2uyzqrIKAADQO0lrRpt9VlVWAQAAeieszkifVQAAgOFIWjN6ac+qRwgAANA3SWtGo409q5YBAwAA9E5YndF4o7LqgCUAAIDeSVoz2uyzqrIKAADQO2F1RqNOn1UAAIChCKsz2qysWgYMAADQO0lrRpt7Vlc9QgAAgL5tK2lV1fuq6qGqeriqbjvH9z9eVV+Yfn25qp6e3n9HVd1TVfdX1Rer6k/0/QssypmNPqsrlgEDAAD0bfVCA6pqX5JPJHlvkpNJ7q2qO1trD2yMaa19ZMv4Dyd55/TyO0n+dGvtK1X1piSfr6pPt9ae7vOXWISXDlhSWQUAAOjbdpLWTUkebq2daK2dSXJ7kptfYfytST6VJK21L7fWvjL98+NJnkhyaL4p7w7j6QFLTgMGAADo33bC6jVJHt1yfXJ672Wq6rokR5N89hzfuynJ/iTHdz7N3WekzyoAAMBgtpO0zlU6bOcZe0uSO1prk+/6C6q+J8n/muRnW2vdy35A1Qer6r6quu/UqVPbmNLi6bMKAAAwnO2E1ZNJjmy5Ppzk8fOMvSXTJcAbquqKJL+e5L9prf32uV7UWvtka+1Ya+3YoUOvjlXCG31WVx2wBAAA0LvthNV7k9xQVUeran/WA+mdZw+qqhuTHExyz5Z7+5P80yR/v7X2j/qZ8u4wmnRZ21epElYBAAD6dsGw2lobJ/lQkk8neTDJr7XW7q+qj1XV+7cMvTXJ7a21rUuE//0kP5Lkz2xpbfOOHue/MONJl1X7VQEAAAZxwdY1SdJauyvJXWfd+/mzrj96jtf9gyT/YI757VqjSbNfFQAAYCBKgzMad13W9FgFAAAYhLQ1o/GkOVwJAABgIMLqjEaTprIKAAAwEGlrRhunAQMAANA/YXVG467LqsoqAADAIKStGY3sWQUAABiMsDqj8cRpwAAAAEORtmY07vRZBQAAGIqwOqPRpMvaiscHAAAwBGlrRuNJy9qqyioAAMAQhNUZjSZdVlVWAQAABiFtzWg0afqsAgAADERYndG4U1kFAAAYirQ1o/HEacAAAABDEVZnNOr0WQUAABiKtDWjsT2rAAAAgxFWZzSadFlVWQUAABiEtDWj0aRlbUVlFQAAYAjC6ozGKqsAAACDkbZmNOqcBgwAADAUYXVG40mXNX1WAQAABiFtzWDStXQtKqsAAAADEVZnMJp0SaLPKgAAwECkrRmMu5Yk+qwCAAAMRFidwXhaWV21ZxUAAGAQ0tYMRhOVVQAAgCEJqzMYd9PKqj2rAAAAg5C2ZjCeVlZXV1RWAQAAhiCszmDjNOD9qx4fAADAEKStGYw2K6seHwAAwBCkrRlsVFZXHbAEAAAwCGF1BvqsAgAADEtYnYE+qwAAAMOStmawuWdVZRUAAGAQwuoMNvqsrumzCgAAMAhpawYbBywJqwAAAMOQtmbwUusay4ABAACGIKzOYDzZOA3Y4wMAABiCtDWDjT2rDlgCAAAYhrA6g41lwGta1wAAAAxC2prBZp9VlVUAAIBBCKszcBowAADAsKStGWwuA1ZZBQAAGISwOoOXDljy+AAAAIYgbc1An1UAAIBhCasz0GcVAABgWNLWDMZdl6pkn8oqAADAIITVGYwmTVUVAABgQBLXDEaTLmuqqgAAAIMRVmcwnnROAgYAABiQxDWDUdf0WAUAABiQsDqD8aTL6opHBwAAMBSJawbjScuqyioAAMBghNUZrC8D9ugAAACGInHNYDTu7FkFAAAY0LbCalW9r6oeqqqHq+q2c3z/41X1henXl6vq6S3f+42qerqq/lmfE1+kcWfPKgAAwJBWLzSgqvYl+USS9yY5meTeqrqztfbAxpjW2ke2jP9wkndu+Sv+xySXJvlP+pr0oo0mTgMGAAAY0nbKgzclebi1dqK1dibJ7UlufoXxtyb51MZFa+03kzw71yx3mXGnzyoAAMCQtpO4rkny6Jbrk9N7L1NV1yU5muSz809t9xpNWlZXVFYBAACGsp2weq5U1s4z9pYkd7TWJjuZRFV9sKruq6r7Tp06tZOXLsR40jkNGAAAYEDbSVwnkxzZcn04yePnGXtLtiwB3q7W2idba8daa8cOHTq005dfdPasAgAADGs7YfXeJDdU1dGq2p/1QHrn2YOq6sYkB5Pc0+8Ud5/RxJ5VAACAIV0wcbXWxkk+lOTTSR5M8muttfur6mNV9f4tQ29Ncntr7buWCFfVv0jyj5L8eFWdrKqf6m/6izHuVFYBAACGdMHWNUnSWrsryV1n3fv5s64/ep7X/vCsk9utxhN9VgEAAIYkcc1gNGlZVVkFAAAYjLA6g3HXZU1lFQAAYDAS1wzGk5a1VZVVAACAoQirMzhjzyoAAMCgJK4ZjPVZBQAAGJSwOoNxp88qAADAkCSuHWqtZTRpWVtRWQUAABiKsLpDk64licoqAADAgCSuHRpvhlWVVQAAgKEIqzt0ZtIlSfarrAIAAAxG4tqh8WRaWbVnFQAAYDDC6g6Np5VVe1YBAACGI3Ht0Gi6Z1WfVQAAgOEIqzu0WVld8egAAACGInHt0GjiNGAAAIChCas7NHIaMAAAwOAkrh3aPA1YWAUAABiMxLVDo27jNGDLgAEAAIYirO7QRmV1zQFLAAAAg5G4duilPqsqqwAAAEMRVndIn1UAAIDhCas7tFFZXXPAEgAAwGAkrh3aaF2zas8qAADAYCSuHRpNLAMGAAAYmrC6Q+PN1jUeHQAAwFAkrh3aqKyurqisAgAADEVY3aHNPqsqqwAAAIORuHbopWXAKqsAAABDEVZ36MxY6xoAAIChSVw7NO6cBgwAADA0YXWHxvqsAgAADE7i2iF9VgEAAIYnrO7QuOuyb6VSJawCAAAMRVjdofGk6bEKAAAwMGF1h85Muux3EjAAAMCgpK4dGk+aHqsAAAADE1Z3aNx1WVVZBQAAGJTUtUOjScuaPasAAACDElZ3aDxRWQUAABia1LVDo86eVQAAgKEJqzs0nnRZW/HYAAAAhiR17dBo0rK2qrIKAAAwJGF1h0aTLqsqqwAAAINaXfQEXm3+4k98b0aTbtHTAAAAWGrC6g6967qDi54CAADA0rOeFQAAgF1HWAUAAGDXEVYBAADYdYRVAAAAdh1hFQAAgF1HWAUAAGDXEVYBAADYdYRVAAAAdh1hFQAAgF1HWAUAAGDX2VZYrar3VdVDVfVwVd12ju9/vKq+MP36clU9veV7H6iqr0y/PtDn5AEAAFhOqxcaUFX7knwiyXuTnExyb1Xd2Vp7YGNMa+0jW8Z/OMk7p3++KskvJDmWpCX5/PS13+z1twAAAGCpbKeyelOSh1trJ1prZ5LcnuTmVxh/a5JPTf/8U0k+01p7ahpQP5PkffNMGAAAgOW3nbB6TZJHt1yfnN57maq6LsnRJJ/d6WsBAABgw3bCap3jXjvP2FuS3NFam+zktVX1waq6r6ruO3Xq1DamBAAAwDLbTlg9meTIluvDSR4/z9hb8tIS4G2/trX2ydbasdbasUOHDm1jSgAAACyz7YTVe5PcUFVHq2p/1gPpnWcPqqobkxxMcs+W259O8pNVdbCqDib5yek9AAAAOK8LngbcWhtX1YeyHjL3Jfnl1tr9VfWxJPe11jaC661Jbm+ttS2vfaqqfjHrgTdJPtZae6rfXwEAAIBlU1uy5a5w7Nixdt999y16GgAAAAygqj7fWjt2oXHbWQYMAAAAF9Wuq6xW1akkv7foeVzA65I8uehJwJT3I7uJ9yO7ifcju4n3I7vJot+P17XWLniy7q4Lq68GVXXfdsrWcDF4P7KbeD+ym3g/spt4P7KbvFrej5YBAwAAsOsIqwAAAOw6wupsPrnoCcAW3o/sJt6P7Cbej+wm3o/sJq+K96M9qwAAAOw6KqsAAADsOsLqDlXV+6rqoap6uKpuW/R82Duq6khV/VZVPVhV91fVX5jev6qqPlNVX5n+78FFz5W9o6r2VdXvVNU/m14frarPTd+P/1tV7V/0HNkbqurKqrqjqv6/6efku30+sihV9ZHpv9W/W1WfqqpLfD5yMVXVL1fVE1X1u1vunfMzsdb9zWm++WJV/cDiZv7dhNUdqKp9ST6R5KeTfH+SW6vq+xc7K/aQcZK/1Fr7viQ/lOTnpu+/25L8ZmvthiS/Ob2Gi+UvJHlwy/VfS/Lx6fvxm0n+44XMir3obyT5jdba25L8oay/L30+ctFV1TVJ/nySY621fy3JviS3xOcjF9evJHnfWffO95n400lumH59MMnfvkhzvCBhdWduSvJwa+1Ea+1MktuT3LzgObFHtNa+1lr7V9M/P5v1/yN2Tdbfg786HfarSX5mMTNkr6mqw0n+zSR/Z3pdSX4syR3TId6PXBRVdUWSH0nyd5OktXamtfZ0fD6yOKtJDlTVapJLk3wtPh+5iFpr/zzJU2fdPt9n4s1J/n5b99tJrqyq77k4M31lwurOXJPk0S3XJ6f34KKqqjcneWeSzyV5Q2vta8l6oE3y+sXNjD3mf07yXybpptdXJ3m6tTaeXvuM5GK5PsmpJH9vuiz971TVZfH5yAK01h5L8teT/H7WQ+q3knw+Ph9ZvPN9Ju7ajCOs7kyd457jlLmoquryJP84yV9srT2z6PmwN1XVH0/yRGvt81tvn2Ooz0guhtUkP5Dkb7fW3pnkuVjyy4JM9wHenORokjcluSzryyzP5vOR3WLX/vstrO7MySRHtlwfTvL4gubCHlRVa1kPqv+wtfZPpre/sbFUY/q/TyxqfuwpfyTJ+6vqq1nfEvFjWa+0Xjld9pb4jOTiOZnkZGvtc9PrO7IeXn0+sgg/keSR1tqp1tooyT9J8p74fGTxzveZuGszjrC6M/cmuWF6mtv+rG+Wv3PBc2KPmO4H/LtJHmyteDFU/AAAAVZJREFU/U9bvnVnkg9M//yBJP/HxZ4be09r7b9urR1urb0565+Fn22t/akkv5Xk350O837komitfT3Jo1V14/TWjyd5ID4fWYzfT/JDVXXp9N/ujfejz0cW7XyfiXcm+dPTU4F/KMm3NpYLL1q1tisqvK8aVfXHsl492Jfkl1trf3XBU2KPqKo/muRfJPlSXtoj+Jezvm/115Jcm/V/IP+91trZG+phMFX1o0n+89baH6+q67Neab0qye8k+Q9aay8ucn7sDVX1jqwf9rU/yYkkP5v1/yjv85GLrqr+SpI/kfWT/H8nyZ/N+h5An49cFFX1qSQ/muR1Sb6R5BeS/O85x2fi9D+q/K2snx78nSQ/21q7bxHzPpuwCgAAwK5jGTAAAAC7jrAKAADAriOsAgAAsOsIqwAAAOw6wioAAAC7jrAKAADAriOsAgAAsOsIqwAAAOw6/z+67mfAO+VBKQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1152x648 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"preds = np.stack([t.predict(X_valid) for t in rf.estimators_])\n",
"plt.plot([r2_score(Y_valid, np.mean(preds[:i+1], axis=0)) for i in range(100)])"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1e4d7c60a20>"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1152x648 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(Y_valid, np.mean(preds[:1], axis=0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Tuning"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Validation: 0.8571209678586758\n",
"Training: 0.9506715695025579\n"
]
}
],
"source": [
"rf = RandomForestRegressor(n_estimators=128, n_jobs=-1, min_samples_leaf=3, max_depth=8, max_features=0.7)\n",
"rf.fit(X_train, Y_train)\n",
"print('Validation: ', r2_score(Y_valid, rf.predict(X_valid)))\n",
"print('Training: ', r2_score(Y_train, rf.predict(X_train)))"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1e4d803f978>"
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7sAAAIMCAYAAAA0IruPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3X+MHPd55/nPw2ZLbtm3asnhLsy2FREbYbTWzolzmnOEmz9uxV145OhkT8Y/ZK+TaPeM094ixkW6YOBhYJxoR76ZYOBVdrGJAe/ZFzk2bMoSb0ybCiZGhovFEkvZQw8VhrEGUSxbUtOImRVbG5ttqTn83h9TNezpqequ6q7urqp+vwBC5Lerq6s5joKPvs/3ecw5JwAAAAAA8mTPsB8AAAAAAICkEXYBAAAAALlD2AUAAAAA5A5hFwAAAACQO4RdAAAAAEDuEHYBAAAAALlD2AUAAAAA5A5hFwAAAACQO4RdAAAAAEDuEHYBAAAAALmzd9gPkLRf+IVfcLfeeuuwHwMAAAAA0Adnzpz5W+fcvk7X5S7s3nrrrVpbWxv2YwAAAAAA+sDMfhTlOsqYAQAAAAC5Q9gFAAAAAOQOYRcAAAAAkDuEXQAAAABA7hB2AQAAAAC5Q9gFAAAAAOQOYRcAAAAAkDuEXQAAAABA7hB2AQAAAAC5Q9gFAAAAAOQOYRcAAAAAkDuEXQAAAABA7hB2AQAAAAC5Q9gFAAAAAOQOYRcAAAAAkDuEXQAAAABA7hB2AQAAAAC5s3fYDwAAAACgs+X1qpZWNnShVtf+cklz02OamagM+7GA1CLsAgAAACm3vF7V4WPnVG9sSpKqtboOHzsnSQReIARlzAAAAEDKLa1sbAddX72xqaWVjSE9EZB+hF0AAAAg5S7U6rHWARB2AQAAgNTbXy7FWgdA2AUAAABSb256TKViYcdaqVjQ3PTYkJ4ISD8aVAEAAAAp5zehohszEB1hFwAAAMiAmYkK4RaIgTJmAAAAAEDuEHYBAAAAALlD2AUAAAAA5A5hFwAAAACQOzSoAgAAAIARt7xezV23b8IuAAAAAIyw5fWqDh87p3pjU5JUrdV1+Ng5Scp04KWMGQAAAABG2NLKxnbQ9dUbm1pa2RjSEyWDsAsAAAAAI+xCrR5rPSsIuwAAAAAwwvaXS7HWs4KwCwAAAAAjbG56TKViYcdaqVjQ3PTYkJ4oGTSoAgAA6FIeu5cCGD3+v7fy9u8zwi4AAEAX8tq9FMBompmo5O7fXZQxAwAAdCGv3UsBIC8IuwAAAF3Ia/dSAMgLwi4AAEAX8tq9FADygrALAADQhbx2LwWAvKBBFQAAQBfy2r0UAPKCsAsAANClYXUvZeQRAHRG2AUAAMgQRh4BQDSc2QUAAMgQRh4BQDSEXQAAgAxh5BEAREPYBQAAyBBGHgFANIRdAACADGHkEQBEQ4MqAACADGHkEQBE0zHsmtmbJP0nSdd71z/lnHvUzP5I0v8s6TXv0n/hnDtrZibp30r6FUmXvfXvefd6UNInvesfc8494a3fJemPJJUkPSPpt5xzzsxulnRU0q2SfijpQ865Sz1+ZwAAgEwb1sgjAMiSKGXMr0s65Jy7U9JBSfea2d3ea3POuYPer7Pe2nsk3eb9ekjS5yTJC66PSvplSe+S9KiZ3eS953Petf777vXW5yX9mXPuNkl/5v0ZAAAAAIC2OoZdt+Wn3h+L3i/X5i3vk/Ql732nJZXN7G2SpiV92zn3qrc7+21tBee3Sfp7zrn/4pxzkr4kaabpXk94v3+iaR0AAAAAgFCRGlSZWcHMzkr6ibYC67PeS58xsz83s8fN7HpvrSLp5aa3v+KttVt/JWBdkv6Bc+7HkuT98+9H/mYAAAAAgJEVKew65zadcwclvV3Su8zsH0s6LOl2Sf+jpJslfcK73IJu0cV6ZGb2kJmtmdnaxYsX47wVAAAAAJBDsUYPOedqkv6jpHudcz/2SpVfl/T/auscrrS1M/uOpre9XdKFDutvD1iXpL/xypzl/fMnIc/1eefcpHNuct++fXG+EgAAAAAghzqGXTPbZ2Zl7/clSf9M0vNNIdS0dZb2L7y3HJf0G7blbkmveSXIK5LebWY3eY2p3i1pxXvt78zsbu9evyHpG033etD7/YNN6wAAAAAAhIoyZ/dtkp4ws4K2wvGTzrlvmdmqme3TVhnyWUn/u3f9M9oaO/SCtkYP/UtJcs69ama/K+m73nWfds696v3+X+va6KE/8X5J0qKkJ83sY5JekvTBbr8oAAAAAGB02FYD5PyYnJx0a2trw34MAAAAAEAfmNkZ59xkp+tindkFAAAAACALCLsAAAAAgNwh7AIAAAAAcoewCwAAAADIHcIuAAAAACB3CLsAAAAAgNwh7AIAAAAAcoewCwAAAADIHcIuAAAAACB3CLsAAAAAgNwh7AIAAAAAcmfvsB8AAABkw/J6VUsrG7pQq2t/uaS56THNTFSG/VgAAAQi7AIAgI6W16s6fOyc6o1NSVK1VtfhY+ckicALAEglypgBAEBHSysb20HXV29samllY0hPBABAe4RdAADQ0YVaPdY6AADDRtgFAAAd7S+XYq0DADBshF0AANDR3PSYSsXCjrVSsaC56bEhPREAAO3RoAoAAHTkN6GiGzMAICsIuwAwAhgZgyTMTFT43w0AIDMIuwCQc4yMuYbQDwDA6CDsAkDOtRsZk8ag169ASugHAGC00KAKAHIuSyNj/EBardXldC2QLq9Xe743c2IBABgthF0AyLksjYzpZyDNUujPsuX1qqYWV3Vg/oSmFlcT+Q8VAAB0g7ALADmXpZEx/QykWQr9WdXPnXkAAOIi7AJAzs1MVLQwO65KuSSTVCmXtDA7nspzqv0MpFkK/VlFqTgAIE1oUAUAIyArI2Pmpsd2NJGSkgukzIntP0rFAQBpQtgFAKRGvwNpVkJ/v/Wr4/X+cknVgGBLqTgAYBgIuwCAVCGQ9lc/RzD1c2ceAIC4CLsAAAxRv3ZZw/Rz7jKl4gCANCHsAgAwJP3cZQ3T73O1Se/MD/o/BgAA8oNuzAAADMkwuhdnaQQTo4wAAL0g7AIARt7yelVTi6s6MH9CU4urAwtTw+henKURTIwyAgD0gjJmAMBIG0YpsW8Y3YuzdK6WUUYAgF4QdgEAI62fDZs6GVb34qx0vGaUEQCgF5QxAwBG2jB3D2cmKlqYHVelXJJJqpRLWpgdz0QQHYQslVwDANKHnV0AwEgb9u5hVnZZhyFLJdcAgPQh7AIAEpPFMTHDKiVGNPzHAABAtwi7AIBEDLPRUy/YPQQAIJ8IuwCARAyz0VOv2D0EACB/aFAFAEgEY2IAAECasLMLACOmX+dqh93oCQAAoBk7uwAwQvxztdVaXU7XztUur1d7vjdjYgAAQJoQdgFghLQ7V9ur1pmx5VJRbyru0SNHz2pqcTWRQA0AABAVYRcARki/z9XOTFR0av6QHn/goF6/clWXLjcS30EGAACIgrALACMk7Pxs0udq+7mDDAAAEAVhFwBGyKDO1dKZGQAADBvdmAFghPhdl/vRjblZr52Z+9UxGgAAjA7CLgCMmJmJSt+D49z0mA4fO7ejlDnqDrLfMdp/r3/eV1IuAy/BHgCA/qCMGQCQuNbOzJVySQuz45FC3Cid9+3nKCgAAEYdO7sAgL7odgd5lM77tgv27O4CANAbdnYBAKkyqI7RaTBKwR4AgEEj7AIAUmVQHaPTYJSCPQAAg0bYBQCkSi/nfbNmlII9AACDxpldAEDqDKJjdBoMahQUAACjiLALAMAQjUqwBwBg0ChjBgAAAADkDju7AIBUWV6vUtYLAAB6RtgFAEQyiBC6vF7V4WPntmfPVmt1HT52TpIIvAAAIBbKmAEAHfkhtFqry+laCF1eryb6OUsrG9tB11dvbGppZSPRzwEAAPlH2AUAdDSoEHqhVo+1DgAAEIawCwDoaFAhdH+5FGsdAAAgDGEXABBqeb2qqcVVuZDXkw6hc9NjKu6xHWvFPaa56bFEPwcAAOQfDaoAAIFam0W1KhUL/Qmh1uHPAAAAERB2AQCBgs7p+ip96sa8tLKhxubOfeTGptPSykYqujEzFgkAgOwg7AIAAoWdxzVJp+YPDfQz09CgirFIAABkC2d2AQCBhtEsKs0NqhiLBABAthB2AQCB5qbHVCoWdqz17ZzuED8zqjTvOgMAgN0oYwYABPJLcwd5RnUYnxnV/nJJ1YBgm4ZdZwAAsJs5FzZQIpsmJyfd2trasB8DAJAzQd2pS8WCFmbHUxHGAQAYFWZ2xjk32ek6dnYBAIggzbvOAABgN8IuAAARzUxUCLcAAGQEDaoAAAAAALlD2AUAAAAA5A5hFwAAAACQO5zZBQCgz5bXqzS2AgBgwAi7AAD0UevIomqtrsPHzkkSgRcAgD6ijBkAgD5aWtnYMZtXkuqNTS2tbAzpiQAAGA3s7AIAUiVvJb8XavVY6wAAIBns7AIAUsMv+a3W6nK6VvK7vF4d9qN1bX+5FGsdAAAko2PYNbM3mdl3zOw5MztvZp/y1g+Y2bNm9ldmdtTMrvPWr/f+/IL3+q1N9zrsrW+Y2XTT+r3e2gtmNt+0HvgZAIB8ymPJ79z0mErFwo61UrGguemxIT0RAACjIcrO7uuSDjnn7pR0UNK9Zna3pN+T9Lhz7jZJlyR9zLv+Y5IuOed+SdLj3nUys3dK+rCkOyTdK+kPzaxgZgVJfyDpPZLeKekj3rVq8xkAgBzKY8nvzERFC7PjqpRLMkmVckkLs+OZLs0GACALOp7Zdc45ST/1/lj0fjlJhyT9c2/9CUlHJH1O0vu830vSU5L+vZmZt/4159zrkl40sxckvcu77gXn3A8kycy+Jul9Zvb9Np8BAMih/eWSqgHBNuslvzMTFcItAAADFunMrrcDe1bSTyR9W9JfS6o55654l7wiyf//4hVJL0uS9/prkt7avN7ynrD1t7b5DABADlHyCwAAkhKpG7NzblPSQTMrS/r/JP2joMu8f1rIa2HrQYG73fW7mNlDkh6SpFtuuSXoEgBABvi7n3nqxgwAAIYj1ugh51zNzP6jpLsllc1sr7fz+nZJF7zLXpH0DkmvmNleSTdKerVp3df8nqD1v23zGa3P9XlJn5ekycnJwEAMAMgGSn4BAEASonRj3uft6MrMSpL+maTvSzop6QPeZQ9K+ob3++Pen+W9vuqd+z0u6cNet+YDkm6T9B1J35V0m9d5+TptNbE67r0n7DMAAAAAAAgVZWf3bZKe8Lom75H0pHPuW2b2l5K+ZmaPSVqX9AXv+i9I+mOvAdWr2gqvcs6dN7MnJf2lpCuSftMrj5aZfVzSiqSCpC8658579/pEyGcAAAAAABDKtjZQ82NyctKtra0N+zEAAAAAAH1gZmecc5Odrot1ZhcAkE7L61WaOgEAADQh7AJAxi2vV3X42DnVG5uSpGqtrsPHzkkSgRcAAIysSHN2AQDptbSysR10ffXGppZWNob0RAAAAMNH2AWAjLtQq8daBwAAGAWEXQDIuP3lUqx1AACAUUDYBYCMm5seU6lY2LFWKhY0Nz02pCcCAAAYPhpUAUDG+U2o6MYMAABwDWEXAHJgZqJCuAUAAGhCGTMAAAAAIHfY2QWAFFperwaWJYetAwAAYCfCLgCkzPJ6VYePnduenVut1XX42Dmt/ehVPX2mumtdUqYCL4EdAAAMAmXMAJAySysb24HWV29s6qvPvhy4vrSyMcjH64kf5Ku1upyuBfbl9eqwHw0AAOQMYRcAUuZCrR64vulcrOvTKCzIZymwAwCAbCDsAkDK7C+XAtcLZrGuT6OwYJ6lwA4AALKBsAsAKTM3PaZSsbBjrVQs6CO//I7A9bnpsUE+Xk/CgnmWAjsAAMgGwi4AxLS8XtXU4qoOzJ/Q1OJq4udNZyYqWpgdV6VckkmqlEtamB3XYzPjgetZau4UFuSzFNgBAEA2mAs5A5ZVk5OTbm1tbdiPASCnWjslS1thLWuhc5joxgwAAHphZmecc5OdrmP0EADE0K7BEoEtmpmJCn9XAACg7yhjBoAYaLAEAACQDYRdAIiBBksAAADZQNgFgBhosAQAAJANnNkFgBj8s6Y0WAIAAEg3wi4AxESDJQAAgPSjjBkAAAAAkDuEXQAAAABA7hB2AQAAAAC5Q9gFAAAAAOQOYRcAAAAAkDt0YwaAAVterzK6CAAAoM8IuwAwQMvrVR0+dk71xqYkqVqr6/Cxc5IUKfASlAEAAKKhjBkABmhpZWM76PrqjU0trWx0fK8flKu1upyuBeXl9WqfnhYAACC7CLsAMEAXavVY6816CcoAAACjhrALAAO0v1yKtd6sl6AMAAAwagi7ADBAc9NjKhULO9ZKxYLmpsc6vreXoAwAADBqCLsAMEAzExUtzI6rUi7JJFXKJS3MjkdqMtVLUAYAABg1dGMGgAGbmah01UHZfw/dmAEAADoj7AJAhnQblAEAAEYNZcwAAAAAgNwh7AIAAAAAcoewCwAAAADIHcIuAAAAACB3CLsAAAAAgNwh7AIAAAAAcofRQwAwYpbXq8zqBQAAuUfYBYARsrxe1eFj51RvbEqSqrW6Dh87J0kEXgAAkCuUMQPACFla2dgOur56Y1NLKxtDeiIAAID+YGcXQO5RtnvNhVo91joAAEBWEXYB5Bplu1v8wO9CXt9fLg30eQAAAPqNMmYAuUbZ7rXAXw3ZvS0VC5qbHhvwUwEAAPQXO7sAco2y3eDA76uMeFk3AADIL8IugFzbXy4F7miOUtluWLA3SafmDw32YQAAAAaEMmYAuTY3PaZSsbBjbdTKdsOC/SgFfgAAMHoIuwBybWaiooXZcVXKJZm2ynYXZsdHqmyXwA8AAEYRZcwAcm9mojJS4baV/90ZvwQAAEYJYRcARsCoB34AADB6CLsA4PFn0bL7CQAAkH2EXQDQtVm0/oieaq2uw8fOSRKBFwAAIIMIuwByz9+xrdbqKphp07ld82WDZtHWG5taWtkg7AIAAGQQYRdArrXu2G46J2n3zm3YLNqgGb0AAABIP0YPAci1oB1bn79zK4XPnDVtBWYAAABkC2EXQK6F7di2vj43PSYLeN1J24E4ScvrVU0trurA/AlNLa4SqAEAABJG2AWQa2E7tq2vz0xU5EKu6RSY4/JLq6u1upyulVQTeAEAAJJD2AWQa3PTYyoVC4GvlYoFzU2Pbf+5EhKMOwXmuNo1wwIAAEAyCLsAcm1moqKF2fHtIFuwrWLlSrmkhdnxHZ2Wg4JxayBOQthOcdI7yAAAAKOMbswAcm9mohJpfFDzGKILtbr2t4wnSsr+cimwy3PSO8gAAACjjLALAE2iBuNezE2P7RiHJPVnBxkAAGCUEXYBYMAGtYMMAAAwygi7ADAEg9hBBgAAGGWEXQAjY3m9ym4qAADAiCDsAhgJ/mxb/5ysP9tWEoEXAAAghxg9BGAkMNsWAABgtBB2AYwEZtsCAACMFsIugJEQNsOW2bYAAAD5RNgFMBLmpsdUKhZ2rDHbFgAAIL9oUAVgJDDbFgAAYLQQdgGMDGbbAgAAjA7KmAEAAAAAuUPYBQAAAADkDmEXAAAAAJA7HcOumb3DzE6a2ffN7LyZ/Za3fsTMqmZ21vv1K03vOWxmL5jZhplNN63f6629YGbzTesHzOxZM/srMztqZtd569d7f37Be/3WJL88AAAAACCfouzsXpH02865fyTpbkm/aWbv9F573Dl30Pv1jCR5r31Y0h2S7pX0h2ZWMLOCpD+Q9B5J75T0kab7/J53r9skXZL0MW/9Y5IuOed+SdLj3nUAAAAAALTVMew6537snPue9/u/k/R9Se3amb5P0tecc687516U9IKkd3m/XnDO/cA594akr0l6n5mZpEOSnvLe/4SkmaZ7PeH9/ilJ/9S7HgAAAACAULHO7HplxBOSnvWWPm5mf25mXzSzm7y1iqSXm972ircWtv5WSTXn3JWW9R338l5/zbseAAAAAIBQkcOumb1F0tOSHnbO/TdJn5P0DyUdlPRjSZ/1Lw14u+tivd29Wp/tITNbM7O1ixcvtv0eAAAAAID82xvlIjMraivofsU5d0ySnHN/0/T6f5D0Le+Pr0h6R9Pb3y7pgvf7oPW/lVQ2s73e7m3z9f69XjGzvZJulPRq6/M55z4v6fOSNDk5uSsMA0DWLK9XtbSyoQu1uvaXS5qbHtPMRLsTJAAAAGgWpRuzSfqCpO875/5N0/rbmi77VUl/4f3+uKQPe52UD0i6TdJ3JH1X0m1e5+XrtNXE6rhzzkk6KekD3vsflPSNpns96P3+A5JWvesBILeW16s6fOycqrW6nKRqra7Dx85peb067EcDAADIjCg7u1OSfl3SOTM76639jra6KR/UVlnxDyX9K0lyzp03sycl/aW2Ojn/pnNuU5LM7OOSViQVJH3ROXfeu98nJH3NzB6TtK6tcC3vn39sZi9oa0f3wz18VwAYqqi7tUsrG6o3Nnes1RubWlrZYHcXAAAgoo5h1zn3nxV8dvaZNu/5jKTPBKw/E/Q+59wPtNWtuXX955I+2OkZASDt/N1aP8T6u7WSdgXYC7V64D3C1gEAALBbrG7MAIDutNutbbW/XAq8R9g6AAAAdiPsAsAAxNmtnZseU6lY2LFWKhY0Nz3Wl2cDAADIo0jdmAEAvdlfLqkaEGyDdmv9sua8dWOmwzQAABgkwi4ADMDc9NiOM7tS+93amYlKroJgnDPLAAAASaCMGQAGYGaiooXZcVXKJZmkSrmkhdnxkQl6cc4sAwAAJIGdXQC5lqbS2bzt1sZBh2kAADBohF0gg9IU4NKM0tn0iHNmGQAAIAmUMQMZ4we4aq0up2sBbnm9OuxHSx1KZ9ODDtMAAGDQ2NkFMqZdgMvybmU/dquHUTrLrnuwvHaYBgAA6UXYBTImj2cf+1VuPOjSWcqm2xvlM8sAAGDwKGMGMiYsqGX57GO/yo0HXTrbj++xvF7V1OKqDsyf0NTiKuXqAAAAERF2gYzJ49nHfu1WD3rcT9Lfg/PZAAAA3aOMGciYPJ597Ge58SBLZ5P+Hnk9nw0AADAIhF0gg/J29nFuemzHWVcpm7vVSX+PPJ7PBgAAGBTCLoChy8JudZQuy91+j7B7M5sWAACge+acG/YzJGpyctKtra0N+zGAzGJ0zm6tXZalrR3bJM7/tru3pL59LgAAQFaZ2Rnn3GSn62hQBWAbDZGC9atbdKd7D7rBFgAAQJ5QxgzkWNxdWhoiBevn2dlO987b+WwAAIBBIewCOdVaHuvv0koKDU9paoiUpnLqfp6d5VwuAABAf1DGDORUN6W3YQFr0MErbeXU/ZxtnMe5yQAAAGlA2AVyqptd2rQEr36eke3Wm4rX/nVZLhW3G0hNLa7qwPwJTS2udhXGOZcLAADQH5QxAzkVpTw2qFR4YXa8Y/lwv0uMuy2n7sdzBXVLfv3KVa396FU9faYaq0y83XOemj/U03MCAABgJ8IukFNz02OBY2v8XdqwM70Ls+Ntg1c3Z4Hj6uYca7+eK2yX+avPvqzNltFtUZp5DeLvDwAAAJQxA7nVqTy221LhQZQYd1NO3a/nCttNbg26na73pbFEGwAAII/Y2QVyrN3Ymm5LhQfRsbk5kEctSe7Xc4XtMhfMAgNvp2Zeaep4DQAAkGeEXSBnop5b7XbkzaBG5cSdL9uv5worB3//XZUdZ3b99U7NvBg1BAAAMBiUMQM5EmdkT7edl9u9b3m92nN34m71q5N0WDn4YzPjXXVRTkvHawAAgLwzF3LuLKsmJyfd2trasB8DGIqpxdXAXcNKuRTYdKrb7sVB75MUuAM6yDE6/e4SnZSsPCcAAEAamdkZ59xkx+sIu0B+HJg/oaD/izZJLy7e19fPjhu0AQAAgG5EDbuUMQM5EnbucxDnQWm8BAAAgDQh7AI5MszzoMMM2gAAAEArwi6QI51m6/YTjZfQbJjNygAAACRGDwG5E3dkT5KfK8WbjYt88ruC+83K/K7gkvjfAwAAGBjCLoDEDCtoI12WVjZ2dOWWpHpjU0srG/zvAwAADAxlzACARNGsDAAApAFhFwCQKJqVAQCANCDsAgASRbMyAACQBpzZBQAkimZlAAAgDQi7AIDE0awMAAAMG2XMAAAAAIDcIewCAAAAAHKHMmYAI2l5vcqZUgAAgBwj7AIYOcvrVR0+dk71xqYkqVqr6/Cxc5JE4AUAAMgJypgBjJyllY3toOurNza1tLIxpCcCAABA0gi7AEbOhVo91joAAACyhzJmACNnf7mkakCw3V8u9fVzOScMAAAwOIRdAJnTS2hcXq/q8htXdq2bpHtu35fwk+78XM4JAwAADA5lzAAyxQ+N1VpdTluh8eGjZzXx6T/V8no10nsvXW7ses1JevpMteM9usU5YQAAgMEi7ALIlKDQKEmXLjd0+Ni5tmE17L2+foZPzgkDAAAMFmEXQKa0C4edwmqUYNmv8Bl2HthfX16vampxVQfmT2hqcbVvO8wAAACjgrALjJA8BKpOTaTahdUoDaj61aRqbnpMpWJhx1qpWNDc9FhgaXanXWoAAAC0R9gFRkReAlVQaGzWLqx2eq8fPvthZqKihdlxVcolmaRKuaSF2XHNTFQ4zwsAANAHdGMGRkS7QDXIbsC9jt/xrz1y/Lxq9Z2NpooFaxtW/ff6n1++oSjnpNfqje1nkaSpxdW+jAeamagE3ovzvAAAAMkj7AIjIg2BKqnxO/61c19/To2r7toLLuQNLe8N+6xOz9evOblx5v4yqxcAACAaypiBEdGpQdIgJFmuu7SysTPoSmpcdT2V/rZ7vn6Wgbc7z9ssL6XoAAAAg0DYBUZE1EDVT0nuLvdjp7rdPft5rjboPO/779o6y9vcTCzsGT71zfOZbzwGAACQNMqYgRHRel51GCWwccp1B3mvKPfsdxl4c3l1WDl12IzgS5cbunS5seNa/54AAACjip1dYITMTFR0av6QXly8T6fmDw08DCW5uxx0L5N0z+37+vJ8gywDD9vBLZhFej+dnAEAANjZBTBASe4uz0xUtPajV/WV0y9t96Vykr5y+iV9+fRLqpRLuuf2fTr5/MUVf+hNAAAgAElEQVTIn9Xp+Vp3V/tVBh62W7zpnErFQugOb5R7AAAAjArCLoCBatcNOa6Tz1/c1YDZ/3O1VteXT7+0vR61vDfs+QZZBh5WTl3xPrP5GX72+pVdI5j8ewAAAIwywi6AzIq7e9nrXOFeg3rUsUFz02Ohu8itz9B6vrf5WgAAgFFG2AWQSlGCYdgOaDvDKu+NM2M4zi5yGhqPAQAApJE511oEmG2Tk5NubW1t2I8B5FLUnckkPidot3JhdrzjrmYnlXJJp+YPJfq8UUwtroaWJg/jeQAAALLKzM445yY7XUc3ZgCR+MGyWqvL6drOZD9mukaZads8d9bvUtypV/Ewy3v7PboIAAAAOxF2AUQSJYAmpVMwbA7e0rUuxR+9+xZVyiWZtnZMf63lz607w4M0yNFFAAAA4MwugIgGuTMZdhbXD4Zhwfvk8xdTWxLcrukUAAAAksfOLoBIBrkzOTc9plKxsGOtORhmsSR4ZqKihdnx1Ow0AwAA5B07uwAi6ffOZGvzq/ffVdHJ5y8GNsPqtPObVknOGAYAAEB7hF0AkfRzxE3QWJ6nz1RDdz4pCQYAAEAnhF0AkfVrZ7Jd86s8zZYd1OgmAAAAMGcXQAocmD+hTv8muumGoh69/47MhsOos4MBAADQHnN2AWRGlLO2ly43NPfUc32Z6zsIgxzdBAAAAMIugBQI6r4cpLHpUhEOl9ermlpc1YH5E5paXI0UwLPYQRoAACDLOLMLYOhaz+C2K2kedjgMaqZ1+Ng5SWpbjpzVDtIAAABZxc4ugJ7E3eUMu35moqJT84f04uJ9qrQJgMMOh92WI3eaHQwAAIBkEXYBdM3f5ax6u7H+LmdY4I16/dz0mIp7bNf7iwUbejjsthx5ZqKihdlxVcolmaRKuURzKgAAgD6ijBlALM3jc/aYabOlo3u7kUFRRwz5vz9y/Lxq9Yak9HRj7qUcuV+jmwAAALAbYRdAZK3nVVuDri/u7mfQelqD4dz0WOAIoWHvOAMAAGCnjmXMZvYOMztpZt83s/Nm9lve+s1m9m0z+yvvnzd562Zm/87MXjCzPzez/6HpXg961/+VmT3YtH6XmZ3z3vPvzMzafQaA/uh0/jZoZzZI2C5n3PU0ohwZAAAgG6Ls7F6R9NvOue+Z2X8n6YyZfVvSv5D0Z865RTOblzQv6ROS3iPpNu/XL0v6nKRfNrObJT0qaVKS8+5z3Dl3ybvmIUmnJT0j6V5Jf+LdM+gzACQsSpfhKJ2Q2+1yRt0VbS6V3l8uaW56LFVhMq27zgAAALim486uc+7Hzrnveb//O0nfl1SR9D5JT3iXPSFpxvv9+yR9yW05LalsZm+TNC3p2865V72A+21J93qv/T3n3H9xzjlJX2q5V9BnAEhYlC7DYTuwBbNIu5xRdkXjNr3qRjdzcgEAAJAtsc7smtmtkiYkPSvpHzjnfixtBWIz+/veZRVJLze97RVvrd36KwHravMZABLQvIMaNtu2eTc3bGc2Thlvp13RqE2sutXtnFwAAABkS+Swa2ZvkfS0pIedc//NO1YbeGnAmutiPTIze0hbZdC65ZZb4rwVGFmtoS9M826uHwZbS4wlaWpxNZGy425H+0TV7zANAACAdIg0Z9fMitoKul9xzh3zlv/GK0GW98+feOuvSHpH09vfLulCh/W3B6y3+4wdnHOfd85NOucm9+3bF+UrASMvSrOp5vO0funvI0fPSpIef+CgTs0fkqREy4773cSq32EaAAAA6RClG7NJ+oKk7zvn/k3TS8cl+R2VH5T0jab13/C6Mt8t6TWvFHlF0rvN7Cavq/K7Ja14r/2dmd3tfdZvtNwr6DMA9KhduGs9T9vuHG3YTumnvnm+q+eamx5TqVjYsZbkaJ88dIQGAABAZ1HKmKck/bqkc2Z21lv7HUmLkp40s49JeknSB73XnpH0K5JekHRZ0r+UJOfcq2b2u5K+6133aefcq97v/7WkP5JU0lYX5j/x1sM+A0CP9pdLqgYE3oKZPvuhO7dLepfXq/rtJ5/bNVPXL/0NC82XLjc08ek/Ve1yI1Zpc1ipdFIlxszJBQAAGA3mXKzjsak3OTnp1tbWhv0YQGyDHrfT7syu33RKUsdzvZWQ0Bx2zzSci037aCMAAACEM7MzzrnJjtcRdoHhCwqegwiHn1w+py+ffinwtYpX1tsuyJqkj959S+g9gu7pn/MFAAAAuhE17EZqUAWgv6LMuE3a8npVR7/zcujrF2r1jk2bnKSTz19UuVSM9Jk0gQIAAMCgxJqzC6A/BtUhuLl8V2o/42uP2a5zukEu1Op6/IGDsccYAQAAAP3Ezi6QAoPoENzaUblTjI0SdKWtZ5yZqGhhdlyVckkmqVwqqljYOUKbJlAAAAAYJHZ2gRQYRIfgKHN1OzHtDMnNzzgzUdlxvpgmUAAAABgmwi6QAv0et7O8Xo3UMbkdk/T4AwcjP2Nr+AUAAAAGibALpES/wqFfvhxFsWB683V7Vas3dr3mlysTYAEAAJAFhF0g59qVLxf3mN7ypr2qXW5s79RKu2frct4WAAAAWUPYBXKuXUfnpQ/eGbpTy3lbAAAAZBlhF8i5/eVS4HndileWHGQUypVpoAUAAJBvjB4Ccm5uekylYmHHWjdlycvrVU0trurA/AlNLa5qeb2a5GMOVOsYpmqtrsPHzmX6OwEAAGAndnaBARv0jmK3nZ6bn/PGUlE/e+OKGptbg4f8cNh8/ywJOsdcb2xqaWUjk98HAAAAuxF2gQHydxT9oDWo0Bi3LLn1OYO6M2c5HIadY253vhkAAADZQhkzMEDtdhTTpF0H52ZZDYf7y6VY6wAAAMgewi4wQP3cUUzyTG3U58lqOEzqHDMAAADSizJmYIDCOiP7obHb87xJl0eHPWerpMNh3O/f7d9Xt+eYAQAAkB3mnBv2MyRqcnLSra2tDfsxgECtoVTa2lFcmB2XpNDXOoWwqcXV0PFCp+YPJfKcrcqlos4++u4d7+klPLb7uwm6T9zrAQAAkA9mdsY5N9npOsqYgQGamahoYXZclXJJpq0w6oezXs7zdlseHVb67D9nwSzwfSbpyHvv2HGfXkf5xP3+WTn/nKeRTQAAAFlCGTMwYGGdkXs5z9upPDpIp9LnmYmKHjl6NvC9TjvLo5MY5RP3+2eho/Kwum8DAACAnV0gNXrpENxNw6UoO6Nhn11pWU8ieMb9/lnoqJyV3WcAAIA8IuwCKdFLh+B25dFhogTUqM+URPCM+/2z0FE5C7vPAAAAeUUZM5ASvXYIDiuPDhOl9DnqM81NjwU2i4oTPON+/yx0VO6mvBwAAADJoBszkFGD7n4c93nuuX2fTj5/sacg2ut3HDY6RgMAACQvajdmdnaBDEqq8dH1e/ds3+OmG4p69P47ug5hzTvLSTxfHpo7ZWH3GQAAIK8Iu0AG9dr9OGjH8eeNq6l5vqTukQZxy8sBAACQDMIuEKKfJbS93rvXxkf9CJLN3ynscEScxkw0dwIAAEAvCLtAgH6W0CZx714bHyUdJIN2ioPEacxEcycAAAD0gtFDQIB+zkdN4t69jt1JekZt0HdqFbc7cxZGCwEAACC92NkFAvSzhDaJe/fa+CiJUUFRypYlyaTQ52tXzk1zJwAAAPSCsAsE6GcJbVL37qXxUa9BMmrZcqVc0qn5Q9uh9pGjZ7c/S1LHcu5hNHfK+rgjAAAAbGHOLhCgn/NR8zB7dWpxNTCwN/O/k6TA73v93j2q1Ru73lcuFXX20Xcn+8AR5eFnAwAAkHfM2QV60M8S2rj3jrLTOOjdyE4l1wWz7YA4tbgaeEY5bFe4Vm9oeb06lHCZl3FHAAAAIOwCofpZQhv13lE6N/ezc3SYsFJs31Xntj+7m3POwwqXjDsCAADID7oxAykWpXNzu2uW16uaWlzVgfkTmlpc1fJ6NZHnCuqU3Kz5/HHYWeSbbiiGvj+pcBn3+yfdpRoAAADDQ9gFUizKTmPYNdVaXXNff05Vr1uy/+ckAu/MREULs+OBgbW1q3PYCKFH778jNPAmES79He/m73/42Lm2359xRwAAAPlB2AVSLMpOY9g1ZlLj6s4GdI2rTkeOn0/k2WYmKlr/v96t33/goCrlkkxb3Zdbmzn5wTjomkfvvyORcBm0g9vNPON2zwoAAIBsoRszkGJRugOHXdNuLNAPF+/r30PH1Gtzrbjf3yS9mKLvDwAAgHjoxgzkQJTOzWHXPHz07FCeOa5eG4GF7eAWzLQZ8B/zOH8LAAAwGgi7QMq1hlm/DLc18LYGxk9987wuXd49x9Y/JzvocUX9EnZmedO5XTu8nL8FAAAYHYRdQN0Fv9b33HP7Pp18/mLi4bHb0UKP3n+H5p56To3Na7ubxYLp0fvv0CeXz+krp1+S/8ogxhX1S9gYpIr3M8hDoAcAAEB8nNnFyItyLjbKe1qZpP/pH96sH/7Xek9ha2pxNTTMnZo/1Pa9QSFekh45elZB/5cf5Z5p083PDwAAANnFmV0gonZde8PCUtB7WjlJp/761e0/d7t7GmX8UJig8uapxdXAoBv1nmkT5VwzAAAARg9hFyOvmzDZbSjsFKKDhJXpdttoqd2zZ7V5U69NrgAAAJA/zNnFyIsyyzbOa50Ehc2gObG+uemxyLNo293Hd2OpGPpsNG8CAABAXrCzi5E3Nz0WeOazXfALek9UflD2z9NWa3WZFNosKmqZbtRGVo3Nq6HPFtTpGQAAAMgiGlQhl+J2V+6lG3NQiXEYv3GSpI5hOW6zqE6NrKI+L82dAAAAkGZRG1QRdpE7g+7OG6UzsyQVzPTZD92pmYlKaDBtZpJeXLwv8nMcmD8R2njq1+6+ZceooU6y2JUZAAAAoyFq2OXMLnKnXXflfpiZqOj9d1VkHa676tx22I7S4CruueB21385RtCVstmVGQAAAGjGmV3kTi+jerp18vmLHcNkcxgN67Ds63RmOMjc9Fjo/Ny49pdLkUq7uyn/BgAAAAaBsIvcSXpUTxSdgnRreA1qcOU3qap0GRpnJip6+OjZWO8Je9Z7bt8X2Oxq7Uev6uTzF3WhVlf5hqJ++vMralx1O67xnwUAAAAYJsIucqeb7sq9ardTGxReo3ZY9kXdQTWTej2GvzA7HloK3nzu99Llxq73djNHGAAAAOgHwi5yJ26QTEK7ndp2zxnlmaKOFFper/YcdCvlkmYmKnokZIc4yu057wsAAIA0IOwil6IGySQ/T1LHubmSdOT4edXqW7uiN91Q1KP337H9/qAd3HYNt5q/Y7sGXDcU9+hyI3y+rrRz97vTmeJ2+lkuDgAAAERF2AX6oHUHtN7Y1Ke+eX7HGVdpqxR47qnntv8ctIMbNtKodQe13Y7q/z3737c9z9taat3NTrXU/3JxAAAAICrCLkZW3E7C7a6PMms36IyrJDU2nR4+elYFM2221CHXG5uB69LuHdSw3dhyqaiZicqOHeXW11tn6gaVgt9z+z49faa64zsWC6Y3X7dXr9UbdGMGAABAqhB2MZKinoONen1QqXFcQYHWXy8VCx0bboU15jry3jskSUfee4fmvv7cjp3l4h7bfr1VUCn45C/ezKghAAAAZAJhFyMp6jnYqNf3sylTpensbruQ2akxVxKNuwZ9FhoAAADoFmEXfRG3RHjQwsJpt+u9NHRqx9/BjRoyW69bXq9qanF1x8+htWQZAAAAyKM9w34A5I9f8lut1eV0reR3eb067EfbFtYxuNv1uekxlYqFRJ6tYCbT1o7uwux41/+RIAs/BwAAAKBfCLtIXLuS37QICqftOgkHXV8smH72+hUdmD+hpZUNvf+uiirlkkxbTZ+6USoW9NkP3akXF+/TqflDPe2GZ+HnAAAAAPQLZcxIXNxS4GGIe3619fryDUX99OdXtrsbV2t1feX0S/ro3bfosZlxSdInl8/pK6dfajuup7jH9JY37VXtcvLdjJP+OaS9NB0AAABoRthF4sLOr4aVAg9L3GZLzddPLa7uGiXkJH359Ev61nM/3h7F89G7b9HJ5y/uGN/T/Oc4gTFu2Ezy5xC3ezUAAAAwbIRdJC5sBE5YiXAWtdsdbd7tPfqdl7X0wTt7DoTL69UdY4Oqtbrmvv6cpPCwmeTPIW73agAAAGDYOLOLxM1MVLQwO759frXXRktpFHV3tHHV6cjx8z1/3pHj53fMx/Xv/ciTZ0MbTiX5c8hCaToAAADQjJ1d9EXe57HOTY/pkaNn257H9fk7vb0Iu4dzaltOnNTPISul6QAAAICPnV2MBH/e7IH5E5paXA3dDY163cxERR+9+xZZPx86okF0WI7SvTrq3x0AAAAwCOzsIveiNleK24TpsZlxTf7izdtNo8ykqwFbvTfd0N0YotZ7tDbEatbvcuJO3atpYAUAAIC0Iewi9zrNm/UD3B4zbToXeF27kUTNgW/uqefU2Lx2j2LB9Oj9d/T8HR69/45d9242iHLidiXRNLACAABA2hB2kQrNY3VuLBVlpsRmz4btevq7j35Iaw26nd7fKu7s3jj8exw5fn7X+d00dLqmgRUAAADShrCLoWstgW0Oc0mUw4Y1VyqY7dqNDHt/VP1szOXfO+683UGggRUAAADShrCLoQsqgW3Wazns3PRYYHlxWElwszTsmrZKY6frUZitDAAAgGwh7GLoopS69lwO25prnVQuFQNH+hTMdNW5trumadxdHaZ+lnADAAAA3SDsYujCSmBbr+nW0sqGGi1tkhtXncy2dh9bdyMXZsfbhrSgzsOPHD2rh4+eVSXlIa81pN9z+z6dfP5iIgE1jTvOAAAAGF3M2cXQBc1wbdZrOWzYrnDtckMLs+OqlEsySZVyqWPQlYLLrv0o7Z8xTuOMWT+kV2t1OW0965dPv7Tjz2l9dgAAACAudnYxdK0lsEl3Y27XPKmb3chOJdVpHbnT6Wy0lN5nBwAAAOIi7CIV+lkCm3TzpChl12kcuRP1mdL47AAAAEBclDEj92YmKl2VK4fpVHYtSTeWippaXNWB+ROaWlxNRWlw1HPPjAsCAABAHrCzi5GQ5M5xc9l1tVaXaWez5+Ie08/euLLd6TmJWcFJCNrhbsW4IAAAAOQFYRcjqdfRQc3hufVel9+4okuXd440SsNZ2KDxQEl2YwYAAADSxJxrHUDacoHZFyX9L5J+4pz7x97aEUn/m6SL3mW/45x7xnvtsKSPSdqU9H8451a89Xsl/VtJBUn/j3Nu0Vs/IOlrkm6W9D1Jv+6ce8PMrpf0JUl3Sfqvkh5wzv2w0xeanJx0a2trUb8/RlDr6CAp2sihqA7Mn9g11leSTNKLi/f1fH8AAABglJnZGefcZKfropzZ/SNJ9wasP+6cO+j98oPuOyV9WNId3nv+0MwKZlaQ9AeS3iPpnZI+4l0rSb/n3es2SZe0FZTl/fOSc+6XJD3uXQf0LKgrsb/zmoSwM6/9Pgu7vF5N3TlhAAAAYFg6hl3n3H+S9GrE+71P0tecc687516U9IKkd3m/XnDO/cA594a2dnLfZ2Ym6ZCkp7z3PyFppuleT3i/f0rSP/WuB3oS1m04qS7E99y+L9Z6EoJm6DIzFwAAAKOsl27MHzezPzezL5rZTd5aRdLLTde84q2Frb9VUs05d6Vlfce9vNdf864HetLvndeTz1+MtZ6Efu9WAwAAAFnTbYOqz0n6XW01of1dSZ+V9L9q61hiK6fgUO3aXK8Or+1gZg9JekiSbrnllnbPDfQ0dzdKY6t+7xwHPUvYyXtm5obrtUkZAAAA0q2rsOuc+xv/92b2HyR9y/vjK5Le0XTp2yVd8H4ftP63kspmttfbvW2+3r/XK2a2V9KNCimnds59XtLnpa0GVd18J4yOoK7EUYJOa2OrsJFC+8slVQNCZlI7x8vrVR05fn57tFE7zMwNFvVnCQAAgOzqqozZzN7W9MdflfQX3u+PS/qwmV3vdVm+TdJ3JH1X0m1mdsDMrtNWE6vjbqsV9ElJH/De/6CkbzTd60Hv9x+QtOo6tY4GIpqZqOjU/CG9uHifTs0fihRwopYKz02PqVQs7FhLan6tH9KiBF1m5oaj7BsAACD/Ou7smtlXJf0TSb9gZq9IelTSPzGzg9oqK/6hpH8lSc6582b2pKS/lHRF0m865za9+3xc0oq2Rg990Tl33vuIT0j6mpk9Jmld0he89S9I+mMze0FbO7of7vnbAj2IWp7sB+fm3dc3Fbf+u1KvpbNBIa2VSbqxVJSZ9MjRs1pa2aBEt8WgSs0BAAAwPB3DrnPuIwHLXwhY86//jKTPBKw/I+mZgPUfaKtbc+v6zyV9sNPzYfQM66xl3PLkn71xZfv3ly439Ntff057JDWubhUodFM62ymMVby/D0p02+t3qTkAAACGr5duzMDADXPETpzy5E9987wamzur7jevuu2g64tbOtsujPnPQoluZ/0sNQcAAEA6EHaRKcMMcjMTFS3MjqtSLsm0tYu6MDseuFt66XLnM7W+OKWzQSFNkm66obj9LJTodhbnZwkAAIBs6nb0EDAUww5yMxOVxANRnNLZKJ2kKdGNph8/SwAAAKQHYReZkpUgVy4V+9YxuVNI62WOMAAAAJAXlDGj75bXq5paXNWB+ROaWlzt6XxtVs5aHnnvHR2vaS49TlJYia6kxH4OAAAAQNqxs5tjw+pa3PoMSXYGjlLGmwYzExU9fPRs22t+3rga+lrUn13Yda27v0n/HAAAAIC0M+dc56syZHJy0q2trQ37MYauNdxIWzugg27CM7W4Glh2XCmXdGr+0MCeYxjCvnuzoL+HoJ9dsWB683V79Vq9sR1qJUX+GY/yzwEAAAD5YmZnnHOTna5jZzen2nUtHmTYHURDqV53QePeJ6qgs7OtqrW6lterOz4n6GfX2HTbZ4D9Xdnr9+6J/DMedmMvAAAAYNA4s5tTaQk3YY2j2jWUinPGN+rc3U7X9WN+b/PZ2XYePnpWBz/1p9ufFeVnVG9shjbACnp/Nz8HAAAAIMsIuzmVlnATt6FU3NAZde5up+v6Nb93ZqKiU/OH9PsPHAycj+ur1Rvb37PXn1HQ+7PS2AsAAABICmE3p9ISbsI6A4eVB8cNnVF3sDtd1+n1TrvNnV73/x7a8b9n0M8uyE03FCP/jOP+HAAAAICs48xuTqWpa3GnubDN4pZfR5272+m6dq8HdTJ++OhZfeqb5/Xo/VsjhqJ2OjZJ7VrCXajVd/3syjcU9dOfX1Hj6rV3loqF7c+O+jOO83MAAAAAso6wm2NZDDdRw6svqAlU0O5mp+vavR602yxJly43YjWKWlrZaBt0JenGUlFTi6vb4fXxBw5qZqLStnlW1n7GAAAAwCAQdpEqUcOrL+oOdqfr2r3+SJt5ufXGZmi35dbQ3qnxVHGP6WdvXNnVddl/vtbvlIY5ygAAAEBaMWcXqZO2EBdlXm4Qk7Z3ZiVp4tN/qkuXgzso31Dco8uNq4GvRZ3FO4w5ygAAAMCgMWcXmZW28utO83JvuqGo2uXGrhJlJ22XMi+vV/XTn1/Z9d5iwfSuW2/Sqb9+NfTzg3aE0zJHGQAAAEgrujEDHfidjMul4q7X/EZRYfURflBdWtnY0WDK9+br9ur0Dy61/fyg88ppmaMMAAAApBVhF4hgZqKis4++W7//wMHA8T2VDnONw8qga/WGNtscJQg7r5yWOcoAAABAWlHGDHjCzgpHOUN861uDu0hf+tnrOjB/IvQzC2aSFBp4r98b/N+j4jbyAgAAAEYNDaoABTd88mfits7G9RtBSdKR4+e3uyd369fuvkVfPv1S6OthjafS1sgLAAAAGAQaVAFNOgXDoIZPruWfvnpjU//nk2clJwX3T46uUi7psZmt4PzVZ18O3OENazyVtkZeAAAAQJpwZhe55+/aVmt1OV2bX7u8Xt2+Jm5jp6sJBN3msuPHZsb11wu/Igu5lsZTAAAAQDyEXeReuzE9vkE3diqY6f137d6ZpfEUAAAAkAzCLnIvypieuekxlYqFQT2SNp3TV06/pFvnT2hqcXV7l3luekzFPTv3d4t7jMZTAAAAQEyc2UXq9dqIaX85uFNy827pzERFaz96VV85/VLozNyk+Z/jl1Vva61lDqttBgAAABCKbsxIldZge8/t+/T0mequETtB3Ynb3TNoTI/fUXlpZSN0Dq4klUtFvX5lU/VG+1O6e2zrLG+3Km1m8lbKJZ2aP9T9zQEAAICciNqNmbCL1Gg3/qdVp/AXFJpPPn9R1VpdBTNtOqdyqaifvXFFjc32/zdQ8XaT577+nBpNaba4x7T0wTu3Q/eB+RM97Qr7G7hB9zBJLy7e18PdAQAAgHyIGnY5s4vUaDf+p1W77sRB3ZefPlPVPbfvU6lY2B7vU6s3OgZd/7NmJipa+uCdqpRLMm0F4OagK/XeRGp/uUSDKgAAACAhnNnFwHQ6extnvE678BfWfTlsjm3Uz/Kf1f8On/rmeR05fl6v1RuhJdetwnaqJeme2/dp8hdvDiy5pkEVAAAAEA87uxiIoN3WR46e3dGNOCzAtvZn6hT+wkJzN0G3WLjWCbn1O1y63FCt3tixe/z+uyoqWHBHqYKZHn/g4PbZ3FYnn7+omYmKFmbHd+wgv/+uipZWNnSgpXMzAAAAgHCEXQxEuxJlvxuxX2bcrFQs6KN337Ij/HVqThUWmsNCaJibbihq6QN37tjRbbdrW29s6uTzF/XZD90Z+D0++6Gte3UahTQzUdGp+UN6cfE+zU2P6ekz1R3/keDwsXMEXgAAAKADypgxEJ1KlP2guDA73tOYIWlrVm1QKfD776rsKjMu7jG95U17Vbvc6Ph5Ucqs/fO9kkK/R5RRSL6wkuyllY3Yfy8AAADAKCHsYiDCAl4zPyj2GuLahc3JX7y56zAd5Ts0n+8Nu29YGA8qze60C9yrXmcYAwAAAGlF2MVABAW8Vkl2HA4Lm3GRJXkAAA3rSURBVM3rftB75OjZSEGv03eI2kiq085vszi7wHG1jnryS6SbnxEAAADIKsIuBqI54FVr9V1diaMExSR3IbsJeq0htXxDUc5puxtznOeJuoMdZxc4LkqkAQAAkGeEXQxM0K5q1OCa9C5kt0EvaFf2yHvv0MxERcvrVU0tru74Tq3Xxg3ocXaB4+p3iTQAAAAwTOa6GMeSZpOTk25tbW3YjzGy+nUGdGpxNbCct1Iu6dT8ocj3+eTyubbzdk3Si4v3hb6/NXRLbZpfFUxyUuOq23Ftp27Sg5LU3ykAAAAwSGZ2xjk32ek6Rg8hMUGzdJMak5PELuQnl8/py6dfajtvt9NZ2CPHzwfuCH/12Zd3rTc23Y6g61+7tLIR+Zn7aW56LHBEUhIl0gAAAMCwEXaRmHalwb0KC6HN634Z8YH5E5paXN0Vsr98+qW2n9Ep6C2vV1WrNwJfaxegW6WlTHhmoqKF2fFYM4wBAACArODMLhLTzzOgnRo1dTrT22l3uRJScu2XZXcaORTHHjMtr1dTESqTGPUEAAAApBFhF4np55ic1kZNN5aKMpMeOXpWSysb+tnrV9o2nOq0uxx0RjXofG47pWKh45ldaWsXmBE/AAAAQH9RxozE9PsM6MxERafmD+nxBw7q9StXdelyY/tscFh5sb+r3G53+c3XFQLXg8qy22ktCV76wJ1a+uCdKpjtujZNZ3cBAACAPGJnF4np55icZnFCaPmGoqTwXWdJ+syvjgeuxym/vumGYmhJ8CNHz/Z8fwAAAADxEHaRqEGcAY0TEn/68ytaXq8Gnvk1SR+9+5Ydz9s8OmmPWeTGU5cuNzS1uBoY7vtZ3g0AAAAgGGEXfRdl9m6c+bztdmlbNa46La1sbJ/JbfcZrWd043RYlnY3xfJ1aq4FAAAAIHmE3SGLE/KyqFOX5KjXNAsKj8U9tqsRlM/fCe606xz3jG6Q5qZYvkGVdwMAAAC4hrA7RHFDXha1m73bHAI7XdMsKDxefuOKLl0OblIVtVw4qTO0QfdhxA8AAAAwWITdIYob8rIoLEBWa3UdmD/RtiS5XfhsDY8H5k+EXhu1XDhOeXSn+wAAAAAYLsLuEIWFuX506R1WuXS7AOmPDTLv90GvhzV9ivM5/oifsEZU/t9HUHl0XCbpntv3dbwu7+XrAAAAwLARdoco6S69YQFqmOXSUQKkk0IDb/OzSjtLl++5fZ++9dyPQ2fsht3jyPHz/3979xZjV1UGcPz/MZ2WFpBpAU0zxUITgmKQ20QgNURRqxAlBIhpQ0LjJSbqg6jRQEgkPoESDSEawXiJD6jl4oWQkEoovpBYbKGFIhSKEmm5FDQFhZKUdvmw1ymnp3ufmTNznJmz5v9LVs4+6+yz9579tav9Zl32Id/ZtWcv37pzK0cfOW/Kc3YTcPfmXYwtX9J4b+fC8HVJkiRppkXqccXZ2W5sbCxt2rRppi9jQjqTHqhW6b3hstN7Tnq6Heum9dtrk+qhCH7w2TPGPddkeyFb39u1Zy8RMN4ftdEuvbNNyXAvFg0fwb79qXEhq34bbbhXK2/cUPtzjo4sPLhqtCRJkqR6EbE5pTQ23n727E6juqSxlYxOdThrt/m/TcOi96fU2KN4SKLKO4nmRHshO5Pv8RLdoQgeuuZCTmqYe9uP9PTNfQf6cJSJa7pX0zl8XZIkSZqrTHanSdPQ1cvP6c+w1W4JVLf5rHULYh2WqNZ85+p1W/jmHVvZnxIjC4eJgD1v7juYsPf6GJ/WM22HInp+vu1sVnd/+z18XZIkSdLhTHanSVPP6+1/+WfPvaZweC/xyKLh2kfvtJLPbvNmd+3Zy8obNxzyGJ+JJKqtpLRz/uvX123puSd2NCd6JSW6LZ2/iKiLx8LhoQmvGi1JkiRpfEfM9AXMFU09r3W9pq3Vg5u0el537dl7cEXj/771NsNDcch+rQTq0rNGueGy0xmKqD1e5GO0jtX0vNqJ6jVdbU/0RhYOT+ncs1Fnj20rHqMjCwmqRH8y87QlSZIkNbNnd5r08gzX8eZu1vUS7ztQDSc+asG82vm/rdfOHsV+LPzUZCLHHoo4JNFryMd7tnjRMG/tO3DIzzo8FOw/kGhfn2p4KLjpijO4et2Wca9zzbkn8uBTr9TGselnbeqx7XxOsCRJkqT+MtmdJnVDV5sSpPHmbjYlw6/t3ceW61c1fq+VXLUPf55oAj6ZpDhR9Vq+kHuN6xxI6ZCkb884vcoBXHneexlbvqRxlemFw0Nc/5kPABy2+Fdd3aVnjTYeq3OF5KZVry8/Z/RgItyad9y0GrMkSZKk/z+T3WlSl2h+9H0ncPfmXT3P3ZzKAkedPYpNj8Gp6yWGw3uGu2lPFJvO03nN3RLwzuSx9drt0Uh1iWZd3UTn0dbF0YRWkiRJmn18zu4Mm8wzbKfr+bx1x2p/JFGrB3PR8BGHPdan8xgTPU8/f7ZeTfZ5wpIkSZKmz0Sfs2uyO6D6mZj141gTOcZEz2PSKUmSJKmJya4kSZIkqTgTTXZ99JAkSZIkqTgmu5IkSZKk4pjsSpIkSZKKY7IrSZIkSSqOya4kSZIkqTgmu5IkSZKk4pjsSpIkSZKKY7IrSZIkSSqOya4kSZIkqTgmu5IkSZKk4pjsSpIkSZKKY7IrSZIkSSqOya4kSZIkqTgmu5IkSZKk4pjsSpIkSZKKY7IrSZIkSSqOya4kSZIkqTiRUprpa+iriHgFeAN4daavRVN2PMaxBMaxHMayDMaxDMaxDMaxHMZyei1PKZ0w3k7FJbsAEbEppTQ209ehqTGOZTCO5TCWZTCOZTCOZTCO5TCWs5PDmCVJkiRJxTHZlSRJkiQVp9Rk96czfQHqC+NYBuNYDmNZBuNYBuNYBuNYDmM5CxU5Z1eSJEmSNLeV2rMrSZIkSZrDikp2I+JTEbE9InZExDUzfT1zVUT8IiJ2R8S2trolEXF/RDyTXxfn+oiIW3LMHouIs9u+szbv/0xErG2rPyciHs/fuSUiots5NDkRcWJEPBgRT0bEExHxtVxvLAdMRBwZEQ9HxNYcy+/m+pMjYmO+z+siYn6uX5Df78ifn9R2rGtz/faI+GRbfW3723QOTV5EDEXEoxFxb35vHAdMRDyX274tEbEp19m2DpiIGImIuyLiqfxv5fnGcfBExKn572KrvB4RVxvLQqSUiijAEPAssAKYD2wFTpvp65qLBbgAOBvY1lb3feCavH0N8L28fTFwHxDAecDGXL8E+Ht+XZy3F+fPHgbOz9+5D7io2zksk47jUuDsvH0M8DRwmrEcvJLv79F5exjYmGN0B7A6198KfDlvfwW4NW+vBtbl7dNy27oAODm3uUPd2t+mc1imFM9vAL8G7u12j43j7C3Ac8DxHXW2rQNWgF8BX8zb84ER4zjYJbeDLwHLjWUZZcYvoG8/SPUHaH3b+2uBa2f6uuZqAU7i0GR3O7A0by8Ftuft24A1nfsBa4Db2upvy3VLgafa6g/u13QOS99i+kfgE8ZysAuwCHgEOBd4FZiX6w+2ocB64Py8PS/vF53tamu/pvY3f6f2HJZJx28Z8ABwIXBvt3tsHGdvoT7ZtW0doAK8C/gHef0b41hGAVYBDxnLckpJw5hHgefb3u/MdZod3pNSehEgv7471zfFrVv9zpr6bufQFOXhj2dR9QgaywGUh75uAXYD91P14O1JKb2dd2m//wdjlj9/DTiO3mN8XJdzaHJuBr4NHMjvu91j4zh7JeBPEbE5Ir6U62xbB8sK4BXgl1FNK/hZRByFcRx0q4Hf5G1jWYCSkt2oqXOp6dmvKW691uv/JCKOBu4Grk4pvd5t15o6YzlLpJT2p5TOpOoZ/BDw/rrd8mu/YmmM+ygiPg3sTiltbq+u2dU4zn4rU0pnAxcBX42IC7rsa7xmp3lUU7Z+klI6C3iDahhqE+M4y+W1CC4B7hxv15o6YzlLlZTs7gRObHu/DHhhhq5Fh3s5IpYC5Nfdub4pbt3ql9XUdzuHJikihqkS3dtTSr/L1cZygKWU9gB/pppnNBIR8/JH7ff/YMzy58cC/6b3GL/a5Rzq3Urgkoh4Dvgt1VDmmzGOAyel9EJ+3Q38nuoXULatg2UnsDOltDG/v4sq+TWOg+si4JGU0sv5vbEsQEnJ7l+BU6JaMXI+1TCEe2b4mvSOe4C1eXst1fzPVv1VeWW784DX8jCO9cCqiFicV6ZbRTVH7EXgPxFxXl7J7qqOY9WdQ5OQ7+/PgSdTSj9s+8hYDpiIOCEiRvL2QuDjwJPAg8AVebfOWLbu/xXAhpRSyvWro1rl92TgFKpFN2rb3/ydpnOoRymla1NKy1JKJ1Hd4w0ppSsxjgMlIo6KiGNa21Rt4jZsWwdKSukl4PmIODVXfQz4G8ZxkK3hnSHMYCzLMNOThvtZqFZHe5pqLtp1M309c7VQNRQvAvuofpv1Bao5Xw8Az+TXJXnfAH6cY/Y4MNZ2nM8DO3L5XFv9GNV/DJ4FfkReHKLpHJZJx/HDVMNsHgO25HKxsRy8AnwQeDTHchvwnVy/girJ2UE1bGtBrj8yv9+RP1/Rdqzrcry2k1eTzPW17W/TOSxTjulHeGc1ZuM4QCXfy625PNG6z7atg1eAM4FNuW39A9UKvMZxAAvV4o3/Ao5tqzOWBZTWjZYkSZIkqRglDWOWJEmSJAkw2ZUkSZIkFchkV5IkSZJUHJNdSZIkSVJxTHYlSZIkScUx2ZUkSZIkFcdkV5IkSZJUHJNdSZIkSVJx/gfM/0888X2nvgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1152x648 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(Y_valid, rf.predict(X_valid))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# XGBoost\n",
"https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Learning rate and tree based parameters"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [],
"source": [
"xgb_params = {\n",
" 'learning_rate': 0.03, # start high, go down when fine tuning\n",
" 'max_depth': 4, # up to 10\n",
" 'min_child_weight': 2, # this is similar to min_samples_leaf\n",
" 'gamma': 0.028, # minimum reduction for doing a split (something like min_delta from EarlyStopping)\n",
" 'subsample': 0.6,\n",
" 'colsample_bylevel': 0.55,\n",
" 'reg_lambda': 1.1,\n",
" 'objective': 'reg:linear',\n",
" 'tree_method': 'exact',\n",
" 'n_estimators': 2500,\n",
"}\n",
"xgb_model = xgb.XGBRegressor(**xgb_params)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0]\tvalidation_0-rmse:191323\n",
"Will train until validation_0-rmse hasn't improved in 200 rounds.\n",
"[1]\tvalidation_0-rmse:186160\n",
"[2]\tvalidation_0-rmse:181042\n",
"[3]\tvalidation_0-rmse:176299\n",
"[4]\tvalidation_0-rmse:171708\n",
"[5]\tvalidation_0-rmse:167089\n",
"[6]\tvalidation_0-rmse:162592\n",
"[7]\tvalidation_0-rmse:158187\n",
"[8]\tvalidation_0-rmse:154014\n",
"[9]\tvalidation_0-rmse:149908\n",
"[10]\tvalidation_0-rmse:145989\n",
"[11]\tvalidation_0-rmse:142232\n",
"[12]\tvalidation_0-rmse:138393\n",
"[13]\tvalidation_0-rmse:134812\n",
"[14]\tvalidation_0-rmse:131295\n",
"[15]\tvalidation_0-rmse:127841\n",
"[16]\tvalidation_0-rmse:124398\n",
"[17]\tvalidation_0-rmse:121273\n",
"[18]\tvalidation_0-rmse:118292\n",
"[19]\tvalidation_0-rmse:115278\n",
"[20]\tvalidation_0-rmse:112378\n",
"[21]\tvalidation_0-rmse:109604\n",
"[22]\tvalidation_0-rmse:106859\n",
"[23]\tvalidation_0-rmse:104231\n",
"[24]\tvalidation_0-rmse:101655\n",
"[25]\tvalidation_0-rmse:99185\n",
"[26]\tvalidation_0-rmse:96839.1\n",
"[27]\tvalidation_0-rmse:94592.5\n",
"[28]\tvalidation_0-rmse:92375.3\n",
"[29]\tvalidation_0-rmse:90231.2\n",
"[30]\tvalidation_0-rmse:88154.7\n",
"[31]\tvalidation_0-rmse:86221.3\n",
"[32]\tvalidation_0-rmse:84287.8\n",
"[33]\tvalidation_0-rmse:82245.7\n",
"[34]\tvalidation_0-rmse:80445.4\n",
"[35]\tvalidation_0-rmse:78685.1\n",
"[36]\tvalidation_0-rmse:76931.4\n",
"[37]\tvalidation_0-rmse:75245.5\n",
"[38]\tvalidation_0-rmse:73694.3\n",
"[39]\tvalidation_0-rmse:72235.4\n",
"[40]\tvalidation_0-rmse:70887.6\n",
"[41]\tvalidation_0-rmse:69496.1\n",
"[42]\tvalidation_0-rmse:68165.6\n",
"[43]\tvalidation_0-rmse:66832.6\n",
"[44]\tvalidation_0-rmse:65539.8\n",
"[45]\tvalidation_0-rmse:64384\n",
"[46]\tvalidation_0-rmse:63220.9\n",
"[47]\tvalidation_0-rmse:62230.3\n",
"[48]\tvalidation_0-rmse:61074.3\n",
"[49]\tvalidation_0-rmse:60010.5\n",
"[50]\tvalidation_0-rmse:59026.5\n",
"[51]\tvalidation_0-rmse:58132.8\n",
"[52]\tvalidation_0-rmse:57208.7\n",
"[53]\tvalidation_0-rmse:56337.5\n",
"[54]\tvalidation_0-rmse:55312.8\n",
"[55]\tvalidation_0-rmse:54608.7\n",
"[56]\tvalidation_0-rmse:53740.2\n",
"[57]\tvalidation_0-rmse:53002.2\n",
"[58]\tvalidation_0-rmse:52258.2\n",
"[59]\tvalidation_0-rmse:51590.2\n",
"[60]\tvalidation_0-rmse:50899.6\n",
"[61]\tvalidation_0-rmse:50107.3\n",
"[62]\tvalidation_0-rmse:49557.5\n",
"[63]\tvalidation_0-rmse:48881.5\n",
"[64]\tvalidation_0-rmse:48185.5\n",
"[65]\tvalidation_0-rmse:47582.8\n",
"[66]\tvalidation_0-rmse:46969.9\n",
"[67]\tvalidation_0-rmse:46494.7\n",
"[68]\tvalidation_0-rmse:45951.8\n",
"[69]\tvalidation_0-rmse:45433\n",
"[70]\tvalidation_0-rmse:45040.4\n",
"[71]\tvalidation_0-rmse:44485.6\n",
"[72]\tvalidation_0-rmse:44072.3\n",
"[73]\tvalidation_0-rmse:43566.8\n",
"[74]\tvalidation_0-rmse:43193\n",
"[75]\tvalidation_0-rmse:42879.6\n",
"[76]\tvalidation_0-rmse:42521.7\n",
"[77]\tvalidation_0-rmse:42099.2\n",
"[78]\tvalidation_0-rmse:41808\n",
"[79]\tvalidation_0-rmse:41497.1\n",
"[80]\tvalidation_0-rmse:41212.7\n",
"[81]\tvalidation_0-rmse:40885.5\n",
"[82]\tvalidation_0-rmse:40641.5\n",
"[83]\tvalidation_0-rmse:40328.7\n",
"[84]\tvalidation_0-rmse:40036\n",
"[85]\tvalidation_0-rmse:39816.2\n",
"[86]\tvalidation_0-rmse:39439.8\n",
"[87]\tvalidation_0-rmse:39183.8\n",
"[88]\tvalidation_0-rmse:39070.9\n",
"[89]\tvalidation_0-rmse:38773.1\n",
"[90]\tvalidation_0-rmse:38485.7\n",
"[91]\tvalidation_0-rmse:38222.6\n",
"[92]\tvalidation_0-rmse:37996.9\n",
"[93]\tvalidation_0-rmse:37831.8\n",
"[94]\tvalidation_0-rmse:37666.6\n",
"[95]\tvalidation_0-rmse:37567.1\n",
"[96]\tvalidation_0-rmse:37472.9\n",
"[97]\tvalidation_0-rmse:37189.6\n",
"[98]\tvalidation_0-rmse:36992.6\n",
"[99]\tvalidation_0-rmse:36854.6\n",
"[100]\tvalidation_0-rmse:36695.2\n",
"[101]\tvalidation_0-rmse:36559.3\n",
"[102]\tvalidation_0-rmse:36440.5\n",
"[103]\tvalidation_0-rmse:36282.2\n",
"[104]\tvalidation_0-rmse:36120.9\n",
"[105]\tvalidation_0-rmse:35911.5\n",
"[106]\tvalidation_0-rmse:35824.4\n",
"[107]\tvalidation_0-rmse:35781.7\n",
"[108]\tvalidation_0-rmse:35619.9\n",
"[109]\tvalidation_0-rmse:35470.3\n",
"[110]\tvalidation_0-rmse:35383.5\n",
"[111]\tvalidation_0-rmse:35202.2\n",
"[112]\tvalidation_0-rmse:35109\n",
"[113]\tvalidation_0-rmse:34901.5\n",
"[114]\tvalidation_0-rmse:34819.4\n",
"[115]\tvalidation_0-rmse:34764.5\n",
"[116]\tvalidation_0-rmse:34651.9\n",
"[117]\tvalidation_0-rmse:34552.4\n",
"[118]\tvalidation_0-rmse:34541.4\n",
"[119]\tvalidation_0-rmse:34442.2\n",
"[120]\tvalidation_0-rmse:34401\n",
"[121]\tvalidation_0-rmse:34340.2\n",
"[122]\tvalidation_0-rmse:34234.9\n",
"[123]\tvalidation_0-rmse:34147.4\n",
"[124]\tvalidation_0-rmse:34063.5\n",
"[125]\tvalidation_0-rmse:33998.5\n",
"[126]\tvalidation_0-rmse:33939.7\n",
"[127]\tvalidation_0-rmse:33879.1\n",
"[128]\tvalidation_0-rmse:33758.6\n",
"[129]\tvalidation_0-rmse:33678.9\n",
"[130]\tvalidation_0-rmse:33645.1\n",
"[131]\tvalidation_0-rmse:33636.1\n",
"[132]\tvalidation_0-rmse:33604\n",
"[133]\tvalidation_0-rmse:33579.6\n",
"[134]\tvalidation_0-rmse:33497.8\n",
"[135]\tvalidation_0-rmse:33468.7\n",
"[136]\tvalidation_0-rmse:33362.1\n",
"[137]\tvalidation_0-rmse:33339.6\n",
"[138]\tvalidation_0-rmse:33283.4\n",
"[139]\tvalidation_0-rmse:33273.5\n",
"[140]\tvalidation_0-rmse:33200.1\n",
"[141]\tvalidation_0-rmse:33211.5\n",
"[142]\tvalidation_0-rmse:33181.9\n",
"[143]\tvalidation_0-rmse:33174.6\n",
"[144]\tvalidation_0-rmse:33146.2\n",
"[145]\tvalidation_0-rmse:33111.2\n",
"[146]\tvalidation_0-rmse:33103.3\n",
"[147]\tvalidation_0-rmse:33111.6\n",
"[148]\tvalidation_0-rmse:33102.2\n",
"[149]\tvalidation_0-rmse:33006.7\n",
"[150]\tvalidation_0-rmse:33034.5\n",
"[151]\tvalidation_0-rmse:33053.8\n",
"[152]\tvalidation_0-rmse:33027\n",
"[153]\tvalidation_0-rmse:32982.3\n",
"[154]\tvalidation_0-rmse:32960.6\n",
"[155]\tvalidation_0-rmse:32937.2\n",
"[156]\tvalidation_0-rmse:32911.7\n",
"[157]\tvalidation_0-rmse:32924.8\n",
"[158]\tvalidation_0-rmse:32860\n",
"[159]\tvalidation_0-rmse:32831.6\n",
"[160]\tvalidation_0-rmse:32785.1\n",
"[161]\tvalidation_0-rmse:32757.7\n",
"[162]\tvalidation_0-rmse:32687.3\n",
"[163]\tvalidation_0-rmse:32681.9\n",
"[164]\tvalidation_0-rmse:32705\n",
"[165]\tvalidation_0-rmse:32674.4\n",
"[166]\tvalidation_0-rmse:32657.9\n",
"[167]\tvalidation_0-rmse:32597.8\n",
"[168]\tvalidation_0-rmse:32607.8\n",
"[169]\tvalidation_0-rmse:32590.8\n",
"[170]\tvalidation_0-rmse:32583.3\n",
"[171]\tvalidation_0-rmse:32554.9\n",
"[172]\tvalidation_0-rmse:32523.4\n",
"[173]\tvalidation_0-rmse:32508.4\n",
"[174]\tvalidation_0-rmse:32489.7\n",
"[175]\tvalidation_0-rmse:32516.3\n",
"[176]\tvalidation_0-rmse:32492.5\n",
"[177]\tvalidation_0-rmse:32467.1\n",
"[178]\tvalidation_0-rmse:32452.5\n",
"[179]\tvalidation_0-rmse:32421\n",
"[180]\tvalidation_0-rmse:32433.9\n",
"[181]\tvalidation_0-rmse:32469.7\n",
"[182]\tvalidation_0-rmse:32464.4\n",
"[183]\tvalidation_0-rmse:32424.7\n",
"[184]\tvalidation_0-rmse:32400.6\n",
"[185]\tvalidation_0-rmse:32386.6\n",
"[186]\tvalidation_0-rmse:32345.4\n",
"[187]\tvalidation_0-rmse:32331.8\n",
"[188]\tvalidation_0-rmse:32282.7\n",
"[189]\tvalidation_0-rmse:32276\n",
"[190]\tvalidation_0-rmse:32265.4\n",
"[191]\tvalidation_0-rmse:32284.3\n",
"[192]\tvalidation_0-rmse:32285.1\n",
"[193]\tvalidation_0-rmse:32285.8\n",
"[194]\tvalidation_0-rmse:32226.1\n",
"[195]\tvalidation_0-rmse:32252.2\n",
"[196]\tvalidation_0-rmse:32240.5\n",
"[197]\tvalidation_0-rmse:32195.3\n",
"[198]\tvalidation_0-rmse:32190\n",
"[199]\tvalidation_0-rmse:32194.9\n",
"[200]\tvalidation_0-rmse:32201\n",
"[201]\tvalidation_0-rmse:32198.9\n",
"[202]\tvalidation_0-rmse:32210.6\n",
"[203]\tvalidation_0-rmse:32233.5\n",
"[204]\tvalidation_0-rmse:32272.5\n",
"[205]\tvalidation_0-rmse:32273.4\n",
"[206]\tvalidation_0-rmse:32271.4\n",
"[207]\tvalidation_0-rmse:32278\n",
"[208]\tvalidation_0-rmse:32265\n",
"[209]\tvalidation_0-rmse:32288.5\n",
"[210]\tvalidation_0-rmse:32277.8\n",
"[211]\tvalidation_0-rmse:32286\n",
"[212]\tvalidation_0-rmse:32285.4\n",
"[213]\tvalidation_0-rmse:32293.2\n",
"[214]\tvalidation_0-rmse:32272.3\n",
"[215]\tvalidation_0-rmse:32221.4\n",
"[216]\tvalidation_0-rmse:32251.4\n",
"[217]\tvalidation_0-rmse:32260.4\n",
"[218]\tvalidation_0-rmse:32298\n",
"[219]\tvalidation_0-rmse:32301.6\n",
"[220]\tvalidation_0-rmse:32286.9\n",
"[221]\tvalidation_0-rmse:32240.2\n",
"[222]\tvalidation_0-rmse:32195.2\n",
"[223]\tvalidation_0-rmse:32187.6\n",
"[224]\tvalidation_0-rmse:32180.7\n",
"[225]\tvalidation_0-rmse:32173.7\n",
"[226]\tvalidation_0-rmse:32154.2\n",
"[227]\tvalidation_0-rmse:32174.7\n",
"[228]\tvalidation_0-rmse:32155.2\n",
"[229]\tvalidation_0-rmse:32144.6\n",
"[230]\tvalidation_0-rmse:32135.6\n",
"[231]\tvalidation_0-rmse:32118.7\n",
"[232]\tvalidation_0-rmse:32107.7\n",
"[233]\tvalidation_0-rmse:32113.5\n",
"[234]\tvalidation_0-rmse:32076.8\n",
"[235]\tvalidation_0-rmse:32090.9\n",
"[236]\tvalidation_0-rmse:32070.3\n",
"[237]\tvalidation_0-rmse:32060.2\n",
"[238]\tvalidation_0-rmse:32043.5\n",
"[239]\tvalidation_0-rmse:32030.7\n",
"[240]\tvalidation_0-rmse:32003.5\n",
"[241]\tvalidation_0-rmse:32004.6\n",
"[242]\tvalidation_0-rmse:31998.9\n",
"[243]\tvalidation_0-rmse:32001.4\n",
"[244]\tvalidation_0-rmse:31991.6\n",
"[245]\tvalidation_0-rmse:31990.9\n",
"[246]\tvalidation_0-rmse:31970.7\n",
"[247]\tvalidation_0-rmse:31944.6\n",
"[248]\tvalidation_0-rmse:31966.7\n",
"[249]\tvalidation_0-rmse:31971.2\n",
"[250]\tvalidation_0-rmse:31940.1\n",
"[251]\tvalidation_0-rmse:31917.6\n",
"[252]\tvalidation_0-rmse:31923.2\n",
"[253]\tvalidation_0-rmse:31945.2\n",
"[254]\tvalidation_0-rmse:31954.6\n",
"[255]\tvalidation_0-rmse:31952.6\n",
"[256]\tvalidation_0-rmse:31941\n",
"[257]\tvalidation_0-rmse:31955.8\n",
"[258]\tvalidation_0-rmse:31937.2\n",
"[259]\tvalidation_0-rmse:31953.4\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[260]\tvalidation_0-rmse:31944.6\n",
"[261]\tvalidation_0-rmse:31946.9\n",
"[262]\tvalidation_0-rmse:31960.7\n",
"[263]\tvalidation_0-rmse:31953.9\n",
"[264]\tvalidation_0-rmse:31950.5\n",
"[265]\tvalidation_0-rmse:31926\n",
"[266]\tvalidation_0-rmse:31945.5\n",
"[267]\tvalidation_0-rmse:31926.4\n",
"[268]\tvalidation_0-rmse:31931.3\n",
"[269]\tvalidation_0-rmse:31924.3\n",
"[270]\tvalidation_0-rmse:31882.2\n",
"[271]\tvalidation_0-rmse:31881.6\n",
"[272]\tvalidation_0-rmse:31861.5\n",
"[273]\tvalidation_0-rmse:31862.1\n",
"[274]\tvalidation_0-rmse:31862.7\n",
"[275]\tvalidation_0-rmse:31868.8\n",
"[276]\tvalidation_0-rmse:31864.6\n",
"[277]\tvalidation_0-rmse:31858.4\n",
"[278]\tvalidation_0-rmse:31852.5\n",
"[279]\tvalidation_0-rmse:31822.7\n",
"[280]\tvalidation_0-rmse:31819.7\n",
"[281]\tvalidation_0-rmse:31809.7\n",
"[282]\tvalidation_0-rmse:31795.8\n",
"[283]\tvalidation_0-rmse:31803\n",
"[284]\tvalidation_0-rmse:31788.1\n",
"[285]\tvalidation_0-rmse:31751\n",
"[286]\tvalidation_0-rmse:31755.5\n",
"[287]\tvalidation_0-rmse:31766.1\n",
"[288]\tvalidation_0-rmse:31750.1\n",
"[289]\tvalidation_0-rmse:31723.7\n",
"[290]\tvalidation_0-rmse:31700\n",
"[291]\tvalidation_0-rmse:31698.7\n",
"[292]\tvalidation_0-rmse:31705.5\n",
"[293]\tvalidation_0-rmse:31699.2\n",
"[294]\tvalidation_0-rmse:31710.9\n",
"[295]\tvalidation_0-rmse:31710.6\n",
"[296]\tvalidation_0-rmse:31704.1\n",
"[297]\tvalidation_0-rmse:31689.8\n",
"[298]\tvalidation_0-rmse:31673.5\n",
"[299]\tvalidation_0-rmse:31686.5\n",
"[300]\tvalidation_0-rmse:31674.4\n",
"[301]\tvalidation_0-rmse:31693.6\n",
"[302]\tvalidation_0-rmse:31668.2\n",
"[303]\tvalidation_0-rmse:31629.8\n",
"[304]\tvalidation_0-rmse:31628.9\n",
"[305]\tvalidation_0-rmse:31632.4\n",
"[306]\tvalidation_0-rmse:31629.7\n",
"[307]\tvalidation_0-rmse:31619.9\n",
"[308]\tvalidation_0-rmse:31608.8\n",
"[309]\tvalidation_0-rmse:31596.4\n",
"[310]\tvalidation_0-rmse:31617.7\n",
"[311]\tvalidation_0-rmse:31635.1\n",
"[312]\tvalidation_0-rmse:31641.3\n",
"[313]\tvalidation_0-rmse:31633.6\n",
"[314]\tvalidation_0-rmse:31638.6\n",
"[315]\tvalidation_0-rmse:31641.7\n",
"[316]\tvalidation_0-rmse:31633.1\n",
"[317]\tvalidation_0-rmse:31628.1\n",
"[318]\tvalidation_0-rmse:31631.3\n",
"[319]\tvalidation_0-rmse:31634.5\n",
"[320]\tvalidation_0-rmse:31649.7\n",
"[321]\tvalidation_0-rmse:31638.8\n",
"[322]\tvalidation_0-rmse:31618.8\n",
"[323]\tvalidation_0-rmse:31608.2\n",
"[324]\tvalidation_0-rmse:31610.7\n",
"[325]\tvalidation_0-rmse:31584.3\n",
"[326]\tvalidation_0-rmse:31596.3\n",
"[327]\tvalidation_0-rmse:31599.1\n",
"[328]\tvalidation_0-rmse:31597.3\n",
"[329]\tvalidation_0-rmse:31593.1\n",
"[330]\tvalidation_0-rmse:31583.6\n",
"[331]\tvalidation_0-rmse:31582.2\n",
"[332]\tvalidation_0-rmse:31581.9\n",
"[333]\tvalidation_0-rmse:31585\n",
"[334]\tvalidation_0-rmse:31582.5\n",
"[335]\tvalidation_0-rmse:31568.5\n",
"[336]\tvalidation_0-rmse:31565.1\n",
"[337]\tvalidation_0-rmse:31564\n",
"[338]\tvalidation_0-rmse:31553.7\n",
"[339]\tvalidation_0-rmse:31561.5\n",
"[340]\tvalidation_0-rmse:31551.7\n",
"[341]\tvalidation_0-rmse:31539.9\n",
"[342]\tvalidation_0-rmse:31533.6\n",
"[343]\tvalidation_0-rmse:31543.1\n",
"[344]\tvalidation_0-rmse:31575.3\n",
"[345]\tvalidation_0-rmse:31584.6\n",
"[346]\tvalidation_0-rmse:31575.6\n",
"[347]\tvalidation_0-rmse:31587.6\n",
"[348]\tvalidation_0-rmse:31576\n",
"[349]\tvalidation_0-rmse:31555.3\n",
"[350]\tvalidation_0-rmse:31536.5\n",
"[351]\tvalidation_0-rmse:31530.1\n",
"[352]\tvalidation_0-rmse:31522.2\n",
"[353]\tvalidation_0-rmse:31506.2\n",
"[354]\tvalidation_0-rmse:31488\n",
"[355]\tvalidation_0-rmse:31490.1\n",
"[356]\tvalidation_0-rmse:31486.2\n",
"[357]\tvalidation_0-rmse:31492.5\n",
"[358]\tvalidation_0-rmse:31492.4\n",
"[359]\tvalidation_0-rmse:31500\n",
"[360]\tvalidation_0-rmse:31504.8\n",
"[361]\tvalidation_0-rmse:31485\n",
"[362]\tvalidation_0-rmse:31473.6\n",
"[363]\tvalidation_0-rmse:31465.6\n",
"[364]\tvalidation_0-rmse:31455.2\n",
"[365]\tvalidation_0-rmse:31428.9\n",
"[366]\tvalidation_0-rmse:31405.8\n",
"[367]\tvalidation_0-rmse:31399.4\n",
"[368]\tvalidation_0-rmse:31388\n",
"[369]\tvalidation_0-rmse:31395.3\n",
"[370]\tvalidation_0-rmse:31413\n",
"[371]\tvalidation_0-rmse:31419.6\n",
"[372]\tvalidation_0-rmse:31436.6\n",
"[373]\tvalidation_0-rmse:31436.3\n",
"[374]\tvalidation_0-rmse:31429\n",
"[375]\tvalidation_0-rmse:31429.1\n",
"[376]\tvalidation_0-rmse:31418.3\n",
"[377]\tvalidation_0-rmse:31426.9\n",
"[378]\tvalidation_0-rmse:31431.9\n",
"[379]\tvalidation_0-rmse:31431.5\n",
"[380]\tvalidation_0-rmse:31431.3\n",
"[381]\tvalidation_0-rmse:31426.1\n",
"[382]\tvalidation_0-rmse:31431.8\n",
"[383]\tvalidation_0-rmse:31409.1\n",
"[384]\tvalidation_0-rmse:31409.5\n",
"[385]\tvalidation_0-rmse:31406.9\n",
"[386]\tvalidation_0-rmse:31403.4\n",
"[387]\tvalidation_0-rmse:31403.8\n",
"[388]\tvalidation_0-rmse:31416.5\n",
"[389]\tvalidation_0-rmse:31411.7\n",
"[390]\tvalidation_0-rmse:31407.6\n",
"[391]\tvalidation_0-rmse:31410.9\n",
"[392]\tvalidation_0-rmse:31394.7\n",
"[393]\tvalidation_0-rmse:31370.8\n",
"[394]\tvalidation_0-rmse:31372.2\n",
"[395]\tvalidation_0-rmse:31365.5\n",
"[396]\tvalidation_0-rmse:31364.1\n",
"[397]\tvalidation_0-rmse:31367.4\n",
"[398]\tvalidation_0-rmse:31361.4\n",
"[399]\tvalidation_0-rmse:31361.6\n",
"[400]\tvalidation_0-rmse:31342.3\n",
"[401]\tvalidation_0-rmse:31341.2\n",
"[402]\tvalidation_0-rmse:31345.7\n",
"[403]\tvalidation_0-rmse:31343.2\n",
"[404]\tvalidation_0-rmse:31330.1\n",
"[405]\tvalidation_0-rmse:31325.1\n",
"[406]\tvalidation_0-rmse:31326.3\n",
"[407]\tvalidation_0-rmse:31329.2\n",
"[408]\tvalidation_0-rmse:31328.5\n",
"[409]\tvalidation_0-rmse:31333.8\n",
"[410]\tvalidation_0-rmse:31339\n",
"[411]\tvalidation_0-rmse:31330.3\n",
"[412]\tvalidation_0-rmse:31348.3\n",
"[413]\tvalidation_0-rmse:31351.3\n",
"[414]\tvalidation_0-rmse:31333.9\n",
"[415]\tvalidation_0-rmse:31334.2\n",
"[416]\tvalidation_0-rmse:31317\n",
"[417]\tvalidation_0-rmse:31331\n",
"[418]\tvalidation_0-rmse:31330.4\n",
"[419]\tvalidation_0-rmse:31319.2\n",
"[420]\tvalidation_0-rmse:31329.7\n",
"[421]\tvalidation_0-rmse:31322.1\n",
"[422]\tvalidation_0-rmse:31321.2\n",
"[423]\tvalidation_0-rmse:31314.9\n",
"[424]\tvalidation_0-rmse:31310.2\n",
"[425]\tvalidation_0-rmse:31315.3\n",
"[426]\tvalidation_0-rmse:31322.5\n",
"[427]\tvalidation_0-rmse:31324.7\n",
"[428]\tvalidation_0-rmse:31333.9\n",
"[429]\tvalidation_0-rmse:31332.9\n",
"[430]\tvalidation_0-rmse:31333.1\n",
"[431]\tvalidation_0-rmse:31329.1\n",
"[432]\tvalidation_0-rmse:31329.8\n",
"[433]\tvalidation_0-rmse:31336.6\n",
"[434]\tvalidation_0-rmse:31329.3\n",
"[435]\tvalidation_0-rmse:31322.3\n",
"[436]\tvalidation_0-rmse:31325.8\n",
"[437]\tvalidation_0-rmse:31328.1\n",
"[438]\tvalidation_0-rmse:31319.9\n",
"[439]\tvalidation_0-rmse:31320.1\n",
"[440]\tvalidation_0-rmse:31324.2\n",
"[441]\tvalidation_0-rmse:31309.5\n",
"[442]\tvalidation_0-rmse:31305.2\n",
"[443]\tvalidation_0-rmse:31308\n",
"[444]\tvalidation_0-rmse:31291.5\n",
"[445]\tvalidation_0-rmse:31290.7\n",
"[446]\tvalidation_0-rmse:31288.1\n",
"[447]\tvalidation_0-rmse:31284.5\n",
"[448]\tvalidation_0-rmse:31291.2\n",
"[449]\tvalidation_0-rmse:31292\n",
"[450]\tvalidation_0-rmse:31293.1\n",
"[451]\tvalidation_0-rmse:31293\n",
"[452]\tvalidation_0-rmse:31298.1\n",
"[453]\tvalidation_0-rmse:31307.3\n",
"[454]\tvalidation_0-rmse:31304.9\n",
"[455]\tvalidation_0-rmse:31299.2\n",
"[456]\tvalidation_0-rmse:31295.1\n",
"[457]\tvalidation_0-rmse:31286.1\n",
"[458]\tvalidation_0-rmse:31287.5\n",
"[459]\tvalidation_0-rmse:31286.8\n",
"[460]\tvalidation_0-rmse:31288.9\n",
"[461]\tvalidation_0-rmse:31279.9\n",
"[462]\tvalidation_0-rmse:31280.8\n",
"[463]\tvalidation_0-rmse:31278.9\n",
"[464]\tvalidation_0-rmse:31274.7\n",
"[465]\tvalidation_0-rmse:31283.2\n",
"[466]\tvalidation_0-rmse:31290.3\n",
"[467]\tvalidation_0-rmse:31291.1\n",
"[468]\tvalidation_0-rmse:31292.1\n",
"[469]\tvalidation_0-rmse:31291.7\n",
"[470]\tvalidation_0-rmse:31293\n",
"[471]\tvalidation_0-rmse:31297.1\n",
"[472]\tvalidation_0-rmse:31288.4\n",
"[473]\tvalidation_0-rmse:31286.6\n",
"[474]\tvalidation_0-rmse:31291.5\n",
"[475]\tvalidation_0-rmse:31287.9\n",
"[476]\tvalidation_0-rmse:31287.3\n",
"[477]\tvalidation_0-rmse:31283.5\n",
"[478]\tvalidation_0-rmse:31280.1\n",
"[479]\tvalidation_0-rmse:31278.2\n",
"[480]\tvalidation_0-rmse:31287.9\n",
"[481]\tvalidation_0-rmse:31290\n",
"[482]\tvalidation_0-rmse:31292.4\n",
"[483]\tvalidation_0-rmse:31305.4\n",
"[484]\tvalidation_0-rmse:31315.3\n",
"[485]\tvalidation_0-rmse:31313.5\n",
"[486]\tvalidation_0-rmse:31304.6\n",
"[487]\tvalidation_0-rmse:31309.9\n",
"[488]\tvalidation_0-rmse:31310.6\n",
"[489]\tvalidation_0-rmse:31313.1\n",
"[490]\tvalidation_0-rmse:31308\n",
"[491]\tvalidation_0-rmse:31316.2\n",
"[492]\tvalidation_0-rmse:31308.5\n",
"[493]\tvalidation_0-rmse:31310.5\n",
"[494]\tvalidation_0-rmse:31302.9\n",
"[495]\tvalidation_0-rmse:31295.8\n",
"[496]\tvalidation_0-rmse:31291.3\n",
"[497]\tvalidation_0-rmse:31283.6\n",
"[498]\tvalidation_0-rmse:31274.4\n",
"[499]\tvalidation_0-rmse:31274\n",
"[500]\tvalidation_0-rmse:31265.1\n",
"[501]\tvalidation_0-rmse:31261.9\n",
"[502]\tvalidation_0-rmse:31262.8\n",
"[503]\tvalidation_0-rmse:31282.6\n",
"[504]\tvalidation_0-rmse:31278.3\n",
"[505]\tvalidation_0-rmse:31261.3\n",
"[506]\tvalidation_0-rmse:31264\n",
"[507]\tvalidation_0-rmse:31264.4\n",
"[508]\tvalidation_0-rmse:31264.5\n",
"[509]\tvalidation_0-rmse:31270.4\n",
"[510]\tvalidation_0-rmse:31265.7\n",
"[511]\tvalidation_0-rmse:31270.3\n",
"[512]\tvalidation_0-rmse:31266.8\n",
"[513]\tvalidation_0-rmse:31267.4\n",
"[514]\tvalidation_0-rmse:31270.2\n",
"[515]\tvalidation_0-rmse:31272.1\n",
"[516]\tvalidation_0-rmse:31272.2\n",
"[517]\tvalidation_0-rmse:31270.8\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[518]\tvalidation_0-rmse:31257\n",
"[519]\tvalidation_0-rmse:31257.4\n",
"[520]\tvalidation_0-rmse:31257.8\n",
"[521]\tvalidation_0-rmse:31253.9\n",
"[522]\tvalidation_0-rmse:31258.3\n",
"[523]\tvalidation_0-rmse:31260.1\n",
"[524]\tvalidation_0-rmse:31257.1\n",
"[525]\tvalidation_0-rmse:31253.6\n",
"[526]\tvalidation_0-rmse:31246.9\n",
"[527]\tvalidation_0-rmse:31262.6\n",
"[528]\tvalidation_0-rmse:31261.7\n",
"[529]\tvalidation_0-rmse:31266.3\n",
"[530]\tvalidation_0-rmse:31265.1\n",
"[531]\tvalidation_0-rmse:31267.4\n",
"[532]\tvalidation_0-rmse:31264.5\n",
"[533]\tvalidation_0-rmse:31250.2\n",
"[534]\tvalidation_0-rmse:31255.6\n",
"[535]\tvalidation_0-rmse:31251.7\n",
"[536]\tvalidation_0-rmse:31249.9\n",
"[537]\tvalidation_0-rmse:31247.6\n",
"[538]\tvalidation_0-rmse:31257.4\n",
"[539]\tvalidation_0-rmse:31255.4\n",
"[540]\tvalidation_0-rmse:31251.1\n",
"[541]\tvalidation_0-rmse:31248.5\n",
"[542]\tvalidation_0-rmse:31250.8\n",
"[543]\tvalidation_0-rmse:31245.4\n",
"[544]\tvalidation_0-rmse:31244.1\n",
"[545]\tvalidation_0-rmse:31244\n",
"[546]\tvalidation_0-rmse:31242.8\n",
"[547]\tvalidation_0-rmse:31242.9\n",
"[548]\tvalidation_0-rmse:31241.4\n",
"[549]\tvalidation_0-rmse:31248.6\n",
"[550]\tvalidation_0-rmse:31245.1\n",
"[551]\tvalidation_0-rmse:31249.1\n",
"[552]\tvalidation_0-rmse:31251.7\n",
"[553]\tvalidation_0-rmse:31254.4\n",
"[554]\tvalidation_0-rmse:31268.7\n",
"[555]\tvalidation_0-rmse:31269.1\n",
"[556]\tvalidation_0-rmse:31273\n",
"[557]\tvalidation_0-rmse:31269.8\n",
"[558]\tvalidation_0-rmse:31276.8\n",
"[559]\tvalidation_0-rmse:31267.5\n",
"[560]\tvalidation_0-rmse:31262.9\n",
"[561]\tvalidation_0-rmse:31258.1\n",
"[562]\tvalidation_0-rmse:31248.8\n",
"[563]\tvalidation_0-rmse:31258.8\n",
"[564]\tvalidation_0-rmse:31262.3\n",
"[565]\tvalidation_0-rmse:31262.4\n",
"[566]\tvalidation_0-rmse:31264.4\n",
"[567]\tvalidation_0-rmse:31261.2\n",
"[568]\tvalidation_0-rmse:31277.7\n",
"[569]\tvalidation_0-rmse:31284.5\n",
"[570]\tvalidation_0-rmse:31287.7\n",
"[571]\tvalidation_0-rmse:31284.7\n",
"[572]\tvalidation_0-rmse:31283.8\n",
"[573]\tvalidation_0-rmse:31278.3\n",
"[574]\tvalidation_0-rmse:31280.9\n",
"[575]\tvalidation_0-rmse:31277.2\n",
"[576]\tvalidation_0-rmse:31276.1\n",
"[577]\tvalidation_0-rmse:31276.7\n",
"[578]\tvalidation_0-rmse:31277.6\n",
"[579]\tvalidation_0-rmse:31288.9\n",
"[580]\tvalidation_0-rmse:31286.1\n",
"[581]\tvalidation_0-rmse:31285.7\n",
"[582]\tvalidation_0-rmse:31286\n",
"[583]\tvalidation_0-rmse:31282.3\n",
"[584]\tvalidation_0-rmse:31301.4\n",
"[585]\tvalidation_0-rmse:31309.4\n",
"[586]\tvalidation_0-rmse:31300.3\n",
"[587]\tvalidation_0-rmse:31291.7\n",
"[588]\tvalidation_0-rmse:31280.6\n",
"[589]\tvalidation_0-rmse:31287.7\n",
"[590]\tvalidation_0-rmse:31299.5\n",
"[591]\tvalidation_0-rmse:31299.6\n",
"[592]\tvalidation_0-rmse:31300.2\n",
"[593]\tvalidation_0-rmse:31293.5\n",
"[594]\tvalidation_0-rmse:31287.4\n",
"[595]\tvalidation_0-rmse:31292.2\n",
"[596]\tvalidation_0-rmse:31284.8\n",
"[597]\tvalidation_0-rmse:31285.6\n",
"[598]\tvalidation_0-rmse:31285.1\n",
"[599]\tvalidation_0-rmse:31282.7\n",
"[600]\tvalidation_0-rmse:31279.4\n",
"[601]\tvalidation_0-rmse:31283.9\n",
"[602]\tvalidation_0-rmse:31280.4\n",
"[603]\tvalidation_0-rmse:31282.7\n",
"[604]\tvalidation_0-rmse:31274.6\n",
"[605]\tvalidation_0-rmse:31280.7\n",
"[606]\tvalidation_0-rmse:31282.5\n",
"[607]\tvalidation_0-rmse:31282.1\n",
"[608]\tvalidation_0-rmse:31281.4\n",
"[609]\tvalidation_0-rmse:31283.2\n",
"[610]\tvalidation_0-rmse:31290.7\n",
"[611]\tvalidation_0-rmse:31292.7\n",
"[612]\tvalidation_0-rmse:31285.5\n",
"[613]\tvalidation_0-rmse:31287\n",
"[614]\tvalidation_0-rmse:31294.4\n",
"[615]\tvalidation_0-rmse:31294.5\n",
"[616]\tvalidation_0-rmse:31283.2\n",
"[617]\tvalidation_0-rmse:31280.5\n",
"[618]\tvalidation_0-rmse:31273.6\n",
"[619]\tvalidation_0-rmse:31271.8\n",
"[620]\tvalidation_0-rmse:31269\n",
"[621]\tvalidation_0-rmse:31273.5\n",
"[622]\tvalidation_0-rmse:31277.4\n",
"[623]\tvalidation_0-rmse:31277.2\n",
"[624]\tvalidation_0-rmse:31273.7\n",
"[625]\tvalidation_0-rmse:31268.3\n",
"[626]\tvalidation_0-rmse:31268.1\n",
"[627]\tvalidation_0-rmse:31266\n",
"[628]\tvalidation_0-rmse:31267.1\n",
"[629]\tvalidation_0-rmse:31264.4\n",
"[630]\tvalidation_0-rmse:31270\n",
"[631]\tvalidation_0-rmse:31265\n",
"[632]\tvalidation_0-rmse:31263.4\n",
"[633]\tvalidation_0-rmse:31263.5\n",
"[634]\tvalidation_0-rmse:31266\n",
"[635]\tvalidation_0-rmse:31263.7\n",
"[636]\tvalidation_0-rmse:31262.6\n",
"[637]\tvalidation_0-rmse:31268.5\n",
"[638]\tvalidation_0-rmse:31269.1\n",
"[639]\tvalidation_0-rmse:31271.9\n",
"[640]\tvalidation_0-rmse:31270.4\n",
"[641]\tvalidation_0-rmse:31264.8\n",
"[642]\tvalidation_0-rmse:31260.6\n",
"[643]\tvalidation_0-rmse:31261.3\n",
"[644]\tvalidation_0-rmse:31267.8\n",
"[645]\tvalidation_0-rmse:31260.3\n",
"[646]\tvalidation_0-rmse:31262.5\n",
"[647]\tvalidation_0-rmse:31261.2\n",
"[648]\tvalidation_0-rmse:31259.3\n",
"[649]\tvalidation_0-rmse:31261.4\n",
"[650]\tvalidation_0-rmse:31260.2\n",
"[651]\tvalidation_0-rmse:31255.8\n",
"[652]\tvalidation_0-rmse:31253.7\n",
"[653]\tvalidation_0-rmse:31249.1\n",
"[654]\tvalidation_0-rmse:31248.1\n",
"[655]\tvalidation_0-rmse:31250.8\n",
"[656]\tvalidation_0-rmse:31247.8\n",
"[657]\tvalidation_0-rmse:31243.4\n",
"[658]\tvalidation_0-rmse:31251.4\n",
"[659]\tvalidation_0-rmse:31235.1\n",
"[660]\tvalidation_0-rmse:31234.1\n",
"[661]\tvalidation_0-rmse:31232.4\n",
"[662]\tvalidation_0-rmse:31239.2\n",
"[663]\tvalidation_0-rmse:31240.7\n",
"[664]\tvalidation_0-rmse:31244.3\n",
"[665]\tvalidation_0-rmse:31243.2\n",
"[666]\tvalidation_0-rmse:31241.8\n",
"[667]\tvalidation_0-rmse:31239.7\n",
"[668]\tvalidation_0-rmse:31229\n",
"[669]\tvalidation_0-rmse:31227.9\n",
"[670]\tvalidation_0-rmse:31222.8\n",
"[671]\tvalidation_0-rmse:31223.4\n",
"[672]\tvalidation_0-rmse:31216\n",
"[673]\tvalidation_0-rmse:31219.5\n",
"[674]\tvalidation_0-rmse:31218\n",
"[675]\tvalidation_0-rmse:31221.5\n",
"[676]\tvalidation_0-rmse:31226.8\n",
"[677]\tvalidation_0-rmse:31229.3\n",
"[678]\tvalidation_0-rmse:31229.4\n",
"[679]\tvalidation_0-rmse:31231.8\n",
"[680]\tvalidation_0-rmse:31229\n",
"[681]\tvalidation_0-rmse:31228\n",
"[682]\tvalidation_0-rmse:31229.1\n",
"[683]\tvalidation_0-rmse:31229.2\n",
"[684]\tvalidation_0-rmse:31228.9\n",
"[685]\tvalidation_0-rmse:31233.4\n",
"[686]\tvalidation_0-rmse:31229.4\n",
"[687]\tvalidation_0-rmse:31231\n",
"[688]\tvalidation_0-rmse:31231.5\n",
"[689]\tvalidation_0-rmse:31230.7\n",
"[690]\tvalidation_0-rmse:31225.1\n",
"[691]\tvalidation_0-rmse:31226.1\n",
"[692]\tvalidation_0-rmse:31217.1\n",
"[693]\tvalidation_0-rmse:31218\n",
"[694]\tvalidation_0-rmse:31222.7\n",
"[695]\tvalidation_0-rmse:31217.2\n",
"[696]\tvalidation_0-rmse:31214.1\n",
"[697]\tvalidation_0-rmse:31217.3\n",
"[698]\tvalidation_0-rmse:31213.2\n",
"[699]\tvalidation_0-rmse:31213.2\n",
"[700]\tvalidation_0-rmse:31209.2\n",
"[701]\tvalidation_0-rmse:31203.4\n",
"[702]\tvalidation_0-rmse:31200.1\n",
"[703]\tvalidation_0-rmse:31208.4\n",
"[704]\tvalidation_0-rmse:31209.4\n",
"[705]\tvalidation_0-rmse:31213.8\n",
"[706]\tvalidation_0-rmse:31211.6\n",
"[707]\tvalidation_0-rmse:31211.2\n",
"[708]\tvalidation_0-rmse:31212.4\n",
"[709]\tvalidation_0-rmse:31212.9\n",
"[710]\tvalidation_0-rmse:31213.7\n",
"[711]\tvalidation_0-rmse:31211\n",
"[712]\tvalidation_0-rmse:31209.5\n",
"[713]\tvalidation_0-rmse:31213.3\n",
"[714]\tvalidation_0-rmse:31214.4\n",
"[715]\tvalidation_0-rmse:31213\n",
"[716]\tvalidation_0-rmse:31211.9\n",
"[717]\tvalidation_0-rmse:31206.5\n",
"[718]\tvalidation_0-rmse:31206\n",
"[719]\tvalidation_0-rmse:31208.5\n",
"[720]\tvalidation_0-rmse:31204.1\n",
"[721]\tvalidation_0-rmse:31201.1\n",
"[722]\tvalidation_0-rmse:31200\n",
"[723]\tvalidation_0-rmse:31199.5\n",
"[724]\tvalidation_0-rmse:31190.6\n",
"[725]\tvalidation_0-rmse:31188.2\n",
"[726]\tvalidation_0-rmse:31189.5\n",
"[727]\tvalidation_0-rmse:31185.7\n",
"[728]\tvalidation_0-rmse:31188.7\n",
"[729]\tvalidation_0-rmse:31187.6\n",
"[730]\tvalidation_0-rmse:31191.3\n",
"[731]\tvalidation_0-rmse:31195.6\n",
"[732]\tvalidation_0-rmse:31196.5\n",
"[733]\tvalidation_0-rmse:31199\n",
"[734]\tvalidation_0-rmse:31197.3\n",
"[735]\tvalidation_0-rmse:31202\n",
"[736]\tvalidation_0-rmse:31204.4\n",
"[737]\tvalidation_0-rmse:31203.8\n",
"[738]\tvalidation_0-rmse:31203.7\n",
"[739]\tvalidation_0-rmse:31202.6\n",
"[740]\tvalidation_0-rmse:31204.9\n",
"[741]\tvalidation_0-rmse:31205.5\n",
"[742]\tvalidation_0-rmse:31206.2\n",
"[743]\tvalidation_0-rmse:31205.9\n",
"[744]\tvalidation_0-rmse:31199.2\n",
"[745]\tvalidation_0-rmse:31195.6\n",
"[746]\tvalidation_0-rmse:31196\n",
"[747]\tvalidation_0-rmse:31198.7\n",
"[748]\tvalidation_0-rmse:31199.5\n",
"[749]\tvalidation_0-rmse:31200.7\n",
"[750]\tvalidation_0-rmse:31200.4\n",
"[751]\tvalidation_0-rmse:31202.3\n",
"[752]\tvalidation_0-rmse:31198.2\n",
"[753]\tvalidation_0-rmse:31198.9\n",
"[754]\tvalidation_0-rmse:31194.4\n",
"[755]\tvalidation_0-rmse:31195.1\n",
"[756]\tvalidation_0-rmse:31196.7\n",
"[757]\tvalidation_0-rmse:31195.4\n",
"[758]\tvalidation_0-rmse:31197.6\n",
"[759]\tvalidation_0-rmse:31194.4\n",
"[760]\tvalidation_0-rmse:31191.3\n",
"[761]\tvalidation_0-rmse:31185.5\n",
"[762]\tvalidation_0-rmse:31184.4\n",
"[763]\tvalidation_0-rmse:31184\n",
"[764]\tvalidation_0-rmse:31186.8\n",
"[765]\tvalidation_0-rmse:31181.6\n",
"[766]\tvalidation_0-rmse:31183\n",
"[767]\tvalidation_0-rmse:31188.9\n",
"[768]\tvalidation_0-rmse:31193.2\n",
"[769]\tvalidation_0-rmse:31196.8\n",
"[770]\tvalidation_0-rmse:31194.6\n",
"[771]\tvalidation_0-rmse:31186.7\n",
"[772]\tvalidation_0-rmse:31182.1\n",
"[773]\tvalidation_0-rmse:31185.4\n",
"[774]\tvalidation_0-rmse:31185.3\n",
"[775]\tvalidation_0-rmse:31185.3\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[776]\tvalidation_0-rmse:31186.3\n",
"[777]\tvalidation_0-rmse:31184.6\n",
"[778]\tvalidation_0-rmse:31185.2\n",
"[779]\tvalidation_0-rmse:31186.9\n",
"[780]\tvalidation_0-rmse:31186.6\n",
"[781]\tvalidation_0-rmse:31185\n",
"[782]\tvalidation_0-rmse:31184.9\n",
"[783]\tvalidation_0-rmse:31184.6\n",
"[784]\tvalidation_0-rmse:31184.3\n",
"[785]\tvalidation_0-rmse:31194.9\n",
"[786]\tvalidation_0-rmse:31192.9\n",
"[787]\tvalidation_0-rmse:31191.3\n",
"[788]\tvalidation_0-rmse:31190.7\n",
"[789]\tvalidation_0-rmse:31191.9\n",
"[790]\tvalidation_0-rmse:31198.1\n",
"[791]\tvalidation_0-rmse:31197\n",
"[792]\tvalidation_0-rmse:31196\n",
"[793]\tvalidation_0-rmse:31191\n",
"[794]\tvalidation_0-rmse:31188.6\n",
"[795]\tvalidation_0-rmse:31189.2\n",
"[796]\tvalidation_0-rmse:31195.3\n",
"[797]\tvalidation_0-rmse:31195.7\n",
"[798]\tvalidation_0-rmse:31192.6\n",
"[799]\tvalidation_0-rmse:31197.8\n",
"[800]\tvalidation_0-rmse:31198.3\n",
"[801]\tvalidation_0-rmse:31197.7\n",
"[802]\tvalidation_0-rmse:31200\n",
"[803]\tvalidation_0-rmse:31198.7\n",
"[804]\tvalidation_0-rmse:31199.2\n",
"[805]\tvalidation_0-rmse:31201.6\n",
"[806]\tvalidation_0-rmse:31200.2\n",
"[807]\tvalidation_0-rmse:31201.2\n",
"[808]\tvalidation_0-rmse:31202.1\n",
"[809]\tvalidation_0-rmse:31202.8\n",
"[810]\tvalidation_0-rmse:31204.5\n",
"[811]\tvalidation_0-rmse:31207.8\n",
"[812]\tvalidation_0-rmse:31206.5\n",
"[813]\tvalidation_0-rmse:31204.9\n",
"[814]\tvalidation_0-rmse:31205.6\n",
"[815]\tvalidation_0-rmse:31203.2\n",
"[816]\tvalidation_0-rmse:31203.9\n",
"[817]\tvalidation_0-rmse:31204.8\n",
"[818]\tvalidation_0-rmse:31207\n",
"[819]\tvalidation_0-rmse:31204.2\n",
"[820]\tvalidation_0-rmse:31206.6\n",
"[821]\tvalidation_0-rmse:31204.1\n",
"[822]\tvalidation_0-rmse:31206\n",
"[823]\tvalidation_0-rmse:31204.9\n",
"[824]\tvalidation_0-rmse:31196.5\n",
"[825]\tvalidation_0-rmse:31199.4\n",
"[826]\tvalidation_0-rmse:31206.8\n",
"[827]\tvalidation_0-rmse:31206.6\n",
"[828]\tvalidation_0-rmse:31209.2\n",
"[829]\tvalidation_0-rmse:31212.1\n",
"[830]\tvalidation_0-rmse:31212.2\n",
"[831]\tvalidation_0-rmse:31213.9\n",
"[832]\tvalidation_0-rmse:31210.1\n",
"[833]\tvalidation_0-rmse:31209.3\n",
"[834]\tvalidation_0-rmse:31212.5\n",
"[835]\tvalidation_0-rmse:31213.3\n",
"[836]\tvalidation_0-rmse:31210.1\n",
"[837]\tvalidation_0-rmse:31212\n",
"[838]\tvalidation_0-rmse:31213.1\n",
"[839]\tvalidation_0-rmse:31211.1\n",
"[840]\tvalidation_0-rmse:31214.5\n",
"[841]\tvalidation_0-rmse:31218.1\n",
"[842]\tvalidation_0-rmse:31215.6\n",
"[843]\tvalidation_0-rmse:31216.7\n",
"[844]\tvalidation_0-rmse:31213.2\n",
"[845]\tvalidation_0-rmse:31213.8\n",
"[846]\tvalidation_0-rmse:31215.2\n",
"[847]\tvalidation_0-rmse:31215.4\n",
"[848]\tvalidation_0-rmse:31214\n",
"[849]\tvalidation_0-rmse:31213.3\n",
"[850]\tvalidation_0-rmse:31212.3\n",
"[851]\tvalidation_0-rmse:31210.9\n",
"[852]\tvalidation_0-rmse:31212\n",
"[853]\tvalidation_0-rmse:31213.3\n",
"[854]\tvalidation_0-rmse:31216.6\n",
"[855]\tvalidation_0-rmse:31218.2\n",
"[856]\tvalidation_0-rmse:31216.5\n",
"[857]\tvalidation_0-rmse:31214.5\n",
"[858]\tvalidation_0-rmse:31213.3\n",
"[859]\tvalidation_0-rmse:31214.9\n",
"[860]\tvalidation_0-rmse:31210.5\n",
"[861]\tvalidation_0-rmse:31211.7\n",
"[862]\tvalidation_0-rmse:31212.3\n",
"[863]\tvalidation_0-rmse:31212.4\n",
"[864]\tvalidation_0-rmse:31212.4\n",
"[865]\tvalidation_0-rmse:31209\n",
"[866]\tvalidation_0-rmse:31207.4\n",
"[867]\tvalidation_0-rmse:31208.9\n",
"[868]\tvalidation_0-rmse:31204.3\n",
"[869]\tvalidation_0-rmse:31205.8\n",
"[870]\tvalidation_0-rmse:31206.7\n",
"[871]\tvalidation_0-rmse:31204.4\n",
"[872]\tvalidation_0-rmse:31205.3\n",
"[873]\tvalidation_0-rmse:31208.3\n",
"[874]\tvalidation_0-rmse:31207.8\n",
"[875]\tvalidation_0-rmse:31205.2\n",
"[876]\tvalidation_0-rmse:31202.8\n",
"[877]\tvalidation_0-rmse:31204.4\n",
"[878]\tvalidation_0-rmse:31204.2\n",
"[879]\tvalidation_0-rmse:31201.5\n",
"[880]\tvalidation_0-rmse:31201.5\n",
"[881]\tvalidation_0-rmse:31201.6\n",
"[882]\tvalidation_0-rmse:31195.7\n",
"[883]\tvalidation_0-rmse:31192.4\n",
"[884]\tvalidation_0-rmse:31195.8\n",
"[885]\tvalidation_0-rmse:31194\n",
"[886]\tvalidation_0-rmse:31189.7\n",
"[887]\tvalidation_0-rmse:31188.7\n",
"[888]\tvalidation_0-rmse:31188.6\n",
"[889]\tvalidation_0-rmse:31188\n",
"[890]\tvalidation_0-rmse:31187\n",
"[891]\tvalidation_0-rmse:31184.4\n",
"[892]\tvalidation_0-rmse:31184.9\n",
"[893]\tvalidation_0-rmse:31188\n",
"[894]\tvalidation_0-rmse:31192\n",
"[895]\tvalidation_0-rmse:31189.3\n",
"[896]\tvalidation_0-rmse:31189.8\n",
"[897]\tvalidation_0-rmse:31187\n",
"[898]\tvalidation_0-rmse:31194\n",
"[899]\tvalidation_0-rmse:31194.1\n",
"[900]\tvalidation_0-rmse:31192.3\n",
"[901]\tvalidation_0-rmse:31190\n",
"[902]\tvalidation_0-rmse:31188.3\n",
"[903]\tvalidation_0-rmse:31187.5\n",
"[904]\tvalidation_0-rmse:31190.8\n",
"[905]\tvalidation_0-rmse:31190.5\n",
"[906]\tvalidation_0-rmse:31187.6\n",
"[907]\tvalidation_0-rmse:31187.5\n",
"[908]\tvalidation_0-rmse:31188.5\n",
"[909]\tvalidation_0-rmse:31187.7\n",
"[910]\tvalidation_0-rmse:31192.7\n",
"[911]\tvalidation_0-rmse:31193.5\n",
"[912]\tvalidation_0-rmse:31195.4\n",
"[913]\tvalidation_0-rmse:31193.4\n",
"[914]\tvalidation_0-rmse:31194.1\n",
"[915]\tvalidation_0-rmse:31192.8\n",
"[916]\tvalidation_0-rmse:31193.2\n",
"[917]\tvalidation_0-rmse:31191\n",
"[918]\tvalidation_0-rmse:31186.1\n",
"[919]\tvalidation_0-rmse:31187.4\n",
"[920]\tvalidation_0-rmse:31186\n",
"[921]\tvalidation_0-rmse:31186\n",
"[922]\tvalidation_0-rmse:31184.2\n",
"[923]\tvalidation_0-rmse:31184.1\n",
"[924]\tvalidation_0-rmse:31182.3\n",
"[925]\tvalidation_0-rmse:31180.1\n",
"[926]\tvalidation_0-rmse:31177.3\n",
"[927]\tvalidation_0-rmse:31180.9\n",
"[928]\tvalidation_0-rmse:31180.4\n",
"[929]\tvalidation_0-rmse:31177.2\n",
"[930]\tvalidation_0-rmse:31171.3\n",
"[931]\tvalidation_0-rmse:31170.4\n",
"[932]\tvalidation_0-rmse:31172.5\n",
"[933]\tvalidation_0-rmse:31176.2\n",
"[934]\tvalidation_0-rmse:31177.7\n",
"[935]\tvalidation_0-rmse:31181.2\n",
"[936]\tvalidation_0-rmse:31180\n",
"[937]\tvalidation_0-rmse:31179.3\n",
"[938]\tvalidation_0-rmse:31180.4\n",
"[939]\tvalidation_0-rmse:31181.8\n",
"[940]\tvalidation_0-rmse:31180.1\n",
"[941]\tvalidation_0-rmse:31178.1\n",
"[942]\tvalidation_0-rmse:31180.3\n",
"[943]\tvalidation_0-rmse:31179.1\n",
"[944]\tvalidation_0-rmse:31177.9\n",
"[945]\tvalidation_0-rmse:31178.5\n",
"[946]\tvalidation_0-rmse:31178.9\n",
"[947]\tvalidation_0-rmse:31180.2\n",
"[948]\tvalidation_0-rmse:31178.8\n",
"[949]\tvalidation_0-rmse:31176.4\n",
"[950]\tvalidation_0-rmse:31177.1\n",
"[951]\tvalidation_0-rmse:31178.1\n",
"[952]\tvalidation_0-rmse:31178.9\n",
"[953]\tvalidation_0-rmse:31179.6\n",
"[954]\tvalidation_0-rmse:31182.6\n",
"[955]\tvalidation_0-rmse:31184\n",
"[956]\tvalidation_0-rmse:31187.6\n",
"[957]\tvalidation_0-rmse:31189.3\n",
"[958]\tvalidation_0-rmse:31186.3\n",
"[959]\tvalidation_0-rmse:31181.6\n",
"[960]\tvalidation_0-rmse:31182.3\n",
"[961]\tvalidation_0-rmse:31182.6\n",
"[962]\tvalidation_0-rmse:31181.3\n",
"[963]\tvalidation_0-rmse:31180.8\n",
"[964]\tvalidation_0-rmse:31181.4\n",
"[965]\tvalidation_0-rmse:31179.7\n",
"[966]\tvalidation_0-rmse:31180.9\n",
"[967]\tvalidation_0-rmse:31182.8\n",
"[968]\tvalidation_0-rmse:31182.9\n",
"[969]\tvalidation_0-rmse:31181.7\n",
"[970]\tvalidation_0-rmse:31179.8\n",
"[971]\tvalidation_0-rmse:31184.1\n",
"[972]\tvalidation_0-rmse:31184.1\n",
"[973]\tvalidation_0-rmse:31179.6\n",
"[974]\tvalidation_0-rmse:31181.3\n",
"[975]\tvalidation_0-rmse:31178.7\n",
"[976]\tvalidation_0-rmse:31178.8\n",
"[977]\tvalidation_0-rmse:31175.6\n",
"[978]\tvalidation_0-rmse:31175.5\n",
"[979]\tvalidation_0-rmse:31173.7\n",
"[980]\tvalidation_0-rmse:31175.4\n",
"[981]\tvalidation_0-rmse:31172.1\n",
"[982]\tvalidation_0-rmse:31166\n",
"[983]\tvalidation_0-rmse:31166.7\n",
"[984]\tvalidation_0-rmse:31165.5\n",
"[985]\tvalidation_0-rmse:31165.3\n",
"[986]\tvalidation_0-rmse:31161.6\n",
"[987]\tvalidation_0-rmse:31159.8\n",
"[988]\tvalidation_0-rmse:31160.9\n",
"[989]\tvalidation_0-rmse:31158.6\n",
"[990]\tvalidation_0-rmse:31158\n",
"[991]\tvalidation_0-rmse:31154.2\n",
"[992]\tvalidation_0-rmse:31153.6\n",
"[993]\tvalidation_0-rmse:31152.8\n",
"[994]\tvalidation_0-rmse:31149.8\n",
"[995]\tvalidation_0-rmse:31148\n",
"[996]\tvalidation_0-rmse:31147.6\n",
"[997]\tvalidation_0-rmse:31146.3\n",
"[998]\tvalidation_0-rmse:31144.2\n",
"[999]\tvalidation_0-rmse:31143.7\n",
"[1000]\tvalidation_0-rmse:31149\n",
"[1001]\tvalidation_0-rmse:31150.6\n",
"[1002]\tvalidation_0-rmse:31151.4\n",
"[1003]\tvalidation_0-rmse:31151.7\n",
"[1004]\tvalidation_0-rmse:31150.8\n",
"[1005]\tvalidation_0-rmse:31150.6\n",
"[1006]\tvalidation_0-rmse:31153.5\n",
"[1007]\tvalidation_0-rmse:31151.5\n",
"[1008]\tvalidation_0-rmse:31155.7\n",
"[1009]\tvalidation_0-rmse:31155.1\n",
"[1010]\tvalidation_0-rmse:31157.6\n",
"[1011]\tvalidation_0-rmse:31160.4\n",
"[1012]\tvalidation_0-rmse:31158\n",
"[1013]\tvalidation_0-rmse:31156.2\n",
"[1014]\tvalidation_0-rmse:31153.4\n",
"[1015]\tvalidation_0-rmse:31154.6\n",
"[1016]\tvalidation_0-rmse:31155.4\n",
"[1017]\tvalidation_0-rmse:31152.4\n",
"[1018]\tvalidation_0-rmse:31152.9\n",
"[1019]\tvalidation_0-rmse:31149.7\n",
"[1020]\tvalidation_0-rmse:31147.4\n",
"[1021]\tvalidation_0-rmse:31147.9\n",
"[1022]\tvalidation_0-rmse:31147.8\n",
"[1023]\tvalidation_0-rmse:31148.6\n",
"[1024]\tvalidation_0-rmse:31149.7\n",
"[1025]\tvalidation_0-rmse:31147.2\n",
"[1026]\tvalidation_0-rmse:31145.1\n",
"[1027]\tvalidation_0-rmse:31146.9\n",
"[1028]\tvalidation_0-rmse:31147.7\n",
"[1029]\tvalidation_0-rmse:31147\n",
"[1030]\tvalidation_0-rmse:31147.5\n",
"[1031]\tvalidation_0-rmse:31147.1\n",
"[1032]\tvalidation_0-rmse:31148.4\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1033]\tvalidation_0-rmse:31150.3\n",
"[1034]\tvalidation_0-rmse:31149.6\n",
"[1035]\tvalidation_0-rmse:31148.2\n",
"[1036]\tvalidation_0-rmse:31145.8\n",
"[1037]\tvalidation_0-rmse:31147.8\n",
"[1038]\tvalidation_0-rmse:31145.5\n",
"[1039]\tvalidation_0-rmse:31145.2\n",
"[1040]\tvalidation_0-rmse:31148\n",
"[1041]\tvalidation_0-rmse:31148.7\n",
"[1042]\tvalidation_0-rmse:31149\n",
"[1043]\tvalidation_0-rmse:31148\n",
"[1044]\tvalidation_0-rmse:31142.5\n",
"[1045]\tvalidation_0-rmse:31143.5\n",
"[1046]\tvalidation_0-rmse:31140.4\n",
"[1047]\tvalidation_0-rmse:31140.3\n",
"[1048]\tvalidation_0-rmse:31144.7\n",
"[1049]\tvalidation_0-rmse:31144\n",
"[1050]\tvalidation_0-rmse:31145\n",
"[1051]\tvalidation_0-rmse:31145\n",
"[1052]\tvalidation_0-rmse:31148.5\n",
"[1053]\tvalidation_0-rmse:31147.1\n",
"[1054]\tvalidation_0-rmse:31146.9\n",
"[1055]\tvalidation_0-rmse:31145.5\n",
"[1056]\tvalidation_0-rmse:31145.9\n",
"[1057]\tvalidation_0-rmse:31145.1\n",
"[1058]\tvalidation_0-rmse:31145.8\n",
"[1059]\tvalidation_0-rmse:31148.5\n",
"[1060]\tvalidation_0-rmse:31149.2\n",
"[1061]\tvalidation_0-rmse:31148.6\n",
"[1062]\tvalidation_0-rmse:31149\n",
"[1063]\tvalidation_0-rmse:31150.6\n",
"[1064]\tvalidation_0-rmse:31145\n",
"[1065]\tvalidation_0-rmse:31143.7\n",
"[1066]\tvalidation_0-rmse:31145.5\n",
"[1067]\tvalidation_0-rmse:31142.5\n",
"[1068]\tvalidation_0-rmse:31142.8\n",
"[1069]\tvalidation_0-rmse:31141.6\n",
"[1070]\tvalidation_0-rmse:31141.6\n",
"[1071]\tvalidation_0-rmse:31140.9\n",
"[1072]\tvalidation_0-rmse:31138.8\n",
"[1073]\tvalidation_0-rmse:31137.3\n",
"[1074]\tvalidation_0-rmse:31130.6\n",
"[1075]\tvalidation_0-rmse:31129.8\n",
"[1076]\tvalidation_0-rmse:31128.1\n",
"[1077]\tvalidation_0-rmse:31128.2\n",
"[1078]\tvalidation_0-rmse:31129.3\n",
"[1079]\tvalidation_0-rmse:31127\n",
"[1080]\tvalidation_0-rmse:31127.3\n",
"[1081]\tvalidation_0-rmse:31125.9\n",
"[1082]\tvalidation_0-rmse:31128.5\n",
"[1083]\tvalidation_0-rmse:31129.2\n",
"[1084]\tvalidation_0-rmse:31129.5\n",
"[1085]\tvalidation_0-rmse:31130.2\n",
"[1086]\tvalidation_0-rmse:31131.2\n",
"[1087]\tvalidation_0-rmse:31131.3\n",
"[1088]\tvalidation_0-rmse:31134.7\n",
"[1089]\tvalidation_0-rmse:31134.9\n",
"[1090]\tvalidation_0-rmse:31135.2\n",
"[1091]\tvalidation_0-rmse:31135\n",
"[1092]\tvalidation_0-rmse:31138.8\n",
"[1093]\tvalidation_0-rmse:31137\n",
"[1094]\tvalidation_0-rmse:31137.7\n",
"[1095]\tvalidation_0-rmse:31138.9\n",
"[1096]\tvalidation_0-rmse:31138.7\n",
"[1097]\tvalidation_0-rmse:31137.8\n",
"[1098]\tvalidation_0-rmse:31137.5\n",
"[1099]\tvalidation_0-rmse:31136.1\n",
"[1100]\tvalidation_0-rmse:31135.8\n",
"[1101]\tvalidation_0-rmse:31137.8\n",
"[1102]\tvalidation_0-rmse:31136.9\n",
"[1103]\tvalidation_0-rmse:31141.4\n",
"[1104]\tvalidation_0-rmse:31139.4\n",
"[1105]\tvalidation_0-rmse:31140.2\n",
"[1106]\tvalidation_0-rmse:31142\n",
"[1107]\tvalidation_0-rmse:31141.8\n",
"[1108]\tvalidation_0-rmse:31139.9\n",
"[1109]\tvalidation_0-rmse:31139.8\n",
"[1110]\tvalidation_0-rmse:31141.3\n",
"[1111]\tvalidation_0-rmse:31143.1\n",
"[1112]\tvalidation_0-rmse:31142.3\n",
"[1113]\tvalidation_0-rmse:31141.9\n",
"[1114]\tvalidation_0-rmse:31141.2\n",
"[1115]\tvalidation_0-rmse:31142.2\n",
"[1116]\tvalidation_0-rmse:31143.1\n",
"[1117]\tvalidation_0-rmse:31143.7\n",
"[1118]\tvalidation_0-rmse:31142.2\n",
"[1119]\tvalidation_0-rmse:31142.2\n",
"[1120]\tvalidation_0-rmse:31144.5\n",
"[1121]\tvalidation_0-rmse:31140.8\n",
"[1122]\tvalidation_0-rmse:31137.9\n",
"[1123]\tvalidation_0-rmse:31138.4\n",
"[1124]\tvalidation_0-rmse:31138.4\n",
"[1125]\tvalidation_0-rmse:31134.9\n",
"[1126]\tvalidation_0-rmse:31136.7\n",
"[1127]\tvalidation_0-rmse:31137.1\n",
"[1128]\tvalidation_0-rmse:31135.6\n",
"[1129]\tvalidation_0-rmse:31136.4\n",
"[1130]\tvalidation_0-rmse:31137.4\n",
"[1131]\tvalidation_0-rmse:31138.3\n",
"[1132]\tvalidation_0-rmse:31140.3\n",
"[1133]\tvalidation_0-rmse:31139.4\n",
"[1134]\tvalidation_0-rmse:31138.3\n",
"[1135]\tvalidation_0-rmse:31138.3\n",
"[1136]\tvalidation_0-rmse:31141.7\n",
"[1137]\tvalidation_0-rmse:31142.4\n",
"[1138]\tvalidation_0-rmse:31145.8\n",
"[1139]\tvalidation_0-rmse:31144.8\n",
"[1140]\tvalidation_0-rmse:31145.6\n",
"[1141]\tvalidation_0-rmse:31145\n",
"[1142]\tvalidation_0-rmse:31146\n",
"[1143]\tvalidation_0-rmse:31148.8\n",
"[1144]\tvalidation_0-rmse:31148.4\n",
"[1145]\tvalidation_0-rmse:31144.6\n",
"[1146]\tvalidation_0-rmse:31141.2\n",
"[1147]\tvalidation_0-rmse:31140.2\n",
"[1148]\tvalidation_0-rmse:31138.7\n",
"[1149]\tvalidation_0-rmse:31139.2\n",
"[1150]\tvalidation_0-rmse:31136.1\n",
"[1151]\tvalidation_0-rmse:31135.2\n",
"[1152]\tvalidation_0-rmse:31134.6\n",
"[1153]\tvalidation_0-rmse:31135.3\n",
"[1154]\tvalidation_0-rmse:31136.4\n",
"[1155]\tvalidation_0-rmse:31136.7\n",
"[1156]\tvalidation_0-rmse:31136.3\n",
"[1157]\tvalidation_0-rmse:31135.4\n",
"[1158]\tvalidation_0-rmse:31135.8\n",
"[1159]\tvalidation_0-rmse:31135.9\n",
"[1160]\tvalidation_0-rmse:31136.9\n",
"[1161]\tvalidation_0-rmse:31138.9\n",
"[1162]\tvalidation_0-rmse:31137.3\n",
"[1163]\tvalidation_0-rmse:31136.7\n",
"[1164]\tvalidation_0-rmse:31132\n",
"[1165]\tvalidation_0-rmse:31133.2\n",
"[1166]\tvalidation_0-rmse:31132.2\n",
"[1167]\tvalidation_0-rmse:31131.1\n",
"[1168]\tvalidation_0-rmse:31131.6\n",
"[1169]\tvalidation_0-rmse:31133\n",
"[1170]\tvalidation_0-rmse:31131.1\n",
"[1171]\tvalidation_0-rmse:31131.8\n",
"[1172]\tvalidation_0-rmse:31130.1\n",
"[1173]\tvalidation_0-rmse:31131.6\n",
"[1174]\tvalidation_0-rmse:31133.1\n",
"[1175]\tvalidation_0-rmse:31132.2\n",
"[1176]\tvalidation_0-rmse:31133.1\n",
"[1177]\tvalidation_0-rmse:31133.3\n",
"[1178]\tvalidation_0-rmse:31128.6\n",
"[1179]\tvalidation_0-rmse:31127.9\n",
"[1180]\tvalidation_0-rmse:31130.4\n",
"[1181]\tvalidation_0-rmse:31128.3\n",
"[1182]\tvalidation_0-rmse:31128.2\n",
"[1183]\tvalidation_0-rmse:31128.7\n",
"[1184]\tvalidation_0-rmse:31129\n",
"[1185]\tvalidation_0-rmse:31127.6\n",
"[1186]\tvalidation_0-rmse:31128.5\n",
"[1187]\tvalidation_0-rmse:31131.7\n",
"[1188]\tvalidation_0-rmse:31132.6\n",
"[1189]\tvalidation_0-rmse:31133\n",
"[1190]\tvalidation_0-rmse:31130.8\n",
"[1191]\tvalidation_0-rmse:31129.6\n",
"[1192]\tvalidation_0-rmse:31131\n",
"[1193]\tvalidation_0-rmse:31131.3\n",
"[1194]\tvalidation_0-rmse:31128.3\n",
"[1195]\tvalidation_0-rmse:31132.6\n",
"[1196]\tvalidation_0-rmse:31133.7\n",
"[1197]\tvalidation_0-rmse:31132.7\n",
"[1198]\tvalidation_0-rmse:31133\n",
"[1199]\tvalidation_0-rmse:31134.2\n",
"[1200]\tvalidation_0-rmse:31133.4\n",
"[1201]\tvalidation_0-rmse:31132.6\n",
"[1202]\tvalidation_0-rmse:31132.5\n",
"[1203]\tvalidation_0-rmse:31127.9\n",
"[1204]\tvalidation_0-rmse:31126.1\n",
"[1205]\tvalidation_0-rmse:31128.2\n",
"[1206]\tvalidation_0-rmse:31127.4\n",
"[1207]\tvalidation_0-rmse:31129.6\n",
"[1208]\tvalidation_0-rmse:31129.3\n",
"[1209]\tvalidation_0-rmse:31128.9\n",
"[1210]\tvalidation_0-rmse:31129.4\n",
"[1211]\tvalidation_0-rmse:31128.3\n",
"[1212]\tvalidation_0-rmse:31131.2\n",
"[1213]\tvalidation_0-rmse:31131.5\n",
"[1214]\tvalidation_0-rmse:31131.2\n",
"[1215]\tvalidation_0-rmse:31131.8\n",
"[1216]\tvalidation_0-rmse:31130.5\n",
"[1217]\tvalidation_0-rmse:31136.1\n",
"[1218]\tvalidation_0-rmse:31134.9\n",
"[1219]\tvalidation_0-rmse:31136.1\n",
"[1220]\tvalidation_0-rmse:31136\n",
"[1221]\tvalidation_0-rmse:31134.8\n",
"[1222]\tvalidation_0-rmse:31133.7\n",
"[1223]\tvalidation_0-rmse:31132.2\n",
"[1224]\tvalidation_0-rmse:31130\n",
"[1225]\tvalidation_0-rmse:31130.5\n",
"[1226]\tvalidation_0-rmse:31129.4\n",
"[1227]\tvalidation_0-rmse:31129.6\n",
"[1228]\tvalidation_0-rmse:31130.4\n",
"[1229]\tvalidation_0-rmse:31131.8\n",
"[1230]\tvalidation_0-rmse:31132.9\n",
"[1231]\tvalidation_0-rmse:31133.2\n",
"[1232]\tvalidation_0-rmse:31135.8\n",
"[1233]\tvalidation_0-rmse:31135.1\n",
"[1234]\tvalidation_0-rmse:31136.3\n",
"[1235]\tvalidation_0-rmse:31136.1\n",
"[1236]\tvalidation_0-rmse:31134.3\n",
"[1237]\tvalidation_0-rmse:31133.6\n",
"[1238]\tvalidation_0-rmse:31134\n",
"[1239]\tvalidation_0-rmse:31133.8\n",
"[1240]\tvalidation_0-rmse:31134.2\n",
"[1241]\tvalidation_0-rmse:31132.7\n",
"[1242]\tvalidation_0-rmse:31132.3\n",
"[1243]\tvalidation_0-rmse:31132.9\n",
"[1244]\tvalidation_0-rmse:31132.2\n",
"[1245]\tvalidation_0-rmse:31132.8\n",
"[1246]\tvalidation_0-rmse:31133\n",
"[1247]\tvalidation_0-rmse:31132.4\n",
"[1248]\tvalidation_0-rmse:31132.8\n",
"[1249]\tvalidation_0-rmse:31132.5\n",
"[1250]\tvalidation_0-rmse:31133.7\n",
"[1251]\tvalidation_0-rmse:31132.4\n",
"[1252]\tvalidation_0-rmse:31130.7\n",
"[1253]\tvalidation_0-rmse:31129.1\n",
"[1254]\tvalidation_0-rmse:31127.8\n",
"[1255]\tvalidation_0-rmse:31128\n",
"[1256]\tvalidation_0-rmse:31127.6\n",
"[1257]\tvalidation_0-rmse:31126.8\n",
"[1258]\tvalidation_0-rmse:31128.1\n",
"[1259]\tvalidation_0-rmse:31126.8\n",
"[1260]\tvalidation_0-rmse:31127.7\n",
"[1261]\tvalidation_0-rmse:31127.1\n",
"[1262]\tvalidation_0-rmse:31128.7\n",
"[1263]\tvalidation_0-rmse:31128.4\n",
"[1264]\tvalidation_0-rmse:31128.2\n",
"[1265]\tvalidation_0-rmse:31126.8\n",
"[1266]\tvalidation_0-rmse:31127.6\n",
"[1267]\tvalidation_0-rmse:31128.9\n",
"[1268]\tvalidation_0-rmse:31125.1\n",
"[1269]\tvalidation_0-rmse:31124.3\n",
"[1270]\tvalidation_0-rmse:31125.6\n",
"[1271]\tvalidation_0-rmse:31125.5\n",
"[1272]\tvalidation_0-rmse:31126.5\n",
"[1273]\tvalidation_0-rmse:31124.7\n",
"[1274]\tvalidation_0-rmse:31124.1\n",
"[1275]\tvalidation_0-rmse:31122.9\n",
"[1276]\tvalidation_0-rmse:31122.6\n",
"[1277]\tvalidation_0-rmse:31123.6\n",
"[1278]\tvalidation_0-rmse:31124.5\n",
"[1279]\tvalidation_0-rmse:31124.3\n",
"[1280]\tvalidation_0-rmse:31123.7\n",
"[1281]\tvalidation_0-rmse:31123.9\n",
"[1282]\tvalidation_0-rmse:31121\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1283]\tvalidation_0-rmse:31120.4\n",
"[1284]\tvalidation_0-rmse:31119.4\n",
"[1285]\tvalidation_0-rmse:31121.3\n",
"[1286]\tvalidation_0-rmse:31124.1\n",
"[1287]\tvalidation_0-rmse:31124.6\n",
"[1288]\tvalidation_0-rmse:31123.1\n",
"[1289]\tvalidation_0-rmse:31122.7\n",
"[1290]\tvalidation_0-rmse:31121.4\n",
"[1291]\tvalidation_0-rmse:31120.1\n",
"[1292]\tvalidation_0-rmse:31118.9\n",
"[1293]\tvalidation_0-rmse:31117.9\n",
"[1294]\tvalidation_0-rmse:31117.2\n",
"[1295]\tvalidation_0-rmse:31116.4\n",
"[1296]\tvalidation_0-rmse:31113.5\n",
"[1297]\tvalidation_0-rmse:31112.8\n",
"[1298]\tvalidation_0-rmse:31112.6\n",
"[1299]\tvalidation_0-rmse:31113.6\n",
"[1300]\tvalidation_0-rmse:31113.2\n",
"[1301]\tvalidation_0-rmse:31114.4\n",
"[1302]\tvalidation_0-rmse:31113.7\n",
"[1303]\tvalidation_0-rmse:31115\n",
"[1304]\tvalidation_0-rmse:31115.2\n",
"[1305]\tvalidation_0-rmse:31115.2\n",
"[1306]\tvalidation_0-rmse:31115.6\n",
"[1307]\tvalidation_0-rmse:31115.7\n",
"[1308]\tvalidation_0-rmse:31114.4\n",
"[1309]\tvalidation_0-rmse:31115.1\n",
"[1310]\tvalidation_0-rmse:31116.3\n",
"[1311]\tvalidation_0-rmse:31115.2\n",
"[1312]\tvalidation_0-rmse:31115.5\n",
"[1313]\tvalidation_0-rmse:31113.1\n",
"[1314]\tvalidation_0-rmse:31114.8\n",
"[1315]\tvalidation_0-rmse:31115.5\n",
"[1316]\tvalidation_0-rmse:31113.6\n",
"[1317]\tvalidation_0-rmse:31113.9\n",
"[1318]\tvalidation_0-rmse:31113.3\n",
"[1319]\tvalidation_0-rmse:31111.3\n",
"[1320]\tvalidation_0-rmse:31111.7\n",
"[1321]\tvalidation_0-rmse:31112.4\n",
"[1322]\tvalidation_0-rmse:31114\n",
"[1323]\tvalidation_0-rmse:31114\n",
"[1324]\tvalidation_0-rmse:31112.4\n",
"[1325]\tvalidation_0-rmse:31114\n",
"[1326]\tvalidation_0-rmse:31113.4\n",
"[1327]\tvalidation_0-rmse:31113\n",
"[1328]\tvalidation_0-rmse:31113.9\n",
"[1329]\tvalidation_0-rmse:31114.3\n",
"[1330]\tvalidation_0-rmse:31114.6\n",
"[1331]\tvalidation_0-rmse:31113.8\n",
"[1332]\tvalidation_0-rmse:31114.5\n",
"[1333]\tvalidation_0-rmse:31115.6\n",
"[1334]\tvalidation_0-rmse:31112.3\n",
"[1335]\tvalidation_0-rmse:31111.7\n",
"[1336]\tvalidation_0-rmse:31113.1\n",
"[1337]\tvalidation_0-rmse:31113.9\n",
"[1338]\tvalidation_0-rmse:31115.3\n",
"[1339]\tvalidation_0-rmse:31114.2\n",
"[1340]\tvalidation_0-rmse:31113.8\n",
"[1341]\tvalidation_0-rmse:31114.4\n",
"[1342]\tvalidation_0-rmse:31113.7\n",
"[1343]\tvalidation_0-rmse:31114.1\n",
"[1344]\tvalidation_0-rmse:31115.2\n",
"[1345]\tvalidation_0-rmse:31114.3\n",
"[1346]\tvalidation_0-rmse:31115.5\n",
"[1347]\tvalidation_0-rmse:31112.9\n",
"[1348]\tvalidation_0-rmse:31113.2\n",
"[1349]\tvalidation_0-rmse:31112.3\n",
"[1350]\tvalidation_0-rmse:31111.8\n",
"[1351]\tvalidation_0-rmse:31110.1\n",
"[1352]\tvalidation_0-rmse:31109.7\n",
"[1353]\tvalidation_0-rmse:31109.1\n",
"[1354]\tvalidation_0-rmse:31110.8\n",
"[1355]\tvalidation_0-rmse:31111.1\n",
"[1356]\tvalidation_0-rmse:31112.1\n",
"[1357]\tvalidation_0-rmse:31112\n",
"[1358]\tvalidation_0-rmse:31111.4\n",
"[1359]\tvalidation_0-rmse:31111.1\n",
"[1360]\tvalidation_0-rmse:31113.6\n",
"[1361]\tvalidation_0-rmse:31114.9\n",
"[1362]\tvalidation_0-rmse:31116.8\n",
"[1363]\tvalidation_0-rmse:31119\n",
"[1364]\tvalidation_0-rmse:31117.6\n",
"[1365]\tvalidation_0-rmse:31117.1\n",
"[1366]\tvalidation_0-rmse:31117.8\n",
"[1367]\tvalidation_0-rmse:31120.5\n",
"[1368]\tvalidation_0-rmse:31121.1\n",
"[1369]\tvalidation_0-rmse:31123\n",
"[1370]\tvalidation_0-rmse:31123.5\n",
"[1371]\tvalidation_0-rmse:31125.3\n",
"[1372]\tvalidation_0-rmse:31125.4\n",
"[1373]\tvalidation_0-rmse:31125\n",
"[1374]\tvalidation_0-rmse:31124.9\n",
"[1375]\tvalidation_0-rmse:31124.8\n",
"[1376]\tvalidation_0-rmse:31125.8\n",
"[1377]\tvalidation_0-rmse:31126.1\n",
"[1378]\tvalidation_0-rmse:31126.4\n",
"[1379]\tvalidation_0-rmse:31127\n",
"[1380]\tvalidation_0-rmse:31127.5\n",
"[1381]\tvalidation_0-rmse:31126.7\n",
"[1382]\tvalidation_0-rmse:31128.8\n",
"[1383]\tvalidation_0-rmse:31129.1\n",
"[1384]\tvalidation_0-rmse:31130\n",
"[1385]\tvalidation_0-rmse:31132.2\n",
"[1386]\tvalidation_0-rmse:31132.1\n",
"[1387]\tvalidation_0-rmse:31132.2\n",
"[1388]\tvalidation_0-rmse:31129.9\n",
"[1389]\tvalidation_0-rmse:31127.9\n",
"[1390]\tvalidation_0-rmse:31128.3\n",
"[1391]\tvalidation_0-rmse:31128.3\n",
"[1392]\tvalidation_0-rmse:31128.2\n",
"[1393]\tvalidation_0-rmse:31132.8\n",
"[1394]\tvalidation_0-rmse:31133.9\n",
"[1395]\tvalidation_0-rmse:31134.2\n",
"[1396]\tvalidation_0-rmse:31134.9\n",
"[1397]\tvalidation_0-rmse:31135.4\n",
"[1398]\tvalidation_0-rmse:31133.6\n",
"[1399]\tvalidation_0-rmse:31133.1\n",
"[1400]\tvalidation_0-rmse:31133.2\n",
"[1401]\tvalidation_0-rmse:31131.2\n",
"[1402]\tvalidation_0-rmse:31130.1\n",
"[1403]\tvalidation_0-rmse:31129.7\n",
"[1404]\tvalidation_0-rmse:31129.9\n",
"[1405]\tvalidation_0-rmse:31128.9\n",
"[1406]\tvalidation_0-rmse:31129.7\n",
"[1407]\tvalidation_0-rmse:31129.7\n",
"[1408]\tvalidation_0-rmse:31128.9\n",
"[1409]\tvalidation_0-rmse:31129.6\n",
"[1410]\tvalidation_0-rmse:31130.5\n",
"[1411]\tvalidation_0-rmse:31129.3\n",
"[1412]\tvalidation_0-rmse:31131.1\n",
"[1413]\tvalidation_0-rmse:31131.7\n",
"[1414]\tvalidation_0-rmse:31129.8\n",
"[1415]\tvalidation_0-rmse:31130.1\n",
"[1416]\tvalidation_0-rmse:31130.5\n",
"[1417]\tvalidation_0-rmse:31129.8\n",
"[1418]\tvalidation_0-rmse:31129.3\n",
"[1419]\tvalidation_0-rmse:31130.7\n",
"[1420]\tvalidation_0-rmse:31129.7\n",
"[1421]\tvalidation_0-rmse:31127.8\n",
"[1422]\tvalidation_0-rmse:31126.4\n",
"[1423]\tvalidation_0-rmse:31125.8\n",
"[1424]\tvalidation_0-rmse:31124.9\n",
"[1425]\tvalidation_0-rmse:31124.6\n",
"[1426]\tvalidation_0-rmse:31124.8\n",
"[1427]\tvalidation_0-rmse:31122.7\n",
"[1428]\tvalidation_0-rmse:31120.1\n",
"[1429]\tvalidation_0-rmse:31119.5\n",
"[1430]\tvalidation_0-rmse:31119.9\n",
"[1431]\tvalidation_0-rmse:31118.9\n",
"[1432]\tvalidation_0-rmse:31120.1\n",
"[1433]\tvalidation_0-rmse:31124.6\n",
"[1434]\tvalidation_0-rmse:31125.2\n",
"[1435]\tvalidation_0-rmse:31123.4\n",
"[1436]\tvalidation_0-rmse:31124.1\n",
"[1437]\tvalidation_0-rmse:31123.5\n",
"[1438]\tvalidation_0-rmse:31125\n",
"[1439]\tvalidation_0-rmse:31124.5\n",
"[1440]\tvalidation_0-rmse:31123.2\n",
"[1441]\tvalidation_0-rmse:31123.6\n",
"[1442]\tvalidation_0-rmse:31123.5\n",
"[1443]\tvalidation_0-rmse:31123.3\n",
"[1444]\tvalidation_0-rmse:31122.8\n",
"[1445]\tvalidation_0-rmse:31123.9\n",
"[1446]\tvalidation_0-rmse:31124.1\n",
"[1447]\tvalidation_0-rmse:31125\n",
"[1448]\tvalidation_0-rmse:31123.2\n",
"[1449]\tvalidation_0-rmse:31123.8\n",
"[1450]\tvalidation_0-rmse:31124.6\n",
"[1451]\tvalidation_0-rmse:31124.6\n",
"[1452]\tvalidation_0-rmse:31123.9\n",
"[1453]\tvalidation_0-rmse:31124.3\n",
"[1454]\tvalidation_0-rmse:31124.4\n",
"[1455]\tvalidation_0-rmse:31124.5\n",
"[1456]\tvalidation_0-rmse:31124.9\n",
"[1457]\tvalidation_0-rmse:31125.4\n",
"[1458]\tvalidation_0-rmse:31125.5\n",
"[1459]\tvalidation_0-rmse:31124.7\n",
"[1460]\tvalidation_0-rmse:31124.5\n",
"[1461]\tvalidation_0-rmse:31126\n",
"[1462]\tvalidation_0-rmse:31125.8\n",
"[1463]\tvalidation_0-rmse:31124.2\n",
"[1464]\tvalidation_0-rmse:31123.3\n",
"[1465]\tvalidation_0-rmse:31123.4\n",
"[1466]\tvalidation_0-rmse:31123.2\n",
"[1467]\tvalidation_0-rmse:31121.3\n",
"[1468]\tvalidation_0-rmse:31122.7\n",
"[1469]\tvalidation_0-rmse:31122.3\n",
"[1470]\tvalidation_0-rmse:31123.2\n",
"[1471]\tvalidation_0-rmse:31121.4\n",
"[1472]\tvalidation_0-rmse:31120.8\n",
"[1473]\tvalidation_0-rmse:31122.8\n",
"[1474]\tvalidation_0-rmse:31124\n",
"[1475]\tvalidation_0-rmse:31123.4\n",
"[1476]\tvalidation_0-rmse:31121.4\n",
"[1477]\tvalidation_0-rmse:31122.5\n",
"[1478]\tvalidation_0-rmse:31123.7\n",
"[1479]\tvalidation_0-rmse:31123.1\n",
"[1480]\tvalidation_0-rmse:31123.4\n",
"[1481]\tvalidation_0-rmse:31123.7\n",
"[1482]\tvalidation_0-rmse:31124.2\n",
"[1483]\tvalidation_0-rmse:31123.8\n",
"[1484]\tvalidation_0-rmse:31123\n",
"[1485]\tvalidation_0-rmse:31122.5\n",
"[1486]\tvalidation_0-rmse:31123.1\n",
"[1487]\tvalidation_0-rmse:31123.1\n",
"[1488]\tvalidation_0-rmse:31123.4\n",
"[1489]\tvalidation_0-rmse:31122.9\n",
"[1490]\tvalidation_0-rmse:31122.5\n",
"[1491]\tvalidation_0-rmse:31122.1\n",
"[1492]\tvalidation_0-rmse:31122.5\n",
"[1493]\tvalidation_0-rmse:31121.9\n",
"[1494]\tvalidation_0-rmse:31121.7\n",
"[1495]\tvalidation_0-rmse:31120.9\n",
"[1496]\tvalidation_0-rmse:31120.3\n",
"[1497]\tvalidation_0-rmse:31117.6\n",
"[1498]\tvalidation_0-rmse:31119.4\n",
"[1499]\tvalidation_0-rmse:31120.5\n",
"[1500]\tvalidation_0-rmse:31120.5\n",
"[1501]\tvalidation_0-rmse:31122\n",
"[1502]\tvalidation_0-rmse:31123.3\n",
"[1503]\tvalidation_0-rmse:31123.6\n",
"[1504]\tvalidation_0-rmse:31122.8\n",
"[1505]\tvalidation_0-rmse:31124.1\n",
"[1506]\tvalidation_0-rmse:31123.3\n",
"[1507]\tvalidation_0-rmse:31121.4\n",
"[1508]\tvalidation_0-rmse:31120.5\n",
"[1509]\tvalidation_0-rmse:31119.5\n",
"[1510]\tvalidation_0-rmse:31118.8\n",
"[1511]\tvalidation_0-rmse:31117.3\n",
"[1512]\tvalidation_0-rmse:31116.4\n",
"[1513]\tvalidation_0-rmse:31116.7\n",
"[1514]\tvalidation_0-rmse:31117.3\n",
"[1515]\tvalidation_0-rmse:31116.9\n",
"[1516]\tvalidation_0-rmse:31115.4\n",
"[1517]\tvalidation_0-rmse:31115\n",
"[1518]\tvalidation_0-rmse:31115.5\n",
"[1519]\tvalidation_0-rmse:31114.2\n",
"[1520]\tvalidation_0-rmse:31114.3\n",
"[1521]\tvalidation_0-rmse:31113.7\n",
"[1522]\tvalidation_0-rmse:31115\n",
"[1523]\tvalidation_0-rmse:31115.5\n",
"[1524]\tvalidation_0-rmse:31114.9\n",
"[1525]\tvalidation_0-rmse:31112.4\n",
"[1526]\tvalidation_0-rmse:31114\n",
"[1527]\tvalidation_0-rmse:31114.1\n",
"[1528]\tvalidation_0-rmse:31114.5\n",
"[1529]\tvalidation_0-rmse:31114.6\n",
"[1530]\tvalidation_0-rmse:31114.9\n",
"[1531]\tvalidation_0-rmse:31116\n",
"[1532]\tvalidation_0-rmse:31116.3\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1533]\tvalidation_0-rmse:31116.6\n",
"[1534]\tvalidation_0-rmse:31115.5\n",
"[1535]\tvalidation_0-rmse:31115.1\n",
"[1536]\tvalidation_0-rmse:31114.2\n",
"[1537]\tvalidation_0-rmse:31113.9\n",
"[1538]\tvalidation_0-rmse:31113.8\n",
"[1539]\tvalidation_0-rmse:31114.6\n",
"[1540]\tvalidation_0-rmse:31114.2\n",
"[1541]\tvalidation_0-rmse:31113.9\n",
"[1542]\tvalidation_0-rmse:31112\n",
"[1543]\tvalidation_0-rmse:31111.9\n",
"[1544]\tvalidation_0-rmse:31111.8\n",
"[1545]\tvalidation_0-rmse:31111.9\n",
"[1546]\tvalidation_0-rmse:31113.4\n",
"[1547]\tvalidation_0-rmse:31112.6\n",
"[1548]\tvalidation_0-rmse:31113\n",
"[1549]\tvalidation_0-rmse:31113.1\n",
"[1550]\tvalidation_0-rmse:31112\n",
"[1551]\tvalidation_0-rmse:31110.2\n",
"[1552]\tvalidation_0-rmse:31110\n",
"[1553]\tvalidation_0-rmse:31111.9\n",
"Stopping. Best iteration:\n",
"[1353]\tvalidation_0-rmse:31109.1\n",
"\n"
]
},
{
"data": {
"text/plain": [
"XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=0.55,\n",
" colsample_bytree=1, gamma=0.028, learning_rate=0.03,\n",
" max_delta_step=0, max_depth=4, min_child_weight=2, missing=None,\n",
" n_estimators=2500, n_jobs=1, nthread=None, objective='reg:linear',\n",
" random_state=0, reg_alpha=0, reg_lambda=1.1, scale_pos_weight=1,\n",
" seed=None, silent=True, subsample=0.6, tree_method='exact')"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xgb_model.fit(X_train, Y_train,\n",
" eval_set=[(X_valid, Y_valid)],\n",
" early_stopping_rounds=200,\n",
" eval_metric='rmse')"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1e4d7fb80f0>"
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1152x648 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(Y_valid, xgb_model.predict(X_valid, ntree_limit=xgb_model.best_iteration))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Nets"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [],
"source": [
"from keras.models import Sequential\n",
"from keras.layers import Dense, BatchNormalization, Dropout\n",
"from sklearn.preprocessing import StandardScaler\n",
"from keras.callbacks import EarlyStopping, ModelCheckpoint\n",
"from keras import regularizers"
]
},
{
"cell_type": "code",
"execution_count": 163,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"d:\\programs\\miniconda3\\envs\\ai36\\lib\\site-packages\\sklearn\\preprocessing\\data.py:617: DataConversionWarning: Data with input dtype int8, int32, int64, float64 were all converted to float64 by StandardScaler.\n",
" return self.partial_fit(X, y)\n",
"d:\\programs\\miniconda3\\envs\\ai36\\lib\\site-packages\\sklearn\\base.py:462: DataConversionWarning: Data with input dtype int8, int32, int64, float64 were all converted to float64 by StandardScaler.\n",
" return self.fit(X, **fit_params).transform(X)\n",
"d:\\programs\\miniconda3\\envs\\ai36\\lib\\site-packages\\ipykernel_launcher.py:3: DataConversionWarning: Data with input dtype int8, int32, int64, float64 were all converted to float64 by StandardScaler.\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n",
"d:\\programs\\miniconda3\\envs\\ai36\\lib\\site-packages\\ipykernel_launcher.py:4: DataConversionWarning: Data with input dtype int8, int32, int64, float64 were all converted to float64 by StandardScaler.\n",
" after removing the cwd from sys.path.\n"
]
}
],
"source": [
"scaler = StandardScaler()\n",
"X_train_scaled = scaler.fit_transform(X_train)\n",
"X_valid_scaled = scaler.transform(X_valid)\n",
"X_test_scaled = scaler.transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {},
"outputs": [],
"source": [
"model = Sequential()\n",
"model.add(Dense(200, input_dim=X_train_scaled.shape[1], activation='relu'))\n",
"model.add(BatchNormalization())\n",
"model.add(Dense(100, activation='relu', kernel_regularizer=regularizers.l2(0.4)))\n",
"model.add(BatchNormalization())\n",
"model.add(Dense(360, activation='relu', kernel_regularizer=regularizers.l2(0.2)))\n",
"model.add(Dense(32, activation='relu'))\n",
"model.add(BatchNormalization())\n",
"model.add(Dense(64, activation='relu'))\n",
"model.add(Dense(1, activation='linear'))\n",
"model.compile(loss='mse', optimizer='adam', metrics=['mse'])"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [],
"source": [
"callbacks = list()\n",
"callbacks.append(EarlyStopping(monitor='val_loss', min_delta=0, mode='auto', patience=8))\n",
"callbacks.append(ModelCheckpoint('nn.h5', monitor='val_acc', save_weights_only=False,\n",
" save_best_only=True, mode='max'))"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 817 samples, validate on 351 samples\n",
"Epoch 1/200\n",
"817/817 [==============================] - 2s 3ms/step - loss: 38965220353.2534 - mean_squared_error: 38965220353.2534 - val_loss: 38680775116.9459 - val_mean_squared_error: 38680775116.9459\n",
"Epoch 2/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 38963802006.7173 - mean_squared_error: 38963802006.7173 - val_loss: 38678822608.5926 - val_mean_squared_error: 38678822608.5926\n",
"Epoch 3/200\n",
"416/817 [==============>...............] - ETA: 0s - loss: 39280064984.6154 - mean_squared_error: 39280064984.6154"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"d:\\programs\\miniconda3\\envs\\ai36\\lib\\site-packages\\keras\\callbacks.py:434: RuntimeWarning: Can save best model only with val_acc available, skipping.\n",
" 'skipping.' % (self.monitor), RuntimeWarning)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"817/817 [==============================] - 0s 167us/step - loss: 38961811350.7173 - mean_squared_error: 38961811350.7173 - val_loss: 38676321387.9430 - val_mean_squared_error: 38676321387.9430\n",
"Epoch 4/200\n",
"817/817 [==============================] - 0s 175us/step - loss: 38958915250.6047 - mean_squared_error: 38958915250.6047 - val_loss: 38673208392.9345 - val_mean_squared_error: 38673208392.9345\n",
"Epoch 5/200\n",
"817/817 [==============================] - 0s 168us/step - loss: 38954706106.7515 - mean_squared_error: 38954706106.7515 - val_loss: 38668683269.8348 - val_mean_squared_error: 38668683269.8348\n",
"Epoch 6/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 38948827201.1750 - mean_squared_error: 38948827201.1750 - val_loss: 38662651157.1510 - val_mean_squared_error: 38662651157.1510\n",
"Epoch 7/200\n",
"817/817 [==============================] - 0s 165us/step - loss: 38941258419.8580 - mean_squared_error: 38941258419.8580 - val_loss: 38650192467.1453 - val_mean_squared_error: 38650192467.1453\n",
"Epoch 8/200\n",
"817/817 [==============================] - 0s 176us/step - loss: 38931318445.5912 - mean_squared_error: 38931318445.5912 - val_loss: 38637777246.0855 - val_mean_squared_error: 38637777246.0855\n",
"Epoch 9/200\n",
"817/817 [==============================] - 0s 168us/step - loss: 38918655759.3537 - mean_squared_error: 38918655759.3537 - val_loss: 38632531658.7578 - val_mean_squared_error: 38632531658.7578\n",
"Epoch 10/200\n",
"817/817 [==============================] - 0s 159us/step - loss: 38904299780.7001 - mean_squared_error: 38904299780.7001 - val_loss: 38604180418.7350 - val_mean_squared_error: 38604180418.7350\n",
"Epoch 11/200\n",
"817/817 [==============================] - 0s 163us/step - loss: 38886243233.9976 - mean_squared_error: 38886243233.9976 - val_loss: 38592476758.0627 - val_mean_squared_error: 38592476758.0627\n",
"Epoch 12/200\n",
"817/817 [==============================] - 0s 172us/step - loss: 38865043947.3195 - mean_squared_error: 38865043947.3195 - val_loss: 38552759199.7265 - val_mean_squared_error: 38552759199.7265\n",
"Epoch 13/200\n",
"817/817 [==============================] - 0s 173us/step - loss: 38839323193.0282 - mean_squared_error: 38839323193.0282 - val_loss: 38527509857.0028 - val_mean_squared_error: 38527509857.0028\n",
"Epoch 14/200\n",
"817/817 [==============================] - 0s 168us/step - loss: 38809532523.7895 - mean_squared_error: 38809532523.7895 - val_loss: 38512636604.1709 - val_mean_squared_error: 38512636604.1709\n",
"Epoch 15/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 38776531598.2570 - mean_squared_error: 38776531598.2570 - val_loss: 38441556603.9886 - val_mean_squared_error: 38441556603.9886\n",
"Epoch 16/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 38738284920.0098 - mean_squared_error: 38738284920.0098 - val_loss: 38412551871.0883 - val_mean_squared_error: 38412551871.0883\n",
"Epoch 17/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 38693247715.4859 - mean_squared_error: 38693247715.4859 - val_loss: 38419561877.5157 - val_mean_squared_error: 38419561877.5157\n",
"Epoch 18/200\n",
"817/817 [==============================] - 0s 181us/step - loss: 38644991242.9669 - mean_squared_error: 38644991242.9669 - val_loss: 38364839224.1595 - val_mean_squared_error: 38364839224.1595\n",
"Epoch 19/200\n",
"817/817 [==============================] - 0s 170us/step - loss: 38591326691.7993 - mean_squared_error: 38591326691.7993 - val_loss: 38312909926.1083 - val_mean_squared_error: 38312909926.1083\n",
"Epoch 20/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 38529797086.1591 - mean_squared_error: 38529797086.1591 - val_loss: 38274501314.0057 - val_mean_squared_error: 38274501314.0057\n",
"Epoch 21/200\n",
"817/817 [==============================] - 0s 195us/step - loss: 38466892322.4676 - mean_squared_error: 38466892322.4676 - val_loss: 38153441746.7806 - val_mean_squared_error: 38153441746.7806\n",
"Epoch 22/200\n",
"817/817 [==============================] - 0s 199us/step - loss: 38394232516.1518 - mean_squared_error: 38394232516.1518 - val_loss: 38024690626.7350 - val_mean_squared_error: 38024690626.7350\n",
"Epoch 23/200\n",
"817/817 [==============================] - 0s 190us/step - loss: 38314237483.2411 - mean_squared_error: 38314237483.2411 - val_loss: 37902054309.5613 - val_mean_squared_error: 37902054309.5613\n",
"Epoch 24/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 38229676438.0906 - mean_squared_error: 38229676438.0906 - val_loss: 37867027102.9972 - val_mean_squared_error: 37867027102.9972\n",
"Epoch 25/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 38136252664.1665 - mean_squared_error: 38136252664.1665 - val_loss: 37792488305.0484 - val_mean_squared_error: 37792488305.0484\n",
"Epoch 26/200\n",
"817/817 [==============================] - 0s 190us/step - loss: 38035880916.1322 - mean_squared_error: 38035880916.1322 - val_loss: 37720049343.0883 - val_mean_squared_error: 37720049343.0883\n",
"Epoch 27/200\n",
"817/817 [==============================] - 0s 189us/step - loss: 37934402095.0012 - mean_squared_error: 37934402095.0012 - val_loss: 37646714687.4530 - val_mean_squared_error: 37646714687.4530\n",
"Epoch 28/200\n",
"817/817 [==============================] - 0s 185us/step - loss: 37819171407.5887 - mean_squared_error: 37819171407.5887 - val_loss: 37727032696.3419 - val_mean_squared_error: 37727032696.3419\n",
"Epoch 29/200\n",
"817/817 [==============================] - 0s 172us/step - loss: 37699926369.4492 - mean_squared_error: 37699926369.4492 - val_loss: 37395138799.2251 - val_mean_squared_error: 37395138799.2251\n",
"Epoch 30/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 37571155581.9633 - mean_squared_error: 37571155581.9633 - val_loss: 37343887605.0598 - val_mean_squared_error: 37343887605.0598\n",
"Epoch 31/200\n",
"817/817 [==============================] - 0s 183us/step - loss: 37439339062.5214 - mean_squared_error: 37439339062.5214 - val_loss: 37281381454.7692 - val_mean_squared_error: 37281381454.7692\n",
"Epoch 32/200\n",
"817/817 [==============================] - 0s 173us/step - loss: 37289625660.1616 - mean_squared_error: 37289625660.1616 - val_loss: 37273128143.1339 - val_mean_squared_error: 37273128143.1339\n",
"Epoch 33/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 37142383790.2179 - mean_squared_error: 37142383790.2179 - val_loss: 36985125826.7350 - val_mean_squared_error: 36985125826.7350\n",
"Epoch 34/200\n",
"817/817 [==============================] - 0s 196us/step - loss: 36977514443.3586 - mean_squared_error: 36977514443.3586 - val_loss: 36423696547.3732 - val_mean_squared_error: 36423696547.3732\n",
"Epoch 35/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 36816704706.2717 - mean_squared_error: 36816704706.2717 - val_loss: 36495555966.1766 - val_mean_squared_error: 36495555966.1766\n",
"Epoch 36/200\n",
"817/817 [==============================] - 0s 175us/step - loss: 36643205403.2607 - mean_squared_error: 36643205403.2607 - val_loss: 36180235768.7066 - val_mean_squared_error: 36180235768.7066\n",
"Epoch 37/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 36456082729.0477 - mean_squared_error: 36456082729.0477 - val_loss: 36420013998.3134 - val_mean_squared_error: 36420013998.3134\n",
"Epoch 38/200\n",
"817/817 [==============================] - 0s 162us/step - loss: 36271902113.3709 - mean_squared_error: 36271902113.3709 - val_loss: 36068241571.3732 - val_mean_squared_error: 36068241571.3732\n",
"Epoch 39/200\n",
"817/817 [==============================] - 0s 175us/step - loss: 36057165984.4308 - mean_squared_error: 36057165984.4308 - val_loss: 36245201666.1880 - val_mean_squared_error: 36245201666.1880\n",
"Epoch 40/200\n",
"817/817 [==============================] - 0s 182us/step - loss: 35859200300.8078 - mean_squared_error: 35859200300.8078 - val_loss: 35873987137.6410 - val_mean_squared_error: 35873987137.6410\n",
"Epoch 41/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 35641262450.9963 - mean_squared_error: 35641262450.9963 - val_loss: 35537449216.7293 - val_mean_squared_error: 35537449216.7293\n",
"Epoch 42/200\n",
"817/817 [==============================] - 0s 175us/step - loss: 35424361871.8237 - mean_squared_error: 35424361871.8237 - val_loss: 35176874404.1026 - val_mean_squared_error: 35176874404.1026\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 43/200\n",
"817/817 [==============================] - 0s 163us/step - loss: 35177674328.3623 - mean_squared_error: 35177674328.3623 - val_loss: 35009002831.4986 - val_mean_squared_error: 35009002831.4986\n",
"Epoch 44/200\n",
"817/817 [==============================] - 0s 154us/step - loss: 34937649327.4712 - mean_squared_error: 34937649327.4712 - val_loss: 34744632276.2393 - val_mean_squared_error: 34744632276.2393\n",
"Epoch 45/200\n",
"817/817 [==============================] - 0s 154us/step - loss: 34710120723.7405 - mean_squared_error: 34710120723.7405 - val_loss: 34380290555.6239 - val_mean_squared_error: 34380290555.6239\n",
"Epoch 46/200\n",
"817/817 [==============================] - 0s 159us/step - loss: 34440549011.2705 - mean_squared_error: 34440549011.2705 - val_loss: 34401110185.2080 - val_mean_squared_error: 34401110185.2080\n",
"Epoch 47/200\n",
"817/817 [==============================] - 0s 149us/step - loss: 34177159198.0808 - mean_squared_error: 34177159198.0808 - val_loss: 34067994151.3846 - val_mean_squared_error: 34067994151.3846\n",
"Epoch 48/200\n",
"817/817 [==============================] - 0s 154us/step - loss: 33885611508.0930 - mean_squared_error: 33885611508.0930 - val_loss: 34283201317.1966 - val_mean_squared_error: 34283201317.1966\n",
"Epoch 49/200\n",
"817/817 [==============================] - 0s 165us/step - loss: 33626073160.6952 - mean_squared_error: 33626073160.6952 - val_loss: 33240683371.2137 - val_mean_squared_error: 33240683371.2137\n",
"Epoch 50/200\n",
"817/817 [==============================] - 0s 150us/step - loss: 33346373669.6010 - mean_squared_error: 33346373669.6010 - val_loss: 33400555665.8689 - val_mean_squared_error: 33400555665.8689\n",
"Epoch 51/200\n",
"817/817 [==============================] - 0s 154us/step - loss: 33029032685.5129 - mean_squared_error: 33029032685.5129 - val_loss: 32716999186.9630 - val_mean_squared_error: 32716999186.9630\n",
"Epoch 52/200\n",
"817/817 [==============================] - 0s 151us/step - loss: 32717640765.4149 - mean_squared_error: 32717640765.4149 - val_loss: 32876797391.8632 - val_mean_squared_error: 32876797391.8632\n",
"Epoch 53/200\n",
"817/817 [==============================] - 0s 161us/step - loss: 32402788276.7980 - mean_squared_error: 32402788276.7980 - val_loss: 32371674599.2023 - val_mean_squared_error: 32371674599.2023\n",
"Epoch 54/200\n",
"817/817 [==============================] - 0s 157us/step - loss: 32095447167.8433 - mean_squared_error: 32095447167.8433 - val_loss: 31910406453.2422 - val_mean_squared_error: 31910406453.2422\n",
"Epoch 55/200\n",
"817/817 [==============================] - 0s 150us/step - loss: 31747894498.8592 - mean_squared_error: 31747894498.8592 - val_loss: 32136031322.4387 - val_mean_squared_error: 32136031322.4387\n",
"Epoch 56/200\n",
"817/817 [==============================] - 0s 149us/step - loss: 31457042524.7491 - mean_squared_error: 31457042524.7491 - val_loss: 31032445412.2849 - val_mean_squared_error: 31032445412.2849\n",
"Epoch 57/200\n",
"817/817 [==============================] - 0s 165us/step - loss: 31077280162.6242 - mean_squared_error: 31077280162.6242 - val_loss: 31555292285.4473 - val_mean_squared_error: 31555292285.4473\n",
"Epoch 58/200\n",
"817/817 [==============================] - 0s 157us/step - loss: 30733109949.8849 - mean_squared_error: 30733109949.8849 - val_loss: 30411307060.5128 - val_mean_squared_error: 30411307060.5128\n",
"Epoch 59/200\n",
"817/817 [==============================] - 0s 163us/step - loss: 30377342757.9143 - mean_squared_error: 30377342757.9143 - val_loss: 30752130972.8091 - val_mean_squared_error: 30752130972.8091\n",
"Epoch 60/200\n",
"817/817 [==============================] - 0s 154us/step - loss: 30043773414.3060 - mean_squared_error: 30043773414.3060 - val_loss: 31189123340.3989 - val_mean_squared_error: 31189123340.3989\n",
"Epoch 61/200\n",
"817/817 [==============================] - 0s 149us/step - loss: 29639812448.1958 - mean_squared_error: 29639812448.1958 - val_loss: 30588180602.5299 - val_mean_squared_error: 30588180602.5299\n",
"Epoch 62/200\n",
"817/817 [==============================] - 0s 148us/step - loss: 29280494971.7699 - mean_squared_error: 29280494971.7699 - val_loss: 30501093107.6011 - val_mean_squared_error: 30501093107.6011\n",
"Epoch 63/200\n",
"817/817 [==============================] - 0s 149us/step - loss: 28907291501.3562 - mean_squared_error: 28907291501.3562 - val_loss: 29014819492.8319 - val_mean_squared_error: 29014819492.8319\n",
"Epoch 64/200\n",
"817/817 [==============================] - 0s 151us/step - loss: 28518488648.0685 - mean_squared_error: 28518488648.0685 - val_loss: 29114658956.0342 - val_mean_squared_error: 29114658956.0342\n",
"Epoch 65/200\n",
"817/817 [==============================] - 0s 149us/step - loss: 28118483284.9155 - mean_squared_error: 28118483284.9155 - val_loss: 28494761482.2108 - val_mean_squared_error: 28494761482.2108\n",
"Epoch 66/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 27722065300.8372 - mean_squared_error: 27722065300.8372 - val_loss: 27482636778.1197 - val_mean_squared_error: 27482636778.1197\n",
"Epoch 67/200\n",
"817/817 [==============================] - 0s 161us/step - loss: 27319789583.0404 - mean_squared_error: 27319789583.0404 - val_loss: 27103095221.6068 - val_mean_squared_error: 27103095221.6068\n",
"Epoch 68/200\n",
"817/817 [==============================] - 0s 182us/step - loss: 26964745357.6304 - mean_squared_error: 26964745357.6304 - val_loss: 27245545787.0769 - val_mean_squared_error: 27245545787.0769\n",
"Epoch 69/200\n",
"817/817 [==============================] - 0s 199us/step - loss: 26511326597.7968 - mean_squared_error: 26511326597.7968 - val_loss: 28224961976.5242 - val_mean_squared_error: 28224961976.5242\n",
"Epoch 70/200\n",
"817/817 [==============================] - 0s 176us/step - loss: 26125230440.9694 - mean_squared_error: 26125230440.9694 - val_loss: 26946543306.7578 - val_mean_squared_error: 26946543306.7578\n",
"Epoch 71/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 25692545490.2521 - mean_squared_error: 25692545490.2521 - val_loss: 26260153516.1254 - val_mean_squared_error: 26260153516.1254\n",
"Epoch 72/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 25241149745.8213 - mean_squared_error: 25241149745.8213 - val_loss: 25857531571.4188 - val_mean_squared_error: 25857531571.4188\n",
"Epoch 73/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 24785883151.0404 - mean_squared_error: 24785883151.0404 - val_loss: 26270078112.4558 - val_mean_squared_error: 26270078112.4558\n",
"Epoch 74/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 24379709412.4259 - mean_squared_error: 24379709412.4259 - val_loss: 23866075398.5641 - val_mean_squared_error: 23866075398.5641\n",
"Epoch 75/200\n",
"817/817 [==============================] - 0s 186us/step - loss: 23975599235.6034 - mean_squared_error: 23975599235.6034 - val_loss: 23890254664.2051 - val_mean_squared_error: 23890254664.2051\n",
"Epoch 76/200\n",
"817/817 [==============================] - 0s 184us/step - loss: 23530026378.8103 - mean_squared_error: 23530026378.8103 - val_loss: 23653390919.4758 - val_mean_squared_error: 23653390919.4758\n",
"Epoch 77/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 23087016740.6610 - mean_squared_error: 23087016740.6610 - val_loss: 23357940120.4330 - val_mean_squared_error: 23357940120.4330\n",
"Epoch 78/200\n",
"817/817 [==============================] - 0s 187us/step - loss: 22627850093.3562 - mean_squared_error: 22627850093.3562 - val_loss: 23661087466.8490 - val_mean_squared_error: 23661087466.8490\n",
"Epoch 79/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 22226893780.1322 - mean_squared_error: 22226893780.1322 - val_loss: 23286054270.1766 - val_mean_squared_error: 23286054270.1766\n",
"Epoch 80/200\n",
"817/817 [==============================] - 0s 192us/step - loss: 21820667314.9180 - mean_squared_error: 21820667314.9180 - val_loss: 22371892518.6553 - val_mean_squared_error: 22371892518.6553\n",
"Epoch 81/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 21339423534.6879 - mean_squared_error: 21339423534.6879 - val_loss: 22653594486.8832 - val_mean_squared_error: 22653594486.8832\n",
"Epoch 82/200\n",
"817/817 [==============================] - 0s 185us/step - loss: 21091882654.5508 - mean_squared_error: 21091882654.5508 - val_loss: 21661098083.1909 - val_mean_squared_error: 21661098083.1909\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 83/200\n",
"817/817 [==============================] - 0s 183us/step - loss: 20545666603.2411 - mean_squared_error: 20545666603.2411 - val_loss: 22329766022.1994 - val_mean_squared_error: 22329766022.1994\n",
"Epoch 84/200\n",
"817/817 [==============================] - 0s 181us/step - loss: 20118875317.7381 - mean_squared_error: 20118875317.7381 - val_loss: 20747071890.5983 - val_mean_squared_error: 20747071890.5983\n",
"Epoch 85/200\n",
"817/817 [==============================] - 0s 170us/step - loss: 19612640156.9841 - mean_squared_error: 19612640156.9841 - val_loss: 20800543770.2564 - val_mean_squared_error: 20800543770.2564\n",
"Epoch 86/200\n",
"817/817 [==============================] - 0s 165us/step - loss: 19225021506.4284 - mean_squared_error: 19225021506.4284 - val_loss: 20867777042.9630 - val_mean_squared_error: 20867777042.9630\n",
"Epoch 87/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 18761130905.2240 - mean_squared_error: 18761130905.2240 - val_loss: 19634819247.0427 - val_mean_squared_error: 19634819247.0427\n",
"Epoch 88/200\n",
"817/817 [==============================] - 0s 163us/step - loss: 18368198781.3366 - mean_squared_error: 18368198781.3366 - val_loss: 18253634737.9601 - val_mean_squared_error: 18253634737.9601\n",
"Epoch 89/200\n",
"817/817 [==============================] - 0s 172us/step - loss: 17852634963.0355 - mean_squared_error: 17852634963.0355 - val_loss: 18666968206.9516 - val_mean_squared_error: 18666968206.9516\n",
"Epoch 90/200\n",
"817/817 [==============================] - 0s 170us/step - loss: 17423038421.3856 - mean_squared_error: 17423038421.3856 - val_loss: 20230870631.5670 - val_mean_squared_error: 20230870631.5670\n",
"Epoch 91/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 17008059112.4994 - mean_squared_error: 17008059112.4994 - val_loss: 18581642038.7009 - val_mean_squared_error: 18581642038.7009\n",
"Epoch 92/200\n",
"817/817 [==============================] - 0s 157us/step - loss: 16561644480.0783 - mean_squared_error: 16561644480.0783 - val_loss: 17717850666.3020 - val_mean_squared_error: 17717850666.3020\n",
"Epoch 93/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 16164784660.6805 - mean_squared_error: 16164784660.6805 - val_loss: 17624764661.0598 - val_mean_squared_error: 17624764661.0598\n",
"Epoch 94/200\n",
"817/817 [==============================] - 0s 161us/step - loss: 15807637942.6781 - mean_squared_error: 15807637942.6781 - val_loss: 15860624958.7236 - val_mean_squared_error: 15860624958.7236\n",
"Epoch 95/200\n",
"817/817 [==============================] - 0s 168us/step - loss: 15231055160.0881 - mean_squared_error: 15231055160.0881 - val_loss: 15829250141.3561 - val_mean_squared_error: 15829250141.3561\n",
"Epoch 96/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 14787016984.7540 - mean_squared_error: 14787016984.7540 - val_loss: 16985777767.5670 - val_mean_squared_error: 16985777767.5670\n",
"Epoch 97/200\n",
"817/817 [==============================] - 0s 160us/step - loss: 14395589464.0490 - mean_squared_error: 14395589464.0490 - val_loss: 16064143138.2792 - val_mean_squared_error: 16064143138.2792\n",
"Epoch 98/200\n",
"817/817 [==============================] - 0s 159us/step - loss: 14055862352.2154 - mean_squared_error: 14055862352.2154 - val_loss: 15212225801.4815 - val_mean_squared_error: 15212225801.4815\n",
"Epoch 99/200\n",
"817/817 [==============================] - 0s 160us/step - loss: 13603063167.5300 - mean_squared_error: 13603063167.5300 - val_loss: 15121374706.8718 - val_mean_squared_error: 15121374706.8718\n",
"Epoch 100/200\n",
"817/817 [==============================] - 0s 166us/step - loss: 13170951340.9645 - mean_squared_error: 13170951340.9645 - val_loss: 12701813914.6211 - val_mean_squared_error: 12701813914.6211\n",
"Epoch 101/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 12801509975.7356 - mean_squared_error: 12801509975.7356 - val_loss: 14760894989.1282 - val_mean_squared_error: 14760894989.1282\n",
"Epoch 102/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 12283487107.9168 - mean_squared_error: 12283487107.9168 - val_loss: 11826449215.4530 - val_mean_squared_error: 11826449215.4530\n",
"Epoch 103/200\n",
"817/817 [==============================] - 0s 180us/step - loss: 11975277935.2362 - mean_squared_error: 11975277935.2362 - val_loss: 12950089850.5299 - val_mean_squared_error: 12950089850.5299\n",
"Epoch 104/200\n",
"817/817 [==============================] - 0s 172us/step - loss: 11596947722.9670 - mean_squared_error: 11596947722.9670 - val_loss: 11701648229.3789 - val_mean_squared_error: 11701648229.3789\n",
"Epoch 105/200\n",
"817/817 [==============================] - 0s 156us/step - loss: 11180634616.4798 - mean_squared_error: 11180634616.4798 - val_loss: 12304542057.7550 - val_mean_squared_error: 12304542057.7550\n",
"Epoch 106/200\n",
"817/817 [==============================] - 0s 179us/step - loss: 10870021452.1420 - mean_squared_error: 10870021452.1420 - val_loss: 11485181397.6980 - val_mean_squared_error: 11485181397.6980\n",
"Epoch 107/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 10519283129.1848 - mean_squared_error: 10519283129.1848 - val_loss: 10952792428.6724 - val_mean_squared_error: 10952792428.6724\n",
"Epoch 108/200\n",
"817/817 [==============================] - 0s 175us/step - loss: 10048517780.5239 - mean_squared_error: 10048517780.5239 - val_loss: 11977178161.5954 - val_mean_squared_error: 11977178161.5954\n",
"Epoch 109/200\n",
"817/817 [==============================] - 0s 172us/step - loss: 9764891768.3231 - mean_squared_error: 9764891768.3231 - val_loss: 10380389163.0313 - val_mean_squared_error: 10380389163.0313\n",
"Epoch 110/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 9385006077.4933 - mean_squared_error: 9385006077.4933 - val_loss: 10212533697.2764 - val_mean_squared_error: 10212533697.2764\n",
"Epoch 111/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 9111643797.7772 - mean_squared_error: 9111643797.7772 - val_loss: 10573937521.0484 - val_mean_squared_error: 10573937521.0484\n",
"Epoch 112/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 8654136708.5435 - mean_squared_error: 8654136708.5435 - val_loss: 9784192513.4587 - val_mean_squared_error: 9784192513.4587\n",
"Epoch 113/200\n",
"817/817 [==============================] - 0s 186us/step - loss: 8360954245.1701 - mean_squared_error: 8360954245.1701 - val_loss: 9600784751.5897 - val_mean_squared_error: 9600784751.5897\n",
"Epoch 114/200\n",
"817/817 [==============================] - 0s 189us/step - loss: 8030866196.9939 - mean_squared_error: 8030866196.9939 - val_loss: 9841509352.6610 - val_mean_squared_error: 9841509352.6610\n",
"Epoch 115/200\n",
"817/817 [==============================] - 0s 180us/step - loss: 7750234855.2460 - mean_squared_error: 7750234855.2460 - val_loss: 9710083897.6182 - val_mean_squared_error: 9710083897.6182\n",
"Epoch 116/200\n",
"817/817 [==============================] - 0s 184us/step - loss: 7422905704.9694 - mean_squared_error: 7422905704.9694 - val_loss: 10416913145.4359 - val_mean_squared_error: 10416913145.4359\n",
"Epoch 117/200\n",
"817/817 [==============================] - 0s 181us/step - loss: 7108006533.4835 - mean_squared_error: 7108006533.4835 - val_loss: 9629056212.9687 - val_mean_squared_error: 9629056212.9687\n",
"Epoch 118/200\n",
"817/817 [==============================] - 0s 182us/step - loss: 6783282409.7528 - mean_squared_error: 6783282409.7528 - val_loss: 8798847938.7350 - val_mean_squared_error: 8798847938.7350\n",
"Epoch 119/200\n",
"817/817 [==============================] - 0s 196us/step - loss: 6424092442.0073 - mean_squared_error: 6424092442.0073 - val_loss: 9784226740.1481 - val_mean_squared_error: 9784226740.1481\n",
"Epoch 120/200\n",
"817/817 [==============================] - 0s 199us/step - loss: 6172933019.7307 - mean_squared_error: 6172933019.7307 - val_loss: 8716737731.4644 - val_mean_squared_error: 8716737731.4644\n",
"Epoch 121/200\n",
"817/817 [==============================] - 0s 171us/step - loss: 5941812208.3329 - mean_squared_error: 5941812203.3195 - val_loss: 8424587605.3333 - val_mean_squared_error: 8424587605.3333\n",
"Epoch 122/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 5693514743.2264 - mean_squared_error: 5693514743.2264 - val_loss: 7933865768.1140 - val_mean_squared_error: 7933865768.1140\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 123/200\n",
"817/817 [==============================] - 0s 168us/step - loss: 5473896951.8531 - mean_squared_error: 5473896951.8531 - val_loss: 7458467306.1197 - val_mean_squared_error: 7458467306.1197\n",
"Epoch 124/200\n",
"817/817 [==============================] - 0s 157us/step - loss: 5315242968.8323 - mean_squared_error: 5315242958.8054 - val_loss: 7800586817.6410 - val_mean_squared_error: 7800586817.6410\n",
"Epoch 125/200\n",
"817/817 [==============================] - 0s 156us/step - loss: 5020212278.5214 - mean_squared_error: 5020212265.8311 - val_loss: 7971176512.1823 - val_mean_squared_error: 7971176512.1823\n",
"Epoch 126/200\n",
"817/817 [==============================] - 0s 159us/step - loss: 4840313202.9963 - mean_squared_error: 4840313178.9474 - val_loss: 6619211897.0712 - val_mean_squared_error: 6619211873.7322\n",
"Epoch 127/200\n",
"817/817 [==============================] - 0s 152us/step - loss: 4430238272.5483 - mean_squared_error: 4430238147.2118 - val_loss: 5711287907.1909 - val_mean_squared_error: 5711287813.8348\n",
"Epoch 128/200\n",
"817/817 [==============================] - 0s 157us/step - loss: 4360306232.4015 - mean_squared_error: 4360306071.6573 - val_loss: 5217824563.7835 - val_mean_squared_error: 5217824400.4103\n",
"Epoch 129/200\n",
"817/817 [==============================] - 0s 151us/step - loss: 4188821280.5092 - mean_squared_error: 4188821176.2448 - val_loss: 5477269861.3789 - val_mean_squared_error: 5477269744.6838\n",
"Epoch 130/200\n",
"817/817 [==============================] - 0s 151us/step - loss: 4153152100.8960 - mean_squared_error: 4153151947.9853 - val_loss: 6204314902.6097 - val_mean_squared_error: 6204314809.2536\n",
"Epoch 131/200\n",
"817/817 [==============================] - 0s 151us/step - loss: 4077590817.5275 - mean_squared_error: 4077590694.3843 - val_loss: 5317964940.0342 - val_mean_squared_error: 5317964776.6610\n",
"Epoch 132/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 3661091517.8849 - mean_squared_error: 3661091369.9878 - val_loss: 4762905007.7721 - val_mean_squared_error: 4762904844.3989\n",
"Epoch 133/200\n",
"817/817 [==============================] - 0s 153us/step - loss: 3439974640.9596 - mean_squared_error: 3439974460.1616 - val_loss: 4608206684.6268 - val_mean_squared_error: 4608206521.2536\n",
"Epoch 134/200\n",
"817/817 [==============================] - 0s 191us/step - loss: 3138719061.3856 - mean_squared_error: 3138718893.2778 - val_loss: 4753696457.2991 - val_mean_squared_error: 4753696293.9259\n",
"Epoch 135/200\n",
"817/817 [==============================] - 0s 179us/step - loss: 2937186163.3097 - mean_squared_error: 2937185967.4712 - val_loss: 4765713593.2536 - val_mean_squared_error: 4765713429.8803\n",
"Epoch 136/200\n",
"817/817 [==============================] - 0s 174us/step - loss: 2898145332.9547 - mean_squared_error: 2898145142.1297 - val_loss: 4599842474.6667 - val_mean_squared_error: 4599842311.2934\n",
"Epoch 137/200\n",
"817/817 [==============================] - 0s 161us/step - loss: 3005507931.2999 - mean_squared_error: 3005507804.4749 - val_loss: 6666690713.1624 - val_mean_squared_error: 6666690666.4843\n",
"Epoch 138/200\n",
"817/817 [==============================] - 0s 165us/step - loss: 2634296905.3219 - mean_squared_error: 2634296729.8507 - val_loss: 4400162048.7293 - val_mean_squared_error: 4400161897.0256\n",
"Epoch 139/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 2522677942.9914 - mean_squared_error: 2522677744.9596 - val_loss: 4417248719.8632 - val_mean_squared_error: 4417248568.1595\n",
"Epoch 140/200\n",
"817/817 [==============================] - 0s 163us/step - loss: 2227300483.1334 - mean_squared_error: 2227300287.2950 - val_loss: 4001842460.4444 - val_mean_squared_error: 4001842297.0712\n",
"Epoch 141/200\n",
"817/817 [==============================] - 0s 176us/step - loss: 2134008916.1322 - mean_squared_error: 2134008682.6928 - val_loss: 3290893506.0057 - val_mean_squared_error: 3290893273.3447\n",
"Epoch 142/200\n",
"817/817 [==============================] - 0s 167us/step - loss: 2017727149.5912 - mean_squared_error: 2017726916.4651 - val_loss: 2869986688.3647 - val_mean_squared_error: 2869986455.7037\n",
"Epoch 143/200\n",
"817/817 [==============================] - 0s 166us/step - loss: 2106790708.9547 - mean_squared_error: 2106790488.0490 - val_loss: 3019660908.6724 - val_mean_squared_error: 3019660681.8462\n",
"Epoch 144/200\n",
"817/817 [==============================] - 0s 160us/step - loss: 1879298401.7625 - mean_squared_error: 1879298178.3501 - val_loss: 2296355934.0855 - val_mean_squared_error: 2296355730.5983\n",
"Epoch 145/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 1712407932.2399 - mean_squared_error: 1712407693.7870 - val_loss: 4369317917.1738 - val_mean_squared_error: 4369317753.8006\n",
"Epoch 146/200\n",
"817/817 [==============================] - 0s 180us/step - loss: 1689605019.7111 - mean_squared_error: 1689604787.6034 - val_loss: 3983959077.9259 - val_mean_squared_error: 3983958914.5527\n",
"Epoch 147/200\n",
"817/817 [==============================] - 0s 179us/step - loss: 1821618578.0367 - mean_squared_error: 1821618370.9963 - val_loss: 3295860121.8917 - val_mean_squared_error: 3295859912.5698\n",
"Epoch 148/200\n",
"817/817 [==============================] - 0s 169us/step - loss: 1555779906.1151 - mean_squared_error: 1555779672.6756 - val_loss: 3402661074.7806 - val_mean_squared_error: 3402660865.4587\n",
"Epoch 149/200\n",
"817/817 [==============================] - 0s 177us/step - loss: 1453772987.3782 - mean_squared_error: 1453772768.0392 - val_loss: 2544213183.8177 - val_mean_squared_error: 2544212968.6610\n",
"Epoch 150/200\n",
"817/817 [==============================] - 0s 190us/step - loss: 1446410675.5055 - mean_squared_error: 1446410457.4982 - val_loss: 2414009139.7835 - val_mean_squared_error: 2414008930.4615\n",
"Epoch 151/200\n",
"817/817 [==============================] - 0s 191us/step - loss: 1228228594.8397 - mean_squared_error: 1228228363.2803 - val_loss: 2798573767.1111 - val_mean_squared_error: 2798573540.2849\n",
"Epoch 152/200\n",
"817/817 [==============================] - 0s 178us/step - loss: 1285529393.7430 - mean_squared_error: 1285529172.9155 - val_loss: 2341183099.2593 - val_mean_squared_error: 2341182895.7721\n"
]
},
{
"data": {
"text/plain": [
"<keras.callbacks.History at 0x1e4f3183550>"
]
},
"execution_count": 235,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.fit(X_train_scaled, Y_train, epochs=200, batch_size=32, verbose=1, validation_data=(X_valid_scaled, Y_valid), callbacks=callbacks)"
]
}
],
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment