diff --git a/lab_4/lab4.ipynb b/lab_4/lab4.ipynb index 9b7c97e..cc304b7 100644 --- a/lab_4/lab4.ipynb +++ b/lab_4/lab4.ipynb @@ -4,12 +4,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Начало лабораторной работы" + "# Вариант задания: Прогнозирование выпучки в магазинах\n", + "### Бизнес-цели:\n", + "Цель: Разработать модель машинного обучения, которая позволит прогнозировать распродажи магазина в зависимоси от его ассортимента.\n", + "\n", + "### Цели технического проекта:\n", + "\n", + "Сбор и подготовка данных:\n", + "Очистка данных от пропусков, выбросов и дубликатов.\n", + "Преобразование категориальных переменных в числовые.\n", + "Разделение данных на обучающую и тестовую выборки.\n" ] }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -23,8 +32,11 @@ } ], "source": [ - "import pandas as pd\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "import pandas as pn\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib\n", + "import matplotlib.ticker as ticker\n", + "df = pn.read_csv(\".//static//csv//Stores.csv\")\n", "print(df.columns)" ] }, @@ -32,241 +44,539 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Бизнес-цели" + "Разделим на 3 выборки\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Размер обучающей выборки: 572\n", + "Размер контрольной выборки: 144\n", + "Размер тестовой выборки: 180\n" + ] + } + ], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Разделение данных на обучающую и тестовую выборки (80% - обучение, 20% - тест)\n", + "train_data, test_data = train_test_split(df, test_size=0.2, random_state=42)\n", + "\n", + "# Разделение обучающей выборки на обучающую и контрольную (80% - обучение, 20% - контроль)\n", + "train_data, val_data = train_test_split(train_data, test_size=0.2, random_state=42)\n", + "\n", + "print(\"Размер обучающей выборки:\", len(train_data))\n", + "print(\"Размер контрольной выборки:\", len(val_data))\n", + "print(\"Размер тестовой выборки:\", len(test_data))" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB5Z0lEQVR4nO3dd3gU1f4G8HdbdlM3vZFCSCEh9NACIgihCVhAsMAV1IvoBRW44r2oiB27iKJcvQh4BVFUUBRBCEVK6DUQQktISEjZ9LpJds/vj5D9sSRACBtmN3k/z7PPw86cnXmzs5t8OXPOjEwIIUBERERkg+RSByAiIiJqKhYyREREZLNYyBAREZHNYiFDRERENouFDBEREdksFjJERERks1jIEBERkc1iIUNEREQ2i4UMEVETFBYW4uzZs6ipqZE6ClmQEAL5+fk4c+aM1FGokVjIEBE1QnV1Nd577z106dIFarUabm5uCA8PR3x8vNTRbEJiYiLWrl1ren7kyBH8/vvv0gW6QklJCV5++WW0b98ednZ28PDwQEREBJKTk6WORo2glDoA3bply5bhscceMz1Xq9UICgrC0KFDMXfuXPj4+EiYjsj26fV6DB06FHv27MFTTz2FN954Aw4ODlAoFIiJiZE6nk0oKSnB1KlT4evrCw8PDzz33HMYMWIERo4cKWmuvLw8DBgwAGlpaXjmmWfQr18/2NnZQaVSoW3btpJmo8ZhIdOCvP766wgJCUFlZSV27tyJL774AuvXr0diYiIcHBykjkdks959913s3bsXGzduxMCBA6WOY5NiY2NNDwCIiIjAlClTJE4FzJ49G5cuXUJCQgKio6OljkNNwEKmBRkxYgR69OgBAPj73/8ODw8PfPTRR/jll1/w8MMPS5yOyDbV1NRgwYIF+Oc//8ki5hatXbsWJ0+eREVFBTp16gQ7OztJ8+Tk5GD58uVYvHgxixgbxjEyLdigQYMAACkpKQCA/Px8PP/88+jUqROcnJzg4uKCESNG4OjRo/VeW1lZiVdffRURERHQaDTw8/PDmDFjcO7cOQBAamoqZDLZNR9X/sLftm0bZDIZvv/+e7z44ovw9fWFo6Mj7rnnHqSnp9fb9969ezF8+HBotVo4ODhgwIAB2LVrV4M/48CBAxvc/6uvvlqv7bfffouYmBjY29vD3d0dDz30UIP7v97PdiWj0YgFCxYgOjoaGo0GPj4+mDp1KgoKCszatW3bFqNGjaq3n+nTp9fbZkPZ33///XrvKVB7umPevHkICwuDWq1GYGAgXnjhBej1+gbfqysNHDgQHTt2rLf8gw8+gEwmQ2pqqtnywsJCzJgxA4GBgVCr1QgLC8O7774Lo9FoalP3vn3wwQf1ttuxY8cGPxM//vjjNTNOnjy5UV37bdu2NR0fuVwOX19fPPjgg0hLS7vhawHg888/R3R0NNRqNfz9/TFt2jQUFhaa1icnJ6OgoADOzs4YMGAAHBwcoNVqMWrUKCQmJprabd26FTKZDGvWrKm3j5UrV0ImkyEhIcGUefLkyWZt6t6Tbdu2mZbt2LED48aNQ1BQkOkYz5w5ExUVFWavffXVV+t9llasWIGuXbtCo9HAw8MDDz/8cL33ZPLkyXBycjJb9uOPP9bLAQBOTk71MgON+14NHDjQdPw7dOiAmJgYHD16tMHvVUOu/p57enpi5MiRZu8/UPv9mT59+jW3s2zZMrPP9/79+2E0GlFVVYUePXpc970CgC1btqB///5wdHSEq6sr7r33XiQlJZm1qTsWp06dwvjx4+Hi4mI6lVZZWVkv75Xf95qaGtx9991wd3fHyZMnzdo29vdXa8QemRasrujw8PAAAJw/fx5r167FuHHjEBISguzsbPznP//BgAEDcPLkSfj7+wMADAYDRo0ahfj4eDz00EN47rnnUFJSgk2bNiExMRGhoaGmfTz88MO4++67zfY7Z86cBvO89dZbkMlk+Ne//oWcnBwsWLAAcXFxOHLkCOzt7QHU/qIYMWIEYmJiMG/ePMjlcixduhSDBg3Cjh070KtXr3rbDQgIwPz58wEApaWlePrppxvc99y5czF+/Hj8/e9/R25uLj799FPceeedOHz4MFxdXeu95sknn0T//v0BAD///HO9P1BTp041jU969tlnkZKSgs8++wyHDx/Grl27oFKpGnwfbkZhYaHpZ7uS0WjEPffcg507d+LJJ59EVFQUjh8/jo8//hinT582G1R5q8rLyzFgwABkZGRg6tSpCAoKwu7duzFnzhxcunQJCxYssNi+mqp///548sknYTQakZiYiAULFiAzMxM7duy47uteffVVvPbaa4iLi8PTTz+N5ORkfPHFF9i/f7/pGObl5QGo/VyHh4fjtddeQ2VlJRYtWoR+/fph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IikpSQhRf/p1nR9++EF069ZNqNVq4e7uLh5++OEGfzdt3rzZ7DMwevRocfLkyQZ/ppMnT4oHHnhAODs7Czc3NzF9+vR6nwVcdbkFIYTQ6XTCy8tL3H///WbLG/M+t1YyIW7hXAFRI2zbtg133XUXVq9e3eReiiulpqYiJCQEKSkp1zzf/+qrryI1NRXLli275f21Rm3btsWrr77a4JVc6cZqamrg7++P0aNH1xuTZsuWLVuGZcuW1bvqL/2/uoss5ubmWuzCg3R9HCNDRGRha9euRW5urtkgXSJqHhwjQzanbhbC9Qbjdu7c2XTLBbp5AwYMMF1IkRpv7969OHbsGN544w1069YNAwYMkDqSRbVp06bB24QQSYmFDNkcT09P06C/axkzZsxtStMyLV++XOoINumLL77At99+i65du7bI05pDhgy54XWbiG43jpEhIiIim8UxMkRERGSzWMgQERGRzWrxY2SMRiMyMzPh7Ozc7JdyJyIiIssQQqCkpAT+/v5mN0C+WosvZDIzMy16Az0iIiK6fdLT0xEQEHDN9S2+kHF2dgZQ+0a4uLhInIaIiIgao7i4GIGBgaa/49fS4guZutNJLi4uLGSIiIhszI2GhXCwLxEREdksFjJERERks1jIEBERkc1iIUNEREQ2i4UMERER2SwWMkRERGSzWMgQERGRzWIhQ0RERDaLhQwRERHZLBYyREREZLNYyBAREZHNYiFDRERENouFDBEREdksFjJERERks5RSByCi+tLS0qDT6W77fj09PREUFHTb90tE1FQsZIisTFpaGiKjolBRXn7b923v4IBTSUksZojIZrCQIbIyOp0OFeXlmPCv9+ETFHrb9puddg4r3p0NnU7HQoaIbAYLGSIr5RMUioDwaKljEBFZNQ72JSIiIpvFQoaIiIhslqSFTNu2bSGTyeo9pk2bBgCorKzEtGnT4OHhAScnJ4wdOxbZ2dlSRiYiIiIrImkhs3//fly6dMn02LRpEwBg3LhxAICZM2di3bp1WL16NbZv347MzEyMGTNGyshERERkRSQd7Ovl5WX2/J133kFoaCgGDBiAoqIiLFmyBCtXrsSgQYMAAEuXLkVUVBT27NmDPn36SBGZiIiIrIjVjJGpqqrCt99+i8cffxwymQwHDx5EdXU14uLiTG0iIyMRFBSEhISEa25Hr9ejuLjY7EFE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npWGdOjQAWq1GmlpaRgwYMA123l5eWHSpEmYNGkS+vfvj9mzZ5uKJyJqPixkiOi68vLyMG7cODz++OPo3LkznJ2dceDAAbz33nu49957AQBt27ZFfHw8+vXrB7VaDTc3N8yePRvjx49Ht27dEBcXh3Xr1uHnn3/G5s2br7u/V155BaNGjUJQUBAeeOAByOVyHD16FImJiXjzzTev+9rffvsNq1atwkMPPYSIiAgIIbBu3TqsX78eS5cuBQCEh4fjm2++wcaNGxESEoL//e9/2L9/P0JCQhrcprOzM55//nnMnDkTRqMRd9xxB4qKirBr1y64uLhg0qRJeOWVVxATE4Po6Gjo9Xr89ttviIqKasK7TUQ3TepBOkRk3SorK8W///1v0b17d6HVaoWDg4No3769ePnll0V5ebkQQohff/1VhIWFCaVSedPTr68eJCyEEBs2bBB9+/YV9vb2wsXFRfTq1Ut8+eWXN8x67tw5MWXKFBERESHs7e2Fq6ur6Nmzp1i6dKnZzzN58mSh1WqFq6urePrpp8W///1v0aVLF1Obq6dfG41GsWDBAtG+fXuhUqmEl5eXGDZsmNi+fbsQQog33nhDREVFCXt7e+Hu7i7uvfdecf78+Ru/uUR0y2RCCCF1MUVERETUFBzsS0RERDaLhQwR2YwVK1aYTYG+8hEdHS11PCKSAE8tEZHNKCkpQXZ2doPrVCoVgoODb3MiIpIaCxkiIiKyWTy1RERERDaLhQwRERHZLBYyREREZLNYyBAREZHNYiFDRERENouFDBEREdksFjJERERks/4PaH4KVuID6bkAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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H4gJQJiHvdSxiIiImuWkVeLOzg1Dsg+lFCKtsFLiRNfHQqYdCSEQm16MTbGZqK3Xw9dJg2l9A+DhoJY6GhER0Q118XFElK8jAGBrfDbKq01zSDYLmXZSr9Nj59lc7D2XBwGgq48j7u3N2auJiMh8DI/wgIe9GlV1OmyJz4JOb3r9ZVjItIOy6jr8eOIyzmSWQgZgSCd3jOziCRs5n24iIjIfNgo57u7uDZVCjqySahy4kC91pCb4l7WNZRRV4fsj6cgprYHGRo5JPX3RO9CFnXqJiMgsOduqMKqrFwDgRFoxzuea1hQGLGTaiBACcenFWH/yMqrqdHC3V2Fav0AEudlJHY2IiOi2hHvao3egMwBge0IO8strpA10FRYybaBep8eOxFzsOZcHvQAivOwxtU8AnLRKqaMRERG1iYFh7vB30aJWp8fPcZmoqDGNzr8sZG5TZT3w44nLSMi60h8m3B1jo7yh5EnuiIjIgijkMozv7gNnWyXKquux+VQWdHqpU7GQuS1q/yjsylYa+sNM7uWH3kHsD0NERJZJo1RgUg9faGzkyC6txrFCBQBp/+axkGkFIQS2JFfAa9qbqNHLDP1hAl1tpY5GRETUrpxtVZgQ7Qu5DLhcqYDTkIclzcNCppVSiusgU9ggwFbH/jBERGRV/Fy0GNGlYSST88Bp2JMq3Zl/Wci0gkwmw+zeTsjf/AH6uunYH4aIiKxOVx9HdHbUQV9XA7WNdIeX+Be4lVQKGSrO7AK7wxARkbWKctIha9XfMcBfK1kGFjJERETUKjIZUF+YIWkGFjJERERktljIEBERkdliIUNERERmi4UMERERmS0WMkRERGS2WMgQERGR2WIhQ0RERGaLhQwRERGZLRYyREREZLZYyBAREZHZYiFDREREZouFDBEREZktFjJERERktljIEBERkdliIUNERERmi4UMERERmS0WMkRERGS2WMgQERGR2WIhQ0RERGaLhQwRERGZLRYyREREZLZYyBAREZHZYiFDREREZouFDBEREZktFjJERERktljIEBERkdliIUNERERmi4UMERERmS2zKGRWrFiB4OBgaDQa9O/fH0eOHJE6EhEREZkAky9kfvjhByxYsABLlizBiRMn0KNHD4wZMwa5ublSRyMiIiKJmXwh88EHH2D27NmYNWsWunbtis8//xy2trb46quvpI5G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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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r2DChAmYO3cuEhMT8fHHH+PAgQMNvptFRUW4/vrrMWPGDMycORPff/895s6dC7VajQceeKDRLCUlJZg8eTJUKhXWr19v/ax05veSWklQt7FixQoBQGzevFnk5eWJ9PR0sWrVKuHl5SV0Op04f/68EEIIg8EgzGazzXOTk5OFRqMRr776qnXZZ599JgCId999t8G+LBaL9XkAxNKlSxusExMTI8aOHWu9v23bNgFA9OjRQ5SWllqXf//99wKAeP/9963b7tmzp5g0aZJ1P0IIUVlZKcLDw8W1117bYF+jRo0S/fr1s97Py8sTAMTixYuty1JSUoRCoRD/+te/bJ57/PhxoVQqGyxPSkoSAMTnn39uXbZ48WJR/2u1c+dOAUB8/fXXNs/dsGFDg+WhoaFiypQpDbLPmzdPXPxVvTj7M888I3x9fUVsbKzNMf3yyy+FXC4XO3futHn+J598IgCIXbt2NdhffWPHjhUxMTENli9dulQAEMnJydZlr732mnBychKnT5+2Wfe5554TCoVCpKWlCSFa95lYvXr1JTPOmjVLhIaGNvk6hKg9vrNmzbJZdueddwq9Xn/Z516cZ9u2bQ0ea+57XVxcLFxcXMSIESNEVVWVzbr1P8916o7XihUrGjwWFxcnAIiHHnrIZvnTTz8tAIitW7dalzXn9a9du1YAEK+//rrNerfeequQyWTizJkz1mXN/QxeysXPF6L2e9q3b1/r/da8/7NmzRIAxH333WezXt13c926dUIIIXJzc4VarRYTJ060+Xv34YcfCgDis88+sy4bO3asACD+3//7f9ZlRqNRDBo0SPj6+orq6mqbvNu2bRMGg0GMGzdO+Pr62hw3Idr+vaSOx2a1bmjChAnw8fFBcHAw7rjjDjg7O2PNmjXo0aMHAECj0UAur/1omM1mFBQUwNnZGdHR0Th8+LB1Oz/++CO8vb3x2GOPNdhHW0aE3HvvvXBxcbHev/XWWxEQEID169cDAOLi4pCUlIQ777wTBQUFyM/PR35+PioqKjB+/Hj8+eefNs04QG3zn1arbXK/P/30EywWC2bMmGHdZn5+Pvz9/dGzZ09s27bNZv3q6moAtcfrUlavXg03Nzdce+21NtuMjY2Fs7Nzg22aTCab9fLz82EwGJrMnZGRgX//+9948cUXbc5i1O2/T58+6N27t80265pSL95/W6xe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911x5MgR60gpezqezclij5o6xtXV1eLGG28UQUFBIi4uzuY3sP7Is652jFkctQMAjd5WrFhhXaeqqko88sgjwsPDQ+j1enHLLbeIrKwsm+2kpKSIyZMnC51OJ7y9vcVTTz0lTCaTzTrbtm0TgwYNEmq1WkRERNjso86///1vERISItRqtRg+fLjYu3dvR7xsyV1cHPEYt926detEv379hEajEb179xaffvqpzeMWi0W8+OKLws/PT2g0GjF+/HiRmJhos05BQYGYOXOmcHZ2Fq6uruL+++8XZWVlNuscPXpUXHnllUKj0YgePXqIN998s0GW77//XvTq1Uuo1WoRExMjfvvtt/Z/wZ2stLRUPPHEEyIkJERotVoREREhXnjhBZsfER7jltm2bVujf39nzZolhLCv49mcLPaoqWOcnJx8yd/Abdu2WbfR1Y6xTIh6U7MSERERdXPsc0RERERUD4sjIiIionpYHBERERHVw+KIiIiIqB4WR0RERET1sDgiIiIiqofFEREREVE9LI6IiIiI6mFxRER0kfvuuw8333yz1DGISCIsjojosvLy8jB37lyEhIRAo9HA398fkyZNwq5duwAAMpkMa9eulTbkBUePHsWNN94IX19faLVahIWF4fbbb29wVXAioktRSh2AiOzf9OnTUV1djc8//xwRERHIycnBli1bUFBQ0K77MZlMUKlUrX5+Xl4exo8fj6lTp2Ljxo1wd3dHSkoKfvnlF1RUVLRjUiJyaC2+GhsRdStFRUUCgNi+fXujj4eGhtpcbDI0NNT62EcffSQiIiKESqUSvXr1El988YXNcwGIjz76SNxwww1Cr9eLxYsXCyGEWLt2rRg8eLDQaDQiPDxcvPzyyw0uENyYNWvWCKVS2eS6NTU14oEHHhBhYWFCq9WKXr16iWXLltmsM2vWLHHTTTdZ75vNZvHGG29YnzNgwACxevVq6+OFhYXizjvvFN7e3kKr1YqoqCjx2WefXTYvEdknnjkioiY5OzvD2dkZa9euxRVXXAGNRmPz+IEDB+Dr64sVK1bguuuug0KhAACsWbMGTzzxBJYtW4YJEybg119/xf3334+goCBcffXV1ue//PLLePPNN7Fs2TIolUrs3LkT9957Lz744AOMGTMGZ8+exZw5cwAAixcvbjKrv78/ampqsGbNGtx6662QyWQN1rFYLAgKCsLq1avh5eWF3bt3Y86cOQgICMCMGTMa3e6SJUvw1Vdf4ZNPPkHPnj3x559/4u6774aPjw/Gjh2LF198ESdPnsTvv/8Ob29vnDlzBlVVVS06zkRkR6SuzojI/v3www/Cw8NDaLVaMWrUKLFo0SJx9OhR6+MAxJo1a2yeM2rUKDF79mybZbfddpu4/vrrbZ43f/58m3XGjx8v3njjDZtlX375pQgICGhW1ueff14olUrh6ekprrvuOvH222+L7OzsJp8zb948MX36dOv9+meODAaD0Ov1Yvfu3TbPefDBB8XMmTOFEELccMMN4v77729WPiKyf+yQTUSXNX36dGRmZuKXX37Bddddh+3bt2PIkCFYuXLlJZ+TkJCA0aNH2ywbPXo0EhISbJYNHTrU5v7Ro0fx6quvWs9YOTs7Y/bs2cjKykJlZeVls/7rX/9CdnY2PvnkE8TExOCTTz5B7969cfz4ces6y5cvR2xsLHx8fODs7IxPP/0UaWlpjW7vzJkzqKysxLXXXmuT6YsvvsDZs2cBAHPnzsWqVaswaNAgPPPMM9i9e/dlcxKR/WJxRETNotVqce211+LFF1/E7t27cd999122mas5nJycbO6Xl5fjlVdeQVxcnPV2/PhxJCUlQavVNmubXl5euO222/DOO+8gISEBgYGBeOeddwAAq1atwtNPP40HH3wQf/zxB+Li4nD//fejurq60W2Vl5cDAH777TebTCdPnsQPP/wAAJg8eTJSU1Px5JNPIjMzE+PHj8fTTz/d2kNCRBJjnyMiapW+fftah++rVCqYzWabx/v06YNdu3Zh1qxZ1mW7du1C3759m9zukCFDkJiYiKioqHbJqVarERkZaR2ttmvXLowaNQqPPPKIdZ26M0CN6du3LzQaDdLS0jB27NhLrufj44NZs2Zh1qxZGDNmDBYuXGgtyIioa2FxRERNKigowG233YYHHngAAwYMgIuLCw4ePIi3334bN910EwAgLCwMW7ZswejRo6HRaODh4YGFCxdixowZGDx4MCZMmIB169bhp59+wubNm5vc30svvYSpU6ciJCQEt956K+RyOY4ePYr4+Hi8/vrrTT73119/xapVq3DHHXegV69eEEJg3bp1WL9+PVasWAEA6NmzJ7744gts3LgR4eHh+PLLL3HgwAGEh4c3uk0XFxc8/fTTePLJJ2GxWHDllVeipKQEu3btgqurK2bNmoWXXnoJsbGxiImJgdFoxK+//oo+ffq04mgTkV2QutMTEdk3g8EgnnvuOTFkyBDh5uYm9Hq9iI6OFv/85z9FZWWlEEKIX375RURFRQmlUtniofwXd+QWQogNGzaIUaNGCZ1OJ1xdXcXw4cPFp59+etmsZ8+eFbNnzxa9evUSOp1OuLu7i2HDhokVK1bYvJ777rtPuLm5CXd3dzF37lzx3HPPiYEDB1rXuXgov8ViEcuWLRPR0dFCpVIJHx8fMWnSJLFjxw4hhBCvvfaa6NOnj9DpdMLT01PcdNNN4ty5c5c/uERkl2RCCCF1gUZERERkL9ghm4iIiKgeFkdE1GV8/fXXNsPp699iYmKkjkdEDoLNakTUZZSVlSEnJ6fRx1QqFUJDQzs5ERE5IhZHRERERPWwWY2IiIioHhZHRERERPWwOCIiIiKqh8URERERUT0sjoiIiIjqYXFEREREVA+LIyIiIqJ6/j+bZNCoInMe/QAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Гистограмма распределения цены в обучающей выборке\n", + "sns.histplot(train_data[\"Store_Sales\"], kde=True)\n", + "plt.title('Распределение цены в обучающей выборке')\n", + "plt.show()\n", + "\n", + "# Гистограмма распределения цены в контрольной выборке\n", + "sns.histplot(val_data[\"Store_Sales\"], kde=True)\n", + "plt.title('Распределение цены в контрольной выборке')\n", + "plt.show()\n", + "\n", + "# Гистограмма распределения цены в тестовой выборке\n", + "sns.histplot(test_data[\"Store_Sales\"], kde=True)\n", + "plt.title('Распределение цены в тестовой выборке')\n", + "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "1. Прогнозирование посетителей в магазине:\n", + "## Процесс конструирования признаков\n", "\n", - "Цель: Разработать модель, которая будет предсказывать посещение клиентами магазина на основе его характеристик (размер, распродажи, количество ассортимента).\n", "\n", - "Применение:\n", - "Предсказывание посещения магазинов клиентами.\n", "\n", - "2. Оптимизация параметров магазина:\n", + "### Унитарное кодирование категориальных признаков (one-hot encoding)\n", "\n", - "Цель: Определить оптимальные коэффициенты для различных факторов, влияющих на посещаемость магазина чтобы максимизировать прибыль компании при наименьших затратах на пространство магазина и его ассортиментт.\n", + "One-hot encoding: Преобразование категориальных признаков в бинарные векторы." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", "\n", - "Применение:\n", - "Создавать магазин с максимальной посещаемостью." + "# Пример категориальных признаков\n", + "categorical_features = [\n", + " \"Store ID \",\n", + " \"Store_Area\"\n", + "]\n", + "\n", + "# Применение one-hot encoding\n", + "train_data_encoded = pd.get_dummies(train_data, columns=categorical_features)\n", + "val_data_encoded = pd.get_dummies(val_data, columns=categorical_features)\n", + "test_data_encoded = pd.get_dummies(test_data, columns=categorical_features)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "1. Прогнозирование посетителей в магазине" + "### Дискретизация числовых признаков " + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Store_AreaStore_Area
01659(1259.667, 1744.333]
11461(1259.667, 1744.333]
21340(1259.667, 1744.333]
31451(1259.667, 1744.333]
41770(1744.333, 2229.0]
51442(1259.667, 1744.333]
61542(1259.667, 1744.333]
71261(1259.667, 1744.333]
81090(775.0, 1259.667]
91030(775.0, 1259.667]
101187(775.0, 1259.667]
111751(1744.333, 2229.0]
121746(1744.333, 2229.0]
131615(1259.667, 1744.333]
141469(1259.667, 1744.333]
151644(1259.667, 1744.333]
161578(1259.667, 1744.333]
171703(1259.667, 1744.333]
181438(1259.667, 1744.333]
191940(1744.333, 2229.0]
\n", + "
" + ], + "text/plain": [ + " Store_Area Store_Area\n", + "0 1659 (1259.667, 1744.333]\n", + "1 1461 (1259.667, 1744.333]\n", + "2 1340 (1259.667, 1744.333]\n", + "3 1451 (1259.667, 1744.333]\n", + "4 1770 (1744.333, 2229.0]\n", + "5 1442 (1259.667, 1744.333]\n", + "6 1542 (1259.667, 1744.333]\n", + "7 1261 (1259.667, 1744.333]\n", + "8 1090 (775.0, 1259.667]\n", + "9 1030 (775.0, 1259.667]\n", + "10 1187 (775.0, 1259.667]\n", + "11 1751 (1744.333, 2229.0]\n", + "12 1746 (1744.333, 2229.0]\n", + "13 1615 (1259.667, 1744.333]\n", + "14 1469 (1259.667, 1744.333]\n", + "15 1644 (1259.667, 1744.333]\n", + "16 1578 (1259.667, 1744.333]\n", + "17 1703 (1259.667, 1744.333]\n", + "18 1438 (1259.667, 1744.333]\n", + "19 1940 (1744.333, 2229.0]" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.preprocessing import OneHotEncoder\n", + "import numpy as np\n", + "\n", + "\n", + "labels = [\"small\", \"medium\", \"large\"]\n", + "num_bins = 3\n", + "\n", + "hist1, bins1 = np.histogram(\n", + " df[\"Store_Area\"].fillna(df[\"Store_Area\"].median()), bins=num_bins\n", + ")\n", + "bins1, hist1\n", + "\n", + "pd.concat([df[\"Store_Area\"], pd.cut(df[\"Store_Area\"], list(bins1))], axis=1).head(20)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Store_AreaStore_Area
01659medium
11461medium
21340medium
31451medium
41770large
51442medium
61542medium
71261medium
81090small
91030small
101187small
111751large
121746large
131615medium
141469medium
151644medium
161578medium
171703medium
181438medium
191940large
\n", + "
" + ], + "text/plain": [ + " Store_Area Store_Area\n", + "0 1659 medium\n", + "1 1461 medium\n", + "2 1340 medium\n", + "3 1451 medium\n", + "4 1770 large\n", + "5 1442 medium\n", + "6 1542 medium\n", + "7 1261 medium\n", + "8 1090 small\n", + "9 1030 small\n", + "10 1187 small\n", + "11 1751 large\n", + "12 1746 large\n", + "13 1615 medium\n", + "14 1469 medium\n", + "15 1644 medium\n", + "16 1578 medium\n", + "17 1703 medium\n", + "18 1438 medium\n", + "19 1940 large" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.concat(\n", + " [df[\"Store_Area\"], pd.cut(df[\"Store_Area\"], list(bins1), labels=labels)], axis=1\n", + ").head(20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ручной синтез" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Среднее значение поля 'Daily_Customer_Count': 786.3504464285714\n", - " Store ID Store_Area Items_Available Daily_Customer_Count Store_Sales \\\n", - "0 1 1659 1961 530 66490 \n", - "1 2 1461 1752 210 39820 \n", - "2 3 1340 1609 720 54010 \n", - "3 4 1451 1748 620 53730 \n", - "4 5 1770 2111 450 46620 \n", - "\n", - " above_average_count customers_volatility \n", - "0 0 1550 \n", - "1 0 1550 \n", - "2 0 1550 \n", - "3 0 1550 \n", - "4 0 1550 \n" - ] - } - ], + "outputs": [], "source": [ - "import pandas as pd\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "# Устанавливаем случайное состояние\n", - "random_state = 42\n", - "\n", - "# Рассчитываем среднее значение посещаемости\n", - "average_count = df['Daily_Customer_Count'].mean()\n", - "print(f\"Среднее значение поля 'Daily_Customer_Count': {average_count}\")\n", - "\n", - "# Создаем новую переменную, указывающую, превышает ли посещаемость среднюю\n", - "df[\"above_average_count\"] = (df[\"Daily_Customer_Count\"] > average_count).astype(int)\n", - "\n", - "# Рассчитываем волатильность (разницу между максимальной и минимальной посещаемостью)\n", - "df[\"customers_volatility\"] = df[\"Daily_Customer_Count\"].max() - df[\"Daily_Customer_Count\"].min()\n", - "\n", - "# Выводим первые строки измененной таблицы для проверки\n", - "print(df.head())" + "# Пример синтеза признака коэффициента отношения размера ассортимента к его распродажам\n", + "train_data_encoded[\"koeff\"] = (\n", + " train_data_encoded[\"Items_Available\"] / train_data_encoded[\"Store_Sales\"]\n", + ")\n", + "val_data_encoded[\"koeff\"] = (\n", + " val_data_encoded[\"Items_Available\"] / val_data_encoded[\"Store_Sales\"]\n", + ")\n", + "test_data_encoded[\"koeff\"] = (\n", + " test_data_encoded[\"Items_Available\"] / test_data_encoded[\"Store_Sales\"]\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "2. Оптимизация параметров магазина:" + "Масштабирование признаков - это процесс преобразования числовых признаков таким образом, чтобы они имели одинаковый масштаб. Это важно для многих алгоритмов машинного обучения, которые чувствительны к масштабу признаков, таких как линейная регрессия, метод опорных векторов (SVM) и нейронные сети." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Средняя посещаемость для 'Store_Area':\n", - "Store_Area\n", - "775 1090.0\n", - "780 790.0\n", - "854 660.0\n", - "869 850.0\n", - "891 630.0\n", - " ... \n", - "2063 810.0\n", - "2067 790.0\n", - "2169 600.0\n", - "2214 740.0\n", - "2229 660.0\n", - "Name: Daily_Customer_Count, Length: 583, dtype: float64\n", - "\n", - "Средняя посещаемость для 'Items_Available':\n", - "Items_Available\n", - "932 1090.0\n", - "951 790.0\n", - "1018 660.0\n", - "1050 850.0\n", - "1059 870.0\n", - " ... \n", - "2492 790.0\n", - "2493 810.0\n", - "2617 600.0\n", - "2647 740.0\n", - "2667 660.0\n", - "Name: Daily_Customer_Count, Length: 616, dtype: float64\n", - "\n", - "Средняя посещаемость для 'Store_Sales':\n", - "Store_Sales\n", - "14920 990.0\n", - "16370 880.0\n", - "17670 660.0\n", - "20270 870.0\n", - "21300 850.0\n", - " ... \n", - "101820 820.0\n", - "102310 1310.0\n", - "102920 680.0\n", - "105150 980.0\n", - "116320 860.0\n", - "Name: Daily_Customer_Count, Length: 816, dtype: float64\n", - "\n", - "Средняя посещаемость для комбинации 'Store_Area' и 'Items_Available':\n", - "Store_Area Items_Available\n", - "775 932 1090.0\n", - "780 951 790.0\n", - "854 1018 660.0\n", - "869 1050 850.0\n", - "891 1073 630.0\n", - " ... \n", - "2063 2493 810.0\n", - "2067 2492 790.0\n", - "2169 2617 600.0\n", - "2214 2647 740.0\n", - "2229 2667 660.0\n", - "Name: Daily_Customer_Count, Length: 892, dtype: float64\n", - "\n", - "Средняя посещаемость для комбинации 'Store_Sales' и 'Items_Available':\n", - "Store_Sales Items_Available\n", - "14920 1508 990.0\n", - "16370 1790 880.0\n", - "17670 1877 660.0\n", - "20270 1946 870.0\n", - "21300 1686 850.0\n", - " ... \n", - "101820 1758 820.0\n", - "102310 1587 1310.0\n", - "102920 1638 680.0\n", - "105150 2104 980.0\n", - "116320 2414 860.0\n", - "Name: Daily_Customer_Count, Length: 896, dtype: float64\n", - "\n", - "Средняя посещаемость для комбинации 'Store_Sales' и 'Store_Area':\n", - "Store_Sales Store_Area\n", - "14920 1250 990.0\n", - "16370 1477 880.0\n", - "17670 1537 660.0\n", - "20270 1624 870.0\n", - "21300 1397 850.0\n", - " ... \n", - "101820 1486 820.0\n", - "102310 1303 1310.0\n", - "102920 1365 680.0\n", - "105150 1775 980.0\n", - "116320 1989 860.0\n", - "Name: Daily_Customer_Count, Length: 896, dtype: float64\n", - "\n" - ] - } - ], + "outputs": [], "source": [ - "import pandas as pd\n", + "from sklearn.preprocessing import StandardScaler, MinMaxScaler\n", "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "# Пример масштабирования числовых признаков\n", + "numerical_features = [\"Daily_Customer_Count\", \"Items_Available\"]\n", "\n", - "# Устанавливаем случайное состояние\n", - "random_state = 42\n", - "\n", - "# Рассчитываем среднюю посещаемость для каждого значения каждого признака\n", - "for column in [\n", - " \"Store_Area\",\n", - " \"Items_Available\",\n", - " \"Store_Sales\"\n", - "]:\n", - " print(f\"Средняя посещаемость для '{column}':\")\n", - " print(df.groupby(column)[\"Daily_Customer_Count\"].mean())\n", - " print()\n", - "\n", - "\n", - "print(\"Средняя посещаемость для комбинации 'Store_Area' и 'Items_Available':\")\n", - "print(df.groupby([\"Store_Area\", \"Items_Available\"])[\"Daily_Customer_Count\"].mean())\n", - "print()\n", - "\n", - "\n", - "print(\"Средняя посещаемость для комбинации 'Store_Sales' и 'Items_Available':\")\n", - "print(df.groupby([\"Store_Sales\", \"Items_Available\"])[\"Daily_Customer_Count\"].mean())\n", - "print()\n", - "\n", - "\n", - "print(\"Средняя посещаемость для комбинации 'Store_Sales' и 'Store_Area':\")\n", - "print(df.groupby([\"Store_Sales\", \"Store_Area\"])[\"Daily_Customer_Count\"].mean())\n", - "print()" + "scaler = StandardScaler()\n", + "train_data_encoded[numerical_features] = scaler.fit_transform(train_data_encoded[numerical_features])\n", + "val_data_encoded[numerical_features] = scaler.transform(val_data_encoded[numerical_features])\n", + "test_data_encoded[numerical_features] = scaler.transform(test_data_encoded[numerical_features])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Выбор ориентира:\n", - "1. Прогнозирование стоимости страховых взносов:\n", - "Ориентир:\n", - "\n", - "R² (коэффициент детерминации): 0.75 - 0.85\n", - "\n", - "MAE (средняя абсолютная ошибка): 150 - 300 человек\n", - "\n", - "RMSE (среднеквадратичная ошибка): 175 - 315 человек\n" + "### Конструирование признаков с применением фреймворка Featuretools" ] }, { @@ -274,283 +584,62 @@ "execution_count": 70, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "MAE: 241.24369535006045\n", - "MSE: 82946.49105226391\n", - "RMSE: 288.004324711043\n", - "R²: -0.008816097180501359\n", - "Ориентиры для прогнозирования не достигнуты.\n", - "Средняя посещаемость 'Store_Area':\n", - "Store_Area\n", - "775 1090.0\n", - "780 790.0\n", - "854 660.0\n", - "869 850.0\n", - "891 630.0\n", - " ... \n", - "2063 810.0\n", - "2067 790.0\n", - "2169 600.0\n", - "2214 740.0\n", - "2229 660.0\n", - "Name: Daily_Customer_Count, Length: 583, dtype: float64\n", - "\n", - "Средняя посещаемость 'Items_Available':\n", - "Items_Available\n", - "932 1090.0\n", - "951 790.0\n", - "1018 660.0\n", - "1050 850.0\n", - "1059 870.0\n", - " ... \n", - "2492 790.0\n", - "2493 810.0\n", - "2617 600.0\n", - "2647 740.0\n", - "2667 660.0\n", - "Name: Daily_Customer_Count, Length: 616, dtype: float64\n", - "\n", - "Средняя посещаемость 'Store_Sales':\n", - "Store_Sales\n", - "14920 990.0\n", - "16370 880.0\n", - "17670 660.0\n", - "20270 870.0\n", - "21300 850.0\n", - " ... \n", - "101820 820.0\n", - "102310 1310.0\n", - "102920 680.0\n", - "105150 980.0\n", - "116320 860.0\n", - "Name: Daily_Customer_Count, Length: 816, dtype: float64\n", - "\n", - "Средняя стоимость страховых взносов для комбинации 'Store_Area' и 'Items_Available':\n", - "Store_Area Items_Available\n", - "775 932 1090.0\n", - "780 951 790.0\n", - "854 1018 660.0\n", - "869 1050 850.0\n", - "891 1073 630.0\n", - " ... \n", - "2063 2493 810.0\n", - "2067 2492 790.0\n", - "2169 2617 600.0\n", - "2214 2647 740.0\n", - "2229 2667 660.0\n", - "Name: Daily_Customer_Count, Length: 892, dtype: float64\n", - "\n", - "Средняя стоимость страховых взносов для комбинации 'Items_Available' и 'Store_Sales':\n", - "Items_Available Store_Sales\n", - "932 42530 1090.0\n", - "951 25600 790.0\n", - "1018 77740 660.0\n", - "1050 52540 850.0\n", - "1059 75110 870.0\n", - " ... \n", - "2492 70230 790.0\n", - "2493 51480 810.0\n", - "2617 67080 600.0\n", - "2647 65900 740.0\n", - "2667 87410 660.0\n", - "Name: Daily_Customer_Count, Length: 896, dtype: float64\n", - "\n" - ] - }, { "name": "stderr", "output_type": "stream", "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:1733: UserWarning: index id not found in dataframe, creating new integer column\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n" ] } ], "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n", + "import featuretools as ft\n", "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "# Определение сущностей\n", + "es = ft.EntitySet(id='shop_data')\n", + "es = es.add_dataframe(dataframe_name='shops', dataframe=train_data_encoded, index='id')\n", "\n", "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y)\n", - "X = df.drop(\"Daily_Customer_Count\", axis=1)\n", - "y = df[\"Daily_Customer_Count\"]\n", + "# Генерация признаков\n", + "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='shops', max_depth=2)\n", "\n", - "# Разделяем данные на обучающую и тестовую выборки\n", - "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", - "\n", - "# Стандартизируем признаки\n", - "scaler = StandardScaler()\n", - "X_train = scaler.fit_transform(X_train)\n", - "X_test = scaler.transform(X_test)\n", - "\n", - "# Обучаем модель линейной регрессии\n", - "model = LinearRegression()\n", - "model.fit(X_train, y_train)\n", - "\n", - "# Делаем предсказания на тестовой выборке\n", - "y_pred = model.predict(X_test)\n", - "\n", - "# Оцениваем качество модели\n", - "mae = mean_absolute_error(y_test, y_pred)\n", - "mse = mean_squared_error(y_test, y_pred)\n", - "rmse = mean_squared_error(y_test, y_pred, squared=False)\n", - "r2 = r2_score(y_test, y_pred)\n", - "\n", - "print(f\"MAE: {mae}\")\n", - "print(f\"MSE: {mse}\")\n", - "print(f\"RMSE: {rmse}\")\n", - "print(f\"R²: {r2}\")\n", - "\n", - "# Проверяем, достигнуты ли ориентиры\n", - "if r2 >= 0.75 and mae <= 300 and rmse <= 350:\n", - " print(\"Ориентиры для прогнозирования достигнуты!\")\n", - "else:\n", - " print(\"Ориентиры для прогнозирования не достигнуты.\")\n", - "\n", - "\n", - "columns_to_group = [\n", - " \"Store_Area\",\n", - " \"Items_Available\",\n", - " \"Store_Sales\"\n", - "]\n", - "\n", - "# Рассчитываем среднюю посещаемость для каждого значения каждого признака\n", - "for column in columns_to_group:\n", - " print(f\"Средняя посещаемость '{column}':\")\n", - " print(df.groupby(column)[\"Daily_Customer_Count\"].mean())\n", - " print()\n", - "\n", - "# Рассчитываем среднюю посещаемость для комбинаций признаков\n", - "\n", - "print(\n", - " \"Средняя стоимость страховых взносов для комбинации 'Store_Area' и 'Items_Available':\"\n", - ")\n", - "print(df.groupby([\"Store_Area\", \"Items_Available\"])[\"Daily_Customer_Count\"].mean())\n", - "print()\n", - "\n", - "print(\n", - " \"Средняя стоимость страховых взносов для комбинации 'Items_Available' и 'Store_Sales':\"\n", - ")\n", - "print(df.groupby([\"Items_Available\", \"Store_Sales\"])[\"Daily_Customer_Count\"].mean())\n", - "print()" + "# Преобразование признаков для контрольной и тестовой выборок\n", + "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data_encoded.index)\n", + "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data_encoded.index)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Анализ применимости алгоритмов обучения с учителем для решения поставленных задач:\n", - "1. Прогнозирование посещаемости магазинов:\n", - "Задача: Регрессия\n", + "### Оценка качества каждого набора признаков\n", + "Предсказательная способность\n", + "Метрики: RMSE, MAE, R²\n", "\n", - "Свойства алгоритмов:\n", + "Методы: Обучение модели на обучающей выборке и оценка на контрольной и тестовой выборках.\n", "\n", - "Линейная регрессия:\n", - "Применимость: Хорошо подходит для задач, где зависимость между признаками и целевой переменной линейна.\n", - "Преимущества: Проста в реализации, интерпретируема.\n", - "Недостатки: Может плохо работать, если зависимость нелинейна.\n", + "Скорость вычисления\n", + "Методы: Измерение времени выполнения генерации признаков и обучения модели.\n", "\n", - "Деревья решений (регрессия):\n", - "Применимость: Подходит для задач с нелинейными зависимостями.\n", - "Преимущества: Может обрабатывать категориальные признаки, не требует масштабирования данных.\n", - "Недостатки: Подвержены переобучению, могут давать нестабильные результаты.\n", + "Надежность\n", + "Методы: Кросс-валидация, анализ чувствительности модели к изменениям в данных.\n", "\n", - "Случайный лес (регрессия):\n", - "Применимость: Хорошо подходит для задач с нелинейными зависимостями и большим количеством признаков.\n", - "Преимущества: Устойчив к переобучению, может обрабатывать категориальные признаки.\n", - "Недостатки: Менее интерпретируем, чем линейная регрессия.\n", + "Корреляция\n", + "Методы: Анализ корреляционной матрицы признаков, удаление мультиколлинеарных признаков.\n", "\n", - "Градиентный бустинг (регрессия):\n", - "Применимость: Подходит для задач с нелинейными зависимостями и сложными взаимосвязями между признаками.\n", - "Преимущества: Может достигать высокой точности, устойчив к переобучению.\n", - "Недостатки: Сложнее в настройке, чем случайный лес, менее интерпретируем.\n", - "\n", - "Нейронные сети (регрессия):\n", - "Применимость: Подходит для задач с очень сложными зависимостями и большим количеством данных.\n", - "Преимущества: Может моделировать очень сложные зависимости.\n", - "Недостатки: Требует большого количества данных, сложнее в настройке и интерпретации.\n", - "\n", - "Вывод:\n", - "\n", - "Линейная регрессия: Может быть хорошим выбором для начала, особенно если зависимость между признаками и целевой переменной линейна.\n", - "\n", - "Деревья решений и случайный лес: Подходят для задач с нелинейными зависимостями.\n", - "\n", - "Градиентный бустинг: Может давать более высокую точность, чем случайный лес, но требует больше времени на настройку.\n", - "\n", - "Нейронные сети: Могут быть излишними для этой задачи, если данных недостаточно много.\n", - "\n", - "2. Оптимизация тарифной сетки:\n", - "Задача: Классификация (группировка клиентов по группам риска)\n", - "\n", - "Свойства алгоритмов:\n", - "\n", - "Логистическая регрессия:\n", - "Применимость: Хорошо подходит для задач бинарной классификации, где зависимость между признаками и целевой переменной линейна.\n", - "Преимущества: Проста в реализации, интерпретируема.\n", - "Недостатки: Может плохо работать, если зависимость нелинейна.\n", - "\n", - "Деревья решений (классификация):\n", - "Применимость: Подходит для задач с нелинейными зависимостями.\n", - "Преимущества: Может обрабатывать категориальные признаки, не требует масштабирования данных.\n", - "Недостатки: Подвержены переобучению, могут давать нестабильные результаты.\n", - "\n", - "Случайный лес (классификация):\n", - "Применимость: Хорошо подходит для задач с нелинейными зависимостями и большим количеством признаков.\n", - "Преимущества: Устойчив к переобучению, может обрабатывать категориальные признаки.\n", - "Недостатки: Менее интерпретируем, чем линейная регрессия.\n", - "\n", - "Градиентный бустинг (классификация):\n", - "Применимость: Подходит для задач с нелинейными зависимостями и сложными взаимосвязями между признаками.\n", - "Преимущества: Может достигать высокой точности, устойчив к переобучению.\n", - "Недостатки: Сложнее в настройке, чем случайный лес, менее интерпретируем.\n", - "\n", - "Нейронные сети (классификация):\n", - "Применимость: Подходит для задач с очень сложными зависимостями и большим количеством данных.\n", - "Преимущества: Может моделировать очень сложные зависимости.\n", - "Недостатки: Требует большого количества данных, сложнее в настройке и интерпретации.\n", - "\n", - "Вывод:\n", - "\n", - "Логистическая регрессия: Может быть хорошим выбором для начала, особенно если зависимость между признаками и целевой переменной линейна.\n", - "\n", - "Деревья решений и случайный лес: Подходят для задач с нелинейными зависимостями.\n", - "\n", - "Градиентный бустинг: Может давать более высокую точность, чем случайный лес, но требует больше времени на настройку.\n", - "\n", - "Нейронные сети: Могут быть излишними для этой задачи, если данных недостаточно много.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Прогнозирование стоимости страховых взносов:\n", - "Выбранные модели:\n", - "\n", - "Линейная регрессия\n", - "\n", - "Случайный лес (регрессия)\n", - "\n", - "Градиентный бустинг (регрессия)\n", - "\n", - "2. Оптимизация тарифной сетки:\n", - "Выбранные модели:\n", - "\n", - "Логистическая регрессия\n", - "\n", - "Случайный лес (классификация)\n", - "\n", - "Градиентный бустинг (классификация)" + "Цельность\n", + "Методы: Проверка логической связи между признаками и целевой переменной, интерпретация результатов модели." ] }, { @@ -558,156 +647,38 @@ "execution_count": 71, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи регрессии:\n", - "Model: Linear Regression\n", - "MAE: 241.24369535006045\n", - "MSE: 82946.49105226391\n", - "RMSE: 288.004324711043\n", - "R²: -0.008816097180501359\n", - "\n" - ] - }, { "name": "stderr", "output_type": "stream", "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:724: UserWarning: A Woodwork-initialized DataFrame was provided, so the following parameters were ignored: index\n", " warnings.warn(\n", - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Random Forest Regression\n", - "MAE: 240.68666666666667\n", - "MSE: 85748.043\n", - "RMSE: 292.82766775016324\n", - "R²: -0.042889276963148815\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Gradient Boosting Regression\n", - "MAE: 243.53822748120598\n", - "MSE: 86937.70201509264\n", - "RMSE: 294.85200018838714\n", - "R²: -0.05735820927548918\n", - "\n", - "Результаты для задачи классификации:\n", - "Model: Logistic Regression\n", - "Accuracy: 0.43333333333333335\n", - "\n", - "Model: Random Forest Classification\n", - "Accuracy: 0.4777777777777778\n", - "\n", - "Model: Gradient Boosting Classification\n", - "Accuracy: 0.4888888888888889\n", - "\n" + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:143: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + " df = pd.concat([df, default_df], sort=True)\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\woodwork\\logical_types.py:841: FutureWarning: Downcasting behavior in `replace` is deprecated and will be removed in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " series = series.replace(ww.config.get_option(\"nan_values\"), np.nan)\n" ] } ], "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression, LogisticRegression\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, accuracy_score\n", + "import featuretools as ft\n", "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "# Определение сущностей\n", + "es = ft.EntitySet(id='shop_data')\n", + "es = es.add_dataframe(dataframe_name='shops', dataframe=train_data_encoded, index='id')\n", "\n", + "# Генерация признаков\n", + "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='shops', max_depth=2)\n", "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df.drop(\"Daily_Customer_Count\", axis=1)\n", - "y_reg = df[\"Daily_Customer_Count\"]\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", - "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", - "\n", - "# Стандартизируем признаки для задачи регрессии\n", - "scaler_reg = StandardScaler()\n", - "X_train_reg = scaler_reg.fit_transform(X_train_reg)\n", - "X_test_reg = scaler_reg.transform(X_test_reg)\n", - "\n", - "# Список моделей для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": LinearRegression(),\n", - " \"Random Forest Regression\": RandomForestRegressor(),\n", - " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", - "}\n", - "\n", - "# Обучаем и оцениваем модели для задачи регрессии\n", - "print(\"Результаты для задачи регрессии:\")\n", - "for name, model in models_reg.items():\n", - " model.fit(X_train_reg, y_train_reg)\n", - " y_pred_reg = model.predict(X_test_reg)\n", - " mae = mean_absolute_error(y_test_reg, y_pred_reg)\n", - " mse = mean_squared_error(y_test_reg, y_pred_reg)\n", - " rmse = mean_squared_error(y_test_reg, y_pred_reg, squared=False)\n", - " r2 = r2_score(y_test_reg, y_pred_reg)\n", - " print(f\"Model: {name}\")\n", - " print(f\"MAE: {mae}\")\n", - " print(f\"MSE: {mse}\")\n", - " print(f\"RMSE: {rmse}\")\n", - " print(f\"R²: {r2}\")\n", - " print()\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df.drop(\"Daily_Customer_Count\", axis=1)\n", - "y_class = (df[\"Daily_Customer_Count\"] > df[\"Daily_Customer_Count\"].mean()).astype(int)\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи классификации\n", - "X_train_class, X_test_class, y_train_class, y_test_class = train_test_split(X_class, y_class, test_size=0.2, random_state=42)\n", - "\n", - "# Стандартизируем признаки для задачи классификации\n", - "scaler_class = StandardScaler()\n", - "X_train_class = scaler_class.fit_transform(X_train_class)\n", - "X_test_class = scaler_class.transform(X_test_class)\n", - "\n", - "# Список моделей для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": LogisticRegression(),\n", - " \"Random Forest Classification\": RandomForestClassifier(),\n", - " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", - "}\n", - "\n", - "# Обучаем и оцениваем модели для задачи классификации\n", - "print(\"Результаты для задачи классификации:\")\n", - "for name, model in models_class.items():\n", - " model.fit(X_train_class, y_train_class)\n", - " y_pred_class = model.predict(X_test_class)\n", - " accuracy = accuracy_score(y_test_class, y_pred_class)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Accuracy: {accuracy}\")\n", - " print()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Прогнозирование стоимости страховых взносов:\n", - "Конвейер для задачи регрессии:" + "# Преобразование признаков для контрольной и тестовой выборок\n", + "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data_encoded.index)\n", + "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data_encoded.index)\n" ] }, { @@ -715,19 +686,6 @@ "execution_count": 72, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи регрессии:\n", - "Model: Linear Regression\n", - "MAE: 240.99246411452697\n", - "MSE: 82771.10925011222\n", - "RMSE: 287.6996858707222\n", - "R²: -0.0066830595689202354\n", - "\n" - ] - }, { "name": "stderr", "output_type": "stream", @@ -740,1013 +698,112 @@ "name": "stdout", "output_type": "stream", "text": [ - "Model: Random Forest Regression\n", - "MAE: 247.89333333333335\n", - "MSE: 94993.29455555555\n", - "RMSE: 308.2098222892248\n", - "R²: -0.15533235289568936\n", - "\n", - "Model: Gradient Boosting Regression\n", - "MAE: 251.77123469394226\n", - "MSE: 91978.0886332414\n", - "RMSE: 303.27889579270334\n", - "R²: -0.11866065970944106\n", - "\n" + "RMSE: 935.869473619144\n", + "R²: 0.9976677314259463\n", + "MAE: 563.0765217391303\n", + "Cross-validated RMSE: 2423.8868120485813\n", + "Train RMSE: 871.8955293545159\n", + "Train R²: 0.9975555952641544\n", + "Train MAE: 514.1715034965034\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n", "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", " warnings.warn(\n" ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2wAAAIjCAYAAAB/FZhcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACu6klEQVR4nOzdeXhU1f3H8fedfTKTTBKyhwBhE0HEBUVlcQEF1x+VKigqohVbxX3XutWFFkqtuFHUulSsda/FBRW1uCCCAhoFIewmkARCtklmvff3B81IBDXBQAJ8Xs+T53HOPffecwEJn5xzv8ewLMtCRERERERE2h1bWw9AREREREREdkyBTUREREREpJ1SYBMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTURE2iXDMLjjjjvaehht7phjjuGYY45JfF6zZg2GYfDkk0+22Zh+6Idj3F0++OADDMPggw8+2O33FhHZXRTYRET2AQ8//DCGYTBgwICdvkZpaSl33HEHixcvbr2BtXONgaDxy+l00rVrV8477zxWrVrV1sNrkU8++YQ77riDqqqqNhtDJBLh/vvv5+CDDyYlJYXU1FT69OnDhAkTWLZsWZuNS0SkPXO09QBERGTXmzlzJl26dOGzzz6juLiY7t27t/gapaWl3HnnnXTp0oWDDjqo9QfZjl1++eUcdthhRKNRvvjiC2bMmMHrr7/OV199RV5e3m4dS+fOnWloaMDpdLbovE8++YQ777yT888/n9TU1F0zuJ8xatQo3nzzTc466ywuuugiotEoy5YtY9asWRx11FH06tWrTcYlItKeKbCJiOzlVq9ezSeffMLLL7/MxRdfzMyZM7n99tvbelh7lMGDB/PrX/8agPHjx9OzZ08uv/xynnrqKW666aYdnhMMBvH5fK0+FsMw8Hg8rX7dXW3BggXMmjWLe+65h5tvvrnJsQcffLBNZ/5ERNozLYkUEdnLzZw5k7S0NE4++WR+/etfM3PmzB32q6qq4qqrrqJLly643W46duzIeeedx6ZNm/jggw847LDDgK2BpXGJYON7VF26dOH888/f7po/fLcpEolw2223ceihhxIIBPD5fAwePJj333+/xc9VVlaGw+Hgzjvv3O7Yt99+i2EYPPjggwBEo1HuvPNOevTogcfjoUOHDgwaNIh33nmnxfcFOO6444CtYRjgjjvuwDAMvvnmG84++2zS0tIYNGhQov8zzzzDoYceitfrJT09nTFjxrB+/frtrjtjxgy6deuG1+vl8MMP58MPP9yuz4+9w7Zs2TLOPPNMMjMz8Xq97Lffftxyyy2J8V133XUAFBYWJn7/1qxZs0vGuCMrV64EYODAgdsds9vtdOjQIfF57dq1XHLJJey33354vV46dOjAGWec0WS8P2X+/PmMGDGCQCBAUlISRx99NB9//HGTPrW1tVx55ZWJP+9ZWVkcf/zxfPHFF826h4jI7qIZNhGRvdzMmTM5/fTTcblcnHXWWTzyyCMsWLAgEcAA6urqGDx4MEuXLuWCCy7gkEMOYdOmTbz22mt899137L///vzhD3/gtttuY8KECQwePBiAo446qkVjqamp4bHHHkssiautreXxxx9n+PDhfPbZZy1aapmdnc3RRx/N888/v92M4b/+9S/sdjtnnHEGsDWwTJo0id/85jccfvjh1NTUsHDhQr744guOP/74Fj0DfB8+tg0ZAGeccQY9evTg3nvvxbIsAO655x5uvfVWzjzzTH7zm99QUVHBAw88wJAhQ1i0aFFieeLjjz/OxRdfzFFHHcWVV17JqlWrOO2000hPT6egoOAnx/Pll18yePBgnE4nEyZMoEuXLqxcuZL//Oc/3HPPPZx++uksX76cf/7zn9x3331kZGQAkJmZudvG2LlzZ2Drn8eBAwficPz4P0EWLFjAJ598wpgxY+jYsSNr1qzhkUce4ZhjjuGbb74hKSnpR8997733OPHEEzn00EO5/fbbsdlsPPHEExx33HF8+OGHHH744QD89re/5cUXX2TixIn07t2bzZs389FHH7F06VIOOeSQn3wWEZHdyhIRkb3WwoULLcB65513LMuyLNM0rY4dO1pXXHFFk3633XabBVgvv/zydtcwTdOyLMtasGCBBVhPPPHEdn06d+5sjRs3brv2o48+2jr66KMTn2OxmBUOh5v02bJli5WdnW1dcMEFTdoB6/bbb//J5/vb3/5mAdZXX33VpL13797Wcccdl/jcr18/6+STT/7Ja+3I+++/bwHW3//+d6uiosIqLS21Xn/9datLly6WYRjWggULLMuyrNtvv90CrLPOOqvJ+WvWrLHsdrt1zz33NGn/6quvLIfDkWiPRCJWVlaWddBBBzX59ZkxY4YFNPk1XL169Xa/D0OGDLGSk5OttWvXNrlP4++dZVnWlClTLMBavXr1Lh/jjpimaR199NEWYGVnZ1tnnXWW9dBDD203ZsuyrPr6+u3a5s2bZwHW008/nWhr/P15//33E/fo0aOHNXz48CbPXl9fbxUWFlrHH398oi0QCFiXXnrpT45ZRKQ90JJIEZG92MyZM8nOzubYY48Ftr7/NHr0aJ577jni8Xii30svvUS/fv341a9+td01DMNotfHY7XZcLhcApmlSWVlJLBajf//+O7UU7fTTT8fhcPCvf/0r0VZUVMQ333zD6NGjE22pqal8/fXXrFixYqfGfcEFF5CZmUleXh4nn3wywWCQp556iv79+zfp99vf/rbJ55dffhnTNDnzzDPZtGlT4isnJ4cePXokloIuXLiQ8vJyfvvb3yZ+fQDOP/98AoHAT46toqKCuXPncsEFF9CpU6cmx5rze7c7xtg4ltmzZ3P33XeTlpbGP//5Ty699FI6d+7M6NGjm7zD5vV6E/8djUbZvHkz3bt3JzU19Sf/nCxevJgVK1Zw9tlns3nz5sSzBINBhg4dyty5czFNE9j6Z2L+/PmUlpb+7NhFRNqSlkSKiOyl4vE4zz33HMcee2ziXSuAAQMGMHXqVObMmcMJJ5wAbF3iN2rUqN0yrqeeeoqpU6eybNkyotFoor2wsLDF18rIyGDo0KE8//zz3HXXXcDW5ZAOh4PTTz890e8Pf/gD//d//0fPnj054IADGDFiBOeeey4HHnhgs+5z2223MXjwYOx2OxkZGey///47XNL3w2dYsWIFlmXRo0ePHV63sdLj2rVrAbbr17iNwE9p3F7ggAMOaNaz/NDuGGMjt9vNLbfcwi233MKGDRv473//y/3338/zzz+P0+nkmWeeAaChoYFJkybxxBNPUFJSklheClBdXf2TzwIwbty4H+1TXV1NWloakydPZty4cRQUFHDooYdy0kkncd555zX7WUREdhcFNhGRvdR7773Hhg0beO6553juuee2Oz5z5sxEYPulfmwmJx6PY7fbE5+feeYZzj//fEaOHMl1111HVlYWdrudSZMmJd4La6kxY8Ywfvx4Fi9ezEEHHcTzzz/P0KFDE+9pAQwZMoSVK1fy73//m7fffpvHHnuM++67j+nTp/Ob3/zmZ+/Rt29fhg0b9rP9tp0Zgq2ziIZh8Oabbzb5dWjk9/ub8YS7VluNMTc3lzFjxjBq1Cj69OnD888/z5NPPonD4eCyyy7jiSee4Morr+TII48kEAhgGAZjxoxJzJD92LMATJky5Uffh2x8njPPPJPBgwfzyiuv8PbbbzNlyhT+9Kc/8fLLL3PiiSe2+vOKiOwsBTYRkb3UzJkzycrK4qGHHtru2Msvv8wrr7zC9OnT8Xq9dOvWjaKiop+83k8tr0tLS9thWfa1a9c2mbF48cUX6dq1Ky+//HKT6/2SbQZGjhzJxRdfnFgWuXz58h2W2k9PT2f8+PGMHz+euro6hgwZwh133NGswLazunXrhmVZFBYW0rNnzx/t11iQY8WKFYkKlLB1OeDq1avp16/fj57b+Ou7s79/u2OMP8XpdHLggQeyYsWKxFLMF198kXHjxjF16tREv1Ao9LOl/7t16wZASkpKswJ2bm4ul1xyCZdccgnl5eUccsgh3HPPPQpsItKu6B02EZG9UENDAy+//DKnnHIKv/71r7f7mjhxIrW1tbz22mvA1g2NlyxZwiuvvLLdtRqXozXuKbajfzR369aNTz/9lEgkkmibNWvWdmXhG2dwtl3iNn/+fObNm7fTz5qamsrw4cN5/vnnee6553C5XIwcObJJn82bNzf57Pf76d69O+FweKfv2xynn346drudO++8s8kzw9Zfg8Zx9e/fn8zMTKZPn97k1/DJJ5/82ZCSmZnJkCFD+Pvf/866deu2u0ejH/v92x1jhK1B74fjaxzPvHnzSEtLS1SttNvt243lgQceaPLe5Y4ceuihdOvWjT//+c/U1dVtd7yiogLYOvP7w6WVWVlZ5OXl7fI/EyIiLaUZNhGRvdBrr71GbW0tp5122g6PH3HEEWRmZjJz5kxGjx7Nddddx4svvsgZZ5zBBRdcwKGHHkplZSWvvfYa06dPp1+/fnTr1o3U1FSmT59OcnIyPp+PAQMGUFhYyG9+8xtefPFFRowYwZlnnsnKlSt55plnEjMejU455RRefvllfvWrX3HyySezevVqpk+fTu/evXf4D+zmGj16NOeccw4PP/www4cPT5Shb9S7d2+OOeYYDj30UNLT01m4cGGipPuu1K1bN+6++25uuukm1qxZw8iRI0lOTmb16tW88sorTJgwgWuvvRan08ndd9/NxRdfzHHHHcfo0aNZvXo1TzzxRLPeqZo2bRqDBg3ikEMOYcKECRQWFrJmzRpef/11Fi9eDGwNMwC33HILY8aMwel0cuqpp+62MS5ZsoSzzz6bE088kcGDB5Oenk5JSQlPPfUUpaWl/PWvf00E+lNOOYV//OMfBAIBevfuzbx583j33Xe320bhh2w2G4899hgnnngiffr0Yfz48eTn51NSUsL7779PSkoK//nPf6itraVjx478+te/pl+/fvj9ft59910WLFjQZFZPRKRdaJPalCIiskudeuqplsfjsYLB4I/2Of/88y2n02lt2rTJsizL2rx5szVx4kQrPz/fcrlcVseOHa1x48YljluWZf373/+2evfubTkcju1Ky0+dOtXKz8+33G63NXDgQGvhwoXblfU3TdO69957rc6dO1tut9s6+OCDrVmzZlnjxo2zOnfu3GR8NKOsf6OamhrL6/VagPXMM89sd/zuu++2Dj/8cCs1NdXyer1Wr169rHvuuceKRCI/ed3GsvEvvPDCT/ZrLOtfUVGxw+MvvfSSNWjQIMvn81k+n8/q1auXdemll1rffvttk34PP/ywVVhYaLndbqt///7W3Llzt/s13FFZf8uyrKKiIutXv/qVlZqaank8Hmu//fazbr311iZ97rrrLis/P9+y2WzblfhvzTHuSFlZmfXHP/7ROvroo63c3FzL4XBYaWlp1nHHHWe9+OKLTfpu2bLFGj9+vJWRkWH5/X5r+PDh1rJly7bbPuKHZf0bLVq0yDr99NOtDh06WG632+rcubN15plnWnPmzLEsy7LC4bB13XXXWf369bOSk5Mtn89n9evXz3r44Yd/8hlERNqCYVk/WHMgIiIiIiIi7YLeYRMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERETaKW2cvRuZpklpaSnJyckYhtHWwxERERERkTZiWRa1tbXk5eVhs/34PJoC225UWlpKQUFBWw9DRERERETaifXr19OxY8cfPa7AthslJycDW39TUlJS2ng0IiIiIiLSVmpqaigoKEhkhB+jwLYbNS6DTElJUWATEREREZGffVVKRUdERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERETaKQU2ERERERGRdkqBTUREREREpJ1SYBMREREREWmnFNhERERERGSvt2LFirYewk5RYBMRERERkb3Wpk2buOiii9hvv/1455132no4LabAJiIiIiIie514PM4jjzxCz549eeyxx7Asi8suu4xIJNLWQ2sRR1sPQEREREREpDXNmzePSy+9lEWLFiXakpOTufjiizEMow1H1nIKbCIiIiIislcoKyvjhhtu4KmnnmrSfu655zJ58mRycnLaaGQ7T4FNRERERET2aKZp8sADD3DbbbdRU1OTaD/wwAN56KGHGDRoUBuO7pfRO2wiIiIiIrJHMwyDN998MxHWAoEADzzwAJ9//vkeHdZAgU1ERERERPZwhmEwbdo03G43F1xwAcuXL2fixIk4HHv+gsI9/wlERERERGSfEY1GmTZtGvvvvz8nnXRSor1nz56sWrWKvLy8Nhxd61NgExERERGRPcJ7773HxIkTWbp0KYWFhXz99dd4vd7E8b0trIGWRIqIiIiISDu3fv16Ro8ezdChQ1m6dCkAa9as4d13323jke16CmwiIiIiItIuhcNh/vjHP9KrVy+ef/75RPuAAQP47LPPOPXUU9twdLtHmwa2uXPncuqpp5KXl4dhGLz66qtNjluWxW233UZubi5er5dhw4axYsWKJn0qKysZO3YsKSkppKamcuGFF1JXV9ekz5dffsngwYPxeDwUFBQwefLk7cbywgsv0KtXLzweD3379uWNN95o8VhERERERKR1zJ49mwMPPJCbbrqJ+vp6ADIyMnj88cf55JNP6N+/fxuPcPdo08AWDAbp168fDz300A6PT548mWnTpjF9+nTmz5+Pz+dj+PDhhEKhRJ+xY8fy9ddf88477zBr1izmzp3LhAkTEsdramo44YQT6Ny5M59//jlTpkzhjjvuYMaMGYk+n3zyCWeddRYXXnghixYtYuTIkYwcOZKioqIWjUVERERERH65KVOmMGLECJYvXw6AzWZj4sSJLF++nAsuuACbbR9aKGi1E4D1yiuvJD6bpmnl5ORYU6ZMSbRVVVVZbrfb+uc//2lZlmV98803FmAtWLAg0efNN9+0DMOwSkpKLMuyrIcf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/WKSXDv+Z2FjQZJgJLbbnk1Evteuy/qLiIiISFPxeJxHH32UIYf148t3X8SyLCzT5L8vPdmkn9dlJxI3SfE66ZWTQkF6Ejabgc1mUJCelGhL9jjxOOzU/0gga4jEcTvs+H4k0InIrqX/80RERET2EJ999hmXXnopCxcuTLS5PF5OOGciQ351XpO+zQ1a+aleumX6KSqtxu92NFkWaVkWG6pD9M0PJGbnRGT3UmATERERaecqKiq4+eabefzxx9m2wPehx53C/v93CQf36rrTQctmMxh+QDal1Q2sKN+64bbXZachEk9UiTyhT7YKjoi0EQU2ERERkXasqKiIwYMHU1VVlWjr06cPDz74IB17H8oTH6/5xUGre1Yy4wd2SWwPUFYTwu2w0zc/wAl9tA+bSFvSPmy7kfZhExERkZaKx+P079+fxYsXk5KSwp133smll16K07l10+tt92ELx7Yug+ye5d+poLXtBtyNRUo0syaya2jj7HZIgU1ERER+Tl1dHX6/v0nbxx9/zIwZM/jTn/5ETk7OducoaInseZqbDVQlUkRERKQdiMVi3H///RQUFLBgwYImxwYOHMhTTz21w7AGbFf5UWFNZO+hwCYiIiLSxubOncvBBx/MlVdeSVVVFZdeeimmabb1sESkHVBgExEREWkjpaWljB07lqOPPpqioqJE+4EHHkhDQ0MbjkxE2gsFNhEREZHdLBqN8uc//5n99tuPZ599NtF+6KGH8umnn/LYY4/h8/nacIQi0l6orL+IiIjIbjRnzhwuu+wyli5dmmhLT09n0qRJXHjhhdjt9jYcnYi0NwpsIiIiIruJZVnccsstibBmGAYXX3wxd999Nx06dGjj0YlIe6QlkSIiIiK7iWEYPPjggxiGwYABA1iwYAGPPPKIwpqI/CjNsImIiIjsIrNnzyY1NZUBAwYk2vr378+HH37IkUceic2mn52LyE9TYBMRERH5hX64cXW0qoxrrrmaV199lb59+/LFF1/gcHz/z66BAwe24WhFZE+iwCYiIiJ7hR+GpvxU7y7dQLrxfks31LBwzRYqakMEGxooevMfLPz3E0QjYQC++uorXnzxRcaMGbPLxiIiey8FNhEREdnjFZfXMruojJUVdYRicTwOO90y/Qw/IJvuWcm77H6L1m9h+cZaYqYF6z5n6SsPUFX2XaJfemYW9/35z4we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HB588MEUFRUxffp0xo0b12r32VVuuukmrr766sTnmpqaVn/PT0RE2ocfboSdn+ptUna/vLycrKwsumclM35gF2YXlbF53A2sX76E3sPPIW44KK0OUdMQw4ZBVoqHbpl+0n0uLMtiQ3WIvvkB8lO9bfiUIiKyu7U4sL300kuce+65jB07li+++IJwOAxsfXfs3nvvbdXKibm5ufTu3btJ2/77789LL70EQE5ODgBlZWXk5uYm+pSVlXHQQQcl+pSXlze5RiwWo7KyMnF+Tk4OZWVlTfo0fv65Po3Hd8TtduN2u5v1rCIisuf4YThriMZ45+vyxEbYHoedbpl+hh+QTYYrzm233caMGTP44osv6N27N92zkul6jJ/TDspLXCM3xcOnqzfz7GfrCIZjdM3wkeR2UBuKsqE6RLrPxQl9srX3mojIPqbF77DdfffdTJ8+nUcffRSn05loHzhwIF988UWrDm7gwIF8++23TdqWL19O586dASgsLCQnJ4c5c+YkjtfU1DB//vzEpt5HHnkkVVVVfP7554k+7733HqZpJoqmHHnkkcydO5doNJro884777DffvslKlIeeeSRTe7T2KfxPiIism8oLq/lkQ9Wct87y5k2ZwV3/udrrnvhSz5dtZnUJCddM/ykJjn56rstXPmHv9Ktew8eeOABwuEwl112GY21vmw2g4L0JHrlpFCQnoTDYWNQj0yuPr4nh3fpQHVDjDWbglTVR+mbH2D8wC4q5y8isg9q8Qzbt99+y5AhQ7ZrDwQCVFVVtcaYEq666iqOOuoo7r33Xs4880w+++wzZsyYkSi3bxgGV155JXfffTc9evSgsLCQW2+9lby8PEaOHAlsnZEbMWIEF110EdOnTycajTJx4kTGjBlDXl4eAGeffTZ33nknF154ITfccANFRUXcf//93HfffYmxXHHFFRx99NFMnTqVk08+meeee46FCxc2Kf0vIiJ7t+LyWp74eA2VwQi5AQ9ep4dPV21mY02IuGkRjVvYbQZV677lrYf+wNqlSxLnJiUlMWzYMEzTxG63/+g9Gmfffmp5pYiI7DtaHNhycnIoLi6mS5cuTdo/+ugjunbt2lrjAuCwww7jlVde4aabbuIPf/gDhYWF/PWvf2Xs2LGJPtdffz3BYJAJEyZQVVXFoEGDeOutt/B4PIk+M2fOZOLEiQwdOhSbzcao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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from sklearn.model_selection import train_test_split\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression\n", - "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Список моделей для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": LinearRegression(),\n", - " \"Random Forest Regression\": RandomForestRegressor(),\n", - " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", - "}\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df[numerical_cols]\n", - "y_reg = df[\"Daily_Customer_Count\"]\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", - "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи регрессии\n", - "print(\"Результаты для задачи регрессии:\")\n", - "for name, model in models_reg.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " pipeline.fit(X_train_reg, y_train_reg)\n", - " y_pred_reg = pipeline.predict(X_test_reg)\n", - " mae = mean_absolute_error(y_test_reg, y_pred_reg)\n", - " mse = mean_squared_error(y_test_reg, y_pred_reg)\n", - " rmse = mean_squared_error(y_test_reg, y_pred_reg, squared=False)\n", - " r2 = r2_score(y_test_reg, y_pred_reg)\n", - " print(f\"Model: {name}\")\n", - " print(f\"MAE: {mae}\")\n", - " print(f\"MSE: {mse}\")\n", - " print(f\"RMSE: {rmse}\")\n", - " print(f\"R²: {r2}\")\n", - " print()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2. Оптимизация характеристик магазина:\n", - "Конвейер для задачи классификации:" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи классификации:\n", - "Model: Logistic Regression\n", - "Accuracy: 0.46111111111111114\n", - "\n", - "Model: Random Forest Classification\n", - "Accuracy: 0.4722222222222222\n", - "\n", - "Model: Gradient Boosting Classification\n", - "Accuracy: 0.4722222222222222\n", - "\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from sklearn.metrics import accuracy_score\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Список моделей для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": LogisticRegression(),\n", - " \"Random Forest Classification\": RandomForestClassifier(),\n", - " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", - "}\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df[numerical_cols]\n", - "y_class = (df[\"Daily_Customer_Count\"] > df[\"Daily_Customer_Count\"].mean()).astype(int)\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи классификации\n", - "X_train_class, X_test_class, y_train_class, y_test_class = train_test_split(X_class, y_class, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи классификации\n", - "print(\"Результаты для задачи классификации:\")\n", - "for name, model in models_class.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " pipeline.fit(X_train_class, y_train_class)\n", - " y_pred_class = pipeline.predict(X_test_class)\n", - " accuracy = accuracy_score(y_test_class, y_pred_class)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Accuracy: {accuracy}\")\n", - " print()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Прогнозирование посещения:\n", - "\n", - "Настройка гиперпараметров для задачи регрессии:" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи регрессии:\n", - "Model: Linear Regression\n", - "Best Parameters: {}\n", - "MAE: 240.99246411452697\n", - "MSE: 82771.10925011222\n", - "RMSE: 287.6996858707222\n", - "R²: -0.0066830595689202354\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n", - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Random Forest Regression\n", - "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 100}\n", - "MAE: 242.55834193962204\n", - "MSE: 87591.55194330998\n", - "RMSE: 295.9586997256712\n", - "R²: -0.06531049664000643\n", - "\n", - "Model: Gradient Boosting Regression\n", - "Best Parameters: {'model__learning_rate': 0.01, 'model__max_depth': 3, 'model__n_estimators': 100}\n", - "MAE: 241.05326789654333\n", - "MSE: 82428.16277986151\n", - "RMSE: 287.1030525436146\n", - "R²: -0.0025120582972431027\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split, GridSearchCV\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression\n", - "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "# Определяем категориальные и числовые столбцы\n", - "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Список моделей и их гиперпараметров для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": (LinearRegression(), {}),\n", - " \"Random Forest Regression\": (RandomForestRegressor(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__max_depth': [None, 10, 20]\n", - " }),\n", - " \"Gradient Boosting Regression\": (GradientBoostingRegressor(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__learning_rate': [0.01, 0.1],\n", - " 'model__max_depth': [3, 5]\n", - " })\n", - "}\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df[numerical_cols]\n", - "y_reg = df['Daily_Customer_Count']\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", - "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи регрессии\n", - "print(\"Результаты для задачи регрессии:\")\n", - "for name, (model, params) in models_reg.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " grid_search = GridSearchCV(pipeline, params, cv=5, scoring='neg_mean_absolute_error')\n", - " grid_search.fit(X_train_reg, y_train_reg)\n", - " best_model = grid_search.best_estimator_\n", - " y_pred_reg = best_model.predict(X_test_reg)\n", - " mae = mean_absolute_error(y_test_reg, y_pred_reg)\n", - " mse = mean_squared_error(y_test_reg, y_pred_reg)\n", - " rmse = mean_squared_error(y_test_reg, y_pred_reg, squared=False)\n", - " r2 = r2_score(y_test_reg, y_pred_reg)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Best Parameters: {grid_search.best_params_}\")\n", - " print(f\"MAE: {mae}\")\n", - " print(f\"MSE: {mse}\")\n", - " print(f\"RMSE: {rmse}\")\n", - " print(f\"R²: {r2}\")\n", - " print()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2. Оптимизация характеристик:\n", - "\n", - "Настройка гиперпараметров для задачи классификации:" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи классификации:\n", - "Model: Logistic Regression\n", - "Best Parameters: {'model__C': 10, 'model__solver': 'lbfgs'}\n", - "Accuracy: 0.46111111111111114\n", - "\n", - "Model: Random Forest Classification\n", - "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 100}\n", - "Accuracy: 0.49444444444444446\n", - "\n", - "Model: Gradient Boosting Classification\n", - "Best Parameters: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 100}\n", - "Accuracy: 0.4777777777777778\n", - "\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split, GridSearchCV\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LogisticRegression\n", - "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from sklearn.metrics import accuracy_score\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "# Определяем категориальные и числовые столбцы\n", - "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Список моделей и их гиперпараметров для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": (LogisticRegression(), {\n", - " 'model__C': [0.1, 1, 10],\n", - " 'model__solver': ['liblinear', 'lbfgs']\n", - " }),\n", - " \"Random Forest Classification\": (RandomForestClassifier(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__max_depth': [None, 10, 20]\n", - " }),\n", - " \"Gradient Boosting Classification\": (GradientBoostingClassifier(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__learning_rate': [0.01, 0.1],\n", - " 'model__max_depth': [3, 5]\n", - " })\n", - "}\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df[numerical_cols]\n", - "y_class = (df['Daily_Customer_Count'] > df['Daily_Customer_Count'].mean()).astype(int)\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи классификации\n", - "X_train_class, X_test_class, y_train_class, y_test_class = train_test_split(X_class, y_class, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи классификации\n", - "print(\"Результаты для задачи классификации:\")\n", - "for name, (model, params) in models_class.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " grid_search = GridSearchCV(pipeline, params, cv=5, scoring='accuracy')\n", - " grid_search.fit(X_train_class, y_train_class)\n", - " best_model = grid_search.best_estimator_\n", - " y_pred_class = best_model.predict(X_test_class)\n", - " accuracy = accuracy_score(y_test_class, y_pred_class)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Best Parameters: {grid_search.best_params_}\")\n", - " print(f\"Accuracy: {accuracy}\")\n", - " print()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Прогнозирование посещаемости::\n", - "Задача: Регрессия\n", - "\n", - "Выбор метрик:\n", - "\n", - "MAE (Mean Absolute Error): Средняя абсолютная ошибка. Показывает среднее отклонение предсказанных значений от фактических. Эта метрика легко интерпретируется, так как она измеряется в тех же единицах, что и целевая переменная \n", - "\n", - "MSE (Mean Squared Error): Среднеквадратичная ошибка. Показывает среднее квадратичное отклонение предсказанных значений от фактических. Эта метрика чувствительна к выбросам, так как ошибки возводятся в квадрат.\n", - "\n", - "RMSE (Root Mean Squared Error): Квадратный корень из среднеквадратичной ошибки. Показывает среднее отклонение предсказанных значений от фактических в тех же единицах, что и целевая переменная. Эта метрика также чувствительна к выбросам, но легче интерпретируется, чем MSE.\n", - "\n", - "R² (R-squared): Коэффициент детерминации. Показывает, какую долю дисперсии целевой переменной объясняет модель. Значение R² близкое к 1 указывает на хорошее качество модели.\n", - "\n", - "Обоснование:\n", - "\n", - "MAE: Хорошо подходит для задач, где важно понимать среднее отклонение предсказаний от фактических значений.\n", - "\n", - "MSE и RMSE: Полезны для задач, где важно минимизировать влияние выбросов, так как они возводят ошибки в квадрат.\n", - "\n", - "R²: Позволяет оценить, насколько хорошо модель объясняет вариацию целевой переменной.\n", - "\n", - "2. Оптимизация характеристик:\n", - "Задача: Классификация\n", - "\n", - "Выбор метрик:\n", - "\n", - "Accuracy: Доля правильных предсказаний среди всех предсказаний. Эта метрика показывает общую точность модели.\n", - "\n", - "Precision: Доля правильных положительных предсказаний среди всех положительных предсказаний. Эта метрика важна, если важно минимизировать количество ложноположительных результатов.\n", - "\n", - "Recall (Sensitivity): Доля правильных положительных предсказаний среди всех фактических положительных случаев. Эта метрика важна, если важно минимизировать количество ложноотрицательных результатов.\n", - "\n", - "F1-score: Гармоническое среднее между precision и recall. Эта метрика показывает баланс между precision и recall.\n", - "\n", - "Обоснование:\n", - "\n", - "Accuracy: Хорошо подходит для задач, где классы сбалансированы.\n", - "\n", - "Precision и Recall: Важны для задач, где важно минимизировать ошибки определенного типа (ложноположительные или ложноотрицательные).\n", - "\n", - "F1-score: Позволяет оценить баланс между precision и recall." - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Результаты для задачи регрессии:\n", - "Model: Linear Regression\n", - "Best Parameters: {}\n", - "MAE: 240.99246411452697\n", - "MSE: 82771.10925011222\n", - "RMSE: 287.6996858707222\n", - "R²: -0.0066830595689202354\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n", - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Random Forest Regression\n", - "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 200}\n", - "MAE: 244.5229418633195\n", - "MSE: 87788.51054250356\n", - "RMSE: 296.29125964581465\n", - "R²: -0.06770595668688673\n", - "\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Gradient Boosting Regression\n", - "Best Parameters: {'model__learning_rate': 0.01, 'model__max_depth': 3, 'model__n_estimators': 100}\n", - "MAE: 240.99176421026533\n", - "MSE: 82412.10586641222\n", - "RMSE: 287.075087505712\n", - "R²: -0.002316770075243779\n", - "\n", - "Результаты для задачи классификации:\n", - "Model: Logistic Regression\n", - "Best Parameters: {'model__C': 10, 'model__solver': 'lbfgs'}\n", - "Accuracy: 0.46111111111111114\n", - "Precision: 0.475\n", - "Recall: 0.2\n", - "F1-score: 0.2814814814814815\n", - "\n" - ] - }, - { - "data": { - "image/png": "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7GEgIiKSCIckiIiISCMOSRAREVGlxh4GIiIiicggwZCEJJFIjwkDERGRRPRkMugVM2Mo7vNLCockiIiISCP2MBAREUmEqySIiIhIo4q8SoIJAxERkUT0ZC+34tahiziHgYiIiDRiDwMREZFUZBIMKehoDwMTBiIiIolU5EmPHJIgIiIijdjDQEREJBHZf/8rbh26iAkDERGRRLhKgoiIiCo19jAQERFJpNJfuGnnzp2FrvC9994rcjBERETlWUVeJVGohKF3796FqkwmkyEnJ6c48RAREZEOKlTCoFQqSzoOIiKicq8i3966WHMY0tPTYWRkJFUsRERE5VpFHpLQepVETk4OZs2ahVq1asHU1BQ3b94EAEydOhWrV6+WPEAiIqLyInfSY3E3XaR1wvDNN99gzZo1mDdvHgwNDVXlDRs2xKpVqyQNjoiIiHSD1gnDunXrsGLFCgwcOBD6+vqq8saNG+P69euSBkdERFSe5A5JFHfTRVrPYbh37x5cXFzylCuVSmRlZUkSFBERUXlUkSc9at3D4Obmhj///DNPeUREBJo2bSpJUERERKRbtO5h+Prrr+Hv74979+5BqVRi27ZtiImJwbp167B79+6SiJGIiKhckP13K24dukjrHoZevXph165dOHjwIExMTPD1118jOjoau3btQufOnUsiRiIionKBqyRe07ZtWxw4cAAPHz7E8+fPcfz4cfj4+EgdGxEREb3B9OnT8yQbDRo0UO1PT09HUFAQqlWrBlNTU/Tp0weJiYlFaqvIF246e/YsoqOjAbyc19C8efOiVkVERFQhlMXtrd9++20cPHhQ9bhKlf/9aQ8ODsaePXuwZcsWmJubY9SoUfDz88OJEye0jkvrhOGff/7BgAEDcOLECVhYWAAAkpOT0bp1a2zatAm1a9fWOggiIqKKoCzuVlmlShXY2trmKU9JScHq1auxceNGdOzYEQAQHh4OV1dXnDp1Cu+++65W7Wg9JDFs2DBkZWUhOjoaT548wZMnTxAdHQ2lUolhw4ZpWx0REREVw40bN2BnZ4e6deti4MCBiI+PBwCcO3cOWVlZ8Pb2Vh3boEEDODg4ICoqSut2tO5hOHr0KE6ePIn69euryurXr4/Fixejbdu2WgdARERUkUg1ZzE1NVXtsVwuh1wuVytr1aoV1qxZg/r16+PBgweYMWMG2rZtiytXriAhIQGGhoaq0YBcNjY2SEhI0DoerRMGe3v7fC/QlJOTAzs7O60DICIiqiikHJKwt7dXK582bRqmT5+uVta1a1fVvxs1aoRWrVrB0dERv/32G4yNjYsVx+u0HpL47rvvMHr0aJw9e1ZVdvbsWYwdOxbff/+9pMERERGVJ7mTHou7AcDdu3eRkpKi2kJCQjS2b2FhgXr16iE2Nha2trbIzMxEcnKy2jGJiYn5znnQpFA9DJaWlmoZ07Nnz9CqVSvVTMzs7GxUqVIFQ4cORe/evbUOgoiIiNQpFAooFAqtnpOWloa4uDh8/PHHaN68OQwMDHDo0CH06dMHABATE4P4+Hh4eHhoHU+hEoaFCxdqXTEREVFlU9qrJCZMmICePXvC0dER9+/fx7Rp06Cvr48BAwbA3NwcgYGBGD9+PKysrKBQKDB69Gh4eHhovUICKGTC4O/vr3XFRERElU1pXxo691IHSUlJqFGjBtq0aYNTp06hRo0aAIAFCxZAT08Pffr0QUZGBnx9fbFkyZIixVXkCzcBL68glZmZqVambfcJERERFc2mTZveuN/IyAhhYWEICwsrdltaJwzPnj3D5MmT8dtvvyEpKSnP/pycnGIHRUREVB7x9tavmDRpEg4fPoylS5dCLpdj1apVmDFjBuzs7LBu3bqSiJGIiKhckMmk2XSR1j0Mu3btwrp169C+fXsMGTIEbdu2hYuLCxwdHbFhwwYMHDiwJOIkIiKiMqR1D8OTJ09Qt25dAC/nKzx58gQA0KZNGxw7dkza6IiIiMoR3t76FXXr1sWtW7cAvLwm9W+//QbgZc/D65efJCIiqkwq8pCE1gnDkCFDcOnSJQDAlClTEBYWBiMjIwQHB2PixImSB0hERERlT+s5DMHBwap/e3t74/r16zh37hxcXFzQqFEjSYMjIiIqTyryKoliXYcBABwdHeHo6ChFLEREROWaFEMKOpovFC5hWLRoUaErHDNmTJGDISIiKs9K+9LQpalQCcOCBQsKVZlMJmPCQEREVAEVKmHIXRVR2aWc+xMyfcOyDoOoRMgN+pR1CEQlQm6gX2pt6aEIqwnyqUMXFXsOAxEREb1UkYckdDWRISIiIh3CHgYiIiKJyGSAXmVeJUFERESa6UmQMBT3+SWFQxJERESkUZEShj///BODBg2Ch4cH7t27BwBYv349jh8/LmlwRERE5QlvPvWKrVu3wtfXF8bGxrhw4QIyMjIAACkpKZgzZ47kARIREZUXuUMSxd10kdYJw+zZs7Fs2TKsXLkSBgYGqnJPT0+cP39e0uCIiIhIN2g96TEmJgbt2rXLU25ubo7k5GQpYiIiIiqXKvK9JLTuYbC1tUVsbGye8uPHj6Nu3bqSBEVERFQe5d6tsribLtI6YRg+fDjGjh2L06dPQyaT4f79+9iwYQMmTJiATz/9tCRiJCIiKhf0JNp0kdZDElOmTIFSqUSnTp3w/PlztGvXDnK5HBMmTMDo0aNLIkYiIiIqY1onDDKZDF9++SUmTpyI2NhYpKWlwc3NDaampiURHxERUblRkecwFPlKj4aGhnBzc5MyFiIionJND8Wfg6AH3cwYtE4YOnTo8MaLShw+fLhYAREREZHu0TphaNKkidrjrKwsXLx4EVeuXIG/v79UcREREZU7HJJ4xYIFC/Itnz59OtLS0oodEBERUXnFm08VwqBBg/Dzzz9LVR0RERHpEMlubx0VFQUjIyOpqiMiIip3ZDIUe9JjhRmS8PPzU3sshMCDBw9w9uxZTJ06VbLAiIiIyhvOYXiFubm52mM9PT3Ur18fM2fOhI+Pj2SBERERke7QKmHIycnBkCFD4O7uDktLy5KKiYiIqFzipMf/0tfXh4+PD+9KSURElA+ZRP/pIq1XSTRs2BA3b94siViIiIjKtdwehuJuukjrhGH27NmYMGECdu/ejQcPHiA1NVVtIyIiooqn0HMYZs6cic8//xzdunUDALz33ntql4gWQkAmkyEnJ0f6KImIiMqBijyHodAJw4wZMzBy5EgcOXKkJOMhIiIqt2Qy2Rvvt1TYOnRRoRMGIQQAwMvLq8SCISIiIt2k1bJKXc16iIiIdAGHJP6rXr16GpOGJ0+eFCsgIiKi8opXevyvGTNm5LnSIxEREVV8WiUM/fv3h7W1dUnFQkREVK7pyWTFvvlUcZ9fUgqdMHD+AhER0ZtV5DkMhb5wU+4qCSIiIqp8Ct3DoFQqSzIOIiKi8k+CSY86eisJ7W9vTURERPnTgwx6xfyLX9znlxQmDERERBKpyMsqtb75FBEREVU+7GEgIiKSSEVeJcGEgYiISCIV+ToMHJIgIiIijdjDQEREJJGKPOmRCQMREZFE9CDBkISOLqvkkAQREVEFMXfuXMhkMowbN05Vlp6ejqCgIFSrVg2mpqbo06cPEhMTta6bCQMREZFEcockirsVxZkzZ7B8+XI0atRIrTw4OBi7du3Cli1bcPToUdy/fx9+fn5a18+EgYiISCJ6Em3aSktLw8CBA7Fy5UpYWlqqylNSUrB69Wr88MMP6NixI5o3b47w8HCcPHkSp06d0vrciIiIqBwLCgpC9+7d4e3trVZ+7tw5ZGVlqZU3aNAADg4OiIqK0qoNTnokIiKSiEwmg6yYkx5zn5+amqpWLpfLIZfL8xy/adMmnD9/HmfOnMmzLyEhAYaGhrCwsFArt7GxQUJCglZxsYeBiIhIIjKJNgCwt7eHubm5agsNDc3T3t27dzF27Fhs2LABRkZGJXpu7GEgIiKSiJRXerx79y4UCoWqPL/ehXPnzuHhw4do1qyZqiwnJwfHjh3DTz/9hP379yMzMxPJyclqvQyJiYmwtbXVKi4mDERERDpIoVCoJQz56dSpEy5fvqxWNmTIEDRo0ACTJ0+Gvb09DAwMcOjQIfTp0wcAEBMTg/j4eHh4eGgVDxMGIiIiCZXmZZfMzMzQsGFDtTITExNUq1ZNVR4YGIjx48fDysoKCoUCo0ePhoeHB959912t2mLCQEREJBFdvDT0ggULoKenhz59+iAjIwO+vr5YsmSJ1vUwYSAiIqpAIiMj1R4bGRkhLCwMYWFhxaqXCQMREZFEpFxWqWuYMBAREUmkqFdqfL0OXaSrcREREZEOYQ8DERGRRDgkQURERBq9eqXG4tShizgkQURERBqxh4GIiEgiHJIgIiIijSryKgkmDERERBKpyD0MuprIEBERkQ5hDwMREZFEKvIqCSYMREREEtHFm09JhUMSREREpBF7GIiIiCSiBxn0ijmoUNznlxQmDERERBLhkAQRERFVauxhICIikojsv/8Vtw5dxISBiIhIIhySICIiokqNPQxEREQSkUmwSoJDEkRERBVcRR6SYMJAREQkkYqcMHAOAxEREWnEHgYiIiKJcFklERERaaQne7kVtw5dxCEJIiIi0og9DERERBLhkAQRERFpxFUSREREVKmxh4GIiEgiMhR/SEFHOxiYMBAREUmFqySIiIioUmMPA5WJS7/PgINdtTzlq7Ycw8R5vwEA3nF3wlef9kDzhnWQk6PElb/voc+YMKRnZJV2uERFcuJ8LBavP4hL1+OR8DgVv3w3HN3bN1btf5iUiumLf8eR09FIefoCrZu64NuJH8DZwboMo6biqMirJMq0hyEgIAAymQwjR47Msy8oKAgymQwBAQGlHxiVuI7+36F+lxDV1jtoMQBgx8ELAF4mCxGLPsOR09fhHfAdOgV8h5VbjkKpFGUZNpFWnr/IQMN6tfDdpA/z7BNCYNDEFbh9/zE2fP8Jjv4yBbVrWqF30GI8e5FRBtGSFHJXSRR300Vl3sNgb2+PTZs2YcGCBTA2NgYApKenY+PGjXBwcChyvUII5OTkoEqVMj9FykdScpra43H+DXHz7iOcOH8DAPBNsB+Wb47EwrUHVMfE3nlYqjESFVdnz7fR2fPtfPfFxT/Emcu3cXLTl3B1rgkA+GHKh6jf5Qts3X8Og3u3Ls1QSSIyFH/Soo7mC2U/h6FZs2awt7fHtm3bVGXbtm2Dg4MDmjZtqirLyMjAmDFjYG1tDSMjI7Rp0wZnzpxR7Y+MjIRMJsPevXvRvHlzyOVyHD9+HEqlEqGhoXBycoKxsTEaN26MiIiIUj1HejODKvro1/UdbNgZBQCobmmKd9yd8OhJGvavHo+YfXOwe/lYvNu4bhlHSiSdjKxsAICR/H9favT09GBoUAWnLsaVVVhEBSrzhAEAhg4divDwcNXjn3/+GUOGDFE7ZtKkSdi6dSvWrl2L8+fPw8XFBb6+vnjy5InacVOmTMHcuXMRHR2NRo0aITQ0FOvWrcOyZctw9epVBAcHY9CgQTh69GiB8WRkZCA1NVVto5LTvX0jmJsaY+Pu0wCAOrWqAwCmDO+GtTtOou+YJbh0/S52LBmNuvY1yjJUIsnUq2OL2raWmBm2E8mpz5GZlY2Faw/g/sNkJCallHV4VER6kEFPVsxNR/sYdCJhGDRoEI4fP447d+7gzp07OHHiBAYNGqTa/+zZMyxduhTfffcdunbtCjc3N6xcuRLGxsZYvXq1Wl0zZ85E586d4ezsDBMTE8yZMwc///wzfH19UbduXQQEBGDQoEFYvnx5gfGEhobC3Nxctdnb25fYuRMw6L3WOBh1DQmPX35I6v13TdGa7cexcdcpXP77H3y5YBti7zzEoPc8yjJUIskYVNHH+nnDEXvnIZw6TYJd2/E4fvZveLd2g0ymEx/NVAQyiTZdpBMD/DVq1ED37t2xZs0aCCHQvXt3VK9eXbU/Li4OWVlZ8PT0VJUZGBigZcuWiI6OVqurRYsWqn/Hxsbi+fPn6Ny5s9oxmZmZasMdrwsJCcH48eNVj1NTU5k0lBB7W0u0b1kfH09aqSpLePyyRyfmVoLasTG3E1Db1rJU4yMqSU1cHfDnxhCkpL1AVlY2qluawTvgOzRxLfr8LaKSohMJA/ByWGLUqFEAgLCwsCLXY2Jiovp3WtrLiXV79uxBrVq11I6Ty+UF1iGXy9+4n6TzUU8PPPr3Kf44cVVVFn8/CfcfJsPFUX1pmYuDNQ6evFbaIRKVOHPTlxO+4+If4kJ0PL4Y2aOMI6Iiq8CzHnUmYejSpQsyMzMhk8ng6+urts/Z2RmGhoY4ceIEHB0dAQBZWVk4c+YMxo0bV2Cdbm5ukMvliI+Ph5eXV0mGT0Ugk8kwsOe72LTnNHJylGr7Fv9yECEjuuPK3/dw+e9/MKBHK7zlaAP/yasLqI1I96Q9z8Ctu49Uj+/cT8LlmH9gYV4V9rZW2HHwPKpbmqK2jRWuxd3HlPkR6O7VCB3fdS3DqKk4KvJ1GHQmYdDX11cNL+jr66vtMzExwaeffoqJEyfCysoKDg4OmDdvHp4/f47AwMAC6zQzM8OECRMQHBwMpVKJNm3aICUlBSdOnIBCoYC/v3+JnhO9WfuW9WFf0wq/7DyVZ9+yXyNhZGiAOeP7wEJRFVdv3IPfqJ9w+97jMoiUqGguRt9Bz5GLVI+/XPByNdiA7q2wZPrHSHycii8XbMOjJ09hU12B/t1aYeKwLmUVLtEb6UzCAAAKhaLAfXPnzoVSqcTHH3+Mp0+fokWLFti/fz8sLd88pj1r1izUqFEDoaGhuHnzJiwsLNCsWTN88cUXUodPWjpy+jos3xlV4P6Faw+oXYeBqLxp07we/j3zU4H7P+nfHp/0b196AVHJk+LCS7rZwQCZEIKXztMgNTUV5ubmkLsPh0zfsKzDISoRb/rDRlSepaamwqaaOVJSUt74xbS4bZibm+PwxXiYmhWvjbSnqejYxKFE4y0Krt0hIiIijXRqSIKIiKhc4yoJIiIi0oSrJIiIiEgjKe42qat3q+QcBiIiItKIPQxEREQSqcBTGJgwEBERSaYCZwwckiAiIiKN2MNAREQkEa6SICIiIo24SoKIiIh0ztKlS9GoUSMoFAooFAp4eHhg7969qv3p6ekICgpCtWrVYGpqij59+iAxMbFIbTFhICIikohMoq2wateujblz5+LcuXM4e/YsOnbsiF69euHq1asAgODgYOzatQtbtmzB0aNHcf/+ffj5+RXp3DgkQUREJJVSXiXRs2dPtcfffPMNli5dilOnTqF27dpYvXo1Nm7ciI4dOwIAwsPD4erqilOnTuHdd9/VKiz2MBAREemg1NRUtS0jI+ONx+fk5GDTpk149uwZPDw8cO7cOWRlZcHb21t1TIMGDeDg4ICoqCit42HCQEREJBGZRP8BgL29PczNzVVbaGhovm1evnwZpqamkMvlGDlyJLZv3w43NzckJCTA0NAQFhYWasfb2NggISFB63PjkAQREZFEpFwlcffuXSgUClW5XC7P9/j69evj4sWLSElJQUREBPz9/XH06NHiBZEPJgxEREQSkXIKQ+7KB00MDQ3h4uICAGjevDnOnDmDH3/8ER9++CEyMzORnJys1suQmJgIW1tbrePikAQREVEFolQqkZGRgebNm8PAwACHDh1S7YuJiUF8fDw8PDy0rpc9DERERFIp5VUSISEh6Nq1KxwcHPD06VNs3LgRkZGR2L9/P8zNzREYGIjx48fDysoKCoUCo0ePhoeHh9YrJAAmDERERJIp7UtDP3z4EIMHD8aDBw9gbm6ORo0aYf/+/ejcuTMAYMGCBdDT00OfPn2QkZEBX19fLFmypEhxMWEgIiIqp1avXv3G/UZGRggLC0NYWFix22LCQEREJJGKfC8JJgxEREQSKeUpDKWKqySIiIhII/YwEBERSaUCdzEwYSAiIpJIaa+SKE0ckiAiIiKN2MNAREQkEa6SICIiIo0q8BQGJgxERESSqcAZA+cwEBERkUbsYSAiIpJIRV4lwYSBiIhIKhJMetTRfIFDEkRERKQZexiIiIgkUoHnPDJhICIikkwFzhg4JEFEREQasYeBiIhIIlwlQURERBpV5EtDc0iCiIiINGIPAxERkUQq8JxHJgxERESSqcAZAxMGIiIiiVTkSY+cw0BEREQasYeBiIhIIjJIsEpCkkikx4SBiIhIIhV4CgOHJIiIiEgz9jAQERFJpCJfuIkJAxERkWQq7qAEhySIiIhII/YwEBERSYRDEkRERKRRxR2Q4JAEERERFQJ7GIiIiCTCIQkiIiLSqCLfS4IJAxERkVQq8CQGzmEgIiIijdjDQEREJJEK3MHAhIGIiEgqFXnSI4ckiIiISCP2MBAREUmEqySIiIhIswo8iYFDEkRERKQRexiIiIgkUoE7GJgwEBERSYWrJIiIiKhSYw8DERGRZIq/SkJXByWYMBAREUmEQxJERERUqTFhICIiIo04JEFERCSRijwkwYSBiIhIIhX50tAckiAiIiKN2MNAREQkEQ5JEBERkUYV+dLQHJIgIiIqp0JDQ/HOO+/AzMwM1tbW6N27N2JiYtSOSU9PR1BQEKpVqwZTU1P06dMHiYmJWrfFhIGIiEgqMom2Qjp69CiCgoJw6tQpHDhwAFlZWfDx8cGzZ89UxwQHB2PXrl3YsmULjh49ivv378PPz0/rU+OQBBERkURKe5XEvn371B6vWbMG1tbWOHfuHNq1a4eUlBSsXr0aGzduRMeOHQEA4eHhcHV1xalTp/Duu+8Wui32MBAREemg1NRUtS0jI0Pjc1JSUgAAVlZWAIBz584hKysL3t7eqmMaNGgABwcHREVFaRUPEwYiIiKJ5K6SKO4GAPb29jA3N1dtoaGhb2xbqVRi3Lhx8PT0RMOGDQEACQkJMDQ0hIWFhdqxNjY2SEhI0OrcOCRBREQkESlXSdy9excKhUJVLpfL3/i8oKAgXLlyBcePHy9mBPljwkBERCQVCTMGhUKhljC8yahRo7B7924cO3YMtWvXVpXb2toiMzMTycnJar0MiYmJsLW11SosDkkQERGVU0IIjBo1Ctu3b8fhw4fh5OSktr958+YwMDDAoUOHVGUxMTGIj4+Hh4eHVm2xh4GIiEgipb1KIigoCBs3bsTvv/8OMzMz1bwEc3NzGBsbw9zcHIGBgRg/fjysrKygUCgwevRoeHh4aLVCAmDCQEREJJnSvjT00qVLAQDt27dXKw8PD0dAQAAAYMGCBdDT00OfPn2QkZEBX19fLFmyROu4mDAUghDi5f9zMss4EqKSk5qaWtYhEJWIp/99b+d+lpckKX6PtKmjMOdkZGSEsLAwhIWFFScsJgyF8fTpUwBA5rW1ZRwJUcmxqbayrEMgKlFPnz6Fubl5idRtaGgIW1tbvOVkL0l9tra2MDQ0lKQuqchEaaRc5ZxSqcT9+/dhZmYGma7eRqwCSU1Nhb29fZ4lRUQVBd/jpUsIgadPn8LOzg56eiU31z89PR2ZmdL0RBsaGsLIyEiSuqTCHoZC0NPTU1umQqVDmyVFROUR3+Olp6R6Fl5lZGSkc3/kpcRllURERKQREwYiIiLSiAkD6Ry5XI5p06ZpvAwqUXnF9ziVR5z0SERERBqxh4GIiIg0YsJAREREGjFhICIiIo2YMBAREZFGTBioRAUEBKB3795lHQaR5AICAiCTyTBy5Mg8+4KCgiCTyVQ3/yGqCJgwEBEVkb29PTZt2oQXL16oytLT07Fx40Y4ODgUuV4hBLKzs6UIkUgyTBiozFy5cgVdu3aFqakpbGxs8PHHH+Px48eq/REREXB3d4exsTGqVasGb29vPHv2DAAQGRmJli1bwsTEBBYWFvD09MSdO3fK6lSokmrWrBns7e2xbds2Vdm2bdvg4OCApk2bqsoyMjIwZswYWFtbw8jICG3atMGZM2dU+yMjIyGTybB37140b94ccrkcx48fh1KpRGhoKJycnGBsbIzGjRsjIiKiVM+RKBcTBioTycnJ6NixI5o2bYqzZ89i3759SExMRL9+/QAADx48wIABAzB06FBER0cjMjISfn5+qm9evXv3hpeXF/766y9ERUVhxIgRvDEYlYmhQ4ciPDxc9fjnn3/GkCFD1I6ZNGkStm7dirVr1+L8+fNwcXGBr68vnjx5onbclClTMHfuXERHR6NRo0YIDQ3FunXrsGzZMly9ehXBwcEYNGgQjh49WirnRqRGEJUgf39/0atXrzzls2bNEj4+Pmpld+/eFQBETEyMOHfunAAgbt++nee5SUlJAoCIjIwsqbCJNMp9bz98+FDI5XJx+/Ztcfv2bWFkZCQePXokevXqJfz9/UVaWpowMDAQGzZsUD03MzNT2NnZiXnz5gkhhDhy5IgAIHbs2KE6Jj09XVStWlWcPHlSrd3AwEAxYMCA0jlJolfwbpVUJi5duoQjR47A1NQ0z764uDj4+PigU6dOcHd3h6+vL3x8fNC3b19YWlrCysoKAQEB8PX1RefOneHt7Y1+/fqhZs2aZXAmVNnVqFED3bt3x5o1ayCEQPfu3VG9enXV/ri4OGRlZcHT01NVZmBggJYtWyI6OlqtrhYtWqj+HRsbi+fPn6Nz585qx2RmZqoNdxCVFiYMVCbS0tLQs2dPfPvtt3n21axZE/r6+jhw4ABOnjyJP/74A4sXL8aXX36J06dPw8nJCeHh4RgzZgz27duHzZs346uvvsKBAwfw7rvvlsHZUGU3dOhQjBo1CgAQFhZW5HpMTExU/05LSwMA7NmzB7Vq1VI7jvegoLLAOQxUJpo1a4arV6+iTp06cHFxUdtyPzRlMhk8PT0xY8YMXLhwAYaGhti+fbuqjqZNmyIkJAQnT55Ew4YNsXHjxrI6HarkunTpgszMTGRlZcHX11dtn7OzMwwNDXHixAlVWVZWFs6cOQM3N7cC63Rzc4NcLkd8fHye3xF7e/sSOxeigrCHgUpcSkoKLl68qFY2YsQIrFy5EgMGDMCkSZNgZWWF2NhYbNq0CatWrcLZs2dx6NAh+Pj4wNraGqdPn8ajR4/g6uqKW7duYcWKFXjvvfdgZ2eHmJgY3LhxA4MHDy6bE6RKT19fXzW8oK+vr7bPxMQEn376KSZOnAgrKys4ODhg3rx5eP78OQIDAwus08zMDBMmTEBwcDCUSiXatGmDlJQUnDhxAgqFAv7+/iV6TkSvY8JAJS4yMjLPmGtgYCBOnDiByZMnw8fHBxkZGXB0dESXLl2gp6cHhUKBY8eOYeHChUhNTYWjoyPmz5+Prl27IjExEdevX8fatWuRlJSEmjVrIigoCJ988kkZnSERoFAoCtw3d+5cKJVKfPzxx3j69ClatGiB/fv3w9LS8o11zpo1CzVq1EBoaChu3rwJCwsLNGvWDF988YXU4RNpxNtbExERkUacw0BEREQaMWEgIiIijZgwEBERkUZMGIiIiEgjJgxERESkERMGIiIi0ogJAxEREWnEhIGonAgICEDv3r1Vj9u3b49x48aVehyRkZGQyWRITk4u8BiZTIYdO3YUus7p06ejSZMmxYrr9u3bkMlkea4qSkTSYMJAVAwBAQGQyWSQyWQwNDSEi4sLZs6ciezs7BJve9u2bZg1a1ahji3MH3kiojfhpaGJiqlLly4IDw9HRkYG/vOf/yAoKAgGBgYICQnJc2xmZiYMDQ0ladfKykqSeoiICoM9DETFJJfLYWtrC0dHR3z66afw9vbGzp07AfxvGOGbb76BnZ0d6tevDwC4e/cu+vXrBwsLC1hZWaFXr164ffu2qs6cnByMHz8eFhYWqFatGiZNmoTXr+L++pBERkYGJk+eDHt7e8jlcri4uGD16tW4ffs2OnToAACwtLSETCZDQEAAAECpVCI0NBROTk4wNjZG48aNERERodbOf/7zH9SrVw/Gxsbo0KGDWpyFNXnyZNSrVw9Vq1ZF3bp1MXXqVGRlZeU5bvny5bC3t0fVqlXRr18/pKSkqO1ftWoVXF1dYWRkhAYNGmDJkiVax0JERcOEgUhixsbGyMzMVD0+dOgQYmJicODAAezevVt1C2QzMzP8+eefOHHiBExNTVW3SAaA+fPnY82aNfj5559x/PhxPHnyRO3W3vkZPHgwfv31VyxatAjR0dFYvnw5TE1NYW9vj61btwIAYmJi8ODBA/z4448AgNDQUKxbtw7Lli3D1atXERwcjEGDBuHo0aMAXiY2fn5+6NmzJy5evIhhw4ZhypQpWr8mZmZmWLNmDa5du4Yff/wRK1euxIIFC9SOiY2NxW+//YZdu3Zh3759uHDhAj777DPV/g0bNuDrr7/GN998g+joaMyZMwdTp07F2rVrtY6HiIpAEFGR+fv7i169egkhhFAqleLAgQNCLpeLCRMmqPbb2NiIjIwM1XPWr18v6tevL5RKpaosIyNDGBsbi/379wshhKhZs6aYN2+ean9WVpaoXbu2qi0hhPDy8hJjx44VQggRExMjAIgDBw7kG+eRI0cEAPHvv/+qytLT00XVqlXFyZMn1Y4NDAwUAwYMEEIIERISItzc3NT2T548OU9drwMgtm/fXuD+7777TjRv3lz1eNq0aUJfX1/8888/qrK9e/cKPT098eDBAyGEEM7OzmLjxo1q9cyaNUt4eHgIIYS4deuWACAuXLhQYLtEVHScw0BUTLt374apqSmysrKgVCrx0UcfYfr06ar97u7uavMWLl26hNjYWJiZmanVk56ejri4OKSkpODBgwdo1aqVal+VKlXQokWLPMMSuS5evAh9fX14eXkVOu7Y2Fg8f/4cnTt3VivPzMxU3Y48OjpaLQ4A8PDwKHQbuTZv3oxFixYhLi4OaWlpyM7OznM7aAcHB9SqVUutHaVSiZiYGJiZmSEuLg6BgYEYPny46pjs7GyYm5trHQ8RaY8JA1ExdejQAUuXLoWhoSHs7OxQpYr6r5WJiYna47S0NDRv3hwbNmzIU1eNGjWKFIOxsbHWz0lLSwMA7NmzR+0PNfByXoZUoqKiMHDgQMyYMQO+vr4wNzfHpk2bMH/+fK1jXblyZZ4ERl9fX7JYiahgTBiIisnExAQuLi6FPr5Zs2bYvHkzrK2t83zLzlWzZk2cPn0a7dq1A/Dym/S5c+fQrFmzfI93d3eHUqnE0aNH4e3tnWd/bg9HTk6OqszNzQ1yuRzx8fEF9ky4urqqJnDmOnXqlOaTfMXJkyfh6OiIL7/8UlV2586dPMfFx8fj/v37sLOzU7Wjp6eH+vXrw8bGBnZ2drh58yYGDhyoVftEJA1OeiQqZQMHDkT16tXRq1cv/Pnnn7h16xYiIyMxZswY/PPPPwCAsWPHYu7cudixYweuX7+Ozz777I3XUKhTpw78/f0xdOhQ7NixQ1Xnb7/9BgBwdHSETCbD7t278ejRI6SlpcHMzAwTJkxAcHAw1q5di7i4OJw/fx6LFy9WTSQcOXIkbty4gYkTJyImJgYbN27EmjVrtDrft956C/Hx8di0aRPi4uKwaNGifCdwGhkZwd/fH5cuXcKff/6JMWPGoF+/frC1tQUAzJgxA6GhoVi0aBH+/vtvXL58GeHh4fjhhx+0ioeIioYJA1Epq1q1Ko4dOwYHBwf4+fnB1dUVgYGBSE9PV/U4fP755/j444/h7+8PDw8PmJmZ4f33339jvUuXLkXfvn3x2WefoUGDBhg+fDiePXsGAKhVqxZmzJiBKVOmwMbGBqNGjQIAzJo1C1OnTkVoaChcXV3RpUsX7NmzB05OTgBezivYunUrduzYgcaNG2PZsmWYM2eOVuf73nvvITg4GKNGjUKTJk1w8uRJTJ06Nc9xLi4u8PPzQ7du3eDj44NGjRqpLZscNmwYVq1ahfDwcLi7u8PLywtr1qxRxUpEJUsmCppFRURERPRf7GEgIiIijZgwEBERkUZMGIiIiEgjJgxERESkERMGIiIi0ogJAxEREWnEhIGIiIg0YsJAREREGjFhICIiIo2YMBAREZFGTBiIiIhIIyYMREREpNH/A2KekGTukmbcAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Random Forest Classification\n", - "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 200}\n", - "Accuracy: 0.4888888888888889\n", - "Precision: 0.5211267605633803\n", - "Recall: 0.3894736842105263\n", - "F1-score: 0.4457831325301205\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAHHCAYAAAAxnRucAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQyUlEQVR4nO3dd1xT1/sH8E9AE2ZABBmKUXCiuKu1uEVw1FG01g2KWlsnLvTbWhWr+NVardZaV13Vauv8aq17z7pwFVFwi6KigIjMnN8flvyMQEzkIiF+3n3dV8m5N+c+N1zDk+eceyMTQggQERER5cGssAMgIiIi48ZkgYiIiHRiskBEREQ6MVkgIiIinZgsEBERkU5MFoiIiEgnJgtERESkE5MFIiIi0onJAhEREenEZKGAXLt2DX5+frCzs4NMJsPmzZsl7f/mzZuQyWRYvny5pP0WZc2aNUOzZs0k6y85ORn9+/eHi4sLZDIZRowYIVnfRQXPM+NmDL+fcuXKISgoSKstt/e/5cuXQyaT4ebNm+88RplMhkmTJr3z/ZoSk04WYmJi8Pnnn8PDwwMWFhZQKpXw8fHBDz/8gBcvXhTovgMDA3Hx4kVMnToVq1atQr169Qp0f+9SUFAQZDIZlEplrq/jtWvXIJPJIJPJ8N133xncf2xsLCZNmoSIiAgJon1706ZNw/Lly/HFF19g1apV6N27d4Hur1y5cprXTSaTwdraGvXr18fKlSsLdL9Fzeuv06tLampqYYeXw7FjxzBp0iQkJCQY9LwDBw4gICAALi4ukMvlKFWqFNq3b4+NGzcWTKASKoz3v+3btzMhKEDFCjuAgvLnn3/i008/hUKhQJ8+fVC9enWkp6fjyJEjGDNmDC5fvoxFixYVyL5fvHiB48eP46uvvsKQIUMKZB8qlQovXrxA8eLFC6T/NylWrBhSUlKwdetWdO3aVWvd6tWrYWFh8dZv3LGxsZg8eTLKlSuHWrVq6f28Xbt2vdX+8rJv3z58+OGHmDhxoqT96lKrVi2MGjUKAHD//n0sWbIEgYGBSEtLw4ABA95ZHMbu1dfpVXK5vBCi0e3YsWOYPHkygoKCYG9vr9dzJk6ciLCwMFSsWBGff/45VCoV4uPjsX37dnTu3BmrV69Gjx49CjZwPUVFRcHM7P8/d+b1/te7d29069YNCoWiQOLYvn075s+fn2vC8OLFCxQrZrJ/7t4Jk3z1bty4gW7dukGlUmHfvn1wdXXVrBs8eDCio6Px559/Ftj+Hz16BAB6vzG8DZlMBgsLiwLr/00UCgV8fHzw22+/5UgW1qxZg3bt2mHDhg3vJJaUlBRYWVlJ/ofi4cOH8PLykqy/zMxMqNVqnXGWLl0avXr10jwOCgqCh4cHZs+ezWThFa+/TlJRq9VIT08v1H9b69evR1hYGLp06YI1a9ZofSAYM2YMdu7ciYyMjEKL73Wv//HP6/3P3Nwc5ubm7yosLYX5+zQZwgQNGjRIABBHjx7Va/uMjAwRFhYmPDw8hFwuFyqVSowfP16kpqZqbadSqUS7du3E4cOHxQcffCAUCoUoX768WLFihWabiRMnCgBai0qlEkIIERgYqPn5VdnPedWuXbuEj4+PsLOzE9bW1qJSpUpi/PjxmvU3btwQAMSyZcu0nrd3717RqFEjYWVlJezs7ESHDh3EP//8k+v+rl27JgIDA4WdnZ1QKpUiKChIPH/+/I2vV2BgoLC2thbLly8XCoVCPH36VLPu77//FgDEhg0bBAAxc+ZMzbr4+HgxatQoUb16dWFtbS1sbW1F69atRUREhGab/fv353j9Xj3Opk2bimrVqonTp0+Lxo0bC0tLSzF8+HDNuqZNm2r66tOnj1AoFDmO38/PT9jb24t79+7lenx5xXDjxg0hhBBxcXGiX79+olSpUkKhUIgaNWqI5cuXa/WR/fuZOXOmmD17tvDw8BBmZmbi3Llzeb6u2efX6+rVqyfkcrlW26FDh0SXLl2Eu7u7kMvlokyZMmLEiBEiJSVFa7vs39Xdu3dFx44dhbW1tXB0dBSjRo0SmZmZWts+ffpUBAYGCqVSKezs7ESfPn3EuXPn8n2eRUVFiZ49ewqlUikcHR3F119/LdRqtbh9+7bo0KGDsLW1Fc7OzuK7777L87XR53V6VXJyshg5cqQoU6aMkMvlolKlSmLmzJlCrVZrbQdADB48WPz666/Cy8tLFCtWTGzatEkIIcTdu3dF3759RalSpYRcLhdeXl5i6dKlOfY1d+5c4eXlJSwtLYW9vb2oW7euWL16tdZrkNe5lJsqVaoIBwcHkZSU9MbXIrf3gfPnz4vAwEBRvnx5oVAohLOzs+jbt694/Pix1nOTkpLE8OHDhUqlEnK5XDg5OQlfX19x5swZzTZXr14VAQEBwtnZWSgUClG6dGnx2WefiYSEBM02KpVKBAYG5nm82e95y5Yty/XYt2/fLpo0aSJsbGyEra2tqFevnub1E0K/cz0wMDDX1zkbADFx4kSt/Z49e1a0bt1a2NraCmtra9GiRQtx/PhxrW2yYz5y5IgICQkRjo6OwsrKSnTq1Ek8fPjwjb8fU2KSlYWtW7fCw8MDH330kV7b9+/fHytWrECXLl0watQonDx5EuHh4YiMjMSmTZu0to2OjkaXLl0QHByMwMBA/PLLLwgKCkLdunVRrVo1BAQEwN7eHiEhIejevTvatm0LGxsbg+K/fPkyPv74Y9SoUQNhYWFQKBSIjo7G0aNHdT5vz549aNOmDTw8PDBp0iS8ePEC8+bNg4+PD86ePYty5cppbd+1a1eUL18e4eHhOHv2LJYsWYJSpUrhv//9r15xBgQEYNCgQdi4cSP69esH4GVVoUqVKqhTp06O7a9fv47Nmzfj008/Rfny5REXF4eFCxeiadOm+Oeff+Dm5oaqVasiLCwM33zzDQYOHIjGjRsDgNbvMj4+Hm3atEG3bt3Qq1cvODs75xrfDz/8gH379iEwMBDHjx+Hubk5Fi5ciF27dmHVqlVwc3PL9XlVq1bFqlWrEBISgjJlymjK3U5OTnjx4gWaNWuG6OhoDBkyBOXLl8cff/yBoKAgJCQkYPjw4Vp9LVu2DKmpqRg4cCAUCgUcHBz0em2zZWZm4u7duyhRooRW+x9//IGUlBR88cUXKFmyJP7++2/MmzcPd+/exR9//KG1bVZWFvz9/dGgQQN899132LNnD2bNmgVPT0988cUXAAAhBDp27IgjR45g0KBBqFq1KjZt2oTAwMAcMRl6nn322WeoWrUqpk+fjj///BPffvstHBwcsHDhQrRo0QL//e9/sXr1aowePRoffPABmjRp8sbXJSMjA48fP9Zqs7KygpWVFYQQ6NChA/bv34/g4GDUqlULO3fuxJgxY3Dv3j3Mnj1b63n79u3D77//jiFDhsDR0RHlypVDXFwcPvzwQ8hkMgwZMgROTk7466+/EBwcjKSkJM1k18WLF2PYsGHo0qULhg8fjtTUVFy4cAEnT55Ejx49EBAQgKtXr+K3337D7Nmz4ejoCODluZSba9eu4cqVK+jXrx9sbW3f+DrkZvfu3bh+/Tr69u0LFxcXzZDr5cuXceLECchkMgDAoEGDsH79egwZMgReXl6Ij4/HkSNHEBkZiTp16iA9PR3+/v5IS0vD0KFD4eLignv37mHbtm1ISEiAnZ1djn0b+v63fPly9OvXD9WqVcP48eNhb2+Pc+fOYceOHZphFn3O9c8//xyxsbHYvXs3Vq1a9cbX6PLly2jcuDGUSiXGjh2L4sWLY+HChWjWrBkOHjyIBg0aaG0/dOhQlChRAhMnTsTNmzcxZ84cDBkyBOvWrdP791LkFXa2IrXExEQBQHTs2FGv7SMiIgQA0b9/f6320aNHCwBi3759mjaVSiUAiEOHDmnaHj58KBQKhRg1apSm7dVPla/St7Iwe/ZsAUA8evQoz7hz+0RRq1YtUapUKREfH69pO3/+vDAzMxN9+vTJsb9+/fpp9fnJJ5+IkiVL5rnPV4/D2tpaCCFEly5dRMuWLYUQQmRlZQkXFxcxefLkXF+D1NRUkZWVleM4FAqFCAsL07SdOnUq10+zQrysHgAQP//8c67rXq0sCCHEzp07BQDx7bffiuvXrwsbGxvRqVOnNx6jELl/gp0zZ44AIH799VdNW3p6umjYsKGwsbHRfBrMPn6lUqn3JxCVSiX8/PzEo0ePxKNHj8TFixdF7969NZ9+X/V6BUEIIcLDw4VMJhO3bt3StGV/4nr19RVCiNq1a4u6detqHm/evFkAEDNmzNC0ZWZmisaNG+f7PBs4cKBWn2XKlBEymUxMnz5d0/706VNhaWmp+YT6ptcJuXyKzP7kmH0s3377rdbzunTpImQymYiOjta0ARBmZmbi8uXLWtsGBwcLV1fXHJ/Gu3XrJuzs7DSvf8eOHUW1atV0xjtz5sw3VhOybdmyRQAQs2fPfuO2QuT+PpDbufHbb7/leO+ys7PLcV69Kruq9Mcff+iM4dXKwqsxvf7+93plISEhQdja2ooGDRqIFy9eaG37agVI33N98ODBOSq02V49P4QQolOnTkIul4uYmBhNW2xsrLC1tRVNmjTJEbOvr69WTCEhIcLc3FyrwmLqTO5qiKSkJADQOyvfvn07AGDkyJFa7dmfJl+f2+Dl5aX5tAu8/IRQuXJlXL9+/a1jfl32WN+WLVugVqv1es79+/cRERGBoKAgrU+vNWrUQKtWrTTH+apBgwZpPW7cuDHi4+M1r6E+evTogQMHDuDBgwfYt28fHjx4kOfEK4VCoZkIlZWVhfj4eNjY2KBy5co4e/as3vtUKBTo27evXtv6+fnh888/R1hYGAICAmBhYYGFCxfqva/Xbd++HS4uLujevbumrXjx4hg2bBiSk5Nx8OBBre07d+6c56fI3OzatQtOTk5wcnKCt7c3Vq1ahb59+2LmzJla21laWmp+fv78OR4/foyPPvoIQgicO3cuR7+5/a5fPWe3b9+OYsWKaSoNwMsx5qFDh2o9723Os/79+2v1Wa9ePQghEBwcrGm3t7c36N9RgwYNsHv3bq2lT58+mmMxNzfHsGHDtJ4zatQoCCHw119/abU3bdpUa26KEAIbNmxA+/btIYTA48ePNYu/vz8SExM156u9vT3u3r2LU6dO6RX3mxj6/pWbV8+N1NRUPH78GB9++CEAaP07s7e3x8mTJxEbG5trP9mVg507dyIlJeWt48nL7t278ezZM4wbNy7HnILs6gdg+Ln+JllZWdi1axc6deoEDw8PTburqyt69OiBI0eO5HgPHDhwoFZMjRs3RlZWFm7dumXw/osqk0sWlEolAODZs2d6bX/r1i2YmZmhQoUKWu0uLi6wt7fPcTKULVs2Rx8lSpTA06dP3zLinD777DP4+Pigf//+cHZ2Rrdu3fD777/rTByy46xcuXKOdVWrVsXjx4/x/PlzrfbXjyW71G3IsbRt2xa2trZYt24dVq9ejQ8++CDHa5lNrVZj9uzZqFixIhQKBRwdHeHk5IQLFy4gMTFR732WLl3aoMmM3333HRwcHBAREYG5c+eiVKlSej/3dbdu3ULFihW1Zn8DL1/j7PWvKl++vEH9Z/8R3LFjB7777jvY29vj6dOnOY739u3bmj/YNjY2cHJyQtOmTQEgx2tpYWGRI2F5/Zy9desWXF1dc5SMXz+fpDjP7OzsYGFhoSnJv9qu77nn6OgIX19frSX7jf/WrVtwc3PL8QdX39/Ro0ePkJCQgEWLFmkSt+wlO0l9+PAhACA0NBQ2NjaoX78+KlasiMGDB79xuFAXQ9+/cvPkyRMMHz4czs7OsLS0hJOTk+YYXz03ZsyYgUuXLsHd3R3169fHpEmTtJK18uXLY+TIkViyZAkcHR3h7++P+fPnG/RvVZeYmBgAQPXq1XVuZ8i5ro9Hjx4hJSUlz3NYrVbjzp07Wu1SvFcWdSY3Z0GpVMLNzQ2XLl0y6HmvZo265DWbVwjx1vvIysrSemxpaYlDhw5h//79+PPPP7Fjxw6sW7cOLVq0wK5duySbUZyfY8mmUCgQEBCAFStW4Pr16zqvc542bRomTJiAfv36YcqUKXBwcICZmRlGjBihdwUF0P6koY9z585p3twvXryoVRUoaIbGmv1HEAD8/f1RpUoVfPzxx/jhhx801a+srCy0atUKT548QWhoKKpUqQJra2vcu3cPQUFBOV7LwpqBrmv/Upx7Unn9d5T9+vXq1SvXORvAy0oK8PKPS1RUFLZt24YdO3Zgw4YN+Omnn/DNN99g8uTJBsdSpUoVAC/P07fVtWtXHDt2DGPGjEGtWrVgY2MDtVqN1q1ba50bXbt2RePGjbFp0ybs2rULM2fOxH//+19s3LgRbdq0AQDMmjULQUFB2LJlC3bt2oVhw4YhPDwcJ06cQJkyZd46Rn0Zeq4XFGM6XwuLyVUWAODjjz9GTEwMjh8//sZtVSoV1Go1rl27ptUeFxeHhIQEqFQqyeIqUaJErjdmya2UZWZmhpYtW+L777/HP//8g6lTp2Lfvn3Yv39/rn1nxxkVFZVj3ZUrV+Do6Ahra+v8HUAeevTogXPnzuHZs2fo1q1bntutX78ezZs3x9KlS9GtWzf4+fnB19c3x2uib+Kmj+fPn6Nv377w8vLCwIEDMWPGjHyVjFUqFa5du5bjTerKlSua9VJq164dmjZtimnTpmk+sV+8eBFXr17FrFmzEBoaio4dO8LX1zfPCZv6UKlUuH//PpKTk7XaXz+fCvM805dKpUJsbGyOT+f6/o6cnJxga2uLrKysHNWL7OXV6pS1tTU+++wzLFu2DLdv30a7du0wdepUzX1GDDmfK1WqhMqVK2PLli05fhf6ePr0Kfbu3Ytx48Zh8uTJ+OSTT9CqVSutcvurXF1d8eWXX2Lz5s24ceMGSpYsialTp2pt4+3tja+//hqHDh3C4cOHce/ePfz8888Gx/Y6T09PAND5wc6Qc13f19nJyQlWVlZ5nsNmZmZwd3fX8yjeHyaZLIwdOxbW1tbo378/4uLicqyPiYnBDz/8AOBlGR0A5syZo7XN999/D+Dlm7VUPD09kZiYiAsXLmja7t+/n+OKiydPnuR4bvbNidLS0nLt29XVFbVq1cKKFSu0/vheunQJu3bt0hxnQWjevDmmTJmCH3/8ES4uLnluZ25uniMT/+OPP3Dv3j2ttuw/Nobe8S43oaGhuH37NlasWIHvv/8e5cqV09zk6G20bdsWDx480JoFnZmZiXnz5sHGxkZTHpVSaGgo4uPjsXjxYgD//ynn1ddSCKE5p99G27ZtkZmZiQULFmjasrKyMG/ePK3tCvM801fbtm2RlZWFH3/8Uat99uzZkMlkmk/NeTE3N0fnzp2xYcOGXP+QZd9HAHh5Zc6r5HI5vLy8IITQ3AvB0PN58uTJiI+PR//+/ZGZmZlj/a5du7Bt27Y8YwdyfuJ9/f0tKysrRwm/VKlScHNz0/zbSEpKyrF/b29vmJmZvfW/n1f5+fnB1tYW4eHhOW7glh2/Iee6vq+zubk5/Pz8sGXLFq1bT8fFxWHNmjVo1KiRZjiI/p/JDUMAL/8or1mzRnPJ1qt3cDx27JjmUjcAqFmzJgIDA7Fo0SIkJCSgadOm+Pvvv7FixQp06tQJzZs3lyyubt26ITQ0FJ988gmGDRuGlJQULFiwAJUqVdKaeBQWFoZDhw6hXbt2UKlUePjwIX766SeUKVMGjRo1yrP/mTNnok2bNmjYsCGCg4M1l7TZ2dkV6G1QzczM8PXXX79xu48//hhhYWHo27cvPvroI1y8eBGrV6/O8anH09MT9vb2+Pnnn2Frawtra2s0aNDA4PH/ffv24aeffsLEiRM1l3IuW7YMzZo1w4QJEzBjxgyD+gNeTnRauHAhgoKCcObMGZQrVw7r16/H0aNHMWfOnHxNTMtLmzZtUL16dXz//fcYPHgwqlSpAk9PT4wePRr37t2DUqnEhg0b8jV+2r59e/j4+GDcuHG4efMmvLy8sHHjxlzHhAvrPNNX+/bt0bx5c3z11Ve4efMmatasiV27dmHLli0YMWKE5hOtLtOnT8f+/fvRoEEDDBgwAF5eXnjy5AnOnj2LPXv2aBJ6Pz8/uLi4wMfHB87OzoiMjMSPP/6Idu3aac6FunXrAgC++uordOvWDcWLF0f79u3zrMB89tlnmlslnzt3Dt27d9fcwXHHjh3Yu3cv1qxZk+tzlUolmjRpghkzZiAjIwOlS5fGrl27cOPGDa3tnj17hjJlyqBLly6oWbMmbGxssGfPHpw6dQqzZs0C8PLfz5AhQ/Dpp5+iUqVKyMzMxKpVqzTJVH4plUrMnj0b/fv3xwcffIAePXqgRIkSOH/+PFJSUrBixQqDzvXs13nYsGHw9/eHubl5npXOb7/9Frt370ajRo3w5ZdfolixYli4cCHS0tLe6n3hvfCuL794l65evSoGDBggypUrJ+RyubC1tRU+Pj5i3rx5WjdcysjIEJMnTxbly5cXxYsXF+7u7jpvyvS61y/Zy+vSISFe3mypevXqQi6Xi8qVK4tff/01x6WTe/fuFR07dhRubm5CLpcLNzc30b17d3H16tUc+3j98sI9e/YIHx8fYWlpKZRKpWjfvn2eN8t5/dLMvG6a8rpXL53MS16XTo4aNUq4uroKS0tL4ePjI44fP57rJY9btmzR3CTn1ePMvilTbl7tJykpSahUKlGnTh2RkZGhtV1ISIgwMzPLcQOW1+X1+46LixN9+/YVjo6OQi6XC29v7xy/B13ngKH7E0KI5cuXa70O//zzj/D19RU2NjbC0dFRDBgwQJw/fz7HOZHX7yq3G4HFx8eL3r17a27K1Lt37zxvypSf8yyvmHT9bl+lz02Znj17JkJCQoSbm5soXry4qFixos6bMuUmLi5ODB48WLi7u4vixYsLFxcX0bJlS7Fo0SLNNgsXLhRNmjQRJUuWFAqFQnh6eooxY8aIxMRErb6mTJkiSpcuLczMzPS+jDL7faBUqVKiWLFiwsnJSbRv315s2bJFs01u7wN3794Vn3zyibC3txd2dnbi008/FbGxsVqXD6alpYkxY8aImjVram5KVLNmTfHTTz9p+rl+/bro16+f8PT0FBYWFsLBwUE0b95c7NmzRyvOt710Mtv//vc/8dFHH2nOpfr164vffvtNs17fcz0zM1MMHTpUODk5CZlMptdNmfz9/YWNjY2wsrISzZs3F8eOHcs15lOnTmm1Z9+4bf/+/eJ9IRPiPZqhQURERAYzyTkLREREJB0mC0RERKQTkwUiIiLSickCERER6cRkgYiIiHRiskBEREQ6meRNmaSmVqsRGxsLW1tbSW9FTEREBU8IgWfPnsHNzS3Hl8BJKTU1Fenp6ZL0JZfLc3wbZ2FisqCH2NhY3iuciKiIu3PnToF9AVZqaiosbUsCmdJ8nbeLiwtu3LhhNAkDkwU9ZN+2teLQ1TBXWBVyNEQF4+D4FoUdAlGBeJaUhArl3QvkduzZ0tPTgcwUKLwCAXP5m5+gS1Y6HvyzAunp6UwWipLsoQdzhRXMFYX7jXpEBYVfnkOm7p0MIxezgCyfyYKQGd90QiYLREREUpEByG9SYoRT45gsEBERSUVm9nLJbx9GxvgiIiIiIqPCygIREZFUZDIJhiGMbxyCyQIREZFUOAxBRERE7yNWFoiIiKTCYQgiIiLSTYJhCCMs+htfRERERGRUWFkgIiKSCochiIiISCdeDUFERETvI1YWiIiIpMJhCCIiItLJRIchmCwQERFJxUQrC8aXvhAREZFRYWWBiIhIKhyGICIiIp1kMgmSBQ5DEBERURHDygIREZFUzGQvl/z2YWSYLBAREUnFROcsGF9EREREZFRYWSAiIpKKid5ngckCERGRVDgMQURERO8jVhaIiIikwmEIIiIi0slEhyGYLBAREUnFRCsLxpe+EBERkVFhZYGIiEgqHIYgIiIinTgMQURERO8jVhaIiIgkI8EwhBF+jmeyQEREJBUOQxAREdH7iJUFIiIiqchkElwNYXyVBSYLREREUjHRSyeNLyIiIiIyKqwsEBERSYUTHImIiEin7GGI/C56mjRpEmQymdZSpUoVzfpmzZrlWD9o0CCDD4uVBSIiIqkUQmWhWrVq2LNnj+ZxsWLaf9oHDBiAsLAwzWMrKyuDQ2KyQEREVIQVK1YMLi4uea63srLSuV4fHIYgIiKSioTDEElJSVpLWlparru8du0a3Nzc4OHhgZ49e+L27dta61evXg1HR0dUr14d48ePR0pKisGHxcoCERGRVCQchnB3d9dqnjhxIiZNmqTV1qBBAyxfvhyVK1fG/fv3MXnyZDRu3BiXLl2Cra0tevToAZVKBTc3N1y4cAGhoaGIiorCxo0bDQqJyQIREZERunPnDpRKpeaxQqHIsU2bNm00P9eoUQMNGjSASqXC77//juDgYAwcOFCz3tvbG66urmjZsiViYmLg6empdyxMFoiIiCSSfcVBPjsBACiVSq1kQR/29vaoVKkSoqOjc13foEEDAEB0dLRByQLnLBAREUnk9csU33Z5W8nJyYiJiYGrq2uu6yMiIgAgz/V5YWWBiIioiBo9ejTat28PlUqF2NhYTJw4Eebm5ujevTtiYmKwZs0atG3bFiVLlsSFCxcQEhKCJk2aoEaNGgbth8kCERGRVGT/LvntQ093795F9+7dER8fDycnJzRq1AgnTpyAk5MTUlNTsWfPHsyZMwfPnz+Hu7s7OnfujK+//trgkJgsEBERSUTKOQv6WLt2bZ7r3N3dcfDgwfzF8i/OWSAiIiKdWFkgIiKSyLuuLLwrTBaIiIgkwmSBiIiIdDLVZIFzFoiIiEgnVhaIiIik8o4vnXxXmCwQERFJhMMQRERE9F5iZYGIiEgiL7+hOr+VBWlikRKTBSIiIonIIMEwhBFmCxyGICIiIp1YWSAiIpKIqU5wZLJAREQkFRO9dJLDEERERKQTKwtERERSkWAYQnAYgoiIyHRJMWch/1dTSI/JAhERkURMNVngnAUiIiLSiZUFIiIiqZjo1RBMFoiIiCTCYQgiIiJ6L7GyQEREJBFTrSwwWSAiIpKIqSYLHIYgIiIinVhZICIikoipVhaYLBAREUnFRC+d5DAEERER6cTKAhERkUQ4DEFEREQ6MVkgIiIinUw1WeCcBSIiItKJlQUiIiKpmOjVEEwWiIiIJMJhCCIiInovsbJAhWJgMw8MbOap1Xbz8XN0+fEYAOCTuqXR2tsFlV2VsFEUQ7Pp+5GcmlkYoRK9laXrD+OXDYdx5/4TAEAVDxeMCW6DVj7VtLYTQuDT4Quw9/g/+HXmALRrVrMwwiWJmGplwaiShaCgICQkJGDz5s2FHQq9AzEPk/HlyjOax5lqofnZorg5jkXH41h0PIb6ViyM8Ijyxa2UPSYO6QhPdycIIfDbnyfRc/QiHPx1HKp6umq2W/Dbfhjh3wZ6SzJIkCwY4aQFo0oW6P2SqRaIT07Pdd1vJ24DAOqWK/EuQyKSTJsm3lqPJ3zZAb9sOILTl25okoWLUXcxf/U+7FsxFlXa/KcwwiTSS5GZs3Dp0iW0adMGNjY2cHZ2Ru/evfH48WPN+vXr18Pb2xuWlpYoWbIkfH198fz5cwDAgQMHUL9+fVhbW8Pe3h4+Pj64detWYR0K/ausgxX+GtUEm4f7YEpAdTjbWRR2SEQFIitLjQ27TiPlRTo+8C4PAEhJTceACcsxc2xXODsqCzlCkkr2MER+F2NTJJKFhIQEtGjRArVr18bp06exY8cOxMXFoWvXrgCA+/fvo3v37ujXrx8iIyNx4MABBAQEQAiBzMxMdOrUCU2bNsWFCxdw/PhxDBw40Ch/Ge+TS3cTMWnzJQz99Symb7sCtxKWWNK3Hqzk5oUdGpFkLkffQ5kmI+HsMwIjw9dh1cwBqOLxsqrwn+83oH6N8mjbtEYhR0mSkkm0GJkiMQzx448/onbt2pg2bZqm7ZdffoG7uzuuXr2K5ORkZGZmIiAgACqVCgDg7f2yBPjkyRMkJibi448/hqfnywl1VatW1bm/tLQ0pKWlaR4nJSVJfUjvvWPR8Zqfo+OSceleIraNaIRW1Zyx5VxsIUZGJJ2KKmccWj0eSckvsGXvOXw5aRW2LRyO63ce4fDpqzj467jCDpFIL0UiWTh//jz2798PGxubHOtiYmLg5+eHli1bwtvbG/7+/vDz80OXLl1QokQJODg4ICgoCP7+/mjVqhV8fX3RtWtXuLq65rKnl8LDwzF58uSCPCR6TXJqJm7Fp6CMg1Vhh0IkGXnxYvBwdwIA1KpaFuf+uY2f1x6ApaI4btx9jHItxmht3yd0CRrW8sS2hSMKIVqSgqleDVEkhiGSk5PRvn17REREaC3Xrl1DkyZNYG5ujt27d+Ovv/6Cl5cX5s2bh8qVK+PGjRsAgGXLluH48eP46KOPsG7dOlSqVAknTpzIc3/jx49HYmKiZrlz5867OtT3lqXcHGUcrPA4Oe3NGxMVUWohkJ6eiRGBfjiyZjwO/TpOswDAtJDOmP9Nr0KOkvLDVOcsFInKQp06dbBhwwaUK1cOxYrlHrJMJoOPjw98fHzwzTffQKVSYdOmTRg5ciQAoHbt2qhduzbGjx+Phg0bYs2aNfjwww9z7UuhUEChUBTY8RAw3K8iDkc9xv3EF3CyVeDzZp5QqwV2XnwAAChpI0dJG7mm0lChlA1S0jPxIDEVSS94vwUyfpN/3ALfj6rB3aUEnqWkYv2O0zhy5ho2zPsSzo7KXCc1lnEpAVVpx0KIlqQikyHfl8IaYa5gfMlCYmIiIiIitNoGDhyIxYsXo3v37hg7diwcHBwQHR2NtWvXYsmSJTh9+jT27t0LPz8/lCpVCidPnsSjR49QtWpV3LhxA4sWLUKHDh3g5uaGqKgoXLt2DX369CmcAyQAgLPSAlO7eMPOsjiepqTj/O0EBC35GwkpGQCAzvXKaN20aUm/DwAAkzZfwraI+4USM5EhHj9NxheTViLucRKUNhaoVqE0Nsz7Es0b6J4zRWSMjC5ZOHDgAGrXrq3VFhwcjKNHjyI0NBR+fn5IS0uDSqVC69atYWZmBqVSiUOHDmHOnDlISkqCSqXCrFmz0KZNG8TFxeHKlStYsWIF4uPj4erqisGDB+Pzzz8vpCMkAPjP+os61y86cB2LDlx/R9EQSW/ehJ4Gbf/01I8FFAm9Sy8rC/mdsyBRMBKSCSHEmzd7vyUlJcHOzg5VRm+CucK6sMMhKhCnJ7Uq7BCICkRSUhKcS9ohMTERSmXB3NMi+++Ex7D1+f47kZX2HNfndinQeA1VJCY4EhERUeExumEIIiKiospUL51kskBERCQRU70agsMQREREpBMrC0RERBIxM5PBzCx/pQGRz+cXBCYLREREEuEwBBEREb2XWFkgIiKSCK+GICIiIp1MdRiCyQIREZFETLWywDkLREREpBMrC0RERBIx1coCkwUiIiKJmOqcBQ5DEBERkU6sLBAREUlEBgmGIWB8pQUmC0RERBLhMAQRERG9l1hZICIikgivhiAiIiKdOAxBRERE7yUmC0RERBLJHobI76KvSZMm5XhulSpVNOtTU1MxePBglCxZEjY2NujcuTPi4uIMPi4mC0RERBLJHobI72KIatWq4f79+5rlyJEjmnUhISHYunUr/vjjDxw8eBCxsbEICAgw+Lg4Z4GIiEgihTHBsVixYnBxccnRnpiYiKVLl2LNmjVo0aIFAGDZsmWoWrUqTpw4gQ8//FDvfbCyQEREZISSkpK0lrS0tFy3u3btGtzc3ODh4YGePXvi9u3bAIAzZ84gIyMDvr6+mm2rVKmCsmXL4vjx4wbFwmSBiIhIKlIMQfxbWHB3d4ednZ1mCQ8Pz7G7Bg0aYPny5dixYwcWLFiAGzduoHHjxnj27BkePHgAuVwOe3t7rec4OzvjwYMHBh0WhyGIiIgkIuUwxJ07d6BUKjXtCoUix7Zt2rTR/FyjRg00aNAAKpUKv//+OywtLfMVx6tYWSAiIjJCSqVSa8ktWXidvb09KlWqhOjoaLi4uCA9PR0JCQla28TFxeU6x0EXJgtEREQSKYyrIV6VnJyMmJgYuLq6om7duihevDj27t2rWR8VFYXbt2+jYcOGBvXLYQgiIiKJvOurIUaPHo327dtDpVIhNjYWEydOhLm5Obp37w47OzsEBwdj5MiRcHBwgFKpxNChQ9GwYUODroQAmCwQEREVWXfv3kX37t0RHx8PJycnNGrUCCdOnICTkxMAYPbs2TAzM0Pnzp2RlpYGf39//PTTTwbvh8kCERGRRN71d0OsXbtW53oLCwvMnz8f8+fPz1dMTBaIiIgkYqrfOskJjkRERKQTKwtEREQSMdXKApMFIiIiibzrOQvvCpMFIiIiiZhqZYFzFoiIiEgnVhaIiIgkwmEIIiIi0onDEERERPReYmWBiIhIIjJIMAwhSSTSYrJAREQkETOZDGb5zBby+/yCwGEIIiIi0omVBSIiIonwaggiIiLSyVSvhmCyQEREJBEz2cslv30YG85ZICIiIp1YWSAiIpKKTIJhBCOsLDBZICIikoipTnDkMAQRERHpxMoCERGRRGT//pffPowNkwUiIiKJ8GoIIiIiei+xskBERCSR9/qmTP/73//07rBDhw5vHQwREVFRZqpXQ+iVLHTq1EmvzmQyGbKysvITDxERERkZvZIFtVpd0HEQEREVeab6FdX5mrOQmpoKCwsLqWIhIiIq0kx1GMLgqyGysrIwZcoUlC5dGjY2Nrh+/ToAYMKECVi6dKnkARIRERUV2RMc87sYG4OThalTp2L58uWYMWMG5HK5pr169epYsmSJpMERERFR4TM4WVi5ciUWLVqEnj17wtzcXNNes2ZNXLlyRdLgiIiIipLsYYj8LsbG4DkL9+7dQ4UKFXK0q9VqZGRkSBIUERFRUWSqExwNrix4eXnh8OHDOdrXr1+P2rVrSxIUERERGQ+DKwvffPMNAgMDce/ePajVamzcuBFRUVFYuXIltm3bVhAxEhERFQmyf5f89mFsDK4sdOzYEVu3bsWePXtgbW2Nb775BpGRkdi6dStatWpVEDESEREVCaZ6NcRb3WehcePG2L17t9SxEBERkRF665synT59GpGRkQBezmOoW7euZEEREREVRab6FdUGJwt3795F9+7dcfToUdjb2wMAEhIS8NFHH2Ht2rUoU6aM1DESEREVCab6rZMGz1no378/MjIyEBkZiSdPnuDJkyeIjIyEWq1G//79CyJGIiIiKkQGVxYOHjyIY8eOoXLlypq2ypUrY968eWjcuLGkwRERERU1RlgYyDeDkwV3d/dcb76UlZUFNzc3SYIiIiIqijgM8a+ZM2di6NChOH36tKbt9OnTGD58OL777jtJgyMiIipKsic45ncxNnpVFkqUKKGV6Tx//hwNGjRAsWIvn56ZmYlixYqhX79+6NSpU4EESkRERIVDr2Rhzpw5BRwGERFR0WeqwxB6JQuBgYEFHQcREVGRZ6q3e37rmzIBQGpqKtLT07XalEplvgIiIiIi42JwsvD8+XOEhobi999/R3x8fI71WVlZkgRG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RBIx1QmOHIYgIiIinVhZICIikgivhiAiIiKdTHTKAochiIiISDdWFoiIiKRioqUFJgtEREQS4dUQRERE9F5iZYGIiEgivBqCiIiIdDLRKQtMFoiIiCRjotkC5ywQERGRTqwsEBERScRUr4ZgskBERCQVCSY4GmGuwGEIIiIi0o2VBSIiIomY6PxGJgtERESSMdFsgcMQREREpBMrC0RERBLh1RBERESkk6ne7pnDEERERKQTKwtEREQSMdH5jUwWiIiIJGOi2QKTBSIiIomY6gRHzlkgIiIinVhZICIikogMElwNIUkk0mKyQEREJBETnbLAYQgiIiLSjZUFIiIiiZjqTZmYLBAREUnGNAciOAxBREREOrGyQEREJBEOQxAREZFOpjkIwWEIIiIiegNWFoiIiCTCYQgiIiLSyVS/G4LJAhERkVRMdNIC5ywQERGRTqwsEBERScRECwtMFoiIiKRiqhMcOQxBREREOrGyQEREJBFeDUFERES6meikBQ5DEBERkU6sLBAREUnERAsLTBaIiIikwqshiIiI6L3EZIGIiEgysnz/Z8hAxIIFC1CjRg0olUoolUo0bNgQf/31l2Z9s2bNIJPJtJZBgwYZfFQchiAiIpLIux6GKFOmDKZPn46KFStCCIEVK1agY8eOOHfuHKpVqwYAGDBgAMLCwjTPsbKyMjgmJgtERERFVPv27bUeT506FQsWLMCJEyc0yYKVlRVcXFzytR8OQxARERmhpKQkrSUtLU3n9llZWVi7di2eP3+Ohg0batpXr14NR0dHVK9eHePHj0dKSorBsbCyQEREJBEphyHc3d212idOnIhJkybl2P7ixYto2LAhUlNTYWNjg02bNsHLywsA0KNHD6hUKri5ueHChQsIDQ1FVFQUNm7caFBMTBaIiIgkIuXtnu/cuQOlUqlpVygUuW5fuXJlREREIDExEevXr0dgYCAOHjwILy8vDBw4ULOdt7c3XF1d0bJlS8TExMDT01PvmJgsEBERGaHsKxzeRC6Xo0KFCgCAunXr4tSpU/jhhx+wcOHCHNs2aNAAABAdHc1kgYiIqDAYw02Z1Gp1nvMbIiIiAACurq4G9clkgYiISCLv+nbP48ePR5s2bVC2bFk8e/YMa9aswYEDB7Bz507ExMRgzZo1aNu2LUqWLIkLFy4gJCQETZo0QY0aNQyKickCERFR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Model: Gradient Boosting Classification\n", - "Best Parameters: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 100}\n", - "Accuracy: 0.4722222222222222\n", - "Precision: 0.5\n", - "Recall: 0.42105263157894735\n", - "F1-score: 0.45714285714285713\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgwAAAHHCAYAAADTQQDlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYGUlEQVR4nO3deVxN+f8H8Ndtu6W6pZREUlmSbDEM2aU0xli/RmOpMIaxNpaYGSPbZAzDDAZjq7EMxjbDGGTJPr72wWAqESKEFmn//P7w7f5ct9xuneqW19PjPHQ/59zPeZ97b6f3/SznyIQQAkRERERvoFfWARAREZHuY8JAREREGjFhICIiIo2YMBAREZFGTBiIiIhIIyYMREREpBETBiIiItKICQMRERFpxISBiIiINGLCUAhRUVHw9vaGhYUFZDIZdu7cKWn9t27dgkwmQ1hYmKT1lmcdOnRAhw4dJKsvNTUVw4YNg52dHWQyGcaPHy9Z3bouv89XSEgIZDJZ2QVVwZSX11MXzjW1atVCQECASll+59iwsDDIZDLcunWr1GOUyWQICQkp9f3qunKTMMTExOCTTz6Bs7MzjI2NoVAo4Onpie+//x4vXrwo0X37+/vj8uXLmDNnDtatW4fmzZuX6P5KU0BAAGQyGRQKRb6vY1RUFGQyGWQyGebPn691/fHx8QgJCcHFixcliLbovv76a4SFhWHkyJFYt24dBg0aVOL7zM3Nxc8//4wuXbqgSpUqMDQ0hK2tLby9vfHTTz8hIyOjxGMoS9q+93l/IF5dbG1t0bFjR/z5558lG2whpKWlISQkBJGRkWUdSr4iIyPRu3dv2NnZwcjICLa2tujevTu2b99e1qFpVBbn2D179jAp0JYoB3bv3i1MTEyEpaWlGDt2rPjpp5/EkiVLRP/+/YWhoaH4+OOPS2zfaWlpAoD44osvSmwfubm54sWLFyI7O7vE9lEQf39/YWBgIPT19cXmzZvV1k+fPl0YGxsLAOLbb7/Vuv4zZ84IAGLt2rVaPS8jI0NkZGRovb+CtGzZUnh6ekpWnyZpaWnCx8dHABCtW7cWoaGhYs2aNWL+/Pmie/fuQl9fXwwZMqRUYomNjVV7D7KyssSLFy9KdL/avvdr164VAMTMmTPFunXrxM8//yy+/fZb0aBBAwFA7Nq1q0Tj1eTRo0cCgJg+fbrautJ4Pd/kq6++EgBEnTp1xFdffSVWr14t5s2bJzp06CAAiA0bNggh8v8slLb09HSRmZmpfFzQOTY7O1u8ePFC5Obmlkgco0aNEgX9CXzx4oXIysoqkf2WZwZlkaRoIzY2Fv3794ejoyMOHTqEatWqKdeNGjUK0dHR+OOPP0ps/48ePQIAWFpaltg+ZDIZjI2NS6x+TeRyOTw9PfHLL7+gX79+Kus2btyIbt26Ydu2baUSS1paGipVqgQjIyNJ63348CHc3Nwkqy87Oxu5ubkFxhkUFIR9+/Zh0aJFGDdunMq6CRMmICoqChEREcXaR3EYGBjAwEA3f/19fX1VvmEOHToUVatWxS+//IL333+/DCMrWFm+nlu3bsXMmTPRt29fbNy4EYaGhsp1kyZNwr59+5CVlVUmseVHLperPC7oHKuvrw99ff3SCktFWZ6PdVpZZyyajBgxQgAQJ06cKNT2WVlZYubMmcLZ2VkYGRkJR0dHMXXqVJGenq6ynaOjo+jWrZs4duyYeOedd4RcLhdOTk4iPDxcuc306dMFAJXF0dFRCPHym3nez6/Ke86r9u/fLzw9PYWFhYUwNTUVdevWFVOnTlWuLyjrP3jwoGjTpo2oVKmSsLCwEB988IH4559/8t1fVFSU8Pf3FxYWFkKhUIiAgADx/Plzja+Xv7+/MDU1FWFhYUIul4unT58q1/33v/8VAMS2bdvUWhgSExPFhAkThLu7uzA1NRXm5uaia9eu4uLFi8ptDh8+rPb6vXqc7du3Fw0aNBBnz54Vbdu2FSYmJmLcuHHKde3bt1fWNXjwYCGXy9WO39vbW1haWop79+7le3wFxRAbGyuEECIhIUEMGTJE2NraCrlcLho1aiTCwsJU6sh7f7799luxcOFC4ezsLPT09MSFCxfy3WdcXJzQ19cXXbt2fcMrr+pN+8jIyBDTpk0THh4eQqFQiEqVKok2bdqIQ4cOqdXz9OlT4e/vLxQKhbCwsBCDBw8WFy5cUPt85fc5FUKIdevWCQ8PD2FsbCwqV64sPvzwQxEXF6eyTd77dvXqVdGhQwdhYmIi7O3txTfffKPcRtN7n5+8FoYzZ86olOfm5gqFQiEGDx6sUp6amio+++wzUaNGDWFkZCTq1q0rvv32W7VvpIU9J5w5c0Z4e3sLa2trYWxsLGrVqiUCAwNV3p/Xl7zWhvxeTwBi1KhRYseOHaJBgwbCyMhIuLm5iT///FPt2A8fPiyaNWsm5HK5cHZ2FsuXLy/wPXqdq6ursLKyEsnJyRq3ze9cc+nSJeHv7y+cnJyEXC4XVatWFYGBgeLx48cqz01OThbjxo0Tjo6OwsjISNjY2AgvLy9x7tw55Tb//vuv6N27t6hataqQy+WievXq4sMPPxTPnj1TbuPo6Cj8/f1VXrf8zrF5n4e839U8e/bsEe3atRNmZmbC3NxcNG/eXNmCIoQQR48eFX379hUODg7CyMhI1KhRQ4wfP16kpaUpt/H398/3/czz6nub5/z586Jr167C3NxcmJqaik6dOolTp06pbJMX8/Hjx0VQUJCoUqWKqFSpkujZs6d4+PChxvdH1+nmV4xX7Nq1C87OzmjdunWhth82bBjCw8PRt29fTJgwAadPn0ZoaCiuXbuGHTt2qGwbHR2Nvn37YujQofD398eaNWsQEBCAZs2aoUGDBujduzcsLS0RFBQEPz8/vPfeezAzM9Mq/qtXr+L9999Ho0aNMHPmTMjlckRHR+PEiRNvfN6BAwfg6+sLZ2dnhISE4MWLF1i8eDE8PT1x/vx51KpVS2X7fv36wcnJCaGhoTh//jxWrVoFW1tbfPPNN4WKs3fv3hgxYgS2b9+OIUOGAHjZuuDq6goPDw+17W/evImdO3fiP//5D5ycnJCQkIAVK1agffv2+Oeff2Bvb4/69etj5syZ+OqrrzB8+HC0bdsWAFTey8TERPj6+qJ///4YOHAgqlatmm9833//PQ4dOgR/f3+cOnUK+vr6WLFiBfbv349169bB3t4+3+fVr18f69atQ1BQEGrUqIEJEyYAAGxsbPDixQt06NAB0dHRGD16NJycnPDrr78iICAAz549U2sZWLt2LdLT0zF8+HDI5XJYWVnlu88///wTOTk5GDhwoIZXXV1++0hOTsaqVavg5+eHjz/+GCkpKVi9ejV8fHzw3//+F02aNAEACCHQo0cPHD9+HCNGjED9+vWxY8cO+Pv7F2rfc+bMwbRp09CvXz8MGzYMjx49wuLFi9GuXTtcuHBB5Rvg06dP0bVrV/Tu3Rv9+vXD1q1bERwcjIYNG8LX17dQ731BkpKS8PjxYwgh8PDhQyxevBipqakqr6cQAh988AEOHz6MoUOHokmTJti3bx8mTZqEe/fuYeHChcptC3NOePjwIby9vWFjY4MpU6bA0tISt27dUvb/29jYYNmyZRg5ciR69eqF3r17AwAaNWr0xmM5fvw4tm/fjk8//RTm5ub44Ycf0KdPH8TFxcHa2hoAcOHCBXTt2hXVqlXDjBkzkJOTg5kzZ8LGxkbjaxUVFYXr169jyJAhMDc317h9fiIiInDz5k0EBgbCzs4OV69exU8//YSrV6/ir7/+Ug7mHDFiBLZu3YrRo0fDzc0NiYmJOH78OK5duwYPDw9kZmbCx8cHGRkZGDNmDOzs7HDv3j3s3r0bz549g4WFhdq+tT3HhoWFYciQIWjQoAGmTp0KS0tLXLhwAXv37sVHH30EAPj111+RlpaGkSNHwtraGv/973+xePFi3L17F7/++isA4JNPPkF8fDwiIiKwbt06ja/R1atX0bZtWygUCkyePBmGhoZYsWIFOnTogCNHjqBly5Yq248ZMwaVK1fG9OnTcevWLSxatAijR4/G5s2bC/2+6KQyTljeKCkpSQAQPXr0KNT2Fy9eFADEsGHDVMonTpwoAKh8I3N0dBQAxNGjR5VlDx8+FHK5XEyYMEFZ9uo3v1cVtoVh4cKFAoB49OhRgXHnl/U3adJE2NraisTERGXZpUuXhJ6enso3rbz9vd4f3qtXL2FtbV3gPl89DlNTUyGEEH379hWdO3cWQgiRk5Mj7OzsxIwZM/J9DdLT00VOTo7accjlcjFz5kxl2Zv6sdu3by8AiOXLl+e77tUWBiGE2LdvnwAgZs+eLW7evCnMzMxEz549NR6jEP/fovSqRYsWCQBi/fr1yrLMzEzRqlUrYWZmpvzGlnf8CoWiUN8SgoKCBACV1hYhXo7LePTokXJ59Rvcm/aRnZ2tNp7j6dOnomrVqirv+86dOwUAMW/ePJXntm3bVmMLw61bt4S+vr6YM2eOyn4uX74sDAwMVMrz3reff/5Z5djs7OxEnz59lGVFHcPw+iKXy9VaffKOdfbs2Srlffv2FTKZTERHRwshCn9O2LFjR76tG6960xiGgloYjIyMlLEI8fJ3GIBYvHixsqx79+6iUqVKKq1kUVFRwsDAQGMLw2+//SYAiIULF75xuzz5nWte/ead55dfflE7P1pYWIhRo0YVWHdeS9avv/76xhhebWF4NabXz7GvtzA8e/ZMmJubi5YtW6qNF3m1VSm/4wkNDRUymUzcvn1bWfamMQyvv889e/YURkZGIiYmRlkWHx8vzM3NRbt27dRi9vLyUokpKChI6Ovrq7S0lEc6PUsiOTkZAAqdOe/ZswcA8Nlnn6mU532rfH2sg5ubm/KbD/DyW0S9evVw8+bNIsf8urxvZb/99htyc3ML9Zz79+/j4sWLCAgIUPkW26hRI3Tp0kV5nK8aMWKEyuO2bdsiMTFR+RoWxkcffYTIyEg8ePAAhw4dwoMHD5RZ++vkcjn09F5+fHJycpCYmAgzMzPUq1cP58+fL/Q+5XI5AgMDC7Wtt7c3PvnkE8ycORO9e/eGsbExVqxYUeh9vW7Pnj2ws7ODn5+fsszQ0BBjx45Famoqjhw5orJ9nz59CvWtL+81f/2b0p49e2BjY6NcHB0d1Z6b3z709fWV4xhyc3Px5MkTZGdno3nz5iqv9Z49e2BgYICRI0eqPHfMmDEaY96+fTtyc3PRr18/PH78WLnY2dmhTp06OHz4sMr2ZmZmKt/4jYyM0KJFC0l+d5YuXYqIiAhERERg/fr16NixI4YNG6Yy2n/Pnj3Q19fH2LFjVZ47YcIECCGUsyoKe07I+z3dvXu3pP39Xl5ecHFxUT5u1KgRFAqF8nXKycnBgQMH0LNnT5VWstq1a8PX11dj/dqeI/NjYmKi/Dk9PR2PHz/Gu+++CwAqny9LS0ucPn0a8fHx+daT14Kwb98+pKWlFTmegkRERCAlJQVTpkxRG2Pw6pTWV4/n+fPnePz4MVq3bg0hBC5cuKD1fnNycrB//3707NkTzs7OyvJq1arho48+wvHjx9XOs8OHD1eJqW3btsjJycHt27e13r8u0emEQaFQAABSUlIKtf3t27ehp6eH2rVrq5Tb2dnB0tJS7c2qWbOmWh2VK1fG06dPixixug8//BCenp4YNmwYqlativ79+2PLli1vTB7y4qxXr57auvr16+Px48d4/vy5Svnrx1K5cmUA0OpY3nvvPZibm2Pz5s3YsGED3nnnHbXXMk9ubi4WLlyIOnXqQC6Xo0qVKrCxscHff/+NpKSkQu+zevXqWg3qmz9/PqysrHDx4kX88MMPsLW1LfRzX3f79m3UqVNHmfjkqV+/vnL9q5ycnApVb97JOzU1VaXc09NT+YfQ29s73+cWtI/w8HA0atQIxsbGsLa2ho2NDf744w+V1/r27duoVq2aWqKS3+fodVFRURBCoE6dOipJjY2NDa5du4aHDx+qbF+jRg216w5I9bvTokULeHl5wcvLCwMGDMAff/wBNzc3jB49GpmZmQBeHqu9vb3aH8rX37vCnhPat2+PPn36YMaMGahSpQp69OiBtWvXFnvqq6ZzzMOHD/HixYt8f88K+t17lbbnyPw8efIE48aNQ9WqVWFiYgIbGxvl5/DVz9e8efNw5coVODg4oEWLFggJCVFJEJ2cnPDZZ59h1apVqFKlCnx8fLB06VKtzgdvEhMTAwBwd3d/43ZxcXHKL1tmZmawsbFB+/bt1Y6nsB49eoS0tLQCz8e5ubm4c+eOSrkU52NdpPMJg729Pa5cuaLV8wp7AZWCRuAKIYq8j5ycHJXHJiYmOHr0KA4cOIBBgwbh77//xocffoguXbqobVscxTmWPHK5HL1790Z4eDh27NhRYOsC8PK6Bp999hnatWuH9evXY9++fYiIiECDBg0K3ZICqH4bKIwLFy4o/3hdvnxZq+cWV2FjdXV1BQC1z62NjY3yD+Grs3007WP9+vUICAiAi4sLVq9ejb179yIiIgKdOnXS6rV+k9zcXMhkMmXdry+vt+RI8XkrLD09PXTs2BH3799HVFRUkerQdE6QyWTYunUrTp06hdGjR+PevXsYMmQImjVrppb4aaOkX6e8z1pxfhf69euHlStXKscw7d+/H3v37gUAlc9Xv379cPPmTSxevBj29vb49ttv0aBBA5VrZCxYsAB///03Pv/8c7x48QJjx45FgwYNcPfu3SLHp42cnBx06dIFf/zxB4KDg7Fz505EREQoL1Ql1e+LJqX5+1GadDphAID3338fMTExOHXqlMZtHR0dkZubq3ZSSUhIwLNnz/JtAi6qypUr49mzZ2rl+TU56enpoXPnzvjuu+/wzz//YM6cOTh06JBaM2+evDhv3Lihtu769euoUqUKTE1Ni3cABfjoo49w4cIFpKSkoH///gVut3XrVnTs2BGrV69G//794e3tDS8vL7XXRMqr3z1//hyBgYFwc3PD8OHDMW/ePJw5c6bI9Tk6OiIqKkrtJHL9+nXl+qLw9fWFvr4+NmzYUOTYXrV161Y4Oztj+/btGDRoEHx8fODl5YX09HSV7RwdHXH//n21P3D5fY5e5+LiAiEEnJyclEnNq0teE7U2pHzvs7OzAfx/q42joyPi4+PVvlm//t5pe0549913MWfOHJw9exYbNmzA1atXsWnTJsmPJ4+trS2MjY0RHR2tti6/stfVrVsX9erVw2+//VakxObp06c4ePAgpkyZghkzZqBXr17o0qWLStP7q6pVq4ZPP/0UO3fuRGxsLKytrTFnzhyVbRo2bIgvv/wSR48exbFjx3Dv3j0sX75c69hel9e186YvkJcvX8a///6LBQsWIDg4GD169ICXl1e+g6IL+37a2NigUqVKBZ6P9fT04ODgUMijKN90PmGYPHkyTE1NMWzYMCQkJKitj4mJwffffw/gZZM6ACxatEhlm++++w4A0K1bN8nicnFxQVJSEv7++29l2f3799VmYjx58kTtuXmj2gtq7qxWrRqaNGmC8PBwlT/AV65cwf79+5XHWRI6duyIWbNmYcmSJbCzsytwO319fbVs+ddff8W9e/dUyvISm/ySK20FBwcjLi4O4eHh+O6771CrVi34+/sXudn4vffew4MHD1RGLmdnZ2Px4sUwMzNTNmNqq2bNmhgyZAj+/PNPLFmyJN9ttPmmkfdt5dXnnD59Wi2Jfu+995CdnY1ly5Ypy3JycrB48WKN++jduzf09fUxY8YMtdiEEEhMTCx0vHmkeu+zsrKwf/9+GBkZKbsc3nvvPeTk5Ki9vgsXLoRMJlP2/xf2nPD06VO1437997RSpUqSHM+r9PX14eXlhZ07d6qMDYiOji701S1nzJiBxMREDBs2TJlYvWr//v3YvXt3gfsH1D+Pr79eOTk5as35tra2sLe3V74+ycnJavtv2LAh9PT0JLmqqbe3N8zNzREaGqqWLOfFn9/xCCGUfyNeVdjPp76+Pry9vfHbb7+pXKY6ISEBGzduRJs2bZRdQxWdzk+rdHFxwcaNG/Hhhx+ifv36GDx4MNzd3ZGZmYmTJ08qp8EBQOPGjeHv74+ffvoJz549Q/v27fHf//4X4eHh6NmzJzp27ChZXP3790dwcDB69eqFsWPHIi0tDcuWLUPdunVVBgrNnDkTR48eRbdu3eDo6IiHDx/ixx9/RI0aNdCmTZsC6//222/h6+uLVq1aYejQocpplRYWFiV6OVM9PT18+eWXGrd7//33MXPmTAQGBqJ169a4fPkyNmzYoPbNxMXFBZaWlli+fDnMzc1hamqKli1bFno8QJ5Dhw7hxx9/xPTp05XTPNeuXYsOHTpg2rRpmDdvnlb1AS8HJq1YsQIBAQE4d+4catWqha1bt+LEiRNYtGhRsQaSLVq0CLGxsRgzZgw2bdqE7t27w9bWFo8fP8aJEyewa9euQo0tAF6+1tu3b0evXr3QrVs3xMbGYvny5XBzc1P5Vtm9e3d4enpiypQpuHXrFtzc3LB9+/ZC9du6uLhg9uzZmDp1Km7duoWePXvC3NwcsbGx2LFjB4YPH46JEydq9RoU9b3/888/lS0FDx8+xMaNGxEVFYUpU6YoT8zdu3dHx44d8cUXX+DWrVto3Lgx9u/fj99++w3jx49Xfhst7DkhPDwcP/74I3r16gUXFxekpKRg5cqVUCgUyqTDxMQEbm5u2Lx5M+rWrQsrKyu4u7tr7FPXJCQkBPv374enpydGjhypTITc3d0LdVntDz/8UHlZ5QsXLsDPzw+Ojo5ITEzE3r17cfDgQWzcuDHf5yoUCrRr1w7z5s1DVlYWqlevjv379yM2NlZlu5SUFNSoUQN9+/ZF48aNYWZmhgMHDuDMmTNYsGABgJe/o6NHj8Z//vMf1K1bF9nZ2Vi3bh309fXRp0+fYr1GebEuXLgQw4YNwzvvvIOPPvoIlStXxqVLl5CWlobw8HC4urrCxcUFEydOxL1796BQKLBt27Z8xw40a9YMADB27Fj4+PhAX1+/wFbV2bNnIyIiAm3atMGnn34KAwMDrFixAhkZGUU695RbpTwro8j+/fdf8fHHH4tatWoJIyMjYW5uLjw9PcXixYtVLsCSlZUlZsyYIZycnIShoaFwcHB444WbXvf6dL6CpvwI8fKCTO7u7sLIyEjUq1dPrF+/Xm161cGDB0WPHj2Evb29MDIyEvb29sLPz0/8+++/avt4ffrZgQMHhKenpzAxMREKhUJ07969wAs3vT5ts6CLnrzu1WmVBSloWuWECRNEtWrVhImJifD09BSnTp3Kdzrkb7/9Jtzc3JTTxF6/cFN+Xq0nOTlZODo6Cg8PD7XLtQYFBQk9PT21C6i8rqD3OyEhQQQGBooqVaoIIyMj0bBhQ7X34U2fgTfJzs4Wa9euFZ06dRJWVlbCwMBAVKlSRXTu3FksX75cZWrYm/aRm5srvv76a+Ho6Cjkcrlo2rSp2L17d75TexMTE8WgQYOUF24aNGiQVhdu2rZtm2jTpo0wNTUVpqamwtXVVYwaNUrcuHFDuU1B71t+8RT03ucnv2mVxsbGokmTJmLZsmVqF2RKSUkRQUFBwt7eXhgaGoo6deoUeOEmTeeE8+fPCz8/P1GzZk0hl8uFra2teP/998XZs2dV6jp58qRo1qyZMDIyKvSFm173+rRCIV6eJ5o2bSqMjIyEi4uLWLVqlZgwYYIwNjYu8PV6Xd65xtbWVhgYGAgbGxvRvXt38dtvvym3ye9cc/fuXdGrVy9haWkpLCwsxH/+8x8RHx+vcnwZGRli0qRJonHjxsoLFzVu3Fj8+OOPynpu3rwphgwZIlxcXISxsbGwsrISHTt2FAcOHHjj8Rd2WmWe33//XbRu3Vp5XmzRooX45ZdflOv/+ecf4eXlJczMzESVKlXExx9/rJzO+upxZ2dnizFjxggbGxshk8kKdeEmHx8fYWZmJipVqiQ6duwoTp48mW/Mr0/PzbuQ2eHDh0V5JhOinI/CICKqgHr27ImrV68WeaAnkdR0fgwDEVFF9/qdYqOiorBnzx5Jb/FOVFxsYSAiKmPVqlVDQEAAnJ2dcfv2bSxbtgwZGRm4cOEC6tSpU9bhEQEoB4MeiYgquq5du+KXX37BgwcPIJfL0apVK3z99ddMFkinsIWBiIiINOIYBiIiItKICQMRERFpxDEMhZCbm4v4+HiYm5uXyOVhiYio5AghkJKSAnt7e7WbzUkpPT1deYO04jIyMlK7K2dZY8JQCPHx8W/NtcKJiCqqO3fuoEaNGiVSd3p6OkzMrYFsaW7tbWdnh9jYWJ1KGpgwFELeJYKX7z0LE1MzDVsTlU9d3fK/gyZReZeSnIzaTg7Futy7JpmZmUB2GuRu/oC+UfEqy8nEg3/CkZmZyYShvMnrhjAxNUMls5L7wBGVpbflBjr09iqVLmUDY8iKmTAImW4OL2TCQEREJBUZgOImJjo6VI4JAxERkVRkei+X4tahg3QzKiIiItIpbGEgIiKSikwmQZeEbvZJMGEgIiKSCrskiIiI6G3GFgYiIiKpsEuCiIiINJOgS0JHG/91MyoiIiLSKWxhICIikgq7JIiIiEgjzpIgIiKitxlbGIiIiKTCLgkiIiLSqAJ3STBhICIikkoFbmHQzTSGiIiIdApbGIiIiKRSgbskdDMqIiKi8kgm+/+kochL4bskQkJCIJPJVBZXV1e17YQQ8PX1hUwmw86dO4t0aGxhICIiKscaNGiAAwcOKB8bGKj/aV+0aBFkxRwbwYSBiIhIKnqyl0tx69CCgYEB7OzsClx/8eJFLFiwAGfPnkW1atWKHlaRn0lERESqit0dof0YiKioKNjb28PZ2RkDBgxAXFyccl1aWho++ugjLF269I1JRWGwhYGIiEgHJScnqzyWy+WQy+UqZS1btkRYWBjq1auH+/fvY8aMGWjbti2uXLkCc3NzBAUFoXXr1ujRo0ex42HCQEREJBUJr8Pg4OCgUjx9+nSEhISolPn6+ip/btSoEVq2bAlHR0ds2bIFNjY2OHToEC5cuFC8eP6HCQMREZFUJJxWeefOHSgUCmXx660L+bG0tETdunURHR2Ny5cvIyYmBpaWlirb9OnTB23btkVkZKRWYTFhICIi0kEKhUIlYSiM1NRUxMTEYNCgQejXrx+GDRumsr5hw4ZYuHAhunfvrnU8TBiIiIikUsqXhp44cSK6d+8OR0dHxMfHY/r06dDX14efnx9sbGzyHehYs2ZNODk5aR0WEwYiIiKplPKVHu/evQs/Pz8kJibCxsYGbdq0wV9//QUbG5vixZAPJgxERERSKeUWhk2bNmlVtRBC22iUeB0GIiIi0ogtDERERFKpwDefYsJAREQklVLukihNupnGEBERkU5hCwMREZFkJOiS0NHv8kwYiIiIpMIuCSIiInqbsYWBiIhIKjKZBLMkdLOFgQkDERGRVCrwtErdjIqIiIh0ClsYiIiIpFKBBz0yYSAiIpJKBe6SYMJAREQklQrcwqCbaQwRERHpFLYwEBERSYVdEkRERKQRuySIiIjobcYWBiIiIonIZDLIKmgLAxMGIiIiiVTkhIFdEkRERKQRWxiIiIikIvvfUtw6dBATBiIiIomwS4KIiIjeamxhICIikkhFbmFgwkBERCQRJgxERESkUUVOGDiGgYiIiDRiCwMREZFUOK2SiIiINGGXBBEREb3V2MJAREQkkZd3ty5uC4M0sUiNCQMREZFEZJCgS0JHMwZ2SRAREZFGbGEgIiKSSEUe9MiEgYiISCoVeFoluySIiIhII7YwEBERSUWCLgnBLgkiIqKKTYoxDMWfZVEymDAQERFJpCInDBzDQEREVE6FhIQok5S8xdXVFQDw5MkTjBkzBvXq1YOJiQlq1qyJsWPHIikpqUj7YgsDERGRVMpglkSDBg1w4MAB5WMDg5d/2uPj4xEfH4/58+fDzc0Nt2/fxogRIxAfH4+tW7dqHRYTBiIiIomURZeEgYEB7Ozs1Mrd3d2xbds25WMXFxfMmTMHAwcORHZ2tjKxKCx2SRAREemg5ORklSUjIyPf7aKiomBvbw9nZ2cMGDAAcXFxBdaZlJQEhUKhdbIAMGEgIiKSzOvjCYq6AICDgwMsLCyUS2hoqNr+WrZsibCwMOzduxfLli1DbGws2rZti5SUFLVtHz9+jFmzZmH48OFFOjZ2SRAREUlEyi6JO3fuQKFQKMvlcrnatr6+vsqfGzVqhJYtW8LR0RFbtmzB0KFDleuSk5PRrVs3uLm5ISQkpEhxMWEgIiLSQQqFQiVhKAxLS0vUrVsX0dHRyrKUlBR07doV5ubm2LFjBwwNDYsUD7skiIiIJCJll0RRpKamIiYmBtWqVQPwsmXB29sbRkZG+P3332FsbFzkupkwEBERSUUm0VJIEydOxJEjR3Dr1i2cPHkSvXr1gr6+Pvz8/JTJwvPnz7F69WokJyfjwYMHePDgAXJycrQ+NHZJEBERlVN3796Fn58fEhMTYWNjgzZt2uCvv/6CjY0NIiMjcfr0aQBA7dq1VZ4XGxuLWrVqabUvJgxEREQSKe3rMGzatKnAdR06dIAQolixvIoJAxERkUQq8r0kmDAQERFJpCInDBz0SERERBqxhYGIiEgqZXDzqdLChIGIiEgi7JIgIiKitxpbGEgn7PrjJLZsjYRPl3cw8KMuAIA5c9fj+g3Vu6516tAUgf6++VVBpNMWhu3HzKW/Y0T/Dgid0BcAkJ6RhS8Xbcf2iHPIzMxGp3frY37wh7C11u5ywKQ7KnILg04lDAEBAXj27Bl27txZ1qFQKbp5Mx6HIi/AwcFWbV2H9k3Qp1c75WO5UdGugU5Uls5fvY2wHSfQoE51lfLPF27D/uNXERY6FAozE0z+dgsGTV6Ffas/K6NIqbhkkCBh0NFBDOySoDKVnp6JZT/9jqEB78G0kvo1zuVGhrC0MFMuJibqd2sj0mWpaRkY/lUYvv/cD5bmJsrypNQXWP/bKcwJ6o1279RDk/o1seSrgfjv3zdx5nJsGUZMlL9ykzBcuXIFvr6+MDMzQ9WqVTFo0CA8fvxYuX7r1q1o2LAhTExMYG1tDS8vLzx//hwAEBkZiRYtWsDU1BSWlpbw9PTE7du3y+pQ6BXh6/ahcWMXuDdwynf9yVNXMHLMQkz58ids/vUwMjKySjlCouKZNG8zvD3d0aGlq0r5pWtxyMrOQYcW9ZRldWvZoYZdZSYM5VhZ33yqJJWLhOHZs2fo1KkTmjZtirNnz2Lv3r1ISEhAv379AAD379+Hn58fhgwZgmvXriEyMhK9e/eGEALZ2dno2bMn2rdvj7///hunTp3C8OHDdfYNeZucOn0Vt24/QL++HfNd3+rdBhgxvAc+nzwA3bu1xolTV7D8p99KOUqiotu2/ywuXb+Dr0Z9oLYuITEZRoYGsDCvpFJua6VAQmJyaYVIUivlm0+VJp0aw1CQJUuWoGnTpvj666+VZWvWrIGDgwP+/fdfpKamIjs7G71794ajoyMAoGHDhgCAJ0+eICkpCe+//z5cXFwAAPXr13/j/jIyMpCRkaF8nJzMX16pJSYmY/3GCARP/AhGhvl/DDt1aKr82cHBFpYWZpj77UYkPHyKqraVSytUoiK5++Appi7Yhu1LRsNYzrE3VP6Vi4Th0qVLOHz4MMzMzNTWxcTEwNvbG507d0bDhg3h4+MDb29v9O3bF5UrV4aVlRUCAgLg4+ODLl26wMvLC/369VPeKzw/oaGhmDFjRkke0lsv9vZ9JCenYVrIamVZbq7AjX/jEHHwLNauDIaenmoDmIuLPQAgIYEJA+m+S9fj8OhJCjoM+kZZlpOTi5MXYrDy16PY9sMoZGZlIyklTaWV4eGTZFTlLIlyi7Mkylhqaiq6d++Ob775Rm1dtWrVoK+vj4iICJw8eRL79+/H4sWL8cUXX+D06dNwcnLC2rVrMXbsWOzduxebN2/Gl19+iYiICLz77rv57m/q1Kn47LP/H6WcnJwMBweHEju+t1GD+rXw9axhKmUrV/8B+2rW6Pbeu2rJAgDExSUAACwt1RNHIl3T7p16OPHL5yplo2euR51aVTFucBdUt6sMQwN9HDlzAx90etmaFnUrAXcfPMU7DfMf00O6jwlDGfPw8MC2bdtQq1YtGBjkH7JMJoOnpyc8PT3x1VdfwdHRETt27FD+4W/atCmaNm2KqVOnolWrVti4cWOBCYNcLodcztH4JcnERA6HGqrTKOVyQ5iZmcChhi0SHj7Fqb+uonEjF5iZmeDOnYfY8MsB1KvngJr5TL8k0jXmpsZwq22vUlbJxAhWFqbK8oE9WuGLhdtRWWEKc1NjTP72V7zT0IkJQzkmk71ciluHLtK5hCEpKQkXL15UKRs+fDhWrlwJPz8/TJ48GVZWVoiOjsamTZuwatUqnD17FgcPHoS3tzdsbW1x+vRpPHr0CPXr10dsbCx++uknfPDBB7C3t8eNGzcQFRWFwYMHl80BUqEY6Ovjyj+x2Lf/DDIyMmFlpUDz5q7o2d2zrEMjkszXQX2gJ5NhcPAqlQs3EekinUsYIiMj0bRpU5WyoUOH4sSJEwgODoa3tzcyMjLg6OiIrl27Qk9PDwqFAkePHsWiRYuQnJwMR0dHLFiwAL6+vkhISMD169cRHh6OxMREVKtWDaNGjcInn3xSRkdIBfliykDlz9bWCnw5ZVAZRkMkvd0rxqs8NpYbYn7wh0wSKpCXLQzF7ZKQKBiJyYQQoqyD0HXJycmwsLBA+LHrqGRmXtbhEJWI993tNW9EVA4lJyejqrUFkpKSoFCUzIDSvL8TzmO3Ql9uWqy6cjKe4+YPfUs03qIoF9dhICIiorKlc10SRERE5RVnSRAREZFGFXmWBLskiIiISCO2MBAREUlET08GPb3iNRGIYj6/pDBhICIikgi7JIiIiOitxhYGIiIiiXCWBBEREWlUkbskmDAQERFJpCK3MHAMAxEREWnEFgYiIiKJVOQWBiYMREREEqnIYxjYJUFEREQasYWBiIhIIjJI0CUB3WxiYMJAREQkEXZJEBER0VuNLQxEREQS4SwJIiIi0ohdEkRERPRWY8JAREQkkbwuieIuhRUSEqL2XFdXV+X69PR0jBo1CtbW1jAzM0OfPn2QkJBQpGNjwkBERCSRvC6J4i7aaNCgAe7fv69cjh8/rlwXFBSEXbt24ddff8WRI0cQHx+P3r17F+nYOIaBiIhIImUx6NHAwAB2dnZq5UlJSVi9ejU2btyITp06AQDWrl2L+vXr46+//sK7776r1X7YwkBERKSDkpOTVZaMjIx8t4uKioK9vT2cnZ0xYMAAxMXFAQDOnTuHrKwseHl5Kbd1dXVFzZo1cerUKa3jYcJAREQkFSm6I/7XwODg4AALCwvlEhoaqra7li1bIiwsDHv37sWyZcsQGxuLtm3bIiUlBQ8ePICRkREsLS1VnlO1alU8ePBA60NjlwQREZFEpOySuHPnDhQKhbJcLperbevr66v8uVGjRmjZsiUcHR2xZcsWmJiYFCuO17GFgYiISAcpFAqVJb+E4XWWlpaoW7cuoqOjYWdnh8zMTDx79kxlm4SEhHzHPGjChIGIiEgiZTFL4lWpqamIiYlBtWrV0KxZMxgaGuLgwYPK9Tdu3EBcXBxatWqldd3skiAiIpJIac+SmDhxIrp37w5HR0fEx8dj+vTp0NfXh5+fHywsLDB06FB89tlnsLKygkKhwJgxY9CqVSutZ0gATBiIiIjKrbt378LPzw+JiYmwsbFBmzZt8Ndff8HGxgYAsHDhQujp6aFPnz7IyMiAj48PfvzxxyLtiwkDERGRREr7XhKbNm1643pjY2MsXboUS5cuLV5QYMJAREQkmYp8t0oOeiQiIiKN2MJAREQkkYrcwsCEgYiISCKlPYahNDFhICIikkhFbmHgGAYiIiLSiC0MREREEmGXBBEREWnELgkiIiJ6q7GFgYiISCIySNAlIUkk0mPCQEREJBE9mQx6xcwYivv8ksIuCSIiItKILQxEREQS4SwJIiIi0qgiz5JgwkBERCQRPdnLpbh16CKOYSAiIiKN2MJAREQkFZkEXQo62sLAhIGIiEgiFXnQI7skiIiISCO2MBAREUlE9r9/xa1DFzFhICIikghnSRAREdFbjS0MREREEnnrL9z0+++/F7rCDz74oMjBEBERlWcVeZZEoRKGnj17FqoymUyGnJyc4sRDREREOqhQCUNubm5Jx0FERFTuVeTbWxdrDEN6ejqMjY2lioWIiKhcq8hdElrPksjJycGsWbNQvXp1mJmZ4ebNmwCAadOmYfXq1ZIHSEREVF7kDXos7qKLtE4Y5syZg7CwMMybNw9GRkbKcnd3d6xatUrS4IiIiEg3aJ0w/Pzzz/jpp58wYMAA6OvrK8sbN26M69evSxocERFReZLXJVHcRRdpPYbh3r17qF27tlp5bm4usrKyJAmKiIioPKrIgx61bmFwc3PDsWPH1Mq3bt2Kpk2bShIUERER6RatWxi++uor+Pv74969e8jNzcX27dtx48YN/Pzzz9i9e3dJxEhERFQuyP63FLcOXaR1C0OPHj2wa9cuHDhwAKampvjqq69w7do17Nq1C126dCmJGImIiMqFijxLokjXYWjbti0iIiKkjoWIiIh0VJEv3HT27Flcu3YNwMtxDc2aNZMsKCIiovKoIt/eWuuE4e7du/Dz88OJEydgaWkJAHj27Blat26NTZs2oUaNGlLHSEREVC5U5LtVaj2GYdiwYcjKysK1a9fw5MkTPHnyBNeuXUNubi6GDRtWEjESERFRGdM6YThy5AiWLVuGevXqKcvq1auHxYsX4+jRo5IGR0REVN6U5UWb5s6dC5lMhvHjxyvLHjx4gEGDBsHOzg6mpqbw8PDAtm3btK5b6y4JBweHfC/QlJOTA3t7e60DICIiqijKskvizJkzWLFiBRo1aqRSPnjwYDx79gy///47qlSpgo0bN6Jfv344e/asVtdP0rqF4dtvv8WYMWNw9uxZZdnZs2cxbtw4zJ8/X9vqiIiIKoy8QY/FXbSVmpqKAQMGYOXKlahcubLKupMnT2LMmDFo0aIFnJ2d8eWXX8LS0hLnzp3Tah+FamGoXLmySsbz/PlztGzZEgYGL5+enZ0NAwMDDBkyBD179tQqACIiIiqeUaNGoVu3bvDy8sLs2bNV1rVu3RqbN29Gt27dYGlpiS1btiA9PR0dOnTQah+FShgWLVqkVaVERERvIym7JJKTk1XK5XI55HK52vabNm3C+fPncebMmXzr27JlCz788ENYW1vDwMAAlSpVwo4dO/K9L9SbFCph8Pf316pSIiKit5GUl4Z2cHBQKZ8+fTpCQkJUyu7cuYNx48YhIiICxsbG+dY3bdo0PHv2DAcOHECVKlWwc+dO9OvXD8eOHUPDhg0LHVeRL9wEAOnp6cjMzFQpUygUxamSiIiI8DIZePVvan6tC+fOncPDhw/h4eGhLMvJycHRo0exZMkS3LhxA0uWLMGVK1fQoEEDAEDjxo1x7NgxLF26FMuXLy90PFonDM+fP0dwcDC2bNmCxMREtfU5OTnaVklERFQhSHl7a4VCofFLeOfOnXH58mWVssDAQLi6uiI4OBhpaWkv69RTneOgr6+P3NxcreLSOmGYPHkyDh8+jGXLlmHQoEFYunQp7t27hxUrVmDu3LnaVkdERFRhSHEtBW2eb25uDnd3d5UyU1NTWFtbw93dHVlZWahduzY++eQTzJ8/H9bW1ti5cyciIiK0vsO01gnDrl278PPPP6NDhw4IDAxE27ZtUbt2bTg6OmLDhg0YMGCAtlUSERFRCTA0NMSePXswZcoUdO/eHampqahduzbCw8Px3nvvaVWX1gnDkydP4OzsDOBlc8mTJ08AAG3atMHIkSO1rY6IiKjC0IV7SURGRqo8rlOnTpGu7Pg6rS/c5OzsjNjYWACAq6srtmzZAuBly0PezaiIiIjeRsW9LLQUXRolReuEITAwEJcuXQIATJkyBUuXLoWxsTGCgoIwadIkyQMkIiKisqd1l0RQUJDyZy8vL1y/fh3nzp1D7dq11a5fTURE9DaRcpaErinWdRgAwNHREY6OjlLEQkREVK6V9iyJ0lSohOGHH34odIVjx44tcjBERETlmS4MeiwphUoYFi5cWKjKZDIZEwYiIqIKqFAJQ96siLfd8E8XQKZvVNZhEJWIp2eWlHUIROWeHoowmyCfOnRRsccwEBER0UsVuUtCVxMZIiIi0iFsYSAiIpKITAbovc2zJIiIiEgzPQkShuI+v6SwS4KIiIg0KlLCcOzYMQwcOBCtWrXCvXv3AADr1q3D8ePHJQ2OiIioPMkb9FjcRRdpnTBs27YNPj4+MDExwYULF5CRkQEASEpKwtdffy15gEREROVFXpdEcRddpHXCMHv2bCxfvhwrV66EoaGhstzT0xPnz5+XNDgiIiLSDVoPerxx4wbatWunVm5hYYFnz55JERMREVG5VJHvJaF1C4OdnR2io6PVyo8fPw5nZ2dJgiIiIiqP8u5WWdxFF2mdMHz88ccYN24cTp8+DZlMhvj4eGzYsAETJ07EyJEjSyJGIiKickFPokUXad0lMWXKFOTm5qJz585IS0tDu3btIJfLMXHiRIwZM6YkYiQiIqIypnXCIJPJ8MUXX2DSpEmIjo5Gamoq3NzcYGZmVhLxERERlRsVeQxDka/0aGRkBDc3NyljISIiKtf0UPwxCHrQzYxB64ShY8eOb7yoxKFDh4oVEBEREekerROGJk2aqDzOysrCxYsXceXKFfj7+0sVFxERUbnDLolXLFy4MN/ykJAQpKamFjsgIiKi8oo3nyqEgQMHYs2aNVJVR0RERDpEsttbnzp1CsbGxlJVR0REVO7IZCj2oMcK0yXRu3dvlcdCCNy/fx9nz57FtGnTJAuMiIiovOEYhldYWFioPNbT00O9evUwc+ZMeHt7SxYYERER6Q6tEoacnBwEBgaiYcOGqFy5cknFREREVC5x0OP/6Ovrw9vbm3elJCIiyodMon+6SOtZEu7u7rh582ZJxEJERFSu5bUwFHfRRVonDLNnz8bEiROxe/du3L9/H8nJySoLERERVTyFHsMwc+ZMTJgwAe+99x4A4IMPPlC5RLQQAjKZDDk5OdJHSUREVA5U5DEMhU4YZsyYgREjRuDw4cMlGQ8REVG5JZPJ3ni/pcLWoYsKnTAIIQAA7du3L7FgiIiISDdpNa1SV7MeIiIiXcAuif+pW7euxqThyZMnxQqIiIiovOKVHv9nxowZald6JCIioopPq4Shf//+sLW1LalYiIiIyjU9mazYN58q7vNLSqGvw8DxC0RERG9W1hdumjt3LmQyGcaPH69SfurUKXTq1AmmpqZQKBRo164dXrx4oVXdWs+SICIiIt1z5swZrFixAo0aNVIpP3XqFLp27YqpU6di8eLFMDAwwKVLl6Cnp921GwudMOTm5mpVMRER0VtHgkGPRbmVRGpqKgYMGICVK1di9uzZKuuCgoIwduxYTJkyRVlWr149rfeh9aWhiYiIKH96kEmyAFC79UJGRkaB+x01ahS6desGLy8vlfKHDx/i9OnTsLW1RevWrVG1alW0b98ex48fL8KxERERkSTyplUWdwEABwcHWFhYKJfQ0NB897lp0yacP38+3/V5N4sMCQnBxx9/jL1798LDwwOdO3dGVFSUVsem1SwJIiIiKh137tyBQqFQPpbL5fluM27cOERERMDY2Fhtfd5wgk8++QSBgYEAgKZNm+LgwYNYs2ZNgUlIfpgwEBERSUTKKz0qFAqVhCE/586dw8OHD+Hh4aEsy8nJwdGjR7FkyRLcuHEDAODm5qbyvPr16yMuLk6ruJgwEBERSaS0r8PQuXNnXL58WaUsMDAQrq6uCA4OhrOzM+zt7ZWJQ55///0Xvr6+WsXFhIGIiKicMjc3h7u7u0qZqakprK2tleWTJk3C9OnT0bhxYzRp0gTh4eG4fv06tm7dqtW+mDAQERFJRBfvJTF+/Hikp6cjKCgIT548QePGjREREQEXFxet6mHCQEREJBE9SNAlUZQLMbwiMjJSrWzKlCkq12EoCk6rJCIiIo3YwkBERCQRXeySkAoTBiIiIonoofhN97ra9K+rcREREZEOYQsDERGRRGQyGWTF7FMo7vNLChMGIiIiichQpJtNqtWhi5gwEBERSaS0r/RYmjiGgYiIiDRiCwMREZGEdLN9oPiYMBAREUmkIl+HgV0SREREpBFbGIiIiCTCaZVERESkEa/0SERERG81tjAQERFJhF0SREREpFFFvtIjuySIiIhII7YwEBERSYRdEkRERKRRRZ4lwYSBiIhIIhW5hUFXExkiIiLSIWxhICIikkhFniXBhIGIiEgivPkUERERvdXYwkBERCQRPcigV8xOheI+v6QwYSAiIpIIuySIiIjorcYWBiIiIonI/vevuHXoIiYMREREEmGXBBEREb3V2MJAREQkEZkEsyTYJUFERFTBVeQuCSYMREREEqnICQPHMBAREZFGbGEgIiKSCKdVEhERkUZ6spdLcevQReySICIiIo3YwkBERCSRitwlwRYGIiIiieTNkijuUlRz586FTCbD+PHj1dYJIeDr6wuZTIadO3dqXTcTBiIiogrgzJkzWLFiBRo1apTv+kWLFkFWjGyECQMREZFEZPj/bomi/9NeamoqBgwYgJUrV6Jy5cpq6y9evIgFCxZgzZo1RT42JgxEREQSyZslUdwFAJKTk1WWjIyMAvc7atQodOvWDV5eXmrr0tLS8NFHH2Hp0qWws7Mr+rEV+ZlERERUYhwcHGBhYaFcQkND891u06ZNOH/+fIHrg4KC0Lp1a/To0aNY8XCWBJWJ4I/fw5Th76mU/XvrAVr+ZzYAYNfycWjTrI7K+rXbjuOzuZtKLUYiKS0M24+ZS3/HiP4dEDqhLwAgPSMLXy7aju0R55CZmY1O79bH/OAPYWutKONoqaiknCVx584dKBT//1mQy+Vq2965cwfjxo1DREQEjI2N1db//vvvOHToEC5cuFCsmIAybmEICAiATCbDiBEj1NaNGjUKMpkMAQEBpR8YlYprMfGo13WqcvEdtlBlfdiOEyrrpy/eWTaBEhXT+au3EbbjBBrUqa5S/vnCbdh77ArCQodi94rxePA4CYMmryqjKEkKUs6SUCgUKkt+CcO5c+fw8OFDeHh4wMDAAAYGBjhy5Ah++OEHGBgYICIiAjExMbC0tFSuB4A+ffqgQ4cOWh1bmbcwODg4YNOmTVi4cCFMTEwAAOnp6di4cSNq1qxZ5HqFEMjJyVG+OKR7snNy8TAxpcD1L9Iz37ieqDxITcvA8K/C8P3nfpi/Zq+yPCn1Bdb/dgorZweg3Tv1AABLvhqIlv+ZjTOXY/FOQ6eyCpmKQfa/pbh1FFbnzp1x+fJllbLAwEC4uroiODgYVapUwSeffKKyvmHDhli4cCG6d++uVVxlPobBw8MDDg4O2L59u7Js+/btqFmzJpo2baosy8jIwNixY2FrawtjY2O0adMGZ86cUa6PjIyETCbDn3/+iWbNmkEul+P48ePIzc1FaGgonJycYGJigsaNG2Pr1q2leoyUP2cHG/yzZw4u7AzBT7P8UaOq6sje/3RtjuiIuTi56XN8NeoDmMgNyyhSoqKbNG8zvD3d0aGlq0r5pWtxyMrOQYcW9ZRldWvZoYZdZZy5HFvaYVI5ZW5uDnd3d5XF1NQU1tbWcHd3h52dndp6AKhZsyacnLRLSnXi6/eQIUOwdu1aDBgwAACwZs0aBAYGIjIyUrnN5MmTsW3bNoSHh8PR0RHz5s2Dj48PoqOjYWVlpdxuypQpmD9/PpydnVG5cmWEhoZi/fr1WL58OerUqYOjR49i4MCBsLGxQfv27fONJyMjQ2U0anJycskc+Fvs3NVbGDVjPaJvJ6BqFQsEf+yLPSuD0Lr/HKSmZWDrvrO4c/8JHjxKQoM69pg+ugdqO9piMJtrqRzZtv8sLl2/g0Phk9XWJSQmw8jQABbmlVTKba0USEjkOae80oMMesW8P7Wejl7pUScShoEDB2Lq1Km4ffs2AODEiRPYtGmTMmF4/vw5li1bhrCwMPj6+gIAVq5ciYiICKxevRqTJk1S1jVz5kx06dIFwMs//F9//TUOHDiAVq1aAQCcnZ1x/PhxrFixosCEITQ0FDNmzCipwyUAB07+o/z5anQ8zl65hcu7ZqKnlwfW/34K4TtOKNf/ExOPB4+T8fuysahVvQpu3XtcFiETaeXug6eYumAbti8ZDWO2jr01SrtLIj+vftnOjxCiSPXqRMJgY2ODbt26ISwsDEIIdOvWDVWqVFGuj4mJQVZWFjw9PZVlhoaGaNGiBa5du6ZSV/PmzZU/R0dHIy0tTZlA5MnMzFTp7njd1KlT8dlnnykfJycnw8HBocjHR5olp75AdNxDODvY5Lv+3JVbAF52YzBhoPLg0vU4PHqSgg6DvlGW5eTk4uSFGKz89Si2/TAKmVnZSEpJU2llePgkGVU5S4J0kE4kDMDLbonRo0cDAJYuXVrkekxNTZU/p6amAgD++OMPVK+uOjo5v9Gmr65703qSnqmJEZyqV8Hmx//Nd33DujUAAAmPk0ozLKIia/dOPZz45XOVstEz16NOraoYN7gLqttVhqGBPo6cuYEPOr38AhN1KwF3HzzlgMfyTBeaGEqIziQMXbt2RWZmJmQyGXx8fFTWubi4wMjICCdOnICjoyMAICsrC2fOnMn3Bht53NzcIJfLERcXV2D3A5WNmeN6Ye+xy7hz/wmq2VhgyvBuyMnNxbZ951CrehX07docESeu4knSc7jXqY45Qb1x4nwUrkbHl3XoRIVibmoMt9r2KmWVTIxgZWGqLB/YoxW+WLgdlRWmMDc1xuRvf8U7DZ2YMJRjFflulTqTMOjr6yu7F/T19VXWmZqaYuTIkZg0aRKsrKxQs2ZNzJs3D2lpaRg6dGiBdZqbm2PixIkICgpCbm4u2rRpg6SkJJw4cQIKhQL+/v4lekxUsOq2llg1OxBWFpXw+GkqTl+6iS6BC5D4LBXGcgN0aFEPI/t3RCUTI9xLeIpdhy5i/pp9ZR02kaS+DuoDPZkMg4NXqVy4iUgX6UzCAEDlilavmzt3LnJzczFo0CCkpKSgefPm2LdvX7432XjVrFmzYGNjg9DQUNy8eROWlpbw8PDA559//sbnUcka+sXaAtfdS3iG9z/5vhSjISodu1eMV3lsLDfE/OAPmSRUJMW8PXVeHbpIJoo6XPItkpycDAsLC8gbfgyZvlFZh0NUIp6eWVLWIRCViOTkZFS1tkBSUtIbv5gWdx8WFhY4dDEOZubF20dqSjI6NalZovEWRZlfuImIiIh0n051SRAREZVrnCVBREREmnCWBBEREWkkk2DQY7EHTZYQjmEgIiIijdjCQEREJJEKPISBCQMREZFkKnDGwC4JIiIi0ogtDERERBLhLAkiIiLSiLMkiIiI6K3GFgYiIiKJVOAxj0wYiIiIJFOBMwZ2SRAREZFGbGEgIiKSCGdJEBERkUYVeZYEEwYiIiKJVOAhDBzDQERERJqxhYGIiEgqFbiJgQkDERGRRCryoEd2SRAREZFGbGEgIiKSCGdJEBERkUYVeAgDuySIiIhIM7YwEBERSaUCNzEwYSAiIpIIZ0kQERHRW40tDERERBLhLAkiIiLSqAIPYWDCQEREJJkKnDFwDAMRERFpxBYGIiIiiXCWBBEREWkm+/+Bj0VdipMvzJ07FzKZDOPHjwcAPHnyBGPGjEG9evVgYmKCmjVrYuzYsUhKStK6brYwEBERVQBnzpzBihUr0KhRI2VZfHw84uPjMX/+fLi5ueH27dsYMWIE4uPjsXXrVq3qZ8JAREQkkbIa85iamooBAwZg5cqVmD17trLc3d0d27ZtUz52cXHBnDlzMHDgQGRnZ8PAoPBpALskiIiIpCKTaAGQnJyssmRkZBS421GjRqFbt27w8vLSGGJSUhIUCoVWyQLAhIGIiEgnOTg4wMLCQrmEhobmu92mTZtw/vz5Ate/6vHjx5g1axaGDx+udTzskiAiIpKIlLMk7ty5A4VCoSyXy+Vq2965cwfjxo1DREQEjI2N31hvcnIyunXrBjc3N4SEhGgdFxMGIiIiiUh5aWiFQqGSMOTn3LlzePjwITw8PJRlOTk5OHr0KJYsWYKMjAzo6+sjJSUFXbt2hbm5OXbs2AFDQ0Ot42LCQEREVE517twZly9fVikLDAyEq6srgoODoa+vj+TkZPj4+EAul+P333/X2BJRECYMREREEintWRLm5uZwd3dXKTM1NYW1tTXc3d2RnJwMb29vpKWlYf369coBlABgY2MDfX39Qu+LCQMREZFUdOxeEufPn8fp06cBALVr11ZZFxsbi1q1ahW6LiYMREREEtGFS0NHRkYqf+7QoQOEEMWqLw+nVRIREZFGbGEgIiKSiAwSzJKQJBLpMWEgIiKSiI4NYZAUuySIiIhII7YwEBERSUTKCzfpGiYMREREkqm4nRLskiAiIiKN2MJAREQkEXZJEBERkUYVt0OCXRJERERUCGxhICIikgi7JIiIiEgjXbiXRElhwkBERCSVCjyIgWMYiIiISCO2MBAREUmkAjcwMGEgIiKSSkUe9MguCSIiItKILQxEREQS4SwJIiIi0qwCD2JglwQRERFpxBYGIiIiiVTgBgYmDERERFLhLAkiIiJ6q7GFgYiISDLFnyWhq50STBiIiIgkwi4JIiIieqsxYSAiIiKN2CVBREQkkYrcJcGEgYiISCIV+dLQ7JIgIiIijdjCQEREJBF2SRAREZFGFfnS0OySICIiIo3YwkBERCSVCtzEwISBiIhIIpwlQURERG81tjAQERFJhLMkiIiISKMKPISBXRJERESSkUm0FNHcuXMhk8kwfvx4ZVl6ejpGjRoFa2trmJmZoU+fPkhISNC6biYMREREFcCZM2ewYsUKNGrUSKU8KCgIu3btwq+//oojR44gPj4evXv31rp+JgxEREQSkUn0T1upqakYMGAAVq5cicqVKyvLk5KSsHr1anz33Xfo1KkTmjVrhrVr1+LkyZP466+/tNoHEwYiIiKJ5A16LO6irVGjRqFbt27w8vJSKT937hyysrJUyl1dXVGzZk2cOnVKq31w0GMhCCFe/p+TWcaREJWc5OTksg6BqESk/O+znXcuL0lS/B7l1fF6XXK5HHK5XG37TZs24fz58zhz5ozaugcPHsDIyAiWlpYq5VWrVsWDBw+0iosJQyGkpKQAADL/CS/jSIhKTlXrlWUdAlGJSklJgYWFRYnUbWRkBDs7O9RxcpCkPjMzMzg4qNY1ffp0hISEqJTduXMH48aNQ0REBIyNjSXZd0GYMBSCvb097ty5A3Nzc8h0dYJsBZKcnAwHBwfcuXMHCoWirMMhkhw/46VLCIGUlBTY29uX2D6MjY0RGxuLzExpWqKFEGp/b/JrXTh37hwePnwIDw8PZVlOTg6OHj2KJUuWYN++fcjMzMSzZ89UWhkSEhJgZ2enVUxMGApBT08PNWrUKOsw3joKhYInU6rQ+BkvPSXVsvAqY2PjEv+W/7rOnTvj8uXLKmWBgYFwdXVFcHAwHBwcYGhoiIMHD6JPnz4AgBs3biAuLg6tWrXSal9MGIiIiMopc3NzuLu7q5SZmprC2tpaWT506FB89tlnsLKygkKhwJgxY9CqVSu8++67Wu2LCQMREVEFtnDhQujp6aFPnz7IyMiAj48PfvzxR63rkYnSGDZKpIWMjAyEhoZi6tSp+fbZEZV3/IxTecSEgYiIiDTihZuIiIhIIyYMREREpBETBiIiItKICQMRERFpxISBSlRAQAB69uxZ1mEQSS4gIAAymQwjRoxQWzdq1CjIZDIEBASUfmBEJYQJAxFRETk4OGDTpk148eKFsiw9PR0bN25EzZo1i1yvEALZ2dlShEgkGSYMVGauXLkCX19fmJmZoWrVqhg0aBAeP36sXL9161Y0bNgQJiYmsLa2hpeXF54/fw4AiIyMRIsWLWBqagpLS0t4enri9u3bZXUo9Jby8PCAg4MDtm/frizbvn07atasiaZNmyrLMjIyMHbsWNja2sLY2Bht2rRRubNgZGQkZDIZ/vzzTzRr1gxyuRzHjx9Hbm4uQkND4eTkBBMTEzRu3Bhbt24t1WMkysOEgcrEs2fP0KlTJzRt2hRnz57F3r17kZCQgH79+gEA7t+/Dz8/PwwZMgTXrl1DZGQkevfurfzm1bNnT7Rv3x5///03Tp06heHDh/PGYFQmhgwZgrVr1yofr1mzBoGBgSrbTJ48Gdu2bUN4eDjOnz+P2rVrw8fHB0+ePFHZbsqUKZg7dy6uXbuGRo0aITQ0FD///DOWL1+Oq1evIigoCAMHDsSRI0dK5diIVAiiEuTv7y969OihVj5r1izh7e2tUnbnzh0BQNy4cUOcO3dOABC3bt1Se25iYqIAICIjI0sqbCKN8j7bDx8+FHK5XNy6dUvcunVLGBsbi0ePHokePXoIf39/kZqaKgwNDcWGDRuUz83MzBT29vZi3rx5QgghDh8+LACInTt3KrdJT08XlSpVEidPnlTZ79ChQ4Wfn1/pHCTRK3gvCSoTly5dwuHDh2FmZqa2LiYmBt7e3ujcuTMaNmwIHx8feHt7o2/fvqhcuTKsrKwQEBAAHx8fdOnSBV5eXujXrx+qVatWBkdCbzsbGxt069YNYWFhEEKgW7duqFKlinJ9TEwMsrKy4OnpqSwzNDREixYtcO3aNZW6mjdvrvw5OjoaaWlp6NKli8o2mZmZKt0dRKWFCQOVidTUVHTv3h3ffPON2rpq1apBX18fEREROHnyJPbv34/Fixfjiy++wOnTp+Hk5IS1a9di7Nix2Lt3LzZv3owvv/wSERERWt99jUgKQ4YMwejRowEAS5cuLXI9pqamyp9TU1MBAH/88QeqV6+ush3vP0FlgWMYqEx4eHjg6tWrqFWrFmrXrq2y5J00ZTIZPD09MWPGDFy4cAFGRkbYsWOHso6mTZti6tSpOHnyJNzd3bFx48ayOhx6y3Xt2hWZmZnIysqCj4+PyjoXFxcYGRnhxIkTyrKsrCycOXMGbm5uBdbp5uYGuVyOuLg4td8RBweHEjsWooKwhYFKXFJSEi5evKhSNnz4cKxcuRJ+fn6YPHkyrKysEB0djU2bNmHVqlU4e/YsDh48CG9vb9ja2uL06dN49OgR6tevj9jYWPz000/44IMPYG9vjxs3biAqKgqDBw8umwOkt56+vr6ye0FfX19lnampKUaOHIlJkybBysoKNWvWxLx585CWloahQ4cWWKe5uTkmTpyIoKAg5Obmok2bNkhKSsKJEyegUCjg7+9fosdE9DomDFTiIiMj1fpchw4dihMnTiA4OBje3t7IyMiAo6MjunbtCj09PSgUChw9ehSLFi1CcnIyHB0dsWDBAvj6+iIhIQHXr19HeHg4EhMTUa1aNYwaNQqffPJJGR0hEaBQKApcN3fuXOTm5mLQoEFISUlB8+bNsW/fPlSuXPmNdc6aNQs2NjYIDQ3FzZs3YWlpCQ8PD3z++edSh0+kEW9vTURERBpxDAMRERFpxISBiIiINGLCQERERBoxYSAiIiKNmDAQERGRRkwYiIiISCMmDERERKQREwaiciIgIAA9e/ZUPu7QoQPGjx9f6nFERkZCJpPh2bNnBW4jk8mwc+fOQtcZEhKCJk2aFCuuW7duQSaTqV1VlIikwYSBqBgCAgIgk8kgk8lgZGSE2rVrY+bMmcjOzi7xfW/fvh2zZs0q1LaF+SNPRPQmvDQ0UTF17doVa9euRUZGBvbs2YNRo0bB0NAQU6dOVds2MzMTRkZGkuzXyspKknqIiAqDLQxExSSXy2FnZwdHR0eMHDkSXl5e+P333wH8fzfCnDlzYG9vj3r16gEA7ty5g379+sHS0hJWVlbo0aMHbt26pawzJycHn332GSwtLWFtbY3Jkyfj9au4v94lkZGRgeDgYDg4OEAul6N27dpYvXo1bt26hY4dOwIAKleuDJlMhoCAAABAbm4uQkND4eTkBBMTEzRu3Bhbt25V2c+ePXtQt25dmJiYoGPHjipxFlZwcDDq1q2LSpUqwdnZGdOmTUNWVpbaditWrICDgwMqVaqEfv36ISkpSWX9qlWrUL9+fRgbG8PV1RU//vij1rEQUdEwYSCSmImJCTIzM5WPDx48iBs3biAiIgK7d+9W3gLZ3Nwcx44dw4kTJ2BmZqa8RTIALFiwAGFhYVizZg2OHz+OJ0+eqNzaOz+DBw/GL7/8gh9++AHXrl3DihUrYGZmBgcHB2zbtg0AcOPGDdy/fx/ff/89ACA0NBQ///wzli9fjqtXryIoKAgDBw7EkSNHALxMbHr37o3u3bvj4sWLGDZsGKZMmaL1a2Jubo6wsDD8888/+P7777Fy5UosXLhQZZvo6Ghs2bIFu3btwt69e3HhwgV8+umnyvUbNmzAV199hTlz5uDatWv4+uuvMW3aNISHh2sdDxEVgSCiIvP39xc9evQQQgiRm5srIiIihFwuFxMnTlSur1q1qsjIyFA+Z926daJevXoiNzdXWZaRkSFMTEzEvn37hBBCVKtWTcybN0+5PisrS9SoUUO5LyGEaN++vRg3bpwQQogbN24IACIiIiLfOA8fPiwAiKdPnyrL0tPTRaVKlcTJkydVth06dKjw8/MTQggxdepU4ebmprI+ODhYra7XARA7duwocP23334rmjVrpnw8ffp0oa+vL+7evass+/PPP4Wenp64f/++EEIIFxcXsXHjRpV6Zs2aJVq1aiWEECI2NlYAEBcuXChwv0RUdBzDQFRMu3fvhpmZGbKyspCbm4uPPvoIISEhyvUNGzZUGbdw6dIlREdHw9zcXKWe9PR0xMTEICkpCffv30fLli2V6wwMDNC8eXO1bok8Fy9ehL6+Ptq3b1/ouKOjo5GWloYuXbqolGdmZipvR37t2jWVOACgVatWhd5Hns2bN+OHH35ATEwMUlNTkZ2drXY76Jo1a6J69eoq+8nNzcWNGzdgbm6OmJgYDB06FB9//LFym+zsbFhYWGgdDxFpjwkDUTF17NgRy5Ytg5GREezt7WFgoPprZWpqqvI4NTUVzZo1w4YNG9TqsrGxKVIMJiYmWj8nNTUVAPDHH3+o/KEGXo7LkMqpU6cwYMAAzJgxAz4+PrCwsMCmTZuwYMECrWNduXKlWgKjr68vWaxEVDAmDETFZGpqitq1axd6ew8PD2zevBm2trZq37LzVKtWDadPn0a7du0AvPwmfe7cOXh4eOS7fcOGDZGbm4sjR47Ay8tLbX1eC0dOTo6yzM3NDXK5HHFxcQW2TNSvX185gDPPX3/9pfkgX3Hy5Ek4Ojriiy++UJbdvn1bbbu4uDjEx8fD3t5euR89PT3Uq1cPVatWhb29PW7evIkBAwZotX8ikgYHPRKVsgEDBqBKlSro0aMHjh07htjYWERGRmLs2LG4e/cuAGDcuHGYO3cudu7cievXr+PTTz994zUUatWqBX9/fwwZMgQ7d+5U1rllyxYAgKOjI2QyGXbv3o1Hjx4hNTUV5ubmmDhxIoKCghAeHo6YmBicP38eixcvVg4kHDFiBKKiojBp0iTcuHEDGzduRFhYmFbHW6dOHcTFxWHTpk2IiYnBDz/8kO8ATmNjY/j7++PSpUs4duwYxo4di379+sHOzg4AMGPGDISGhuKHH37Av//+i8uXL2Pt2rX47rvvtIqHiIqGCQNRKatUqRKOHj2KmjVronfv3qhfvz6GDh2K9PR0ZYvDhAkTMGjQIPj7+6NVq1YwNzdHr1693ljvsmXL0LdvX3z66adwdXXFxx9/jOfPnwMAqlevjhkzZmDKlCmoWrUqRo8eDQCYNWsWpk2bhtDQUNSvXx9du3bFH3/8AScnJwAvxxVs27YNO3fuROPGjbF8+XJ8/fXXWh3vBx98gKCgIIwePRpNmjTByZMnMW3aNLXtateujd69e+O9996Dt7c3GjVqpDJtctiwYVi1ahXWrl2Lhg0bon379ggLC1PGSkQlSyYKGkVFRERE9D9sYSAiIiKNmDAQERGRRkwYiIiISCMmDERERKQREwYiIiLSiAkDERERacSEgYiIiDRiwkBEREQaMWEgIiIijZgwEBERkUZMGIiIiEgjJgxERESk0f8BO6hMT2k+3ZUAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error\n", + "from sklearn.model_selection import cross_val_score\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", - "from sklearn.model_selection import train_test_split, GridSearchCV\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression, LogisticRegression\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, ConfusionMatrixDisplay\n", "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "# Удаление строк с NaN\n", + "feature_matrix = feature_matrix.dropna()\n", + "val_feature_matrix = val_feature_matrix.dropna()\n", + "test_feature_matrix = test_feature_matrix.dropna()\n", + "\n", + "# Разделение данных на обучающую и тестовую выборки\n", + "X_train = feature_matrix.drop(\"Store_Sales\", axis=1)\n", + "y_train = feature_matrix[\"Store_Sales\"]\n", + "X_val = val_feature_matrix.drop(\"Store_Sales\", axis=1)\n", + "y_val = val_feature_matrix[\"Store_Sales\"]\n", + "X_test = test_feature_matrix.drop(\"Store_Sales\", axis=1)\n", + "y_test = test_feature_matrix[\"Store_Sales\"]\n", + "\n", + "# Выбор модели\n", + "model = RandomForestRegressor(random_state=42)\n", + "\n", + "# Обучение модели\n", + "model.fit(X_train, y_train)\n", + "\n", + "# Предсказание и оценка\n", + "y_pred = model.predict(X_test)\n", + "\n", + "rmse = mean_squared_error(y_test, y_pred, squared=False)\n", + "r2 = r2_score(y_test, y_pred)\n", + "mae = mean_absolute_error(y_test, y_pred)\n", + "\n", + "print(f\"RMSE: {rmse}\")\n", + "print(f\"R²: {r2}\")\n", + "print(f\"MAE: {mae}\")\n", + "\n", + "# Кросс-валидация\n", + "scores = cross_val_score(model, X_train, y_train, cv=5, scoring='neg_mean_squared_error')\n", + "rmse_cv = (-scores.mean())**0.5\n", + "print(f\"Cross-validated RMSE: {rmse_cv}\")\n", + "\n", + "# Анализ важности признаков\n", + "feature_importances = model.feature_importances_\n", + "feature_names = X_train.columns\n", "\n", "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", + "# Проверка на переобучение\n", + "y_train_pred = model.predict(X_train)\n", "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", + "rmse_train = mean_squared_error(y_train, y_train_pred, squared=False)\n", + "r2_train = r2_score(y_train, y_train_pred)\n", + "mae_train = mean_absolute_error(y_train, y_train_pred)\n", "\n", - "# Список моделей и их гиперпараметров для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": (LinearRegression(), {}),\n", - " \"Random Forest Regression\": (RandomForestRegressor(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__max_depth': [None, 10, 20]\n", - " }),\n", - " \"Gradient Boosting Regression\": (GradientBoostingRegressor(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__learning_rate': [0.01, 0.1],\n", - " 'model__max_depth': [3, 5]\n", - " })\n", - "}\n", + "print(f\"Train RMSE: {rmse_train}\")\n", + "print(f\"Train R²: {r2_train}\")\n", + "print(f\"Train MAE: {mae_train}\")\n", "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df[numerical_cols]\n", - "y_reg = df['Daily_Customer_Count']\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", - "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи регрессии\n", - "print(\"Результаты для задачи регрессии:\")\n", - "for name, (model, params) in models_reg.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " grid_search = GridSearchCV(pipeline, params, cv=5, scoring='neg_mean_absolute_error')\n", - " grid_search.fit(X_train_reg, y_train_reg)\n", - " best_model = grid_search.best_estimator_\n", - " y_pred_reg = best_model.predict(X_test_reg)\n", - " mae = mean_absolute_error(y_test_reg, y_pred_reg)\n", - " mse = mean_squared_error(y_test_reg, y_pred_reg)\n", - " rmse = mean_squared_error(y_test_reg, y_pred_reg, squared=False)\n", - " r2 = r2_score(y_test_reg, y_pred_reg)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Best Parameters: {grid_search.best_params_}\")\n", - " print(f\"MAE: {mae}\")\n", - " print(f\"MSE: {mse}\")\n", - " print(f\"RMSE: {rmse}\")\n", - " print(f\"R²: {r2}\")\n", - " print()\n", - "\n", - "# Список моделей и их гиперпараметров для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": (LogisticRegression(), {\n", - " 'model__C': [0.1, 1, 10],\n", - " 'model__solver': ['liblinear', 'lbfgs']\n", - " }),\n", - " \"Random Forest Classification\": (RandomForestClassifier(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__max_depth': [None, 10, 20]\n", - " }),\n", - " \"Gradient Boosting Classification\": (GradientBoostingClassifier(), {\n", - " 'model__n_estimators': [100, 200],\n", - " 'model__learning_rate': [0.01, 0.1],\n", - " 'model__max_depth': [3, 5]\n", - " })\n", - "}\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df[numerical_cols]\n", - "y_class = (df['Daily_Customer_Count'] > df['Daily_Customer_Count'].mean()).astype(int)\n", - "\n", - "# Разделяем данные на обучающую и тестовую выборки для задачи классификации\n", - "X_train_class, X_test_class, y_train_class, y_test_class = train_test_split(X_class, y_class, test_size=0.2, random_state=42)\n", - "\n", - "# Обучаем и оцениваем модели для задачи классификации\n", - "print(\"Результаты для задачи классификации:\")\n", - "for name, (model, params) in models_class.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " grid_search = GridSearchCV(pipeline, params, cv=5, scoring='accuracy')\n", - " grid_search.fit(X_train_class, y_train_class)\n", - " best_model = grid_search.best_estimator_\n", - " y_pred_class = best_model.predict(X_test_class)\n", - " accuracy = accuracy_score(y_test_class, y_pred_class)\n", - " precision = precision_score(y_test_class, y_pred_class)\n", - " recall = recall_score(y_test_class, y_pred_class)\n", - " f1 = f1_score(y_test_class, y_pred_class)\n", - " print(f\"Model: {name}\")\n", - " print(f\"Best Parameters: {grid_search.best_params_}\")\n", - " print(f\"Accuracy: {accuracy}\")\n", - " print(f\"Precision: {precision}\")\n", - " print(f\"Recall: {recall}\")\n", - " print(f\"F1-score: {f1}\")\n", - " print()\n", - "\n", - " # Визуализация матрицы ошибок\n", - " cm = confusion_matrix(y_test_class, y_pred_class)\n", - " disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=['Less', 'More'])\n", - " disp.plot(cmap=plt.cm.Blues)\n", - " plt.title(f'Confusion Matrix for {name}')\n", - " plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Давайте проанализируем полученные значения метрик и определим, являются ли они нормальными или их можно улучшить.\n", - "\n", - "### Оценка смещения и дисперсии для задачи регрессии:\n", - "\n", - "### Вывод для задачи регрессии:\n", - "\n", - "- **Random Forest Regression** демонстрирует наилучшие результаты по метрикам MAE и R², что указывает на высокую точность и стабильность модели.\n", - "- **Linear Regression** и **Gradient Boosting Regression** также показывают хорошие результаты, но уступают случайному лесу.\n", - "\n", - "### Вывод для задачи классификации:\n", - "\n", - "- **Random Forest Classification** демонстрирует наилучшие результаты по всем метрикам (Accuracy, Precision, Recall, F1-score), что указывает на высокую точность и стабильность модели.\n", - "- **Logistic Regression** и **Gradient Boosting Classification** также показывают хорошие результаты, но уступают случайному лесу.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Для оценки смещения (bias) и дисперсии (variance) моделей можно использовать метод перекрестной проверки (cross-validation). Этот метод позволяет оценить, насколько хорошо модель обобщается на новых данных.\n", - "\n", - "Оценка смещения и дисперсии для задачи регрессии:\n", - "Для задачи регрессии мы будем использовать метрики MAE (Mean Absolute Error) и R² (R-squared) для оценки смещения и дисперсии.\n", - "\n", - "Оценка смещения и дисперсии для задачи классификации:\n", - "Для задачи классификации мы будем использовать метрики Accuracy, Precision, Recall и F1-score для оценки смещения и дисперсии.\n", - "\n", - "Пример кода для оценки смещения и дисперсии:" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Оценка смещения и дисперсии для задачи регрессии:\n", - "Model: Linear Regression\n", - "MAE (Cross-Validation): Mean = 214.80552977981765, Std = 10.606512171542404\n", - "R² (Cross-Validation): Mean = -0.013983192308878256, Std = 0.013712813782736416\n", - "\n", - "Model: Random Forest Regression\n", - "MAE (Cross-Validation): Mean = 228.04118684047177, Std = 8.752812633688961\n", - "R² (Cross-Validation): Mean = -0.16773777274246124, Std = 0.07089525362334798\n", - "\n", - "Model: Gradient Boosting Regression\n", - "MAE (Cross-Validation): Mean = 223.01691070195233, Std = 7.525579341977898\n", - "R² (Cross-Validation): Mean = -0.1007213971850566, Std = 0.039722456407795335\n", - "\n", - "Оценка смещения и дисперсии для задачи классификации:\n", - "Model: Logistic Regression\n", - "Accuracy (Cross-Validation): Mean = 0.5055307262569833, Std = 0.03499561917769727\n", - "Precision (Cross-Validation): Mean = 0.5065468552510806, Std = 0.054654647753909255\n", - "Recall (Cross-Validation): Mean = 0.36069969356486214, Std = 0.041986149284426406\n", - "F1-score (Cross-Validation): Mean = 0.41699563277139867, Std = 0.022647838103859376\n", - "\n", - "Model: Random Forest Classification\n", - "Accuracy (Cross-Validation): Mean = 0.47995654872749843, Std = 0.02347679112801281\n", - "Precision (Cross-Validation): Mean = 0.4767585025913199, Std = 0.027370716762614142\n", - "Recall (Cross-Validation): Mean = 0.44468845760980596, Std = 0.05499181588361489\n", - "F1-score (Cross-Validation): Mean = 0.47024453023626417, Std = 0.04502303274822186\n", - "\n", - "Model: Gradient Boosting Classification\n", - "Accuracy (Cross-Validation): Mean = 0.5178895096213532, Std = 0.027332603426564073\n", - "Precision (Cross-Validation): Mean = 0.5084858601973745, Std = 0.022621295137266188\n", - "Recall (Cross-Validation): Mean = 0.49668028600612874, Std = 0.04700469023993552\n", - "F1-score (Cross-Validation): Mean = 0.5055891495803455, Std = 0.03687694960165771\n", - "\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "from sklearn.model_selection import cross_val_score\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression, LogisticRegression\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "# Определяем категориальные и числовые столбцы\n", - "\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df[numerical_cols]\n", - "y_reg = df['Daily_Customer_Count']\n", - "\n", - "# Список моделей для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": LinearRegression(),\n", - " \"Random Forest Regression\": RandomForestRegressor(),\n", - " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", - "}\n", - "\n", - "# Оценка смещения и дисперсии для задачи регрессии\n", - "print(\"Оценка смещения и дисперсии для задачи регрессии:\")\n", - "for name, model in models_reg.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " mae_scores = -cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='neg_mean_absolute_error')\n", - " r2_scores = cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='r2')\n", - " print(f\"Model: {name}\")\n", - " print(f\"MAE (Cross-Validation): Mean = {mae_scores.mean()}, Std = {mae_scores.std()}\")\n", - " print(f\"R² (Cross-Validation): Mean = {r2_scores.mean()}, Std = {r2_scores.std()}\")\n", - " print()\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df[numerical_cols]\n", - "y_class = (df['Daily_Customer_Count'] > df['Daily_Customer_Count'].mean()).astype(int)\n", - "\n", - "# Список моделей для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": LogisticRegression(),\n", - " \"Random Forest Classification\": RandomForestClassifier(),\n", - " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", - "}\n", - "\n", - "# Оценка смещения и дисперсии для задачи классификации\n", - "print(\"Оценка смещения и дисперсии для задачи классификации:\")\n", - "for name, model in models_class.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " accuracy_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='accuracy')\n", - " precision_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='precision')\n", - " recall_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='recall')\n", - " f1_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='f1')\n", - " print(f\"Model: {name}\")\n", - " print(f\"Accuracy (Cross-Validation): Mean = {accuracy_scores.mean()}, Std = {accuracy_scores.std()}\")\n", - " print(f\"Precision (Cross-Validation): Mean = {precision_scores.mean()}, Std = {precision_scores.std()}\")\n", - " print(f\"Recall (Cross-Validation): Mean = {recall_scores.mean()}, Std = {recall_scores.std()}\")\n", - " print(f\"F1-score (Cross-Validation): Mean = {f1_scores.mean()}, Std = {f1_scores.std()}\")\n", - " print()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABJsAAAJOCAYAAAAQ1Aa7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJrklEQVR4nOzdeZxO5eP/8ffsq5kxmjXLMJI1RJjIEs0MIkWyFRKylSVKn8pMKZ9S+IQsLbQYLYpKspNIEmmx00hpBhHDYMxy/f7wm/vrNjPMcGbuGfN6Ph4e7vuc65xznfu+7nNf877PuY6TMcYIAAAAAAAAsICzoysAAAAAAACA6wdhEwAAAAAAACxD2AQAAAAAAADLEDYBAAAAAADAMoRNAAAAAAAAsAxhEwAAAAAAACxD2AQAAAAAAADLEDYBAAAAAADAMoRNAAAAAAAAsAxhE4qdPn36yNfXt0i3eeDAATk5OWnu3LlFut3r2ccff6zAwECdPn3a0VXJU5MmTTRmzJh8lz99+rQeeeQRhYaGysnJScOHDy+8ysHGyclJcXFxjq5GkbmW49HatWvl5OSktWvXWl4vALgeFeQ75ocffpC7u7v++OMPy+sxc+ZMVaxYUWlpafle5v3331f16tXl5uamgIAAy+uEnPr06aOIiAhHV6NItWzZUi1btryqZSMiItSnTx9L64OSg7CpGJs7d66cnJzk5OSk9evX55hvjFGFChXk5OSku+++2wE1LLjMzEyFh4fLyclJX3/9taOrY4kzZ84oLi6uUP64y37/c/v36KOPWr49q2RmZmrcuHEaNmyYXXAYEREhJycntWnTJtfl3nzzTdv+/fjjj7mWGTNmjJycnPTAAw/kOj/7D/W8/v33v/+1lX3yySc1ffp0JScn52u/XnrpJc2dO1eDBg3S+++/rwcffDBfy12t7Ncr+5+Pj48aNWqk9957r1C3iwvi4uLk5OQkZ2dn/fnnnznmp6SkyMvLS05OTho6dKgDaggA9v1FJycnubq66sYbb1SfPn106NAhR1fvuvKf//xH3bt3V6VKlWzTWrZsaff6e3l56ZZbbtGUKVOUlZVlt/yDDz6oZs2aqXHjxmrRooV27txpm9enTx+dP39es2bNyldddu3apT59+igyMlJvvvmmZs+ebc1O5iH7OzH7n5ubmyIiIvTYY4/pxIkThbpt2Pdvx48fn2uZnj17ysnJqch/tAfy4uroCuDKPD09lZCQoGbNmtlN/+abb/TXX3/Jw8PDQTUruNWrVyspKUkRERGaN2+e2rZt6+gqXbMzZ84oPj5ekq469b+cu+66Sw899FCO6dWqVbN8W1b58ssvtXv3bg0YMCDHPE9PT61Zs0bJyckKDQ21mzdv3jx5enrq3Llzua7XGKP58+crIiJCX375pU6dOqUyZcrkWrZ79+5q165djun169e3Pb7nnnvk5+enN954Q88///wV92v16tVq0qSJxo0bd8WyVqlXr55GjRolSUpKStJbb72l3r17Ky0tTf379y+yejjS2bNn5erquK8rDw8PzZ8/P8dZcJ999pmDagQAOT3//POqXLmyzp07p++//15z587V+vXr9dtvv8nT09PR1Svxtm3bppUrV+q7777LMa98+fKaMGGCJOmff/5RQkKCRowYoaNHj+rFF1+0lXv22Wdt/bfhw4dr8ODBWrNmjaQL/aPevXtr0qRJGjZsmJycnC5bn7Vr1yorK0v/+9//VLVqVat284pmzJghX19fpaamatWqVZo6daq2bt2a6w/j16M333wzR4hYlDw9PTV//nw988wzdtNTU1P1+eef81lHscKZTSVAu3bt9MknnygjI8NuekJCgho0aJDjD/bi7IMPPtCtt96qESNGaNGiRUpNTXV0lYq9atWqqVevXjn+NWrU6LLLnTlzJtfpGRkZOn/+/DXV6Urv25w5c9S0aVPdeOONOeY1bdpUvr6++uijj+ym//XXX/r222/Vvn37PNe7du1a/fXXX3rnnXeUkZFx2T/2b7311lxft1q1atnKODs7q0uXLnrvvfdkjLnsPknSkSNHLD1NPT/vxY033mir++jRo7V+/Xr5+vpq8uTJltUjvxz1efX09HRo2NSuXTvNnz8/x/SEhITLtlcAKEpt27ZVr1699Mgjj+itt97SE088of379+uLL75wdNUKRV79nMIyZ84cVaxYUU2aNMkxz9/f3/ZdPXz4cK1bt06VKlXS1KlTlZmZaSt38Q+Fxhg5O9v/Kda1a1f98ccftgDqco4cOSJJlvZL8vOadunSRb169dLAgQP18ccf64EHHtCGDRv0ww8/WFaP/MjKysrzx8nC5Obm5tAf+tu1a6cdO3bo559/tpv++eef6/z587rrrrscVDMgJ8KmEqB79+46duyYVqxYYZt2/vx5LViwQD169Mh1maysLE2ZMkW1atWSp6enQkJCNHDgQP3777925T7//HO1b99e4eHh8vDwUGRkpF544QW7L0bpwhk7tWvX1o4dO9SqVSt5e3vrxhtv1CuvvJLv/Th79qwWLlyobt26qWvXrjp79qw+//zzPMv//vvviomJkY+Pj8LDw/X888/nCAQ+/PBDNWjQQGXKlJGfn5/q1Kmj//3vfznWc//99yswMFDe3t5q0qSJvvrqqyvWN6/rky++VvvAgQMKCgqSJMXHx9tOb7342v9du3apS5cuCgwMlKenpxo2bGh5xy/7/dmyZYuaN28ub29vPf3007ZTbl999VVNmTJFkZGR8vDw0I4dOyRdOFPnjjvukI+PjwICAnTPPffYndIt/d9p0zt27FCPHj1UtmzZHGfZXezcuXNaunRpnpfKeXp66r777lNCQoLd9Pnz56ts2bKKiYnJc93z5s1TzZo11apVK7Vp00bz5s3L70uUp7vuukt//PGHtm3blmeZ7HFwEhMT9dVXX9ne5wMHDki60OHr16+fQkJC5Onpqbp16+rdd9+1W8eV3ov8CgoKUvXq1bV//3676fn9zGdlZSkuLk7h4eHy9vZWq1attGPHjhzX1GdflvHNN99o8ODBCg4OVvny5W3zv/76a1vbKVOmjNq3b6/t27fbbSs5OVl9+/ZV+fLl5eHhobCwMN1zzz22102SfvzxR8XExOiGG26Ql5eXKleurIcffthuPbmNp/HTTz+pbdu28vPzk6+vr1q3bq3vv//erkz2PmzYsEEjR45UUFCQfHx8dO+99+ro0aP5fcnVo0cPbdu2Tbt27bLbt9WrV+d5DM5Pm5CkEydOqE+fPvL391dAQIB69+6d5+UIV3ss2bt3rzp37qzQ0FB5enqqfPny6tatm06ePJm/FwBAiXTHHXdIUo7vi9zk53htjNH48eNVvnx52/fH9u3bc3x/ZPcbLpV9TL54nQXth17az5GktLQ0jRs3TlWrVpWHh4cqVKigMWPG5Bj7KC0tTSNGjFBQUJDKlCmjjh076q+//rria5Nt0aJFuvPOO694xpF0oa9z22236dSpU7ZQ6GKrVq3SW2+9ZXdpvyQ1aNBAgYGBl+0fSxcus88+yzooKCjH9+Qbb7yhWrVqycPDQ+Hh4RoyZEiO75bLvaYFkVc727Rpk2JjY+Xv7y9vb2+1aNFCGzZsyLH82rVr1bBhQ3l6eioyMlKzZs3KtQ1lX7I+b948274tXbpUknTo0CE9/PDDCgkJkYeHh2rVqqV33nknx7amTp2qWrVqydvbW2XLllXDhg3t+qOnTp3S8OHDFRERIQ8PDwUHB+uuu+7S1q1bbWVyG7MpNTVVo0aNUoUKFeTh4aGbb75Zr776ao6/W7L3YdGiRapdu7atrtn7kR9RUVGqXLlyjn70vHnzFBsbq8DAwFyXy0+bkKTZs2crMjJSXl5eatSokb799ttc15ffz92l0tPTFR8fr5tuukmenp4qV66cmjVrZvd3Lq4fXEZXAkRERCgqKkrz58+3XXb29ddf6+TJk+rWrZtef/31HMsMHDhQc+fOVd++ffXYY48pMTFR06ZN008//aQNGzbIzc1N0oUvfl9fX40cOVK+vr5avXq1nnvuOaWkpGjixIl26/z3338VGxur++67T127dtWCBQv05JNPqk6dOvm6HO6LL77Q6dOn1a1bN4WGhqply5aaN29ern+sZWZmKjY2Vk2aNNErr7yipUuXaty4ccrIyLBd7rRixQp1795drVu31ssvvyxJ2rlzpzZs2KDHH39cknT48GHdfvvtOnPmjB577DGVK1dO7777rjp27KgFCxbo3nvvLcA7kVNQUJBmzJihQYMG6d5779V9990nSbrlllskSdu3b7ed4fPUU0/Jx8dHH3/8sTp16qRPP/00X9s/d+6c/vnnnxzT/fz85O7ubnt+7NgxtW3bVt26dVOvXr0UEhJimzdnzhydO3dOAwYMkIeHhwIDA7Vy5Uq1bdtWVapUUVxcnM6ePaupU6eqadOm2rp1a44v0vvvv1833XSTXnrppcueBbRlyxadP39et956a55levTooejoaO3fv1+RkZGSLpwl0qVLF1vbvFRaWpo+/fRT2yVl3bt3V9++fXO9HE+68Otcbq9bQECA3VkyDRo0kCRt2LDB7hK7i9WoUUPvv/++RowYofLly9vqEBQUpLNnz6ply5bat2+fhg4dqsqVK+uTTz5Rnz59dOLECVtbzJbbe1EQGRkZ+uuvv1S2bFm76fn9zI8dO1avvPKKOnTooJiYGP3888+KiYnJ89fBwYMHKygoSM8995ztzKb3339fvXv3VkxMjF5++WWdOXNGM2bMULNmzfTTTz/Z2k7nzp21fft2DRs2TBERETpy5IhWrFihgwcP2p5HR0crKChITz31lAICAnTgwIErXp62fft23XHHHfLz89OYMWPk5uamWbNmqWXLlvrmm2/UuHFju/LDhg1T2bJlNW7cOB04cEBTpkzR0KFDc5xdl5fmzZurfPnySkhIsB1/PvroI/n6+uZ6ZlN+24QxRvfcc4/Wr1+vRx99VDVq1NDChQvVu3fvXPf5ao4l58+fV0xMjNLS0jRs2DCFhobq0KFDWrx4sU6cOCF/f/98vQYASp7sUOfS74vcXOl4LUnPPfecxo8fr3bt2qldu3baunWroqOjr+ls6YL0Q3Pr52RlZaljx45av369BgwYoBo1aujXX3/V5MmTtWfPHi1atMi2/COPPKIPPvhAPXr00O23367Vq1fn++zUQ4cO6eDBg5ft21wq+0emS8882rx5s7p27ao5c+botttuy7Hcrbfemmsoc7EpU6bovffe08KFC22XtWX3PePi4hQfH682bdpo0KBB2r17t2bMmKHNmzfb9Qeky/cdC7Kfkn07W716tdq2basGDRpo3LhxcnZ21pw5c3TnnXfq22+/tZ2d/9NPPyk2NlZhYWGKj49XZmamnn/+edsPuZdavXq1Pv74Yw0dOlQ33HCDIiIidPjwYTVp0sQW5AQFBenrr79Wv379lJKSYruZy5tvvqnHHntMXbp00eOPP65z587pl19+0aZNm2x/izz66KNasGCBhg4dqpo1a+rYsWNav369du7cmed7b4xRx44dtWbNGvXr10/16tXTsmXLNHr0aB06dCjHmejr16/XZ599psGDB6tMmTJ6/fXX1blzZx08eFDlypXL12vevXt3ffDBB/rvf/8rJycn/fPPP1q+fLnef//9XIOr/LaJt99+WwMHDtTtt9+u4cOH6/fff1fHjh0VGBioChUq2NZXkM9dbnWZMGGCHnnkETVq1EgpKSn68ccftXXrVs7Kuh4ZFFtz5swxkszmzZvNtGnTTJkyZcyZM2eMMcbcf//9plWrVsYYYypVqmTat29vW+7bb781ksy8efPs1rd06dIc07PXd7GBAwcab29vc+7cOdu0Fi1aGEnmvffes01LS0szoaGhpnPnzvnan7vvvts0bdrU9nz27NnG1dXVHDlyxK5c7969jSQzbNgw27SsrCzTvn174+7ubo4ePWqMMebxxx83fn5+JiMjI89tDh8+3Egy3377rW3aqVOnTOXKlU1ERITJzMw0xhiTmJhoJJk5c+bY7XOLFi1yrLN3796mUqVKtudHjx41ksy4ceNylG3durWpU6eO3WuZlZVlbr/9dnPTTTflWe9skvL8N3/+fLu6SjIzZ860Wz57v/z8/HK8zvXq1TPBwcHm2LFjtmk///yzcXZ2Ng899JBt2rhx44wk07179yvW1xhj3nrrLSPJ/PrrrznmZbfVjIwMExoaal544QVjjDE7duwwksw333xj1+4vtmDBAiPJ7N271xhjTEpKivH09DSTJ0/OdZ/z+rdx48Yc9XJ3dzeDBg264r5d+lkzxpgpU6YYSeaDDz6wTTt//ryJiooyvr6+JiUlxa5eub0Xl9tedHS0OXr0qDl69Kj59ddfzYMPPmgkmSFDhtjK5fczn5ycbFxdXU2nTp3sysXFxRlJpnfv3rZp2e9Ds2bN7D5jp06dMgEBAaZ///5260hOTjb+/v626f/++6+RZCZOnJjn/i1cuDDX9/pSl36+OnXqZNzd3c3+/ftt0/7++29TpkwZ07x58xz70KZNG5OVlWWbPmLECOPi4mJOnDhx2e1mt/2jR4+aJ554wlStWtU277bbbjN9+/a11e/i9yO/bWLRokVGknnllVds5TIyMswdd9yR43iU32PJmjVrjCSzZs0aY4wxP/30k5FkPvnkk8vuK4CSK/tYt3LlSnP06FHz559/mgULFpigoCDj4eFh/vzzz8sun5/j9ZEjR4y7u7tp37693fH06aefzvH9kX3szKueiYmJtmkF7Yde2s95//33jbOzs10/zxhjZs6caSSZDRs2GGOM2bZtm5FkBg8ebFeuR48eefbhLrZy5UojyXz55Zc55rVo0cJUr17d9l29a9cuM3r0aCMpR5/hhx9+MKGhoWbhwoV5bmvAgAHGy8vrsvUxxv47Klv2+xQdHW3r4xpjzLRp04wk884779jVO7fX9Erb2717tzl69Kg5cOCAeeedd4yXl5cJCgoyqampxpgL30033XSTiYmJsWsrZ86cMZUrVzZ33XWXbVqHDh2Mt7e3OXTokG3a3r17jaura442JMk4Ozub7du3203v16+fCQsLM//884/d9G7duhl/f39bG7vnnntMrVq1LruP/v7+dt/nubn074Ds7/Lx48fblevSpYtxcnIy+/bts9sHd3d3u2k///yzkWSmTp162e1m9yMnTpxofvvtN7u/b6ZPn258fX1Namqq6d27t/Hx8bEtl982cf78eRMcHGzq1atn0tLSbOVmz55tJNn9TZTfz50xF/qyFx8f6tatm+NzgesXl9GVENmXnS1evFinTp3S4sWL87x845NPPpG/v7/uuusu/fPPP7Z/DRo0kK+vr9114F5eXrbHp06d0j///KM77rhDZ86csbtkRJJ8fX3Vq1cv23N3d3c1atRIv//++xXrf+zYMS1btkzdu3e3TevcubOcnJz08ccf57rMxXd3yv614vz581q5cqWkC2eopKamXva0yyVLlqhRo0Z2l335+vpqwIABOnDgQIEvYSqI48ePa/Xq1eratavttf3nn3907NgxxcTEaO/evfm6S8w999yjFStW5PjXqlUru3IeHh7q27dvruvo3Lmz3a9ESUlJ2rZtm/r06WN3Zs0tt9yiu+66S0uWLMmxjvze/e7YsWOSLv9LqouLi7p27WobB2fevHmqUKGC7VTs3MybN08NGza0DYKZfelWXpfSDRgwINfXrWbNmjnKli1bNtezoPJjyZIlCg0NtWvbbm5ueuyxx3T69Gl98803duUvfS+uZPny5QoKClJQUJDq1Kmj999/X3379rX7xTe/n/lVq1YpIyNDgwcPttvGsGHD8tx+//795eLiYnu+YsUKnThxQt27d7fblouLixo3bmzblpeXl9zd3bV27docl/Jly/61d/HixUpPT8/X65GZmanly5erU6dOqlKlim16WFiYevToofXr1yslJcVumQEDBtidjn/HHXcoMzOzQLeu7tGjh/bt26fNmzfb/s/rGJzfNrFkyRK5urpq0KBBtnIuLi453o9rOZZkn7m0bNmyIh/fBEDRatOmjYKCglShQgV16dJFPj4++uKLL+wugc5Nfo7XK1eu1Pnz53MMXJ191sjVKkg/NLd+zieffKIaNWqoevXqdt9Jd955pyTZvpOy+zWPPfaY3fL5rf+V+ja7du2yfVdXr15dEydOVMeOHTV37ly7cp06dZKTk5OmTJmili1b6p577smxrrJly+rs2bNXdczOfp+GDx9uNx5U//795efnl2MYicv1HfNy8803KygoSBEREXr44YdVtWpVff311/L29pZ0YSD1vXv3qkePHjp27JjtPUlNTVXr1q21bt06ZWVlKTMzUytXrlSnTp0UHh5uW3/VqlXzvGKiRYsWdv04Y4w+/fRTdejQQcYYuzYQExOjkydP2i6BCwgI0F9//aXNmzfnuW8BAQHatGmT/v7773y/HkuWLJGLi0uOtjVq1CgZY3LcfbtNmza2s/qlC31vPz+/fP09la1WrVq65ZZbbP3ohIQE3XPPPbb34GL5bRM//vijjhw5okcffdTuyonsS/0vlt/PXW4CAgK0fft27d27N9/7i5KLy+hKiKCgILVp00YJCQk6c+aMMjMz1aVLl1zL7t27VydPnlRwcHCu8y++dnz79u165plntHr16hx/oF06nkf58uVzXD9dtmxZ/fLLL1es/0cffaT09HTVr19f+/bts01v3Lix5s2bpyFDhtiVd3Z2tvtDUvq/QRWzT9cdPHiwPv74Y7Vt21Y33nijoqOj1bVrV8XGxtqW+eOPP3JcUiNduCwqe37t2rWvWP+rsW/fPhlj9Oyzz+rZZ5/NtcyRI0dyHUT7YuXLl89z/KOL3XjjjXZfDherXLmy3fPsP7JvvvnmHGVr1KihZcuWKTU1VT4+Pnmu40rMFQbc7tGjh15//XX9/PPPSkhIULdu3fIcB+HEiRNasmSJhg4datd+mjZtqk8//VR79uzJcXe+m266KV+vW3Zd8zMGQ27++OMP3XTTTTkG+by4jV2soK9j48aNNX78eGVmZuq3337T+PHj9e+//9q91/n9zGfX5dK71gQGBubZgb60vtmdg+wOxaX8/PwkXejAvvzyyxo1apRCQkLUpEkT3X333XrooYdslz22aNFCnTt3Vnx8vCZPnqyWLVuqU6dO6tGjR56Dbx49elRnzpzJs+1mZWXpzz//tBsIvmLFinblsvc1rz+qclO/fn1Vr15dCQkJCggIUGhoaJ6vQX7bxB9//KGwsLActyi+dN+u5VhSuXJljRw5UpMmTdK8efN0xx13qGPHjurVqxeX0AHXmenTp6tatWo6efKk3nnnHa1bt87uWHr+/HkdP37cbpmgoKB8Ha+zj1s33XRTjuXzc5leXgrSD82tn7N3717t3Lkzzx9xLv7+c3Z2tvsjX8q9H3Q5efVtIiIibHcp279/v1588UUdPXo0x53B8vMjY/Y2rqZfklf/zt3dXVWqVMnRJ7lc3zEvn376qfz8/HT06FG9/vrrSkxMtAsNs/sJuV0Snu3kyZM6d+6czp49m+ud9PK6u96lfZKjR4/qxIkTmj17tmbPnp3rMtlt4Mknn9TKlSvVqFEjVa1aVdHR0erRo4eaNm1qK/vKK6+od+/eqlChgho0aKB27drpoYceyvE3ycX++OMPhYeH57g7cl79wEv7JNKFfklB+iTShX70a6+9phEjRui7777Lc7yt/LaJvD7jbm5uOfY/v5+73Dz//PO65557VK1aNdWuXVuxsbF68MEHbZeB4vpC2FSC9OjRQ/3791dycrLatm2b590nsrKyFBwcnOcZH9kHhhMnTqhFixby8/PT888/r8jISHl6emrr1q168sknc9zW8+KzGy52pVBBkq0uFx/QL/b7779f9kCem+DgYG3btk3Lli3T119/ra+//lpz5szRQw89lOtAvAXl5OSU675dOmhlXrJfvyeeeCLPQa+tvFXtxV/0BZlnxfovln29+b///nvZX1MbN26syMhIDR8+XImJiXmeJSJd+AUlLS1Nr732ml577bUc8+fNm6f4+Ph81S83J06c0A033HDVyxdEQd+LG264wRaaxcTEqHr16rr77rv1v//9TyNHjpSU/8+8FfXNbtfvv/9+rmNlXTwe1vDhw9WhQwctWrRIy5Yt07PPPqsJEyZo9erVql+/vpycnLRgwQJ9//33+vLLL7Vs2TI9/PDDeu211/T999/nCGGu1rUcuy7Wo0cPzZgxQ2XKlNEDDzyQI0wqLNd6LHnttdfUp08fff7551q+fLkee+wxTZgwQd9///0Vz3gAUHI0atRIDRs2lHThDJpmzZqpR48e2r17t3x9ffXdd9/lOCs6MTFRERERVzxeF0ReIcml/aeC9kNz+/7MyspSnTp1NGnSpFy3efE4M9fi4r5Nbnx8fOx+4GratKluvfVWPf3007mOrXo5//77r7y9vS3pu13J1WyjefPmtj5Thw4dVKdOHfXs2VNbtmyRs7Oz7X2bOHGi6tWrl+s6fH19r+pOcnn1SXr16pVnuJUdYtSoUUO7d+/W4sWLtXTpUn366ad644039Nxzz9n6kF27dtUdd9yhhQsXavny5Zo4caJefvllffbZZ/kanzY/rOqTdO/eXWPHjlX//v1Vrlw5RUdHW1G9fLmWz13z5s21f/9+W5/krbfe0uTJkzVz5kw98sgjhVVlOAhhUwly7733auDAgfr+++8vO7Bt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ZkJCQsygQYPMv//+m+96F3R7J0+eNP7+/nZ9059++sncd999ply5csbDw8NUqlTJdO3a1axatcpu2VWrVpn69esbd3d3ExkZad566y0zatQo4+npaVcut+/abIcPHzZDhgwxFSpUMG5ubiY0NNS0bt3azJ4921Zm1qxZpnnz5rb6REZGmtGjR9vaSFpamhk9erSpW7euKVOmjPHx8TF169Y1b7zxht22cvs74NSpU2bEiBEmPDzcuLm5mZtuuslMnDgxx/uY1z7k9hm6VH77kdl/R10qP23CGGPeeOMNU7lyZePh4WEaNmxo1q1bZ1q0aGH33hqT/8/dpfs2fvx406hRIxMQEGC8vLxM9erVzYsvvmjOnz9/2f1CyeRkjMWnsQAo9TIzM1WzZk117do110u7iotFixapR48e2r9/v8LCwhxdHYc5ceKEypYtq/Hjx+s///mPo6sDAChBIiIi1LJlS82dO9fRVSl0rVu3Vnh4+GXH7btaaWlpioiI0FNPPZWvs2ivZ506ddL27dttd7YDUDIxZhMAy7m4uOj555/X9OnTc71ev7h4+eWXNXTo0FIVNJ09ezbHtOwxK1q2bFm0lQEAoAR56aWX9NFHH+UY7NwKc+bMkZubW56XO16vLu2X7N27V0uWLKFPAlwHOLMJAEqRuXPnau7cuWrXrp18fX21fv16zZ8/X9HR0Vq2bJmjqwcAKGFK05lNsF5YWJj69OmjKlWq6I8//tCMGTOUlpamn376STfddJOjqwfgGjBAOACUIrfccotcXV31yiuvKCUlxTZo+Pjx4x1dNQAAUMrExsZq/vz5Sk5OloeHh6KiovTSSy8RNAHXAc5sAgAAuA5Mnz5dEydOVHJysurWraupU6eqUaNGeZb/5JNP9Oyzz+rAgQO66aab9PLLL9vdCdIYo3HjxunNN9/UiRMn1LRpU82YMYM/AgEAwBU5dMymCRMm6LbbblOZMmUUHBysTp06affu3XZlWrZsKScnJ7t/l17LfPDgQbVv317e3t4KDg7W6NGjlZGRUZS7AgAA4DAfffSRRo4cqXHjxmnr1q2qW7euYmJidOTIkVzLf/fdd+revbv69eunn376SZ06dVKnTp3022+/2cq88sorev311zVz5kxt2rRJPj4+iomJ0blz54pqtwAAQAnl0DObYmNj1a1bN912223KyMjQ008/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tWKVAAAAJUbv3r3VoUMHPf3005KkUaNGObhGAAAAjnNNYdO6devUu3dvhYWF6dVXX9Wdd96p77//3qq6AQAAlAi//fab9uzZIzc3N02fPt3R1QEAAHCoAg8QnpycrLlz5+rtt99WSkqKunbtqrS0NC1atEg1a9YsjDoCAAAUa2FhYZKk+Ph49ejRg3EuAQBAqVagM5s6dOigm2++Wb/88oumTJmiv//+W1OnTi2sugEAAJQITZs2VUZGhiRp5syZaty4cY4yZ8+eLepqAQAAOESBwqavv/5a/fr1U3x8vNq3by8XF5fCqhcAAECJ8dxzz8nV9cIJ435+flq0aJFtXlpaml577TVVrlzZQbUDAAAoWgUKm9avX69Tp06pQYMGaty4saZNm6Z//vmnsOoGAABQIpw/f15jx45Vw4YNdfvtt9vCpjlz5qhy5cqaMmWKRowY4dhKAgAAFJEChU1NmjTRm2++qaSkJA0cOFAffvihwsPDlZWVpRUrVujUqVOFVU8AAIBi69lnn9WMGTMUERGhAwcO6P7779eAAQM0efJkTZo0SQcOHNCTTz7p6GoCAAAUiau6G52Pj48efvhhrV+/Xr/++qtGjRql//73vwoODlbHjh2triMAAECx9sknn+i9997TggULtHz5cmVmZiojI0M///yzunXrxtADAACgVLmqsOliN998s1555RX99ddf+vDDD+Xk5GRFvQAAAEqMv/76Sw0aNJAk1a5dWx4eHhoxYgT9IgAAUCq5FqTwww8/fMUy5cqVu+rKAAAAlESZmZlyd3e3PXd1dZWvr68DawQAAOA4BQqb5s6dq0qVKql+/foyxuRahl/wAABAaWOMUZ8+feTh4SFJOnfunB599FH5+PjYlfvss88cUT0AAIAiVaCwadCgQZo/f74SExPVt29f9erVS4GBgYVVNwAAgBKhd+/eds979erloJoAAAA4XoHCpunTp2vSpEn67LPP9M4772js2LFq3769+vXrp+joaM5qAgAApdKcOXMcXQUAAIBio8ADhHt4eKh79+5asWKFduzYoVq1amnw4MGKiIjQ6dOnC6OOAAAAAAAAKCGu6W50zs7OcnJykjFGmZmZVtUJAAAAAAAAJVSBw6a0tDTNnz9fd911l6pVq6Zff/1V06ZN08GDB7nrCgAAAAAAQClXoDGbBg8erA8//FAVKlTQ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8GHb/DVr1hhJZsmSJebWW281bm5uZs2aNVesnzHGpKSkGEnmf//7n23awYMHzf3332/8/f1N2bJlTceOHU1iYqJtfnp6uhk2bJjx9/c3gYGBZsyYMeahhx6ye11atGhhhgwZYh5//HFTrlw507JlS2OMMb/++quJjY01Pj4+Jjg42PTq1cscPXrUttwnn3xiateubTw9PU1gYKBp3bq17bVYs2aNue2224y3t7fx9/c3t99+uzlw4IAxxphx48aZunXr2taTmZlp4uPjzY033mjc3d1N3bp1zddff22bn9/35mK5vff33XefqV+/vu35P//8Y7p162bCw8ONl5eXqV27tklISLBbpkWLFmbYsGFm9OjRpmzZsiYkJMSMGzfOrsyePXvMHXfcYTw8PEyNGjXM8uXLc7x3v/zyi2nVqpXtterfv785depUjvq++OKLJjg42Pj7+5v4+HiTnp5unnjiCVO2bFlz4403mnfeeSfPfc5rvy+2du1ac9tttxl3d3cTGhpqnnzySZOenm63v1a2hXHjxhlJdv/yau/5ec8yMzPNSy+9ZCIiIoynp6e55ZZbzCeffGK3zOeff26qVq1qPDw8TMuWLc3cuXONJPPvv/8aY4yZM2eO8ff3N59//rmpUaOGcXFxMYmJiebcuXNm1KhRJjw83Hh7e5tGjRqZNWvWmJiYGFO+fHmzY8cOc/fdd5uAgADj7e1tatasab766iuTlZVljh8/bnr06GEkGVdXV+Pt7W3c3d3NuHHjzL59+4wkEx4ebjw9PU21atXM0KFD7d6H0aNHm8cff9z2OS1fvrypXr26qVq1qq3dVapUyTz++OO2/cyrvtmy93Pp0qWmevXqxsfHx8TExJi///7bGGOu+b359ttvjSRz5MgR27QrtfMrfdbT0tLMkCFDTGhoqPHw8DAVK1Y0L730kjHGmEqVKtnVtVKlSrb9uPh4kl3XiRMnmtDQUBMYGGgGDx5szp8/byvz999/m3bt2hlPT08TERFh5s2bZypVqmQmT56c6/7nth1jjBk5cqQpW7as3bQ333zTVK9e3Xh4eJibb77ZTJ8+3W7+hg0bTN26dY2Hh4dp0KCBWbhwoZFkfvrpJ2NM3t8RV2r72W3whhtuMJ6enqZq1aq248XlXldjcn7X5Pd4dbnXGNc/+lils49F/yp39K/oX9G/on9VXPpXhE1F5Go6QtWrVzeLFy82u3fvNl26dDGVKlWyfVns27fP+Pj4mMmTJ5s9e/aYDRs2mPr165s+ffrY1vn222+bJUuWmP3795uNGzeaqKgo07ZtW9v87IZ+yy23mOXLl5t9+/aZY8eOXbF+6enpZvLkyUaSmTFjhjHGmPPnz5saNWqYhx9+2Pzyyy9mx44dpkePHubmm282aWlpxhhjxo8fbwIDA81nn31mdu7caR599FHj5+eXoyPk6+trRo8ebXbt2mV27dpl/v33XxMUFGTGjh1rdu7cabZu3Wruuusu06pVK2PMhYOJq6urmTRpkklMTDS//PKLmT59ujl16pRJT083/v7+5oknnjD79u0zO3bsMHPnzjV//PGHMSbnQWXSpEnGz8/PzJ8/3+zatcuMGTPGuLm5mT179uT7vbnSe//rr7+a0NBQ07hxY9u0v/76y0ycONH89NNPZv/+/eb11183Li4uZtOmTXavjZ+fn4mLizN79uwx7777rnFycjLLly83xlw4uNeuXdu0bt3abNu2zXzzzTemfv36du/d6dOnTVhYmLnvvvvMr7/+alatWmUqV65sevfubVffMmXKmCFDhphdu3aZt99+20gyMTEx5sUXXzR79uwxL7zwgnFzczN//vlnrvuc235f7K+//jLe3t5m8ODBZufOnWbhwoXmhhtusOvcWd0WTp06Zbp27WpiY2NNUlKSSUpKsrXNq3nPxo8fb6pXr26WLl1q9u/fb+bMmWM8PDzM2rVrjTHG/P7778bNzc088cQTZteuXWb+/PnmxhtvzNEZcnNzM7fffrvZsGGD2bVrl0lNTTWPPPKIuf322826devMvn37zMSJE427u7txcnIyEyZMMO3btzd33XWX+eWXX8z+/fvNl19+ab755htjjDFDhgwx9erVM5JMuXLlzKhRo8zs2bPNH3/8Yfbs2WMkmQ8++MD8/vvv5vXXXzeSTHR0tO198Pb2Np6enubTTz81O3bsMKGhoUaSufnmm23tTpK59957ba9FbvX18PCwfW6y97NNmzZm8+bNZsuWLaZGjRqmR48exhhzTe/NqVOnzMCBA03VqlVNZmamMSZ/7fxKn/WJEyeaChUqmHXr1pkDBw6Yb7/91vYHypEjR4wkM2fOHJOUlGTrhOXWGfLz8zOPPvqo2blzp/nyyy+Nt7e3mT17tq1MmzZt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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import cross_val_score\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.linear_model import LinearRegression, LogisticRegression\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.compose import ColumnTransformer\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "\n", - "# Загружаем набор данных\n", - "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", - "\n", - "# Определяем категориальные и числовые столбцы\n", - "numerical_cols = [\"Store_Area\", \"Items_Available\", \"Store_Sales\"]\n", - "\n", - "# Создаем преобразователь для категориальных и числовых столбцов\n", - "preprocessor = ColumnTransformer(\n", - " transformers=[\n", - " ('num', StandardScaler(), numerical_cols)\n", - " ])\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", - "X_reg = df[numerical_cols]\n", - "y_reg = df['Daily_Customer_Count']\n", - "\n", - "# Список моделей для задачи регрессии\n", - "models_reg = {\n", - " \"Linear Regression\": LinearRegression(),\n", - " \"Random Forest Regression\": RandomForestRegressor(),\n", - " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", - "}\n", - "\n", - "# Оценка смещения и дисперсии для задачи регрессии\n", - "mae_means = []\n", - "mae_stds = []\n", - "r2_means = []\n", - "r2_stds = []\n", - "\n", - "for name, model in models_reg.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " mae_scores = -cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='neg_mean_absolute_error')\n", - " r2_scores = cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='r2')\n", - " mae_means.append(mae_scores.mean())\n", - " mae_stds.append(mae_scores.std())\n", - " r2_means.append(r2_scores.mean())\n", - " r2_stds.append(r2_scores.std())\n", - "\n", - "# Визуализация результатов для задачи регрессии\n", - "fig, ax = plt.subplots(1, 2, figsize=(12, 6))\n", - "\n", - "ax[0].bar(models_reg.keys(), mae_means, yerr=mae_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[0].set_ylabel('MAE')\n", - "ax[0].set_title('Mean Absolute Error (MAE) for Regression Models')\n", - "ax[0].yaxis.grid(True)\n", - "\n", - "ax[1].bar(models_reg.keys(), r2_means, yerr=r2_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[1].set_ylabel('R²')\n", - "ax[1].set_title('R-squared (R²) for Regression Models')\n", - "ax[1].yaxis.grid(True)\n", - "\n", - "plt.tight_layout()\n", - "plt.show()\n", - "\n", - "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", - "X_class = df[numerical_cols]\n", - "y_class = (df['Daily_Customer_Count'] > df['Daily_Customer_Count'].mean()).astype(int)\n", - "\n", - "# Список моделей для задачи классификации\n", - "models_class = {\n", - " \"Logistic Regression\": LogisticRegression(),\n", - " \"Random Forest Classification\": RandomForestClassifier(),\n", - " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", - "}\n", - "\n", - "# Оценка смещения и дисперсии для задачи классификации\n", - "accuracy_means = []\n", - "accuracy_stds = []\n", - "precision_means = []\n", - "precision_stds = []\n", - "recall_means = []\n", - "recall_stds = []\n", - "f1_means = []\n", - "f1_stds = []\n", - "\n", - "for name, model in models_class.items():\n", - " pipeline = Pipeline(steps=[\n", - " ('preprocessor', preprocessor),\n", - " ('model', model)\n", - " ])\n", - " accuracy_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='accuracy')\n", - " precision_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='precision')\n", - " recall_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='recall')\n", - " f1_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='f1')\n", - " accuracy_means.append(accuracy_scores.mean())\n", - " accuracy_stds.append(accuracy_scores.std())\n", - " precision_means.append(precision_scores.mean())\n", - " precision_stds.append(precision_scores.std())\n", - " recall_means.append(recall_scores.mean())\n", - " recall_stds.append(recall_scores.std())\n", - " f1_means.append(f1_scores.mean())\n", - " f1_stds.append(f1_scores.std())\n", - "\n", - "# Визуализация результатов для задачи классификации\n", - "fig, ax = plt.subplots(2, 2, figsize=(12, 12))\n", - "\n", - "ax[0, 0].bar(models_class.keys(), accuracy_means, yerr=accuracy_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[0, 0].set_ylabel('Accuracy')\n", - "ax[0, 0].set_title('Accuracy for Classification Models')\n", - "ax[0, 0].yaxis.grid(True)\n", - "\n", - "ax[0, 1].bar(models_class.keys(), precision_means, yerr=precision_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[0, 1].set_ylabel('Precision')\n", - "ax[0, 1].set_title('Precision for Classification Models')\n", - "ax[0, 1].yaxis.grid(True)\n", - "\n", - "ax[1, 0].bar(models_class.keys(), recall_means, yerr=recall_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[1, 0].set_ylabel('Recall')\n", - "ax[1, 0].set_title('Recall for Classification Models')\n", - "ax[1, 0].yaxis.grid(True)\n", - "\n", - "ax[1, 1].bar(models_class.keys(), f1_means, yerr=f1_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", - "ax[1, 1].set_ylabel('F1-score')\n", - "ax[1, 1].set_title('F1-score for Classification Models')\n", - "ax[1, 1].yaxis.grid(True)\n", - "\n", - "plt.tight_layout()\n", + "# Визуализация результатов\n", + "plt.figure(figsize=(10, 6))\n", + "plt.scatter(y_test, y_pred, alpha=0.5)\n", + "plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'k--', lw=2)\n", + "plt.xlabel('Actual Sales')\n", + "plt.ylabel('Predicted Sales')\n", + "plt.title(\"Actual vs Predicted Sales\")\n", "plt.show()" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Точность предсказаний: Модель показывает довольно высокий R² (0.9975), что указывает на хорошее объяснение вариации распродаж. Значения RMSE и MAE довольно низки, что говорит о том, что модель достаточно точно предсказывает цены.\n", + "\n", + "Переобучение: Разница между RMSE на обучающей и тестовой выборках не очень большая, что указывает на то, что переобучение не является критическим. Однако, стоит быть осторожным и продолжать мониторинг этого показателя.\n" + ] } ], "metadata": {