From 5966479cf8fee885bc6ada30bc0854722c64d5ed Mon Sep 17 00:00:00 2001 From: mayday Date: Thu, 14 Nov 2024 11:47:25 +0400 Subject: [PATCH 1/3] lab4 --- lab_4/lab4.ipynb | 1773 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1773 insertions(+) create mode 100644 lab_4/lab4.ipynb diff --git a/lab_4/lab4.ipynb b/lab_4/lab4.ipynb new file mode 100644 index 0000000..9b7c97e --- /dev/null +++ b/lab_4/lab4.ipynb @@ -0,0 +1,1773 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Начало лабораторной работы" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['Store ID ', 'Store_Area', 'Items_Available', 'Daily_Customer_Count',\n", + " 'Store_Sales'],\n", + " dtype='object')\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "print(df.columns)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Бизнес-цели" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование посетителей в магазине:\n", + "\n", + "Цель: Разработать модель, которая будет предсказывать посещение клиентами магазина на основе его характеристик (размер, распродажи, количество ассортимента).\n", + "\n", + "Применение:\n", + "Предсказывание посещения магазинов клиентами.\n", + "\n", + "2. Оптимизация параметров магазина:\n", + "\n", + "Цель: Определить оптимальные коэффициенты для различных факторов, влияющих на посещаемость магазина чтобы максимизировать прибыль компании при наименьших затратах на пространство магазина и его ассортиментт.\n", + "\n", + "Применение:\n", + "Создавать магазин с максимальной посещаемостью." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование посетителей в магазине" + ] + }, + { + "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" + ] + } + ], + "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())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Оптимизация параметров магазина:" + ] + }, + { + "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" + ] + } + ], + "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", + "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()" + ] + }, + { + "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" + ] + }, + { + "cell_type": "code", + "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" + ] + } + ], + "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", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y)\n", + "X = df.drop(\"Daily_Customer_Count\", axis=1)\n", + "y = df[\"Daily_Customer_Count\"]\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()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Анализ применимости алгоритмов обучения с учителем для решения поставленных задач:\n", + "1. Прогнозирование посещаемости магазинов:\n", + "Задача: Регрессия\n", + "\n", + "Свойства алгоритмов:\n", + "\n", + "Линейная регрессия:\n", + "Применимость: Хорошо подходит для задач, где зависимость между признаками и целевой переменной линейна.\n", + "Преимущества: Проста в реализации, интерпретируема.\n", + "Недостатки: Может плохо работать, если зависимость нелинейна.\n", + "\n", + "Деревья решений (регрессия):\n", + "Применимость: Подходит для задач с нелинейными зависимостями.\n", + "Преимущества: Может обрабатывать категориальные признаки, не требует масштабирования данных.\n", + "Недостатки: Подвержены переобучению, могут давать нестабильные результаты.\n", + "\n", + "Случайный лес (регрессия):\n", + "Применимость: Хорошо подходит для задач с нелинейными зависимостями и большим количеством признаков.\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", + "Градиентный бустинг (классификация)" + ] + }, + { + "cell_type": "code", + "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", + " 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" + ] + } + ], + "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", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "\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", + "Конвейер для задачи регрессии:" + ] + }, + { + "cell_type": "code", + "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", + "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: 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" + ] + }, + { + "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" + ] + } + ], + "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+PBgweYMWMG2rZtiytX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", + "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": "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CpMFIiIiiZhqZYFzFoiIiEgnVhaIiIgkwmEIIiIi0onDEERERPReYmWBiIhIIjJIMAwhSSTSYrJAREQkETOZDGb5zBby+/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/YMa9aswYEDB7Bz507ExMRgzZo1aNu2LUqWLIkLFy4gJCQETZo0QY0aNQyKickCERFREfXw4UP06dMH9+/fh52dHWrUqIGdO3eiVatWuHPnDvbs2YM5c+bg+fPncHd3R+fOnfH1118bvB8mC0RERFJ5x6WFpUuX5rnO3d0dBw8ezGcwLzFZICIikoiUV0MYE96UiYiIiHRiZYGIiEgixnA1REFgskBERCSRd301xLvCZIGIiEgqJpotcM4CERER6cTKAhERkURM9WoIJgtEREQS4QTH95gQ4uX/s9ILORKigvPsWVJhh0BUIJKfPQPw/+/lBSkpKf//jqToQ2pMFvTw7N8TLf2fFYUcCVHBqeW5uLBDICpQz549g52dXYH0LZfL4eLigorl3SXpz8XFBXK5XJK+pCAT7yLVKuLUajViY2Nha2sLmTHWh0xMUlIS3N3dc3yXO5Gp4Dn+bgkh8OzZM7i5ucHMrODm9aempiI9XZoKtFwuh4WFhSR9SYGVBT2YmZmhTJkyhR3Ge0ff73InKqp4jr87BVVReJWFhYVR/YGXEi+dJCIiIp2YLBAREZFOTBbI6CgUCkycOBEKhaKwQyEqEDzHqajhBEciIiLSiZUFIiIi0onJAhEREenEZIGIiIh0YrJAREREOjFZoAIVFBSETp06FXYYRJILCgqCTCbDoEGDcqwbPHgwZDIZgoKC3n1gRAWAyQIR0Vtyd3fH2rVr8eLFC01bamoq1qxZg7Jly751v0IIZGZmShEikSSYLFChuXTpEtq0aQMbGxs4Ozujd+/eePz4sWb9+vXr4e3tDUtLS5QsWRK+vr54/vw5AODAgQOoX78+rK2tYW9vDx8fH9y6dauwDoXeU3Xq1IG7uzs2btyoadu4cSPKli2L2rVra9rS0tIwbNgwlCpVChYWFmjUqBFOnTqlWX/gwAHIZDL89ddfqFu3LhQKBY4cOQK1Wo3w8HCUL18elpaWqFmzJtavX/9Oj5EIYLJAhSQhIQEtWrRA7dq1cfr0aezYsQNxcXHo2rUrAOD+/fvo3r07+vXrh8jISBw4cAABAQGaT1ydOnVC06ZNceHCBRw/fhwDBw7kl3xRoejXrx+WLVumefzLL7+gb9++WtuMHTsWGzZswIoVK3D27FlUqFAB/v7+ePLkidZ248aNw/Tp0xEZGYkaNWogPDwcK1euxM8//4zLly8jJCQEvXr1wsGDB9/JsRFpCKICFBgYKDp27JijfcqUKcLPz0+r7c6dOwKAiIqKEmfOnBEAxM2bN3M8Nz4+XgAQBw4cKKiwid4o+9x++PChUCgU4ubNm+LmzZvCwsJCPHr0SHTs2FEEBgaK5ORkUbx4cbF69WrNc9PT04Wbm5uYMWOGEEKI/fv3CwBi8+bNmm1SU1OFlZWVOHbsmNZ+g4ODRffu3d/NQRL9i986SYXi/Pnz2L9/P2xsbHKsi4mJgZ+fH1q2bAlvb2/4+/vDz88PXbp0QYkSJeDg4ICgoCD4+/ujVatW8PX1RdeuXeHq6loIR0LvOycnJ7Rr1w7Lly+HEALt2rWDo6OjZn1MTAwyMjLg4+OjaStevDjq16+PyMhIrb7q1aun+Tk6OhopKSlo1aqV1jbp6elaQxxE7wKTBSoUycnJaN++Pf773//mWOfq6gpzc3Ps3r0bx44dw65duzBv3jx89dVXOHnyJMqXL49ly5Zh2LBh2LFjB9atW4evv/4au3fvxocfflgIR0Pvu379+mHIkCEAgPnz5791P9bW1pqfk5OTAQB//vknSpcurbUdv1OC3jXOWaBCUadOHVy+fBnlypVDhQoVtJbsN0yZTAYfHx9MnjwZ586dg1wux6ZNmzR91K5dG+PHj8exY8dQvXp1rFmzprAOh95zrVu3Rnp6OjIyMuDv76+1ztPTE3K5HEePHtW0ZWRk4NSpU/Dy8sqzTy8vLygUCty+fTvHvxF3d/cCOxai3LCyQAUuMTERERERWm0DBw7E4sWL0b17d4wdOxYODg6Ijo7G2rVrsWTJEpw+fRp79+6Fn58fSpUqhZMnT+LRo0eoWrUqbty4gUWLFqFDhw5wc3NDVFQUrl27hj59+hTOAdJ7z9zcXDOkYG5urrXO2toaX3zxBcaMGQMHBweULVsWM2bMQEpKCoKDg/Ps09bWFqNHj0ZISAjUajUaNWqExMREHD16FEqlEoGBgQV6TESvYrJABe7AgQM5xliDg4Nx9OhRhIaGws/PD2lpaVCpVGjdujXMzMygVCpx6NAhzJkzB0lJSVCpVJg1axbatGmDuLg4XLlyBStWrEB8fDxcXV0xePBgfP7554V0hESAUqnMc9306dOhVqvRu3dvPHv2DPXq1cPOnTtRokQJnX1OmTIFTk5OCA8Px/Xr12Fvb486dergP//5j9ThE+nEr6gmIiIinThngYiIiHRiskBEREQ6MVkgIiIinZgsEBERkU5MFoiIiEgnJgtERESkE5MFIiIi0onJAlERERQUhE6dOmkeN2vWDCNGjHjncRw4cAAymQwJCQl5biOTybB582a9+5w0aRJq1aqVr7hu3rwJmUyW426hRJR/TBaI8iEoKAgymQwymQxyuRwVKlRAWFgYMjMzC3zfGzduxJQpU/TaVp8/8EREeeHtnonyqXXr1li2bBnS0tKwfft2DB48GMWLF8f48eNzbJueng65XC7Jfh0cHCTph4joTVhZIMonhUIBFxcXqFQqfPHFF/D19cX//vc/AP8/dDB16lS4ubmhcuXKAIA7d+6ga9eusLe3h4ODAzp27IibN29q+szKysLIkSNhb2+PkiVLYuzYsXj9zuyvD0OkpaUhNDQU7u7uUCgUqFChApYuXYqbN2+iefPmAIASJUpAJpMhKCgIAKBWqxEeHo7y5cvD0tISNWvWxPr167X2s337dlSqVAmWlpZo3ry5Vpz6Cg0NRaVKlWBlZQUPDw9MmDABGRkZObZbuHAh3N3dYWVlha5duyIxMVFr/ZIlS1C1alVYWFigSpUq+OmnnwyOhYgMx2SBSGKWlpZIT0/XPN67dy+ioqKwe/dubNu2TfM1xra2tjh8+DCOHj0KGxsbzdccA8CsWbOwfPly/PLLLzhy5AiePHmi9fXcuenTpw9+++03zJ07F5GRkVi4cCFsbGzg7u6ODRs2AACioqJw//59/PDDDwCA8PBwrFy5Ej///DMuX76MkJAQ9OrVCwcPHgTwMqkJCAhA+/btERERgf79+2PcuHEGvya2trZYvnw5/vnnH/zwww9YvHgxZs+erbVNdHQ0fv/9d2zduhU7duzAuXPn8OWXX2rWr169Gt988w2mTp2KyMhITJs2DRMmTMCKFSsMjoeIDCSI6K0FBgaKjh07CiGEUKvVYvfu3UKhUIjRo0dr1js7O4u0tDTNc1atWiUqV64s1Gq1pi0tLU1YWlqKnTt3CiGEcHV1FTNmzNCsz8jIEGXKlNHsSwghmjZtKoYPHy6EECIqKkoAELt37841zv379wsA4unTp5q21NRUYWVlJY4dO6a1bXBwsOjevbsQQojx48cLLy8vrfWhoaE5+nodALFp06Y818+cOVPUrVtX83jixInC3Nxc3L17V9P2119/CTMzM3H//n0hhBCenp5izZo1Wv1MmTJFNGzYUAghxI0bNwQAce7cuTz3S0Rvh3MWiPJp27ZtsLGxQUZGBtRqNXr06IFJkyZp1nt7e2vNUzh//jyio6Nha2ur1U9qaipiYmKQmJiI+/fvo0GDBpp1xYoVQ7169XIMRWSLiIiAubk5mjZtqnfc0dHRSElJQatWrbTa09PTNV8pHhkZqRUHADRs2FDvfWRbt24d5s6di5iYGCQnJyMzMzPHVzqXLVsWpUuX1tqPWq1GVFQUbG1tERMTg+DgYAwYMECzTWZmJuzs7AyOh4gMw2SBKJ+aN2+OBQsWQC6Xw83NDcWKaf+zsra21nqcnJyMunXrYvXq1Tn6cnJyeqsYLC0tDX5OcnIyAODPP//U+iMNvJyHIZXjx4+jZ8+emDx5Mvz9/WFnZ4e1a9di1qxZBse6ePHiHMmLubm5ZLESUe6YLBDlk7W1NSpUqKD39nXq1MG6detQqlSpHJ+us7m6uuLkyZNo0qQJgJefoM+cOYM6derkur23tzfUajUOHjwIX1/fHOuzKxtZWVmaNi8vLygUCty+fTvPikTVqlU1kzWznThx4s0H+Ypjx45BpVLhq6++0rTdunUrx3a3b99GbGws3NzcNPsxMzND5cqV4ezsDDc3N1y/fh09e/Y0aP9ElH+c4Ej0jvXs2ROOjo7o2LEjDh8+jBs3buDAgQMYNmwY7t69CwAYPnw4pk+fjs2bN+PKlSv48ssvdd4joVy5cggMDES/fv2wefNmTZ+///47AEClUkEmk2Hbtm149OgRkpOTYWtri9GjRyMkJAQrVqxATEwMzp49i3nz5mkmDQ4aNAjXrl3DmDFjEBUVhTVr1mD58uUGHW/FihVx+/ZtrF27FjExMZg7d26ukzUtLCwQGBiI8+fP4/Dhwxg2bBi6du0KFxcXAMDkyZMRHh6OuXPn4urVq7h48SKWLVuG77//3qB4iMhwTBaI3jErKyscOnQIZcuWRUBAAKpWrYrg4GCkpqZqKg2jRo1C7969ERgYiIYNG8LW1haffPKJzn4XLFiALl264Msvv0SVKlUwYMAAPH/+HABQunRpTJ48GePGjYOzszOGDBkCAJgyZQomTJiA8PBwVK1aFa1bt8aff/6J8uXLA3g5j2DDhg3YvHkzatasiZ9//hnTpk0z6Hg7dOiAkJAQDBkyBLVq1cKxY8cwYcKEHNtVqFABAQEBaNu2Lfz8/FCjRg2tSyP79++PJUuWYNmyZfD29kbTpk2xfPlyTaxEVHBkIq8ZU0RERERgZYGIiIjegMkCERER6cRkgYiIiHRiskBEREQ6MVkgIiIinZgsEBERkU5MFoiIiEgnJgtERESkE5MFIiIi0onJAhEREenEZIGIiIh0YrJAREREOv0fw8EBYU/iCH8AAAAASUVORK5CYII=", + "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": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\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", + "\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()\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", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "aisenv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From f37a0437ed0e0c7474c3f5ac1249575bf105d627 Mon Sep 17 00:00:00 2001 From: mayday Date: Thu, 28 Nov 2024 22:00:12 +0400 Subject: [PATCH 2/3] 1 --- lab_4/lab4.ipynb | 2221 +++++++++++++--------------------------------- 1 file changed, 639 insertions(+), 1582 deletions(-) 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+i8cffxwymQwHDx5EdXU14uLiTG0iIyMRFBSEhISEa25Hr9ejuLjY7EFEREQtk9UUMmvXrkVhYSEmT54MAMjKyoKdnR1cXV3N2vn4+CArK+ua25k/fz60Wq3pERgY2IypiYiISEpWU8gsWbIEI0aMgL+//y1tZ86cOSgqKjI90tPTLZSQiIiIrI1VXBDvwoUL2Lx5M37++WfTMl9fX1RVVaGwsNCsVyY7Oxu+vr7X3JZarYZarW7OuERERGQlrKJHZunSpfD29sbIkSNNy2JiYqBSqRAfH29alpycjLS0NMTGxkoRk4iIiKyM5D0yRqMRS5cuxaRJk6BU/n8crVaLJ554ArNmzYK7uztcXFzwzDPPIDY2ljOWiIiICIAVFDKbN29GWloaHn/88XrrPv74Y8jlcowdOxZ6vR7Dhg3D559/LkFKIiIiskaSFzJDhw6FEKLBdRqNBosWLcKiRYtucyoiIiKyBVYxRoaIiIioKSTvkSEi6ZVUViOtTA73IU/j9e15KNm6DeVVBshlMmhUcgS6OyDY3QHdg90Q284D3i4aqSMTEQFgIUPUaulrDDidVYqTl4qRVVwJQAnn7iNxJLsKQJVZ23O5ZQCA5QkXAAChbioMDLbHHUEaaDWKW87i6emJoKCgW94OEbU+LGSIWhl9jQFH0gtxOK0Q+hojAEAGwFlehfQ9v6E69wIMxbkw6ssAmRxytQOUWh+oPIOgDuwIO592OFdQjXMF1fhqfy7Kjm9C0d6fYSjOaXImewcHnEpKYjFDRDeNhQxRKyGEQFJWCXae0aGi2gAAcHNQoaO/Fu19nXFq53oc3/o1Rk59Ce07x1xzO5WGGlwsl+NCqRyFUMO5+yi4dB+Jdk5GdNAaYHeTHTTZaeew4t3Z0Ol0LGSI6KaxkCFqBYorqrEpKRsXCyoA1BYwvUM8EO7jBLlMZtbWwz8YAeHR191eGGoLo4sFFThwoQBp+eU4V6rAxUoV7gjzRLS/C2RXbZeIqDmwkCFq4c7llmLTyWzoa4xQymXo3c4d3QLdoJDfWqEhk8kQ6O6AQHcHpOWX46/Tucgrq0L8qRyczi7B4CgfaO1VFvopiIgaxunXRC2UEAI7z+rw27FL0NcY4eOixsQ+wegR7H7LRczVgtwd8EivIPQP94RSLkN6QQVW7k1DclaJRfdDRHQ19sgQtUDVBiM2nsgyzTbqHuSKvqGeFi9griSXy9A9yA0hno7YdDIbl4oqseFEFtLyy3FXey8oFfx/ExFZHn+zELUwldUG/HwoA+dyy6CQyTAs2gf9w72atYi5kpuDHR7oHoBebd0BACcvFePHQxdRqq+5LfsnotaFhQxRC1JeVYOfD2Ugq7gSaqUc93drg0hfl9ueQy6XITbUA/d3awONUo7sYj1W7UtDVlHlbc9CRC0bCxmiFqK8qgY/HcpAbqkeDnYKPBATgDZu9pJmCnJ3wIM9A+HuaIeyKgN+PHQRpy4VS5qJiFoWFjJELUBltQFrDmcgv6wKTmolHugeAE8ntdSxAACuDnYY3yMAIZ6OMBgFNp7Mxu5zumveLJaI6GawkCGycVU1RvxyJBO60io42CkwpnsbuDnaSR3LjFqpwOjOfujZ1g0AsD+1AJuSsmEwspgholvDWUtENsxoFPgj8ZJpTMx9XdvAzcG6ipg6MpkMfUM94WKvwpZTOUi6VILyKgO6Snv2i4hsHAsZIhslhMDW5Byk5pVDKZfh3q7+8HK2jtNJ19PRXwtHOyXWH7+EC3nlKLZTQm5/+wckE1HLwFNLRDbqYFoBEjNrB84O7+gLP63tdG2EeDpiTPc20KjkKKiSw3fiB8gu5fRsIrp5LGSIbNCFvDLsOpsHABgQ4YVQLyeJE908P609xscEwkEhoHL3x4tb8nAqizOaiOjmsJAhsjFFFdX4IzELABDt74IuAVqJEzWdm6MdBvpUoyo3FQWVRoxfnID9qflSxyIiG8JChsiGVBuM+O1YpuneSQMjvGz+LtP2SiB7xb8Q6alCcWUNJv53L7acypY6FhHZCBYyRDZCCIH4UznQlVbBXqXAyE5+Leb+RUZ9Gebd6YFBkd7Q1xgx5ZuD+PnQRaljEZENaBm/BYlagSPphUjOKoFMBtzdyRfOGpXUkSxKrZThP3+LwZhubWAwCsz64Sj+u+O81LGIyMpx+jWRDbhUVIEdZ3UAgP5hnghwc5A4keUlJSUBAB4JE6guc8S602V48/cknDyXhgmdnJvlFJqnpyeCgoIsvl0iun1YyBBZOX2NARsSsyAEEOHthK6BrlJHsqji/FwAwMSJE82Wu/R+AG4DJ+PnU2VY/v3PyN+4CBBGi+7b3sEBp5KSWMwQ2TAWMkRWbmtyLoora+CiUWJQlLfND+69WkVp7ZTrkVNfQvvOMWbrUkprcChfAecuw9C+zxD08qiBpYYFZaedw4p3Z0On07GQIbJhLGSIrNipS8WmcTHDO/pCrVRIHanZePgHIyA82mxZAAC/nFJsSMxCZoUce4pdMLqLHxzs+KuLiGpxsC+RlSqtqe2NAYDeIe42deVeSwrzdsJ93fyhVsqRVVyJ7/enI69UL3UsIrISLGSIrJFcgf06JaoMRvi7atCzrbvUiSQV4OaAB3sEQmtfe62ZHw5eRFp+udSxiMgKsJAhskLavg8hv0oOO6Ucw6J9IW9h42Kaws3RDg/2CIS/VoOqGiN+OZKB4xeLIISQOhoRSYiFDJGVOZtfBW3seADA4EhvuLSw68XcCns7Be7v3gbtfZ1hFMCW5BxsTspBjcGys5mIyHawkCGyIvoaAz7dVwSZXIEABwMifJyljmR1lHI5hnXwQb9QD8gAnLxUjO8PpKOwvErqaEQkARYyRFZkYfwZpBfXwFBWgK5uBqnjWC2ZTIYebd1xf7c2sFcpoCutwnf703E+t1TqaER0m7GQIbISxy4WYvH22kvy5/35OdQtd6a1xQS6O+CRXkHwuzxuZt2xS9h6KgfVPNVE1GqwkCGyAvoaA55ffRQGo0C/QA0qTidIHclmOGmUGNs9wHTF42MZRVixNw2ZhRXSBiOi24KFDJEVWBh/BqezS+HhaIcp3bVSx7E5CrkMAyK8cF9XfziplSiqqMbqgxex86yOA4GJWjgWMkQSS8woMp1SevO+jnBR82vZVMEejpjYOwhRfrWDpA9eKMCKfWlIzSuTOBkRNRf+xiSSUI3BiH//fAwGo8DIzn4Y0clP6kg2T61SYGgHX4zu7AcHOwUKy6vxy5FMrDuaiaKKaqnjEZGF8YYlRBJannABiRnFcNEoMW90B6njtCjtvJzQxs0ee1PycTS9EOd1ZbiQX47uQa6ICXaTOh4RWYjkPTIZGRmYOHEiPDw8YG9vj06dOuHAgQOm9UIIvPLKK/Dz84O9vT3i4uJw5swZCRMTWUZGYQU+/DMZAPDvEVHwdtZInKjlUSsVuDPcCxN6ByPI3QEGo8D+1AIs25WKU0VyyFR8z4lsnaSFTEFBAfr16weVSoU//vgDJ0+exIcffgg3t///39J7772HhQsXYvHixdi7dy8cHR0xbNgwVFZWSpic6NYIITDvl0SUVxnQI9gND/UMlDpSi+buaIf7uvpjZCc/uDmoUFljxIkiJdo8tQRrTpWivKpG6ohE1ESSnlp69913ERgYiKVLl5qWhYSEmP4thMCCBQvw8ssv49577wUAfPPNN/Dx8cHatWvx0EMP3fbMRJaw8UQWNiflQKWQ4e0xnSCX815KzU0mkyHM2wntvBxxOrsEu5KzUOqgxf+OleC3s1swsU8w/hYbzJ4xIhsjaSHz66+/YtiwYRg3bhy2b9+ONm3a4B//+AemTJkCAEhJSUFWVhbi4uJMr9FqtejduzcSEhIaLGT0ej30er3peXFxcfP/IEQ3oaSyGvN+PQEAmHpnKG9DcJvJZTJE+rrAoTgdXy3+DBH3P4f8cuDTLWfxxbazuDPIHqPbOyJY23z3uPL09ERQUFCzbZ+oNZG0kDl//jy++OILzJo1Cy+++CL279+PZ599FnZ2dpg0aRKysrIAAD4+Pmav8/HxMa272vz58/Haa681e3aipvrwz9PILtajrYcDpg8KkzpOq1VakIuyxC04fGIbHML7wLnX/dC0icKW1ApsSa1ARcohFO9bg8rUwxbft72DA04lJbGYIbIASQsZo9GIHj164O233wYAdOvWDYmJiVi8eDEmTZrUpG3OmTMHs2bNMj0vLi5GYCDHH5B1OJFZhG8SUgEAb93fCRoV70MglYrS2t7akU/OQfvOMQCAPH01zhQrkFEhg31Id9iHdIeLyohwZyMCHY1QWOAMYHbaOax4dzZ0Oh0LGSILkLSQ8fPzQ4cO5lNOo6Ki8NNPPwEAfH19AQDZ2dnw8/v/62tkZ2eja9euDW5TrVZDrVY3T2CiW1A7wPcEjAIY1dkP/cI8pY5EADz8gxEQHg0ACADQBUBRRTWOpBXixKUiFFfLcTBfjqRSBboEuKJTgBb2LECJrIaks5b69euH5ORks2WnT59GcHAwgNqBv76+voiPjzetLy4uxt69exEbG3tbsxLdqrVHMnDgQgHsVQq8NDJK6jh0HVp7FQa098IT/ULQL8wDTmolyqsMSDifh693pmDrqRwUlFdJHZOIIHGPzMyZM9G3b1+8/fbbGD9+PPbt24cvv/wSX375JYDaWQYzZszAm2++ifDwcISEhGDu3Lnw9/fHfffdJ2V0optSUlmNt9efAgA8MzgMflp7iRNRY6hVCvQIdke3QDecyS7BobRC5JbqcSyjCMcyihDh44Q+IR5wc7STOipRqyVpIdOzZ0+sWbMGc+bMweuvv46QkBAsWLAAEyZMMLV54YUXUFZWhieffBKFhYW44447sGHDBmg0nCJJtmNh/BnklugR4umIJ+4IufELyKoo5DJE+rmgva8zLhZU4FBaAVLzynE6uxRnsksR6eeM3iEe0No330wnImqY5LcoGDVqFEaNGnXN9TKZDK+//jpef/3125iKyHLOZJdg6a5UAMC80R2gVnJ8ha2SyWQIdHdAoLsDckv02HM+D+d1ZUi6VILkrBJE+2sR284D9nY8xkS3i+SFDFFLJoTAq+tOoMYoEBflg4HtvaWORBbi5azG6C7+yCqqxJ7zebiQX47jGUU4k12CvmGeiPZ3gVzGCx0SNTfJ77VE1JJtPJGFXWfzYKeU45VRvClkS+Sr1eC+bm3wQPcAeDrZobLGiC2ncvDDgXRkFfNWKkTNjYUMUTPR1xgw/4/aAb5T72yHIA8HiRNRc2rjZo+HewbhznBP2CnkyC7W4/v96dh+Ohc1BqPU8YhaLBYyRM3kfwkXcCGvHF7Oajw1IFTqOHQbyOUydAtyw6OxwWjvW3vriSPphVi5Lw3Z7J0hahYsZIiaQX5ZFT6JPwMAmD20PRzVHI7WmjiqlRge7Yt7uvjD0U6BgvJq/HAgHYfTCiCE1OmIWhYWMkTNYGH8GZRU1iDKzwVjYwKkjkMSCfF0xMQ+wQjzcoJRAH+d0WGPTgmZHU8zElkKCxkiCzubU4r/7bkAAHh5ZBQUcs5cac00KgXu7uSLgRFeUMhkyKyQw+/RD5FZUiN1NKIWgYUMkYW980cSDEaBwZHevJ8SAai9/kyXQFeM6xEAe4WAyiMQL2zWYfdZndTRiGweCxkiC9p1VofNSTlQyGWYczfvp0TmfFw0GORbjcqLJ1BeLTB56X78fuyS1LGIbBoLGSILMRoF3vo9CQAwsXcQwrydJE5E1kijALJXvYzYAA2qDEZM/+4QvklIlToWkc1iIUNkIeuOZeLkpWI4q5V4Li5C6jhkzQzVmNXHFRP7BEEI4JVfTuDDP5MhOKWJ6KaxkCGygKoaIz788zQA4Mk728Gdd0OmG1DIZXjj3o6Yebno/XTLWby0NhFGI4sZopvBQobIAr4/kI60/HJ4Otnhcd7dmhpJJpPhubhwvHV/R8hlwMq9aXh13Qn2zBDdBBYyRLeoosqAhZcvfjf9rjBe/I5u2oTewfhgXBfIZMA3CRfw1u9JLGaIGomFDNEtWro7BbklegS42ePh3kFSxyEbNaZ7AN6+vxMA4L87U0ynKono+ljIEN2CovJqLN52DgAwa0gE1EqFxInIlj3cKwiv3xsNAPhs61l8ermnj4iujYUM0S1Y/Nc5FFfWIMLHCfd2bSN1HGoBHo1ti5dH1l6D6MNNp7F0V4rEiYisG0/mE11HWloadLqGr76aX2HAkh05AIAxYSocPXLYIvtMSkqyyHbIdv29fztUVBnw4abTeP23k2jjao+h0b5SxyKySixkiK4hLS0NkVFRqCgvb3C92+An4dLjHlRmJOHpe2ZbfP+lpaUW3ybZjumDwpBZVInv9qXh2VWHserJWHQNdJU6FpHVYSFDdA06nQ4V5eWY8K/34RMUarauogbYkKmCEcCQbmHwjv3ZYvtN2rcdfyz/BJWVlRbbJtkemUyGN+6NxqWiCmxLzsXfl+/Hmn/0Q6A775xNdCUWMkQ34BMUioDwaLNl25JzYEQR/LUadOsYBpnMcne4zk47Z7FtkW1TKuT47JHuGL84AScvFWPS0n34+em+cHXgBReJ6nCwL9FNKtXXIDGzGADQu52HRYsYoqs5qZVY+lhP+Gk1OJ9bhif/dxBVNUapYxFZDRYyRDfpYGoBDEYBP60GgW72UsehVsDHRYOlj/WEk1qJfSn5eOv3k1JHIrIaLGSIbkKZvgbHM4sAAH3YG0O3UaSvCz5+sCsAYHnCBaw+kC5tICIrwUKG6CYcuMDeGJLOkA4+mBEXDgB4aW0ijl0slDYQkRVgIUPUSGX6GhzPqO2N6R3izt4YksSzg8IRF+WDqhojnvrfQehK9VJHIpIUCxmiRrqyNyaIU2BJInK5DB892AXtvByRWVSJaSsOodrAwb/UerGQIWqE8qoaJLI3hqyEi0aFL//WA05qJfam5OO9DaekjkQkGRYyRI1wNL0INUYBHxc1e2PIKoR5O+GDcV0AAF/tSEF8UrbEiYikwUKG6AaqjcDRy4MqY4Ld2BtDVmN4R1881q8tAOCfq48is7BC2kBEEmAhQ3QDKaVy6GuMcHVQIdTLSeo4RGbmjIhC5wAtCsur8ex3h1HD8TLUyvAWBUTXI1fibIkCABAT5AY5e2PIQix5l/OnOtvh+WwZDlwowAv/+wsTO7s02M7T0xNBQUEW2y+RNWAhQ3QdjtEDUWGQwdFOgUg/Z6njUAtQnJ8LAJg4caJFt+vQvh+87puDn0+V4YvX/4nKlEP12tg7OOBUUhKLGWpRWMgQXYNRCGh7jwUAdAtyg1LOM7F06ypKa+/TNXLqS2jfOcai2z6cb8D5UgWCHnoNcX7V0Cj+f1122jmseHc2dDodCxlqUVjIEF3D/kw9VB6BUMkEOrZpuKueqKk8/IPr3VX9VvkajPj+QDp0pVU4UemKe7r4c3A6tXj8LyZRA4QQ+DmpFADQztkItVJxg1cQSU+pkGNYtC8UchlS88pNV6ImaslYyBA1YG9KPs7kV0PUVCHM2SB1HKJG83RSo1+oBwBgxxkdCsqqJE5E1LxYyBA14L87UgAApcfjzcYZENmCroGuCHS3R41RYMOJLBiMQupIRM1G0kLm1VdfhUwmM3tERkaa1ldWVmLatGnw8PCAk5MTxo4di+xsXr2Smleqrgzxp2o/Z8UH1kobhqgJZDIZhkb5Qq2UI6dEj70peVJHImo2kvfIREdH49KlS6bHzp07TetmzpyJdevWYfXq1di+fTsyMzMxZswYCdNSa7BsdyqEALr7qVGTnyF1HKImcdIoMTjSGwBwILUAOj0H/VLLJPmsJaVSCV9f33rLi4qKsGTJEqxcuRKDBg0CACxduhRRUVHYs2cP+vTpc7ujUitQXFmN1QfSAQCjwh2xRuI8RLci3McZUboyJGWV4ECeEjKlWupIRBYneY/MmTNn4O/vj3bt2mHChAlIS0sDABw8eBDV1dWIi4sztY2MjERQUBASEhKuuT29Xo/i4mKzB1Fj/bA/HWVVBoR7O6GLj53UcYhu2YD2XnBSK1FWI4PrgEeljkNkcZIWMr1798ayZcuwYcMGfPHFF0hJSUH//v1RUlKCrKws2NnZwdXV1ew1Pj4+yMrKuuY258+fD61Wa3oEBgY2809BLYXBKLBsdyoA4PE7Qnj9DWoR1EoF4qJqTzE5x4zGyVzOYqKWRdJCZsSIERg3bhw6d+6MYcOGYf369SgsLMQPP/zQ5G3OmTMHRUVFpkd6eroFE1NLtulkNi4WVMDNQYX7u7WROg6RxQR7OKKtowEymRyf7S9EeVWN1JGILEbyU0tXcnV1RUREBM6ePQtfX19UVVWhsLDQrE12dnaDY2rqqNVquLi4mD2IGuPrXbVTrh/pHQSNinOuqWXp7GZATXEuskoNeG9DstRxiCzGqgqZ0tJSnDt3Dn5+foiJiYFKpUJ8fLxpfXJyMtLS0hAbGythSmqJEjOKsC8lH0q5DH/r01bqOEQWp5IDeRs+BVA7M2/veU7JppZB0kLm+eefx/bt25Gamordu3fj/vvvh0KhwMMPPwytVosnnngCs2bNwtatW3Hw4EE89thjiI2N5Ywlsrilu1IBAHd38oOvViNtGKJmUplyCHEh9gCA2T8e4ykmahEknX598eJFPPzww8jLy4OXlxfuuOMO7NmzB15eXgCAjz/+GHK5HGPHjoVer8ewYcPw+eefSxmZWiBdqR7rjmYCqB3kS9SSTe7qgpP5Amn55Viw+QxevDtK6khEt0TSQmbVqlXXXa/RaLBo0SIsWrToNiWi1uiHA+moMhjRJdAVXQNdpY5D1KwcVHK8cV9HPLH8AP674zzu6eKPjm20UsciajKrGiNDdLsZjAIr9tReu2hi7yCJ0xDdHoOjfDCqsx+MAvjXT8dQYzBKHYmoyVjIUKu2/XQOMgoroLVXYXQXf6njEN0280ZHQ2uvwonMYtOMPSJbxEKGWrVvL/fGjIsJ4JRralW8nNV46fL4mI82nUZaXrnEiYiahoUMtVrp+eXYmpwDAJjQJ1jiNES337geAYht54HKaiNeXHMcQgipIxHdNBYy1Gqt3JcGIYA7wjwR4ukodRyi204mk+HtMZ1gp5Rj51kdfj7Eu72T7WEhQ62SvsaAH/bX3r5iYh8O8qXWK8TTEc8NDgcAvL0+CYXlvBcT2RYWMtQqbUjMQl5ZFXxc1IiL8pE6DpGkpvRvh3BvJ+SVVeH9jbx9AdkWSa8jQySVb/dcAAA83CsISgXreWo9kpKSGlz+aLQd5uYAK/emobNTGcI97Cy2T09PTwQFseeTmgcLGWp1TmUVY39qARRyGR7qyV+u1DoU5+cCACZOnHjNNh53z4RTp8GYsWIvsr6ZBQjLXF/G3sEBp5KSWMxQs2AhQ63Oyr21U66HRPnwvkrUalSUFgMARk59Ce07xzTYptIA/JkpAN8w3DP/Z4Q533ohk512DivenQ2dTsdChpoFCxlqVSqrDVhzuHZmxiO8ki+1Qh7+wQgIj77m+nKnQmxNzkVSsR16RgfDUc0/E2TdODiAWpUNiVkoqaxBG1d73BHmKXUcIqvTsY0WPi5qVBmM2HFWJ3UcohtiqU02IS0tDTrdrf9S/e+2PADAHW0UOHLk8HXbXmtQJFFLJpfJcFd7b3y/Px3JWSXo6O+CADcHqWMRXRMLGbJ6aWlpiIyKQkX5rV1CXenqizZT/wshjPhw2ji8V5LbqNeVlpbe0n6JbI2Piwad2mhxLKMI20/n4uGeQZDLZVLHImoQCxmyejqdDhXl5Zjwr/fhExTa5O0kFiqQXAz42gMPvPOfG7ZP2rcdfyz/BJWVlU3eJ5Gt6hPqgdPZJdCVVuF4ZhG6BLhKHYmoQSxkyGb4BIVed5Di9RiNAht2pQAwICbMHwE+zjd8TXbauSbti6glsFcp0CfUA9uSc5FwLg8RPs6w541VyQpxsC+1Cqn5ZSirMsBepUCIF++rRNQYnfy18HSyg77GiIRzeVLHIWoQCxlqFU5k1F5DI9LXGUo5P/ZEjSGXyzAgwgsAkJhRhNwSvcSJiOrjb3Rq8cr0NUjJKwMARPu7SJyGyLYEuDkgwtsJAsD207kQQkgdicgMCxlq8ZKyiiEE4OuigYeTWuo4RDbnjnBPKOUyZBRW4HQ2Z/GRdWEhQy2aEAInMmtPK0W3YW8MUVM4a1To0dYNALDzrA41Bsvcg4nIEljIUIt2qagSheXVUClkiPC+8UwlImpYTJAbnNRKlOprcCi9UOo4RCYsZKhFS7pU2xsT5u0EOyU/7kRNpVTI0S/MAwBwIDUfZfoaiRMR1eJvdmqxagxGnM6pPZ8f5cvTSkS3qr2PM3xc1Kg2COw5z+nYZB1YyFCLdV5XhqoaI5w1SgS42Usdh8jmyWQy3BleOx37RGYxp2OTVWAhQy1W3WmlSF9nyGS8TwyRJfi72iP88nTsHWc5HZukx0KGWqQyfQ0u5NfeZDLKj6eViCypX5gnFDIZ0vMrkJp3azdzJbpVLGSoRUrOKjFdO8bNwU7qOEQtitZehS6BWgDAjjO5MBjZK0PSYSFDLVJSVu1ppSg/Trkmag692rpDo5KjoLwaJy9fq4lICixkqMXJLdFDV1oFhUyGiEbc5ZqIbp5apUDvkNrp2HtT8lDNi+SRRFjIUItz8vIg3xAvR2hUConTELVcHdu4wEWjRFmVAYd5kTySCAsZalEMRoHkrBIAPK1E1NyUcjliQ2t7ZQ6mFqCi2iBxImqNWMhQi3IhvwwV1QbYqxQIdneUOg5Ri9fexxmeTnaoMhixPzVf6jjUCrGQoRbl1KXa3pj2vs5QyHntGKLmJpPJ0C/MEwBwLL0IxRXVEiei1oaFDLUY+hoDzuvKAABRvjytRHS7BLs7IMDNHgYhsCeFty6g26tJhUy7du2Ql1f/w1pYWIh27drdciiipjiXUwaDUcDNQQUvZ7XUcYhaDZlMhn6htb0ySZdKoCvlrQvo9mlSIZOamgqDof6gLr1ej4yMjFsORdQUp7LrbkngwlsSEN1mvloNwrydAAC7z7FXhm4f5c00/vXXX03/3rhxI7Rarem5wWBAfHw82rZta7FwRI1Vpq/BxfwKALXjY4jo9usb6oFzuaVI0ZUho6ACbXizVroNbqpH5r777sN9990HmUyGSZMmmZ7fd999eOihh7Bp0yZ8+OGHTQryzjvvQCaTYcaMGaZllZWVmDZtGjw8PODk5ISxY8ciOzu7Sdunli05uwQCgJ9WA629Suo4RK2Sm4Mdov1r722265yON5Sk2+KmChmj0Qij0YigoCDk5OSYnhuNRuj1eiQnJ2PUqFE3HWL//v34z3/+g86dO5stnzlzJtatW4fVq1dj+/btyMzMxJgxY256+9Ty1V07pj2v5EskqT4hHlDKZbhUVGkafE/UnJo0RiYlJQWenp4WCVBaWooJEybgq6++gpubm2l5UVERlixZgo8++giDBg1CTEwMli5dit27d2PPnj0W2Te1DAVlVcgp0UMmA8J9nKSOQ9SqOaqV6BbkCgDYfTYP7JSh5nZTY2SuFB8fj/j4eFPPzJW+/vrrRm9n2rRpGDlyJOLi4vDmm2+alh88eBDV1dWIi4szLYuMjERQUBASEhLQp0+fBren1+uh1///iPniYt7MrKU7dbk3JtjdAQ52Tf5IE5GFxAS74fjFIuSXVyHNnlf5oObVpE/Ya6+9hqFDhyI+Ph46nQ4FBQVmj8ZatWoVDh06hPnz59dbl5WVBTs7O7i6upot9/HxQVZW1jW3OX/+fGi1WtMjMDCw0XnI9gghkJz9/xfBIyLpqZUKxATX9rAnFSkAOe95Rs2nSf99Xbx4MZYtW4a//e1vTd5xeno6nnvuOWzatAkajabJ27nanDlzMGvWLNPz4uJiFjMtWFZxJYoqqqFSyBDqxdNKRNaiS6ArDqUVoqzaAKeOg6WOQy1Yk3pkqqqq0Ldv31va8cGDB5GTk4Pu3btDqVRCqVRi+/btWLhwIZRKJXx8fFBVVYXCwkKz12VnZ8PX1/ea21Wr1XBxcTF7UMtVN8i3nZcTVAp2YRNZC5VCjh5ta3tltH0fQrWBg2WoeTTpN//f//53rFy58pZ2PHjwYBw/fhxHjhwxPXr06IEJEyaY/q1SqRAfH296TXJyMtLS0hAbG3tL+6aWwWgUOJ1dCgCI5GwlIqvTuY0WGoWAUuuNzefLpY5DLVSTTi1VVlbiyy+/xObNm9G5c2eoVObX7fjoo49uuA1nZ2d07NjRbJmjoyM8PDxMy5944gnMmjUL7u7ucHFxwTPPPIPY2NhrDvSl1iW9oNx0p+tAdwep4xDRVZQKOSJdDDhSoMSPSaX4Z7UBGhXHy5BlNamQOXbsGLp27QoASExMNFtnyUvDf/zxx5DL5Rg7diz0ej2GDRuGzz//3GLbJ9tW1xsT5u3EO10TWam2TkYcSM1GAXzw7Z4L+Ht/3o+PLKtJhczWrVstnQMAsG3bNrPnGo0GixYtwqJFi5plf2S7DEaBc7m1hQwvgkdkvRQyoGj3KniMeA5fbDuHh3sFwVHNyySQ5XB0JNmkC/ll0NcY4ahWwN/VcrPeiMjyShO3wNdJgbyyKixPSJU6DrUwTSqL77rrruueQtqyZUuTAxE1Rt1ppXBvZ97pmsjaGQ14MNoJn+wtwn+2n8fEPsFw0fCeaGQZTeqR6dq1K7p06WJ6dOjQAVVVVTh06BA6depk6YxEZmoMRpy/fFopgrckILIJdwTaI8zbCUUV1fh6Z4rUcagFaVKPzMcff9zg8ldffRWlpaW3FIjoRlLzylFtEHDWKOHrwtNKRLZAIZdhRlw4pq88jCU7UjC5b1u4OthJHYtaAIuOkZk4ceJN3WeJqClOX74lQQRPKxHZlLs7+iHS1xkl+hp8+dd5qeNQC2HRQiYhIcGitxsgulpVjREpujIAvNM1ka2Ry2WYNSQCALB8dyoKyqokTkQtQZNOLY0ZM8bsuRACly5dwoEDBzB37lyLBCNqSIquDDVGAa29Ct7OaqnjENFNGtLBB9H+LjiRWYz/7jyP2cMipY5ENq5JPTJX3l1aq9XC3d0dAwcOxPr16zFv3jxLZyQyOZNz+bSSjxNPKxHZIJlMhmcHhwMAlu++gMJy9srQrWlSj8zSpUstnYPohqqNtQN9ASCCF8EjsllDO/ggys8FSZeKsWRnCv45tL3UkciG3dIYmYMHD+Lbb7/Ft99+i8OHD1sqE1GDMsvlMBgF3B3s4OHI2Q5Etkomk+G5wWEAgGW7UlFUXi1xIrJlTeqRycnJwUMPPYRt27bB1dUVAFBYWIi77roLq1atgpeXlyUzEgEALpbX1t3hPK1EZPOGdvBFex9nJGeX4OtdKZh5eRAw0c1qUo/MM888g5KSEpw4cQL5+fnIz89HYmIiiouL8eyzz1o6IxHkGidkV9YWLzytRGT75PL/Hyvz9a4UFFWwV4aapkmFzIYNG/D5558jKirKtKxDhw5YtGgR/vjjD4uFI6rjEBELARk8nezgztNKRC3CiI6+iPBxQkllDZbtSpU6DtmoJhUyRqMRKlX9+2SoVCoYjcZbDkV0NYeoOwGwN4aoJZHLZXhmUG2vzJKd51FcyV4ZunlNKmQGDRqE5557DpmZmaZlGRkZmDlzJgYPHmyxcEQAUFhpgCaoMwAWMkQtzd2d/BDm7YTiyhp8sztV6jhkg5pUyHz22WcoLi5G27ZtERoaitDQUISEhKC4uBiffvqppTNSK7fnYiVkcgXc7IzQ2vOOuUQtiUIuwzODamcw/XdnCkr1NRInIlvTpFlLgYGBOHToEDZv3oxTp04BAKKiohAXF2fRcEQAsCu9EgAQ4MDTlkQt0ajO/vgk/gzO55Zh+e5UTLsrTOpIZENuqkdmy5Yt6NChA4qLiyGTyTBkyBA888wzeOaZZ9CzZ09ER0djx44dzZWVWqHs4kqczK298icLGaKWyaxXZsd5lLFXhm7CTRUyCxYswJQpU+Di4lJvnVarxdSpU/HRRx9ZLBzR78cuQQCovHgSDk3qPyQiWzC6sz9CPB1RUF6NbxIuSB2HbMhNFTJHjx7F8OHDr7l+6NChOHjw4C2HIqrz27HaAeXlSX9JnISImpNSIcf0y6eUluw8j4oqg8SJyFbcVCGTnZ3d4LTrOkqlErm5ubcciggALhaU41BaIWQAypN3SR2HiJrZPV39EeBmD11pFVbtT5M6DtmIm+qsb9OmDRITExEW1vBArGPHjsHPz88iwYh+P3YJABDtZYfUsgKJ0xDRrUhKSmpUu5HtVPjPwQp8tvkUOtjlQ6Vo+u1IPD09ERQU1OTXk224qULm7rvvxty5czF8+HBoNBqzdRUVFZg3bx5GjRpl0YDUev12uZDpF6jB7xJnIaKmKc6v7aWfOHFi416gUKLN1CXIgwfipryE0qMbm7xvewcHnEpKYjHTwt1UIfPyyy/j559/RkREBKZPn4727WtvvX7q1CksWrQIBoMBL730UrMEpdYlVVeG4xlFUMhl6BOgufELiMgqVZQWAwBGTn0J7TvHNOo1Z4rlOFYIBI2ajqFTpkLehE6Z7LRzWPHubOh0OhYyLdxNFTI+Pj7YvXs3nn76acyZMwdCCAC1t2QfNmwYFi1aBB8fn2YJSq1L3SDfvqEe0GoUEqcholvl4R+MgPDoRrX1MRhxZlcqyqoNKHcJRKRv/ZmyRHVuekJrcHAw1q9fj4KCApw9exZCCISHh8PNza058lErVXdaaXRnfwAcQE7UmqgUcnQNckXCuTzsTy1Aex9nyGRNHytDLVuTblEAAG5ubujZsyd69erFIoYs6mxOCU5llUClkGFYtK/UcYhIAl0CtLBTypFfVoVzuWVSxyEr1uRChqi5rDta2xvTP9wLWgfeW4moNVIrFega4AoA2JeabxrKQHQ1FjJkVYQQWHd5fMzoLpzKT9SadQ10hUohQ26JHhfyyqWOQ1aKhQxZlaRLJTifWwY7pRxxURw4TtSa2dsp0KmNFgB7ZejaWMiQVambrXRXey84a3haiai16x7kBoVchktFlcgorJA6DlkhFjJkNYQQptlKozr7S5yGiKyBo1qJaL/a6df7UvMlTkPWiIUMWY1jF4uQll8Oe5UCg6O8pY5DRFYiJtgNchmQnl+BrKJKqeOQlWEhQ1aj7rTS4ChvONjd9CWOiKiFcrFXob2vMwD2ylB9LGTIKhiNwnSTSJ5WIqKr9WzrDgBI0ZUht0QvcRqyJixkyCocTi9AZlElnNRKDGzvJXUcIrIybg52iPB2AgDsZ68MXYGFDFmFuovgDe3gA42K91Yiovp6XO6VOZNTivyyKonTkLVgIUOSMxgFfj9++bQSL4JHRNfg5axGO09HAMCBC+yVoVqSFjJffPEFOnfuDBcXF7i4uCA2NhZ//PGHaX1lZSWmTZsGDw8PODk5YezYscjOzpYwMTWHfSn5yC3RQ2uvwh1hPK1ERNdWN1bmVFYJiiuqJU5D1kDSQiYgIADvvPMODh48iAMHDmDQoEG49957ceLECQDAzJkzsW7dOqxevRrbt29HZmYmxowZI2VkagZ1s5WGRfvATslOQiK6Nl+tBoHu9hACOHChQOo4ZAUkneM6evRos+dvvfUWvvjiC+zZswcBAQFYsmQJVq5ciUGDBgEAli5diqioKOzZswd9+vSRIjJZWI3BiD8SswAAo7twthIR3Vivtu5Iz8/AyUvF6B3iDkc1L9fQmlnNf38NBgNWrVqFsrIyxMbG4uDBg6iurkZcXJypTWRkJIKCgpCQkHDN7ej1ehQXF5s9yHrtPpeH/LIqeDjaIbadh9RxiMgGtHG1h59WA4NR4FAae2VaO8kLmePHj8PJyQlqtRpPPfUU1qxZgw4dOiArKwt2dnZwdXU1a+/j44OsrKxrbm/+/PnQarWmR2BgYDP/BHQr6k4rDe/oC6VC8o8jEdkAmUxmGitzPKMIFdUGiRORlCT/y9G+fXscOXIEe/fuxdNPP41Jkybh5MmTTd7enDlzUFRUZHqkp6dbMC1ZUlWNERsun1biRfCI6Ga09XCAl7Ma1QaBI2mFUschCUl+YtHOzg5hYWEAgJiYGOzfvx+ffPIJHnzwQVRVVaGwsNCsVyY7Oxu+vr7X3J5arYZarW7u2GQBf53ORXFlDbyd1egV4i51HCKyITKZDD2D3bA+MQtHLxaie7Ar1Epeg6o1krxH5mpGoxF6vR4xMTFQqVSIj483rUtOTkZaWhpiY2MlTEiW8uvR2tNKozr7QyGXSZyGiGxNmLcT3BxU0NcYcexikdRxSCKS9sjMmTMHI0aMQFBQEEpKSrBy5Ups27YNGzduhFarxRNPPIFZs2bB3d0dLi4ueOaZZxAbG8sZSy1AeVUNNp2svSbQPV15WomIbl7dWJk/T2bjcFohuga6QsWxdq2OpIVMTk4OHn30UVy6dAlarRadO3fGxo0bMWTIEADAxx9/DLlcjrFjx0Kv12PYsGH4/PPPpYxMFrI5KQcV1QYEezigS4BW6jhEZKMifJyx53weiitrcCKzGF0DXaWORLeZpIXMkiVLrrteo9Fg0aJFWLRo0W1KRLfLr0dqTyuN7uwPmYynlYioaRRyGWKC3bA1ORcHLxSgUxstT1W3MuyDo9uuqLwa20/nAOBpJSK6dR38XOBop0CpvgZJWbx2WGvDQoZuuw0nLqHaIBDp64wIH2ep4xCRjVMq5Oge7AYAOJBaAKNRSJyIbicWMnTb1c1W4i0JiMhSOrXRQqOSo6iiGmdySqWOQ7cRCxm6rXJKKpFwLg8AcA8LGSKyEJVCjm6Btb0y+1PzIdgp02qwkKHb6vdjl2AUQLcgVwS6O0gdh4hakC4BWtgp5Mgrq8KlCg74bS1YyNBtZTqtxFsSEJGFqVUKdL58OYdTxbzKb2vBQoZum/T8chxOK4RcBozq7Cd1HCJqgboFuUIpl6GgSg5N265Sx6HbgIUM3TZ1vTF92nnA20UjcRoiaokc7JTo2Ka2V0Yb+6DEaeh2YCFDt826y4UMB/kSUXPqHuQKGQQ0QZ2QpKuSOg41MxYydFuczi7BqawSqBQyjOjI00pE1HycNSoEOxoBAD+d5FTslo6FDN0Wdb0xAyK8oHVQSZyGiFq69i4GCKMBh7L0SMzgnbFbMhYy1OyEELwIHhHdVk4qoDxpBwDg821nJU5DzYmFDDW7YxeLcCGvHPYqBYZ08JE6DhG1EkV7VgMA/kjMwtmcEonTUHNhIUPNrq43Jq6DDxzsJL3hOhG1ItW6C+jVRg0hgM+3nZM6DjUTFjLUrAxGwdlKRCSZB6KcAAC/HMlEen65xGmoObCQoWa166wOOSV6uDmoMCDCS+o4RNTKhLnboX+4JwxGgcXb2SvTErGQoWa15nAGAGBUZ3/YKflxI6Lbb/pdYQCA1QcuIru4UuI0ZGn8y0LNpkxfgw2JWQCA+7u3kTgNEbVWvdt5oGdbN1QZjPjqr/NSxyELYyFDzWZDYhYqqg0I8XREt0BXqeMQUSs27XKvzIq9acgv49V+WxIWMtRs6k4r3d+tDWQymcRpiKg1GxDhhU5ttKioNmDprhSp45AFsZChZpFVVIld53QAagsZIiIpyWQyTLsrFACwbHcqiiurJU5ElsJChprFL0cyIATQs60bAt0dpI5DRIShHXwR7u2Eksoa/C/hgtRxyEJYyFCz+P/TSgESJyEiqiWXy0xjZb7acR6l+hqJE5ElsJAhizuZWYxTWSWwU8oxshPvdE1E1mN0F3+083JEYXk1lu9OlToOWQALGbK4nw9dBADERXnzTtdEZFUUchmeGxwOoLZXpoRjZWweCxmyqBqDEb9cviUBTysRkTUa1dkfoeyVaTF4Bz+6KWlpadDpdNdcfzhLj9wSPZztZHApu4hDhzJueZ9JSUm3vA0iojoKuQzPDg7Hc6uO4KsdKZjUty2cNew9tlUsZKjR0tLSEBkVhYrya994zfOeF+AYdScyEn5Fnzf+Y9H9l5aWWnR7RNR6jersj0+3nMXZnFIs25WKZy6fbiLbw0KGGk2n06GivBwT/vU+fIJC663XG4D1GSoYAdw/cjhc7x9mkf0m7duOP5Z/gspK3iOFiCyjrlfm2e8O4787UzCpX1u4sFfGJrGQoZvmExSKgPDoesuPpBfCiFx4O6vRMdpy/7vJTuMda4nI8kZ28sPC+DOmXpln2StjkzjYlyxCCIETmUUAgA5+LhKnISK6sStnMP13x3le7ddGsZAhi8gp0UNXWgWFXIb2vs5SxyEiapS7O/kh3NsJxZU1WLozVeo41AQsZMgiTmYWAwBCvRyhUSkkTkNE1DgKuQzPxdX2yizZeR5FFeyVsTUsZOiW1RiMOJVdAgCI9tdKnIaI6Obc3dEPET6Xe2V4Z2ybw0KGbtnZ3FJU1RjhrFEi0M1e6jhERDdFLpfhucERAIAlO1PYK2NjWMjQLTtx+bRSBz8XyGQyidMQEd28ER190d7HGSWVNfjvjvNSx6GbwEKGbklRRTUuFlQA4GwlIrJdcrkMM4f8f69Mbole4kTUWCxk6JbUDfINcneAiz0vJkVEtmtYtA+6BLqivMqARVvPSh2HGknSQmb+/Pno2bMnnJ2d4e3tjfvuuw/JyclmbSorKzFt2jR4eHjAyckJY8eORXZ2tkSJ6UpGo8DJS7WFTLQ/e2OIyLbJZDK8MKw9AGDl3jRcLLj27VjIekhayGzfvh3Tpk3Dnj17sGnTJlRXV2Po0KEoKysztZk5cybWrVuH1atXY/v27cjMzMSYMWMkTE11UvLKUKqvgb1KgXaejlLHISK6Zf3CPNEvzANVBiMWbD4jdRxqBElvUbBhwwaz58uWLYO3tzcOHjyIO++8E0VFRViyZAlWrlyJQYMGAQCWLl2KqKgo7NmzB3369JEiNl127OLlK/n6u0Cp4FlKImoZZg+LxK6zu/DzoYuYemc7hPvwIp/WzKr++hQV1f5hdHd3BwAcPHgQ1dXViIuLM7WJjIxEUFAQEhISGtyGXq9HcXGx2YMsr7C8Cmn5td2undrw2jFE1HJ0DXTF0A4+MArgwz9PSx2HbsBqChmj0YgZM2agX79+6NixIwAgKysLdnZ2cHV1NWvr4+ODrKysBrczf/58aLVa0yMwMLC5o7dKxzNqi862Hg7QcpAvEbUwzw9rD5kM2HAiC0fTC6WOQ9dhNYXMtGnTkJiYiFWrVt3SdubMmYOioiLTIz093UIJqY7B+P/Xjukc4CptGCKiZhDh44z7u7UBALy38RSEEBInomuxikJm+vTp+O2337B161YEBASYlvv6+qKqqgqFhYVm7bOzs+Hr69vgttRqNVxcXMweZFkXy+XQX76Sb7CHg9RxiIiaxcy4CNgp5Nh1Ng/bT+dKHYeuQdJCRgiB6dOnY82aNdiyZQtCQkLM1sfExEClUiE+Pt60LDk5GWlpaYiNjb3dcemyc6W1H5tObbSQ80q+RNRCBbo7YFLfYADA2+uTUGMwSpyIGiLprKVp06Zh5cqV+OWXX+Ds7Gwa96LVamFvbw+tVosnnngCs2bNgru7O1xcXPDMM88gNjaWM5YkYucTioIqORQyGa8dQ0RWLykp6ZZe39/DiO/sZDidXYoP1+zGkHY37oX29PREUFDQLe2XGk/SQuaLL74AAAwcONBs+dKlSzF58mQAwMcffwy5XI6xY8dCr9dj2LBh+Pzzz29zUqrj1O1uAECYtxMc7CT9+BARXVNxfu2poIkTJ97ytpx73AP3wU/i020pmPPIkxDVlddtb+/ggFNJSSxmbhNJ/xI1ZvCURqPBokWLsGjRotuQiK6ntMoIxw4DAACdAzjlmoisV0Vp7YSEkVNfQvvOMbe0LaMA/rwkUObkjmGvfo8OroZrts1OO4cV786GTqdjIXOb8L/U1GhbUsohV2mgVRnhp9VIHYeI6IY8/IMREB59y9sZ4FqC9cezcKZUib6dwuCk4Z9Pa2EVs5bI+tUYjPjtTO0F8EKdjZBxkC8RtSJhXk7w02pQYxRIOJ8ndRy6AgsZapT1iVnQlRtgKCtAkCNH7hNR6yKTydA/3BMAcPJSMXJL9BInojosZOiGhBD4747zAICSQ79Dwc4YImqF/LT2CPd2AgBsP53Li+RZCRYydEP7UvJx7GIR7BRAyeH1UschIpLMHeGeUMplyCiswOnsUqnjEFjIUCN8dbk3ZmCwA4wVvAknEbVeLhoVeratvbHxjrO5qKrhqXapsZCh6zqXW4rNSTmQyYDREY5SxyEiklz3IFdo7VUo0xuwLzVf6jitHgsZuq4lO1MAAIMjfdDGhdMNiYiUCjnuvDzw93BaAQrKqyRO1LqxkKFryivV46eDFwEAU/qH3KA1EVHrEeLpiLYeDjAKYHsyB/5KiYUMXdO3e9KgrzGic4AWvULcpY5DRGQ1ZDIZ7ozwgkImw4X8cpzXlUkdqdViIUMNKq+qwTcJqQCAv/dvxwvgERFdxc3BDt2DXQEAf53ORTXvji0JFjLUoBV70pBXVoUgdwfc3dFX6jhERFapZ1t3OGuUKK6swR5e8VcSLGSonooqA/7z1zkAwPS7wqBU8GNCRNQQlUKOu9p7AwAOpxWioIq917cb/0JRPSv2XoCutAqB7va4v3sbqeMQEVm1EE9HRPg4QQA4mKcA5AqpI7UqLGTITGW1Af/5q/YCeNMGhkHF3hgiohsaEOEFjVKOomo5XHrcJ3WcVoV/pcjMyr1pyC3Ro42rPcZ0D5A6DhGRTXCwU6J/hBcAQHvHI7hUUiNxotaDhQyZVFYbsHh77diYaXeFwU7JjwcRUWNF+TrDW2OEXKXGfw4W8doytwn/UpHJd/vSkHO5N+aBGPbGEBHdDJlMhm5uNTBWV+JYThV+OJAudaRWgYUMATDvjXl6YCh7Y4iImsBJBRTtXAEAeH3dSaTnl0ucqOXjXysCUNsbk12sh59Wg3E92BtDRNRUxft/QQdPO5RVGTDrhyMwGHmKqTmxkCGU6mvw2ZazAIDpg8KgVnLqIBFRkwkjnu2thZNaif2pBfjy8kxQah4sZAhf/XUeeWVVaOfpiPE9AqWOQ0Rk87wdlXhldAcAwEebknEis0jiRC0XC5lWLrdEj6921P5vYfaw9rxuDBGRhYyLCcDQDj6oNgjM/P4IKqsNUkdqkfhXq5VbGH8G5VUGdAl0xXDeU4mIyGJkMhnmj+kETyc7nM4uxfsbk6WO1CKxkGnFTmeXYOW+NADAnBGRvMM1EZGFeTip8e7YzgCAJTtTsOVUtsSJWh4WMq2UEAJv/HYSBqPAsGgf9GnnIXUkIqIWaXCUDybFBgMAZn5/FBcLOCXbkljItFLbknOx44wOKoUML94dJXUcIqIW7cWRUegcoEVRRTWmrzyMqhqj1JFaDBYyrVBVjRFv/H4SAPB4vxAEezhKnIiIqGVTKxVY9Eh3uGiUOJJeiPl/JEkdqcVgIdMKLdmZgvO5ZfB0ssO0QWFSxyEiahUC3R3w4fiuAIClu1Kx/vglaQO1ECxkWpmMwgosjD8DAJgzIgouGpXEiYiIWo8hHXww9c52AIAXfjyGFF2ZxIlsHwuZVuaNdSdRUW1Ar7buGNO9jdRxiIhaneeHtUfPtm4o1ddgyjcHUFxZLXUkm8ZCphXZciobG05kQSGX4fX7ojndmohIAiqFHIse6Q5fFw3O5pTimZWHUWPg4N+mYiHTSpTqa/DSmkQAwBN3hCDS10XiRERErZe3iwb/ndQDGpUc20/n4u31p6SOZLNYyLQS7204hUtFlQhyd8DMuAip4xARtXod22jx0eXBv1/vSsF3ly9QSjeHhUwrcCA1H//bcwEAMH9MJ9jb8e7WRETW4O5Ofpg1pPY/l3PXJiLhXJ7EiWwPC5kWrryqBv9cfRRCAON7BKBfmKfUkYiI6ArPDArD6C7+qDEKPPXtQZzNKZE6kk1hIdPCzV9/ChfyyuGn1eClkR2kjkNERFeRyWR4/4HO6BroiqKKavxtyT5kFlZIHctmsJBpwXacyTWdUnr/gS7Q2vOaMURE1kijUuDryT0R6uWIS0WV+NuSvSgoq5I6lk2QtJD566+/MHr0aPj7+0Mmk2Ht2rVm64UQeOWVV+Dn5wd7e3vExcXhzJkz0oS1MfllVXh+9VEAwKOxwbgjnKeUiIismbujHb55ojf8tBqcyy3DY8v2o7yqRupYVk/SQqasrAxdunTBokWLGlz/3nvvYeHChVi8eDH27t0LR0dHDBs2DJWVlbc5qW0RQuCFH48iu1iPdl6O+PeISKkjERFRI7Rxtcc3j/eC1l6FI+mFeOrbQ7zB5A1IWsiMGDECb775Ju6///5664QQWLBgAV5++WXce++96Ny5M7755htkZmbW67khc8t3p2JzUg7sFHJ8+nA3ONgppY5ERESNFO7jjK8n94S9SoG/Tudi5vdHeMG867DaMTIpKSnIyspCXFycaZlWq0Xv3r2RkJBwzdfp9XoUFxebPVqTYxcLTRdWevHuSET7ayVORERENysm2A1fTOwOlUKG349fwgwWM9dktYVMVlYWAMDHx8dsuY+Pj2ldQ+bPnw+tVmt6BAYGNmtOa1JQVoWnvz2EKoMRQzr4YFLftlJHIiKiJhrY3htfTIiBSiHDb8cuYeYPR1nMNMBqC5mmmjNnDoqKikyP9PR0qSPdFkajwMwfjiCjsALBHg74YFwX3kuJiMjGxXXwwaJHukMpl2Hd0Uz8c/VRGIxC6lhWxWoLGV9fXwBAdna22fLs7GzTuoao1Wq4uLiYPVqDD/5MxrbkXKiVcnwxIYZTrYmIWoih0b5YNKG2mPnlSCaeX82emStZbSETEhICX19fxMfHm5YVFxdj7969iI2NlTCZ9Vl9IB2fbzsHAHhnbCd08G8dxRsRUWsxLNoXn13umVlzOAPTVx6GvsYgdSyrIOl0ltLSUpw9e9b0PCUlBUeOHIG7uzuCgoIwY8YMvPnmmwgPD0dISAjmzp0Lf39/3HfffdKFthJpaWnQ6XQ4kavHa9vzAQAPRDkhWOTg0KGcZtlnUlJSs2yXiKilaY7fl94Ano91xQcJBdhwIgvjP92CF/q6wV5V2yfh6emJoKAgi+/X2klayBw4cAB33XWX6fmsWbMAAJMmTcKyZcvwwgsvoKysDE8++SQKCwtxxx13YMOGDdBoNFJFtgppaWmIjIpCtZ0Wvo9+CIW9C8pO7cCH776HD9H8505LS0ubfR9ERLaoOD8XADBx4sRm24cmqDO8xs7F0Wzggc+2I2f1PBj1ZbB3cMCppKRWV8xIWsgMHDgQQlz7D69MJsPrr7+O119//Tamsn46nQ56gwwRUz9DBdRwszPi3rjeUA79qVn3m7RvO/5Y/gkvSEhEdA0VpbWX/Bg59SW07xzTbPvJ18uwK1cAbSIRPfs7RFafw+p3Z0Kn07GQIetXZRDwuv9FVEANJ7USY3sGwlHd/IcyO+1cs++DiKgl8PAPRkB4dLNtPwCAf6keaw9noLgKSFSEQekR0Gz7s2ZWO9iXGlZtMOKDhAJogrtAKRO4p4v/bSliiIjIung6qTGuRyBc7VUoN8jgO+F9nMjVSx3rtmMhY0MMRoF//nAUBzL1MFbr0derBl7OaqljERGRRLT2KozvEQh3OyMU9s54bXs+fj2aKXWs24qFjI0QQuClNcfx69FMKOVA7tq34aXhRZGIiFo7ezsF7vSuQVnyLtQYgWe/O4zF289ddwxqS8JCxgYIIfDm70lYtT8dchkwo7crKs8flDoWERFZCYUc0P3yLkaFOwIA3vnjFF748ViruNYMCxkrJ4TAO3+cwpKdKQCAd8d2Rt9Ae4lTERGR1RFGPN7NBfNGd4BcBqw+eBEPf7kHOSUte6YpR4negrqL0jUXoxD46lAxNp4rBwBM6eaCUHkuL0xHREQNSkpKQpeoKLzc3x0fJhTgUFohRny0Ff++wx2hbs1z6xqpL8THQqaJ6i5KV1Fe3jw7kMnhcfcMOHUcBCGMyN/wKV5+dxNevqIJL0xHRERAwxfiU7r5w3vsXOR5BOKf6y8ib/0nKD+1w+L7lvpCfCxkmkin06GivBwT/vU+fIJCLbptowD26ZTIqJBDBoFenkYETn0awNMAeGE6IiIyd60L8VUbgb06I7Khgde9/0Lk355HB60BMpll9puddg4r3p0t6YX4WMjcIp+gUIte9Kiqxoj1xy8ho6IcCpkMIzr5IdTLyawNL0xHREQNaehCfMERArvP5uFgWgFOFStQZeeCodE+UCsVEqW0LA72tSKllTVYfTAdF/LLoZTLMLpL/SKGiIjoZshlMtwR7omhHXygkMtwXleG7/alI7ekZVw8j4WMlcgt0eP7A+nQlVbBXqXA2O4BCPZwlDoWERG1EFF+LhgXEwBnjRJFFdX4/kA6TmYWSx3rlrGQsQIX8sqw+mA6SvU1cHeww4M9A+Grbd13+CYiIsvzcdHg4V5BCPZwgMEosCkpG/FJ2agxGKWO1mQsZCQkhMCR9EL8cjQT1QaBADd7jOsRAK1980yRIyIislcpcG8Xf/Rp5w4ASMwsxuqDF1FUUS1xsqZhISORGoMRf57MxvbTuRACiPJ1xn1d20CjahmDr4iIyHrJZDL0DvHAfV39oVHJkVOix3f70nA+1/Yu68FCRgLFFdX44eBFnMoqgUwG9A/3xJDLg7CIiIhul2APRzzcKwi+Lhroa4xYd+wStiXn2NSpJhYyt1lafjm+25+G3BI97FUK3N+1DboHuUFmqUn9REREN8FFo8IDMQHoGugKADh6sQjfH0hHXqltzGpiIXObGI0Cu8/psOZwBiqrjfB2VuOhXoEIdHeQOhoREbVyCrkMAyK8cE8Xf9irFNCVVmHV/nQczyiy+rtos5C5DYorqvHjoYvYn1oAAIj2r50C56LhoF4iIrIeIZ6OmNA7CEHuDqgxCmw5lYPfj19CZbX13kWbV/ZtZmeyS7D5VA6qaoywU8gxOMobET7OUsciIiJqkKNaifu6+uNQWiF2n9PhXG4ZsovTMCzaBwFu1ncWgYVMM9FXG/DXGR1OXqq92JCviwbDO/pyajUREVk9mUyGmGA3BLjZ44/ELBRVVOOnQxnoGuiKvqEeUCms54QOC5lmkJpXhvikHJTqawAAPYLd0KedB2clERGRTfFx0eCRXkHYcSYXiZnFOJJeiNS8Mgzt4AM/rb3U8QCwkLEofY0BO87ocOLyJZ+19ioM7eADf1frONhEREQ3y04px+AoH4R6OWHzqWwUlldj9YGLtT02VjAOmIWMBQghcC63DNtP55p6Yayx+42IiKip2no6YmLvYGw/nYtTWSU4cKEAp5QqqNt0kDQXC5lbVFYD/Ho0E6l55QBqe2HiorytckAUERHRrdCoFBgW7YtQLydsTc5BaZUBvhPfw89JpejeXZpMLGSaqNog4NJnHDZdUsEgyiGXATHBbujZ1p29MERE1KKFeTshwM0eGw+eQUqpDFFedpJl4V/cJnprRz7cBkyCQcgQ4GqPCb2D0TfUk0UMERG1ChqVAjEeBmR+9RSiPFnI2Jy4dg4wlBWip0cNxnRvA3dH6Q4iERGRVGoKMiXdPwuZJuoXqEHGl1MQ5GjkfZKIiIgkwkKmiWQyGURVhdQxiIiIWjUWMkRERGSzWMgQERGRzWIhQ0RERDaLhQwRERHZLBYyREREZLNYyBAREZHNYiFDRERENouFDBEREdksmyhkFi1ahLZt20Kj0aB3797Yt2+f1JGIiIjIClh9IfP9999j1qxZmDdvHg4dOoQuXbpg2LBhyMnJkToaERERSczqC5mPPvoIU6ZMwWOPPYYOHTpg8eLFcHBwwNdffy11NCIiIpKYUuoA11NVVYWDBw9izpw5pmVyuRxxcXFISEho8DV6vR56vd70vKioCABQXFxs0WylpaUAgItnTkBfUW7Rbd9Idto5AEBW6mmcc3Tgfrlf7pf75X65X0n2m3sxBUDt30RL/52t254Q4voNhRXLyMgQAMTu3bvNls+ePVv06tWrwdfMmzdPAOCDDz744IMPPlrAIz09/bq1glX3yDTFnDlzMGvWLNNzo9GI/Px8eHh4QCaTSZjs2oqLixEYGIj09HS4uLhIHYfAY2KteFysE4+L9WkJx0QIgZKSEvj7+1+3nVUXMp6enlAoFMjOzjZbnp2dDV9f3wZfo1aroVarzZa5uro2V0SLcnFxsdkPXEvFY2KdeFysE4+L9bH1Y6LVam/YxqoH+9rZ2SEmJgbx8fGmZUajEfHx8YiNjZUwGREREVkDq+6RAYBZs2Zh0qRJ6NGjB3r16oUFCxagrKwMjz32mNTRiIiISGJWX8g8+OCDyM3NxSuvvIKsrCx07doVGzZsgI+Pj9TRLEatVmPevHn1TomRdHhMrBOPi3XicbE+remYyIS40bwmIiIiIutk1WNkiIiIiK6HhQwRERHZLBYyREREZLNYyBAREZHNYiHTBPPnz0fPnj3h7OwMb29v3HfffUhOTjZrU1lZiWnTpsHDwwNOTk4YO3ZsvQv7paWlYeTIkXBwcIC3tzdmz56Nmpoaszbbtm1D9+7doVarERYWhmXLltXLs2jRIrRt2xYajQa9e/fGvn37LP4z25p33nkHMpkMM2bMMC3jMZFGRkYGJk6cCA8PD9jb26NTp044cOCAab0QAq+88gr8/Pxgb2+PuLg4nDlzxmwb+fn5mDBhAlxcXODq6oonnnjCdL+zOseOHUP//v2h0WgQGBiI9957r16W1atXIzIyEhqNBp06dcL69eub54e2cgaDAXPnzkVISAjs7e0RGhqKN954w+yeNjwuzeuvv/7C6NGj4e/vD5lMhrVr15qtt6b3vzFZJHXLN0RqhYYNGyaWLl0qEhMTxZEjR8Tdd98tgoKCRGlpqanNU089JQIDA0V8fLw4cOCA6NOnj+jbt69pfU1NjejYsaOIi4sThw8fFuvXrxeenp5izpw5pjbnz58XDg4OYtasWeLkyZPi008/FQqFQmzYsMHUZtWqVcLOzk58/fXX4sSJE2LKlCnC1dVVZGdn3543wwrt27dPtG3bVnTu3Fk899xzpuU8Jrdffn6+CA4OFpMnTxZ79+4V58+fFxs3bhRnz541tXnnnXeEVqsVa9euFUePHhX33HOPCAkJERUVFaY2w4cPF126dBF79uwRO3bsEGFhYeLhhx82rS8qKhI+Pj5iwoQJIjExUXz33XfC3t5e/Oc//zG12bVrl1AoFOK9994TJ0+eFC+//LJQqVTi+PHjt+fNsCJvvfWW8PDwEL/99ptISUkRq1evFk5OTuKTTz4xteFxaV7r168XL730kvj5558FALFmzRqz9db0/jcmi5RYyFhATk6OACC2b98uhBCisLBQqFQqsXr1alObpKQkAUAkJCQIIWo/xHK5XGRlZZnafPHFF8LFxUXo9XohhBAvvPCCiI6ONtvXgw8+KIYNG2Z63qtXLzFt2jTTc4PBIPz9/cX8+fMt/4PagJKSEhEeHi42bdokBgwYYCpkeEyk8a9//Uvccccd11xvNBqFr6+veP/9903LCgsLhVqtFt99950QQoiTJ08KAGL//v2mNn/88YeQyWQiIyNDCCHE559/Ltzc3EzHqW7f7du3Nz0fP368GDlypNn+e/fuLaZOnXprP6QNGjlypHj88cfNlo0ZM0ZMmDBBCMHjcrtdXchY0/vfmCxS46klCygqKgIAuLu7AwAOHjyI6upqxMXFmdpERkYiKCgICQkJAICEhAR06tTJ7MJ+w4YNQ3FxMU6cOGFqc+U26trUbaOqqgoHDx40ayOXyxEXF2dq09pMmzYNI0eOrPe+8ZhI49dff0WPHj0wbtw4eHt7o1u3bvjqq69M61NSUpCVlWX2fmm1WvTu3dvsuLi6uqJHjx6mNnFxcZDL5di7d6+pzZ133gk7OztTm2HDhiE5ORkFBQWmNtc7dq1J3759ER8fj9OnTwMAjh49ip07d2LEiBEAeFykZk3vf2OySI2FzC0yGo2YMWMG+vXrh44dOwIAsrKyYGdnV+9mlT4+PsjKyjK1ufrqxHXPb9SmuLgYFRUV0Ol0MBgMDbap20ZrsmrVKhw6dAjz58+vt47HRBrnz5/HF198gfDwcGzcuBFPP/00nn32WSxfvhzA/7+v13u/srKy4O3tbbZeqVTC3d3dIseuNR6Xf//733jooYcQGRkJlUqFbt26YcaMGZgwYQIAHhepWdP735gsUrP6WxRYu2nTpiExMRE7d+6UOkqrlp6ejueeew6bNm2CRqOROg5dZjQa0aNHD7z99tsAgG7duiExMRGLFy/GpEmTJE7Xev3www9YsWIFVq5ciejoaBw5cgQzZsyAv78/jwvZHPbI3ILp06fjt99+w9atWxEQEGBa7uvri6qqKhQWFpq1z87Ohq+vr6nN1TNm6p7fqI2Liwvs7e3h6ekJhULRYJu6bbQWBw8eRE5ODrp37w6lUgmlUont27dj4cKFUCqV8PHx4TGRgJ+fHzp06GC2LCoqCmlpaQD+/3293vvl6+uLnJwcs/U1NTXIz8+3yLFrjcdl9uzZpl6ZTp064W9/+xtmzpxp6s3kcZGWNb3/jckiNRYyTSCEwPTp07FmzRps2bIFISEhZutjYmKgUqkQHx9vWpacnIy0tDTExsYCAGJjY3H8+HGzD+KmTZvg4uJi+sUfGxtrto26NnXbsLOzQ0xMjFkbo9GI+Ph4U5vWYvDgwTh+/DiOHDlievTo0QMTJkww/ZvH5Pbr169fvUsTnD59GsHBwQCAkJAQ+Pr6mr1fxcXF2Lt3r9lxKSwsxMGDB01ttmzZAqPRiN69e5va/PXXX6iurja12bRpE9q3bw83NzdTm+sdu9akvLwccrn5r3+FQgGj0QiAx0Vq1vT+NyaL5KQebWyLnn76aaHVasW2bdvEpUuXTI/y8nJTm6eeekoEBQWJLVu2iAMHDojY2FgRGxtrWl831Xfo0KHiyJEjYsOGDcLLy6vBqb6zZ88WSUlJYtGiRQ1O9VWr1WLZsmXi5MmT4sknnxSurq5mM29aqytnLQnBYyKFffv2CaVSKd566y1x5swZsWLFCuHg4CC+/fZbU5t33nlHuLq6il9++UUcO3ZM3HvvvQ1OM+3WrZvYu3ev2LlzpwgPDzebZlpYWCh8fHzE3/72N5GYmChWrVolHBwc6k0zVSqV4oMPPhBJSUli3rx5rWKab0MmTZok2rRpY5p+/fPPPwtPT0/xwgsvmNrwuDSvkpIScfjwYXH48GEBQHz00Ufi8OHD4sKFC0II63r/G5NFSixkmgBAg4+lS5ea2lRUVIh//OMfws3NTTg4OIj7779fXLp0yWw7qampYsSIEcLe3l54enqKf/7zn6K6utqszdatW0XXrl2FnZ2daNeundk+6nz66aciKChI2NnZiV69eok9e/Y0x49tc64uZHhMpLFu3TrRsWNHoVarRWRkpPjyyy/N1huNRjF37lzh4+Mj1Gq1GDx4sEhOTjZrk5eXJx5++GHh5OQkXFxcxGOPPSZKSkrM2hw9elTccccdQq1WizZt2oh33nmnXpYffvhBRERECDs7OxEdHS1+//13y//ANqC4uFg899xzIigoSGg0GtGuXTvx0ksvmU3T5XFpXlu3bm3w78ikSZOEENb1/jcmi5RkQlxxKUciIiIiG8IxMkRERGSzWMgQERGRzWIhQ0RERDaLhQwRERHZLBYyREREZLNYyBAREZHNYiFDRERENouFDBEREdksFjJERFeZPHky7rvvPqljEFEjsJAhohvKzc3F008/jaCgIKjVavj6+mLYsGHYtWsXAEAmk2Ht2rXShrzs6NGjuOeee+Dt7Q2NRoO2bdviwQcfrHenYCJqGZRSByAi6zd27FhUVVVh+fLlaNeuHbKzsxEfH4+8vDyL7qe6uhoqlarJr8/NzcXgwYMxatQobNy4Ea6urkhNTcWvv/6KsrIyCyYlIqsh9c2eiMi6FRQUCABi27ZtDa4PDg42u+ldcHCwad3nn38u2rVrJ1QqlYiIiBDffPON2WsBiM8//1yMHj1aODg4iHnz5gkhhFi7dq3o1q2bUKvVIiQkRLz66qv1bt7ZkDVr1gilUnndtjU1NeLxxx8Xbdu2FRqNRkRERIgFCxaYtZk0aZK49957Tc8NBoN4++23Ta/p3LmzWL16tWl9fn6+eOSRR4Snp6fQaDQiLCxMfP311zfMS0S3jj0yRHRdTk5OcHJywtq1a9GnTx+o1Wqz9fv374e3tzeWLl2K4cOHQ6FQAADWrFmD5557DgsWLEBcXBx+++03PPbYYwgICMBdd91lev2rr76Kd955BwsWLIBSqcSOHTvw6KOPYuHChejfvz/OnTuHJ598EgAwb96862b19fVFTU0N1qxZgwceeAAymaxeG6PRiICAAKxevRoeHh7YvXs3nnzySfj5+WH8+PENbnf+/Pn49ttvsXjxYoSHh+Ovv/7CxIkT4eXlhQEDBmDu3Lk4efIk/vjjD3h6euLs2bOoqKi4qfeZiJpI6kqKiKzfjz/+KNzc3IRGoxF9+/YVc+bMEUePHjWtByDWrFlj9pq+ffuKKVOmmC0bN26cuPvuu81eN2PGDLM2gwcPFm+//bbZsv/973/Cz8+vUVlffPFFoVQqhbu7uxg+fLh47733RFZW1nVfM23aNDF27FjT8yt7ZCorK4WDg4PYvXu32WueeOIJ8fDDDwshhBg9erR47LHHGpWPiCyLg32J6IbGjh2LzMxM/Prrrxg+fDi2bduG7t27Y9myZdd8TVJSEvr162e2rF+/fkhKSjJb1qNHD7PnR48exeuvv27qCXJycsKUKVNw6dIllJeX3zDrW2+9haysLCxevBjR0dFYvHgxIiMjcfz4cVObRYsWISYmBl5eXnBycsKXX36JtLS0Brd39uxZlJeXY8iQIWaZvvnmG5w7dw4A8PTTT2PVqlXo2rUrXnjhBezevfuGOYnIMljIEFGjaDQaDBkyBHPnzsXu3bsxefLkG57qaQxHR0ez56WlpXjttddw5MgR0+P48eM4c+YMNBpNo7bp4eGBcePG4YMPPkBSUhL8/f3xwQcfAABWrVqF559/Hk888QT+/PNPHDlyBI899hiqqqoa3FZpaSkA4PfffzfLdPLkSfz4448AgBEjRuDChQuYOXMmMjMzMXjwYDz//PNNfUuI6CZwjAwRNUmHDh1MU65VKhUMBoPZ+qioKOzatQuTJk0yLdu1axc6dOhw3e12794dycnJCAsLs0hOOzs7hIaGmmYt7dq1C3379sU//vEPU5u6npWGdOjQAWq1GmlpaRgwYMA123l5eWHSpEmYNGkS+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+PBgweYMWMG2rZtiytX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", - "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": "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CpMFIiIiiZhqZYFzFoiIiEgnVhaIiIgkwmEIIiIi0onDEERERPReYmWBiIhIIjJIMAwhSSTSYrJAREQkETOZDGb5zBby+/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": "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", - "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": { From 7260f4e4e9bb72a7e21c75c5d31b14e4d65e1806 Mon Sep 17 00:00:00 2001 From: mayday Date: Thu, 28 Nov 2024 22:07:23 +0400 Subject: [PATCH 3/3] lab4 --- lab_4/lab4.ipynb | 2364 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 1668 insertions(+), 696 deletions(-) diff --git a/lab_4/lab4.ipynb b/lab_4/lab4.ipynb index cc304b7..827e3a6 100644 --- a/lab_4/lab4.ipynb +++ b/lab_4/lab4.ipynb @@ -4,21 +4,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Вариант задания: Прогнозирование выпучки в магазинах\n", - "### Бизнес-цели:\n", - "Цель: Разработать модель машинного обучения, которая позволит прогнозировать распродажи магазина в зависимоси от его ассортимента.\n", - "\n", - "### Цели технического проекта:\n", - "\n", - "Сбор и подготовка данных:\n", - "Очистка данных от пропусков, выбросов и дубликатов.\n", - "Преобразование категориальных переменных в числовые.\n", - "Разделение данных на обучающую и тестовую выборки.\n" + "## Начало лабораторной работы" ] }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -32,11 +23,8 @@ } ], "source": [ - "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", + "import pandas as pd\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", "print(df.columns)" ] }, @@ -44,755 +32,1430 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Разделим на 3 выборки\n" + "### Бизнес-цели" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование посетителей в магазине:\n", + "\n", + "Цель: Разработать модель, которая будет предсказывать посещение клиентами магазина на основе его характеристик (размер, распродажи, количество ассортимента).\n", + "\n", + "Применение:\n", + "Предсказывание посещения магазинов клиентами.\n", + "\n", + "2. Оптимизация параметров магазина:\n", + "\n", + "Цель: Определить оптимальные коэффициенты для различных факторов, влияющих на посещаемость магазина чтобы максимизировать прибыль компании при наименьших затратах на пространство магазина и его ассортиментт.\n", + "\n", + "Применение:\n", + "Создавать магазин с максимальной посещаемостью." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование посетителей в магазине" ] }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Размер обучающей выборки: 572\n", - "Размер контрольной выборки: 144\n", - "Размер тестовой выборки: 180\n" + "Среднее значение поля '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" ] } ], "source": [ - "from sklearn.model_selection import train_test_split\n", + "import pandas as pd\n", "\n", - "# Разделение данных на обучающую и тестовую выборки (80% - обучение, 20% - тест)\n", - "train_data, test_data = train_test_split(df, test_size=0.2, random_state=42)\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", "\n", - "# Разделение обучающей выборки на обучающую и контрольную (80% - обучение, 20% - контроль)\n", - "train_data, val_data = train_test_split(train_data, test_size=0.2, random_state=42)\n", + "# Устанавливаем случайное состояние\n", + "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", + "average_count = df['Daily_Customer_Count'].mean()\n", + "print(f\"Среднее значение поля 'Daily_Customer_Count': {average_count}\")\n", "\n", - "import seaborn as sns\n", - "import matplotlib.pyplot as plt\n", + "# Создаем новую переменную, указывающую, превышает ли посещаемость среднюю\n", + "df[\"above_average_count\"] = (df[\"Daily_Customer_Count\"] > average_count).astype(int)\n", "\n", - "# Гистограмма распределения цены в обучающей выборке\n", - "sns.histplot(train_data[\"Store_Sales\"], kde=True)\n", - "plt.title('Распределение цены в обучающей выборке')\n", - "plt.show()\n", + "# Рассчитываем волатильность (разницу между максимальной и минимальной посещаемостью)\n", + "df[\"customers_volatility\"] = df[\"Daily_Customer_Count\"].max() - df[\"Daily_Customer_Count\"].min()\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()" + "# Выводим первые строки измененной таблицы для проверки\n", + "print(df.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Процесс конструирования признаков\n", - "\n", - "\n", - "\n", - "### Унитарное кодирование категориальных признаков (one-hot encoding)\n", - "\n", - "One-hot encoding: Преобразование категориальных признаков в бинарные векторы." + "2. Оптимизация параметров магазина:" ] }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 25, "metadata": {}, - "outputs": [], + "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" + ] + } + ], "source": [ "import pandas as pd\n", "\n", - "# Пример категориальных признаков\n", - "categorical_features = [\n", - " \"Store ID \",\n", - " \"Store_Area\"\n", - "]\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\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)" + "# Устанавливаем случайное состояние\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()" ] }, { "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" ] }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 26, "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": [ + "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" + ] + }, { - "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" + "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": [ - "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": [], - "source": [ - "# Пример синтеза признака коэффициента отношения размера ассортимента к его распродажам\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": [ - "Масштабирование признаков - это процесс преобразования числовых признаков таким образом, чтобы они имели одинаковый масштаб. Это важно для многих алгоритмов машинного обучения, которые чувствительны к масштабу признаков, таких как линейная регрессия, метод опорных векторов (SVM) и нейронные сети." - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.preprocessing import StandardScaler, MinMaxScaler\n", + "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", "\n", - "# Пример масштабирования числовых признаков\n", - "numerical_features = [\"Daily_Customer_Count\", \"Items_Available\"]\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", "\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y)\n", + "X = df.drop(\"Daily_Customer_Count\", axis=1)\n", + "y = df[\"Daily_Customer_Count\"]\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", - "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": [ - "### Конструирование признаков с применением фреймворка Featuretools" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "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 featuretools as ft\n", + "X_train = scaler.fit_transform(X_train)\n", + "X_test = scaler.transform(X_test)\n", "\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", - "# Генерация признаков\n", - "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='shops', max_depth=2)\n", - "\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" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Оценка качества каждого набора признаков\n", - "Предсказательная способность\n", - "Метрики: RMSE, MAE, R²\n", - "\n", - "Методы: Обучение модели на обучающей выборке и оценка на контрольной и тестовой выборках.\n", - "\n", - "Скорость вычисления\n", - "Методы: Измерение времени выполнения генерации признаков и обучения модели.\n", - "\n", - "Надежность\n", - "Методы: Кросс-валидация, анализ чувствительности модели к изменениям в данных.\n", - "\n", - "Корреляция\n", - "Методы: Анализ корреляционной матрицы признаков, удаление мультиколлинеарных признаков.\n", - "\n", - "Цельность\n", - "Методы: Проверка логической связи между признаками и целевой переменной, интерпретация результатов модели." - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "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\\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 featuretools as ft\n", - "\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", - "# Преобразование признаков для контрольной и тестовой выборок\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": "code", - "execution_count": 72, - "metadata": {}, - "outputs": [ - { - "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": [ - "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" - ] - }, - { - "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.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", - "\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", + "# Обучаем модель линейной регрессии\n", + "model = LinearRegression()\n", "model.fit(X_train, y_train)\n", "\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", - "mae = mean_absolute_error(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", - "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", + "if r2 >= 0.75 and mae <= 300 and rmse <= 350:\n", + " print(\"Ориентиры для прогнозирования достигнуты!\")\n", + "else:\n", + " print(\"Ориентиры для прогнозирования не достигнуты.\")\n", "\n", "\n", - "# Проверка на переобучение\n", - "y_train_pred = model.predict(X_train)\n", + "columns_to_group = [\n", + " \"Store_Area\",\n", + " \"Items_Available\",\n", + " \"Store_Sales\"\n", + "]\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", + "for column in columns_to_group:\n", + " print(f\"Средняя посещаемость '{column}':\")\n", + " print(df.groupby(column)[\"Daily_Customer_Count\"].mean())\n", + " print()\n", "\n", - "print(f\"Train RMSE: {rmse_train}\")\n", - "print(f\"Train R²: {r2_train}\")\n", - "print(f\"Train MAE: {mae_train}\")\n", + "# Рассчитываем среднюю посещаемость для комбинаций признаков\n", "\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", + "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()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Анализ применимости алгоритмов обучения с учителем для решения поставленных задач:\n", + "1. Прогнозирование посещаемости магазинов:\n", + "Задача: Регрессия\n", + "\n", + "Свойства алгоритмов:\n", + "\n", + "Линейная регрессия:\n", + "Применимость: Хорошо подходит для задач, где зависимость между признаками и целевой переменной линейна.\n", + "Преимущества: Проста в реализации, интерпретируема.\n", + "Недостатки: Может плохо работать, если зависимость нелинейна.\n", + "\n", + "Деревья решений (регрессия):\n", + "Применимость: Подходит для задач с нелинейными зависимостями.\n", + "Преимущества: Может обрабатывать категориальные признаки, не требует масштабирования данных.\n", + "Недостатки: Подвержены переобучению, могут давать нестабильные результаты.\n", + "\n", + "Случайный лес (регрессия):\n", + "Применимость: Хорошо подходит для задач с нелинейными зависимостями и большим количеством признаков.\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", + "Градиентный бустинг (классификация)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "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", + " 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", + "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: 243.23611111111111\n", + "MSE: 87083.23183333334\n", + "RMSE: 295.09868151744314\n", + "R²: -0.05912817954666627\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE: 243.32216425180837\n", + "MSE: 86930.93446873281\n", + "RMSE: 294.84052378995125\n", + "R²: -0.057275900673647184\n", + "\n", + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Accuracy: 0.43333333333333335\n", + "\n", + "Model: Random Forest Classification\n", + "Accuracy: 0.46111111111111114\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy: 0.48333333333333334\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 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", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Stores.csv\")\n", + "\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", + "Конвейер для задачи регрессии:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "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", + "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: Random Forest Regression\n", + "MAE: 252.30722222222215\n", + "MSE: 96910.00272222221\n", + "RMSE: 311.3037145975329\n", + "R²: -0.1786438399471706\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE: 251.78234994554563\n", + "MSE: 91989.50216005361\n", + "RMSE: 303.2977120916899\n", + "R²: -0.11879947389467915\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" + ] + } + ], + "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()\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Оптимизация характеристик магазина:\n", + "Конвейер для задачи классификации:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "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.45555555555555555\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": 30, + "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: 243.04076811420884\n", + "MSE: 87060.25762210294\n", + "RMSE: 295.05975263004433\n", + "R²: -0.058848761408355266\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.05664822292044\n", + "MSE: 82429.08476894222\n", + "RMSE: 287.1046582153313\n", + "R²: -0.0025232717604557475\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": 31, + "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': None, 'model__n_estimators': 100}\n", + "Accuracy: 0.46111111111111114\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.4722222222222222\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": 32, + "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.0836083882561\n", + "MSE: 87586.19307186974\n", + "RMSE: 295.94964617628744\n", + "R²: -0.06524532069702138\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: 241.03600026936337\n", + "MSE: 82423.51718610286\n", + "RMSE: 287.0949619657281\n", + "R²: -0.002455557416913612\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+PBgweYMWMG2rZtiytX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", + "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': 100}\n", + "Accuracy: 0.4888888888888889\n", + "Precision: 0.5185185185185185\n", + "Recall: 0.4421052631578947\n", + "F1-score: 0.4772727272727273\n", + "\n" + ] + }, + { + "data": { + "image/png": "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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" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\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 import metrics\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", + "\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()\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()\n", + "\n", + "\n", + "\n", + "fpr, tpr, _ = metrics.roc_curve(y_test_class, y_pred_class)\n", + "# построение ROC кривой\n", + "plt.plot(fpr, tpr)\n", + "plt.ylabel(\"True Positive Rate\")\n", + "plt.xlabel(\"False Positive Rate\")\n", "plt.show()" ] }, @@ -800,9 +1463,318 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Точность предсказаний: Модель показывает довольно высокий R² (0.9975), что указывает на хорошее объяснение вариации распродаж. Значения RMSE и MAE довольно низки, что говорит о том, что модель достаточно точно предсказывает цены.\n", + "Давайте проанализируем полученные значения метрик и определим, являются ли они нормальными или их можно улучшить.\n", "\n", - "Переобучение: Разница между RMSE на обучающей и тестовой выборках не очень большая, что указывает на то, что переобучение не является критическим. Однако, стоит быть осторожным и продолжать мониторинг этого показателя.\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": 33, + "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 = 229.44898944754814, Std = 8.242031819995562\n", + "R² (Cross-Validation): Mean = -0.15978167427786275, Std = 0.07892578619634859\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE (Cross-Validation): Mean = 222.87700909993964, Std = 7.629255219482666\n", + "R² (Cross-Validation): Mean = -0.10304248255845513, Std = 0.03865377667349689\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.4877653631284916, Std = 0.0253710026415637\n", + "Precision (Cross-Validation): Mean = 0.47855661506678404, Std = 0.019804247650192335\n", + "Recall (Cross-Validation): Mean = 0.46057201225740557, Std = 0.05882472803726689\n", + "F1-score (Cross-Validation): Mean = 0.49477978739978956, Std = 0.0420160832752377\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy (Cross-Validation): Mean = 0.5190068280571074, Std = 0.023314248614955645\n", + "Precision (Cross-Validation): Mean = 0.5075947729390105, Std = 0.025951320834959594\n", + "Recall (Cross-Validation): Mean = 0.49668028600612874, Std = 0.04700469023993552\n", + "F1-score (Cross-Validation): Mean = 0.5026891374289626, Std = 0.030324896664859893\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": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABJsAAAJOCAYAAAAQ1Aa7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHUklEQVR4nOzdeZxO5eP/8ffsqxmGWbMMo+xbIwwKYWYQKRKSJSFbWUrpUxlL+ZRCIUsLn8poTyXZtyxtRGWnkdIMIobBmOX6/eE399dtZsyMzsxtzOv5eHi473Ouc8517vu6z33N+77OOU7GGCMAAAAAAADAAs6OrgAAAAAAAABuHIRNAAAAAAAAsAxhEwAAAAAAACxD2AQAAAAAAADLEDYBAAAAAADAMoRNAAAAAAAAsAxhEwAAAAAAACxD2AQAAAAAAADLEDYBAAAAAADAMoRNuO707dtXvr6+RbrNQ4cOycnJSQsWLCjS7d7IPvzwQwUEBOjs2bOOrkqumjRpojFjxuS7/NmzZ/Xwww8rJCRETk5OGjFiROFVDjZOTk6Ki4tzdDWKzL85Hq1bt05OTk5at26d5fUCgBtRQb5jvv/+e7m7u+v333+3vB5z5sxRxYoVlZqamu9l3n33XVWvXl1ubm4qXbq05XVCdn379lV4eLijq1GkWrZsqZYtW17TsuHh4erbt6+l9UHxQdh0HVuwYIGcnJzk5OSkjRs3ZptvjFGFChXk5OSku+66ywE1LLiMjAyFhYXJyclJX3/9taOrY4lz584pLi6uUP64y3r/c/r3yCOPWL49q2RkZGjcuHEaPny4XXAYHh4uJycntWnTJsfl3njjDdv+/fjjjzmWGTNmjJycnHT//ffnOD/rD/Xc/v33v/+1lX3yySc1a9YsJSUl5Wu/XnjhBS1YsECDBw/Wu+++qwcffDBfy12rrNcr65+Pj48aNWqkd955p1C3i0vi4uLk5OQkZ2dn/fHHH9nmJycny8vLS05OTho2bJgDaggA9v1FJycnubq66qabblLfvn115MgRR1fvhvKf//xHPXr0UKVKlWzTWrZsaff6e3l5qW7dupo+fboyMzPtln/wwQfVvHlzNW7cWC1atNDu3btt8/r27auLFy9q7ty5+arLnj171LdvX0VEROiNN97QvHnzrNnJXGR9J2b9c3NzU3h4uB599FGdOnWqULcN+/7tpEmTcizzwAMPyMnJqch/tAdy4+roCiBvnp6eio+PV/Pmze2mr1+/Xn/++ac8PDwcVLOCW7NmjRITExUeHq6FCxeqXbt2jq7Sv3bu3DmNHz9ekq459b+atm3bqnfv3tmm33LLLZZvyypffvml9u7dq4EDB2ab5+npqbVr1yopKUkhISF28xYuXChPT09duHAhx/UaY7Ro0SKFh4fryy+/1JkzZ1SqVKkcy/bo0UPt27fPNr1Bgwa2x3fffbf8/Pz0+uuva8KECXnu15o1a9SkSRONGzcuz7JWqV+/vkaPHi1JSkxM1Jtvvqk+ffooNTVVAwYMKLJ6ONL58+fl6uq4rysPDw8tWrQo2yi4Tz/91EE1AoDsJkyYoMqVK+vChQv69ttvtWDBAm3cuFG//vqrPD09HV29Ym/79u1atWqVNm/enG1e+fLlNXnyZEnS33//rfj4eI0cOVLHjx/X888/byv37LPP2vpvI0aM0JAhQ7R27VpJl/pHffr00dSpUzV8+HA5OTldtT7r1q1TZmamXn31VVWtWtWq3czT7Nmz5evrq5SUFK1evVozZszQtm3bcvxh/Eb0xhtvZAsRi5Knp6cWLVqkZ555xm56SkqKPv/8cz7ruK4wsqkYaN++vT766COlp6fbTY+Pj1dkZGS2P9ivZ++9955uvfVWjRw5UosXL1ZKSoqjq3Tdu+WWW9SrV69s/xo1anTV5c6dO5fj9PT0dF28ePFf1Smv923+/Plq1qyZbrrppmzzmjVrJl9fX33wwQd20//8809988036tChQ67rXbdunf7880+9/fbbSk9Pv+of+7feemuOr1utWrVsZZydndW1a1e98847MsZcdZ8k6dixY5YOU8/Pe3HTTTfZ6v7EE09o48aN8vX11bRp0yyrR3456vPq6enp0LCpffv2WrRoUbbp8fHxV22vAFCU2rVrp169eunhhx/Wm2++qccff1wHDx7UF1984eiqFYrc+jmFZf78+apYsaKaNGmSbZ6/v7/tu3rEiBHasGGDKlWqpBkzZigjI8NW7vIfCo0xcna2/1OsW7du+v33320B1NUcO3ZMkiztl+TnNe3atat69eqlQYMG6cMPP9T999+vTZs26fvvv7esHvmRmZmZ64+ThcnNzc2hP/S3b99eu3bt0o4dO+ymf/7557p48aLatm3roJoB2RE2FQM9evTQiRMntHLlStu0ixcv6uOPP1bPnj1zXCYzM1PTp09XrVq15OnpqeDgYA0aNEj//POPXbnPP/9cHTp0UFhYmDw8PBQREaGJEyfafTFKl0bs1K5dW7t27VKrVq3k7e2tm266SS+99FK+9+P8+fP67LPP1L17d3Xr1k3nz5/X559/nmv53377TTExMfLx8VFYWJgmTJiQLRB4//33FRkZqVKlSsnPz0916tTRq6++mm099913nwICAuTt7a0mTZroq6++yrO+uZ2ffPm52ocOHVJgYKAkafz48bbhrZef+79nzx517dpVAQEB8vT0VMOGDS3v+GW9P1u3btUdd9whb29vPf3007Yhty+//LKmT5+uiIgIeXh4aNeuXZIujdS5/fbb5ePjo9KlS+vuu++2G9It/d+w6V27dqlnz54qU6ZMtlF2l7tw4YKWLVuW66lynp6euvfeexUfH283fdGiRSpTpoxiYmJyXffChQtVs2ZNtWrVSm3atNHChQvz+xLlqm3btvr999+1ffv2XMtkXQcnISFBX331le19PnTokKRLHb7+/fsrODhYnp6eqlevnv73v//ZrSOv9yK/AgMDVb16dR08eNBuen4/85mZmYqLi1NYWJi8vb3VqlUr7dq1K9s59VmnZaxfv15DhgxRUFCQypcvb5v/9ddf29pOqVKl1KFDB+3cudNuW0lJSerXr5/Kly8vDw8PhYaG6u6777a9bpL0448/KiYmRuXKlZOXl5cqV66shx56yG49OV1P46efflK7du3k5+cnX19ftW7dWt9++61dmax92LRpk0aNGqXAwED5+Pjonnvu0fHjx/P7kqtnz57avn279uzZY7dva9asyfUYnJ82IUmnTp1S37595e/vr9KlS6tPnz65no5wrceS/fv3q0uXLgoJCZGnp6fKly+v7t276/Tp0/l7AQAUS7fffrskZfu+yEl+jtfGGE2aNEnly5e3fX/s3Lkz2/dHVr/hSlnH5MvXWdB+6JX9HElKTU3VuHHjVLVqVXl4eKhChQoaM2ZMtmsfpaamauTIkQoMDFSpUqXUqVMn/fnnn3m+NlkWL16sO++8M88RR9Klvs5tt92mM2fO2EKhy61evVpvvvmm3an9khQZGamAgICr9o+lS6fZZ42yDgwMzPY9+frrr6tWrVry8PBQWFiYhg4dmu275WqvaUHk1s6+++47xcbGyt/fX97e3mrRooU2bdqUbfl169apYcOG8vT0VEREhObOnZtjG8o6ZX3hwoW2fVu2bJkk6ciRI3rooYcUHBwsDw8P1apVS2+//Xa2bc2YMUO1atWSt7e3ypQpo4YNG9r1R8+cOaMRI0YoPDxcHh4eCgoKUtu2bbVt2zZbmZyu2ZSSkqLRo0erQoUK8vDwULVq1fTyyy9n+7slax8WL16s2rVr2+qatR/5ERUVpcqVK2frRy9cuFCxsbEKCAjIcbn8tAlJmjdvniIiIuTl5aVGjRrpm2++yXF9+f3cXSktLU3jx4/XzTffLE9PT5UtW1bNmze3+zsXNw5OoysGwsPDFRUVpUWLFtlOO/v66691+vRpde/eXa+99lq2ZQYNGqQFCxaoX79+evTRR5WQkKCZM2fqp59+0qZNm+Tm5ibp0he/r6+vRo0aJV9fX61Zs0bPPfeckpOTNWXKFLt1/vPPP4qNjdW9996rbt266eOPP9aTTz6pOnXq5Ot0uC+++EJnz55V9+7dFRISopYtW2rhwoU5/rGWkZGh2NhYNWnSRC+99JKWLVumcePGKT093Xa608qVK9WjRw+1bt1aL774oiRp9+7d2rRpkx577DFJ0tGjR9W0aVOdO3dOjz76qMqWLav//e9/6tSpkz7++GPdc889BXgnsgsMDNTs2bM1ePBg3XPPPbr33nslSXXr1pUk7dy50zbC56mnnpKPj48+/PBDde7cWZ988km+tn/hwgX9/fff2ab7+fnJ3d3d9vzEiRNq166dunfvrl69eik4ONg2b/78+bpw4YIGDhwoDw8PBQQEaNWqVWrXrp2qVKmiuLg4nT9/XjNmzFCzZs20bdu2bF+k9913n26++Wa98MILVx0FtHXrVl28eFG33nprrmV69uyp6OhoHTx4UBEREZIujRLp2rWrrW1eKTU1VZ988ontlLIePXqoX79+OZ6OJ136dS6n16106dJ2o2QiIyMlSZs2bbI7xe5yNWrU0LvvvquRI0eqfPnytjoEBgbq/PnzatmypQ4cOKBhw4apcuXK+uijj9S3b1+dOnXK1haz5PReFER6err+/PNPlSlTxm56fj/zY8eO1UsvvaSOHTsqJiZGO3bsUExMTK6/Dg4ZMkSBgYF67rnnbCOb3n33XfXp00cxMTF68cUXde7cOc2ePVvNmzfXTz/9ZGs7Xbp00c6dOzV8+HCFh4fr2LFjWrlypQ4fPmx7Hh0drcDAQD311FMqXbq0Dh06lOfpaTt37tTtt98uPz8/jRkzRm5ubpo7d65atmyp9evXq3Hjxnblhw8frjJlymjcuHE6dOiQpk+frmHDhmUbXZebO+64Q+XLl1d8fLzt+PPBBx/I19c3x5FN+W0Txhjdfffd2rhxox555BHVqFFDn332mfr06ZPjPl/LseTixYuKiYlRamqqhg8frpCQEB05ckRLlizRqVOn5O/vn6/XAEDxkxXqXPl9kZO8jteS9Nxzz2nSpElq37692rdvr23btik6OvpfjZYuSD80p35OZmamOnXqpI0bN2rgwIGqUaOGfvnlF02bNk379u3T4sWLbcs//PDDeu+999SzZ081bdpUa9asyffo1CNHjujw4cNX7dtcKetHpitHHv3www/q1q2b5s+fr9tuuy3bcrfeemuOoczlpk+frnfeeUefffaZ7bS2rL5nXFycxo8frzZt2mjw4MHau3evZs+erR9++MGuPyBdve9YkP2U7NvZmjVr1K5dO0VGRmrcuHFydnbW/Pnzdeedd+qbb76xjc7/6aefFBsbq9DQUI0fP14ZGRmaMGGC7YfcK61Zs0Yffvihhg0bpnLlyik8PFxHjx5VkyZNbEFOYGCgvv76a/Xv31/Jycm2m7m88cYbevTRR9W1a1c99thjunDhgn7++Wd99913tr9FHnnkEX388ccaNmyYatasqRMnTmjjxo3avXt3ru+9MUadOnXS2rVr1b9/f9WvX1/Lly/XE088oSNHjmQbib5x40Z9+umnGjJkiEqVKqXXXntNXbp00eHDh1W2bNl8veY9evTQe++9p//+979ycnLS33//rRUrVujdd9/NMbjKb5t46623NGjQIDVt2lQjRozQb7/9pk6dOikgIEAVKlSwra8gn7uc6jJ58mQ9/PDDatSokZKTk/Xjjz9q27ZtjMq6ERlct+bPn28kmR9++MHMnDnTlCpVypw7d84YY8x9991nWrVqZYwxplKlSqZDhw625b755hsjySxcuNBufcuWLcs2PWt9lxs0aJDx9vY2Fy5csE1r0aKFkWTeeecd27TU1FQTEhJiunTpkq/9ueuuu0yzZs1sz+fNm2dcXV3NsWPH7Mr16dPHSDLDhw+3TcvMzDQdOnQw7u7u5vjx48YYYx577DHj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lZGRoVWrVqlz584KCwuzrb9q1aq5njHRokULu36cMUaffPKJOnbsKGOMXRuIiYnR6dOnbafAlS5dWn/++ad++OGHXPetdOnS+u677/TXX3/l+/VYunSpXFxcsrWt0aNHyxiT7e7bbdq0sY3qly71vf38/PL191SWWrVqqW7durZ+dHx8vO6++27be3C5/LaJH3/8UceOHdMjjzxid+ZE1qn+l8vv5y4npUuX1s6dO7V///587y+KL06jKyYCAwPVpk0bxcfH69y5c8rIyFDXrl1zLLt//36dPn1aQUFBOc6//NzxnTt36plnntGaNWuy/YF25fU8ypcvn+386TJlyujnn3/Os/4ffPCB0tLS1KBBAx04cMA2vXHjxlq4cKGGDh1qV97Z2dnuD0np/y6qmDVcd8iQIfrwww/Vrl073XTTTYqOjla3bt0UGxtrW+b333/PdkqNdOm0qKz5tWvXzrP+1+LAgQMyxujZZ5/Vs88+m2OZY8eO5XgR7cuVL18+1+sfXe6mm26y+3K4XOXKle2eZ/2RXa1atWxla9SooeXLlyslJUU+Pj65riMvJo8Lbvfs2VOvvfaaduzYofj4eHXv3j3X6yCcOnVKS5cu1bBhw+zaT7NmzfTJJ59o37592e7Od/PNN+frdcuqa36uwZCT33//XTfffHO2i3xe3sYuV9DXsXHjxpo0aZIyMjL066+/atKkSfrnn3/s3uv8fuaz6nLlXWsCAgJy7UBfWd+szkFWh+JKfn5+ki51YF988UWNHj1awcHBatKkie666y717t3bdtpjixYt1KVLF40fP17Tpk1Ty5Yt1blzZ/Xs2TPXi28eP35c586dy7XtZmZm6o8//rC7EHzFihXtymXta25/VOWkQYMGql69uuLj41W6dGmFhITk+hrkt038/vvvCg0NzXaL4iv37d8cSypXrqxRo0Zp6tSpWrhwoW6//XZ16tRJvXr14hQ64AYza9Ys3XLLLTp9+rTefvttbdiwwe5YevHiRZ08edJumcDAwHwdr7OOWzfffHO25fNzml5uCtIPzamfs3//fu3evTvXH3Eu//5zdna2+yNfyrkfdDW59W3Cw8Ntdyk7ePCgnn/+eR0/fjzbncHy8yNj1jaupV+SW//O3d1dVapUydYnuVrfMTeffPKJ/Pz8dPz4cb322mtKSEiwCw2z+gk5nRKe5fTp07pw4YLOnz+f4530cru73pV9kuPHj+vUqVOaN2+e5s2bl+MyWW3gySef1KpVq9SoUSNVrVpV0dHR6tmzp5o1a2Yr+9JLL6lPnz6qUKGCIiMj1b59e/Xu3Tvb3ySX+/333xUWFpbt7si59QOv7JNIl/olBemTSJf60a+88opGjhypzZs353q9rfy2idw+425ubtn2P7+fu5xMmDBBd999t2655RbVrl1bsbGxevDBB22ngeLGQthUjPTs2VMDBgxQUlKS2rVrl+vdJzIzMxUUFJTriI+sA8OpU6fUokUL+fn5acKECYqIiJCnp6e2bdumJ598MtttPS8f3XC5vEIFSba6XH5Av9xvv/121QN5ToKCgrR9+3YtX75cX3/9tb7++mvNnz9fvXv3zvFCvAXl5OSU475dedHK3GS9fo8//niuF7228la1l3/RF2SeFeu/XNb55v/8889Vf01t3LixIiIiNGLECCUkJOQ6SkS69AtKamqqXnnlFb3yyivZ5i9cuFDjx4/PV/1ycurUKZUrV+6aly+Igr4X5cqVs4VmMTExql69uu666y69+uqrGjVqlKT8f+atqG9Wu3733XdzvFbW5dfDGjFihDp27KjFixdr+fLlevbZZzV58mStWbNGDRo0kJOTkz7++GN9++23+vLLL7V8+XI99NBDeuWVV/Ttt99mC2Gu1b85dl2uZ8+emj17tkqVKqX7778/W5hUWP7tseSVV15R37599fnnn2vFihV69NFHNXnyZH377bd5jngAUHw0atRIDRs2lHRpBE3z5s3Vs2dP7d27V76+vtq8eXO2UdEJCQkKDw/P83hdELmFJFf2nwraD83p+zMzM1N16tTR1KlTc9zm5deZ+Tcu79vkxMfHx+4HrmbNmunWW2/V008/neO1Va/mn3/+kbe3tyV9t7xcyzbuuOMOW5+pY8eOqlOnjh544AFt3bpVzs7OtvdtypQpql+/fo7r8PX1vaY7yeXWJ+nVq1eu4VZWiFGjRg3t3btXS5Ys0bJly/TJJ5/o9ddf13PPPWfrQ3br1k233367PvvsM61YsUJTpkzRiy++qE8//TRf16fND6v6JD169NDYsWM1YMAAlS1bVtHR0VZUL1/+zefujjvu0MGDB219kjfffFPTpk3TnDlz9PDDDxdWleEghE3FyD333KNBgwbp22+/veqFbSMiIrRq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5eWlmjVr6oMPPtAtt9yigIAA1a5dW7Vr19asWbPUvHlz1alTRwMGDFCVKlV09OhRbdmyRX/++ad27NiR5+u3b98+u1EgWYKDg//VLUKnTJmidu3aKSoqSv3799f58+c1Y8YM+fv7Ky4u7prX6+npqejoaK1atcp2m/jcVKpUKc9txcfH224rm5P27dvL1dVVCxcutLs+17Zt23J83SIiIhQVFWV7vnLlSlWsWLHApwlkGThwoObOnau+fftq69atCg8P18cff6xNmzZp+vTp2c7ht0K7du1Uu3ZtTZ06VUOHDs33Zz44OFiPPfaYXnnlFXXq1EmxsbHasWOHvv76a5UrVy5fv075+flp9uzZevDBB3Xrrbeqe/fuCgwM1OHDh/XVV1+pWbNmmjlzpvbt26fWrVurW7duqlmzplxdXfXZZ5/p6NGj6t69uyTpf//7n15//XXdc889ioiI0JkzZ/TGG2/Iz8/vqoHnpEmTtHLlSjVv3lxDhgyRq6ur5s6dq9TUVL300kuWvc45eeyxx/Isk9820bFjRzVr1kxPPfWUDh06pJo1a+rTTz/N1tmVdM3HkjVr1mjYsGG67777dMsttyg9PV3vvvuurYMO4Mb2xBNP6L777tOCBQtyvdFHfo7XgYGBevzxxzV58mTdddddat++vX766Sfb98floqOjVbFiRfXv319PPPGEXFxc9Pbbb9u+K7JY0Q998MEH9eGHH+qRRx7R2rVr1axZM2VkZGjPnj368MMPtXz5cjVs2FD169dXjx499Prrr+v06dNq2rSpVq9ene8RNNKlG7Z89tln+b7OY82aNdW+fXu9+eabevbZZ/N1W/utW7fq5MmTOV44PD8CAwM1duxYjR8/XrGxserUqZP27t2r119/XbfddpvdjX6s4ubmpscee0xPPPGEli1bptjYWL355ptq166datWqpX79+ummm27SkSNHtHbtWvn5+enLL7+UJMXFxWnFihVq1qyZBg8ebAttateure3bt+dr+//973+1du1aNW7cWAMGDFDNmjV18uRJbdu2TatWrbJdpyw6OlohISFq1qyZgoODtXv3bs2cOVMdOnRQqVKldOrUKZUvX15du3ZVvXr15Ovrq1WrVumHH3646o+iHTt2VKtWrfSf//xHhw4dUr169bRixQp9/vnnGjFiRLbrhFmpRYsWef6omd82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3LkaN25coW/X0bL2+/J/lStXvqZ1FXZbuJIj3rOMjAxlZmbmOv+3335TgwYNtGLFCr3wwgv66aeftGXLFo0ZM0ZLlizRqlWrcl02LS1NLi4uCgkJkaur67+qZ0BAgEqVKvWv1vFvXN6uVq9eLVdXV911110Oq0+WojqeSFKtWrWUmJiow4cPa/78+Vq2bJkGDx5cqNvM6zvCCtfDdyFuPNdDu6KPVTjoX9G/yg/6V/lD/4r+leUMikSfPn3M3Xffnet8Seazzz4zxhiTkJBgJJlPPvnEtGzZ0nh5eZm6deuazZs32y3zzTffmObNmxtPT09Tvnx5M3z4cHP27Fnb/HfeecdERkYaX19fExwcbHr06GGOHj1qm7927VojySxdutTceuutxs3NzaxduzbP+hljTHJyspFkXn31Vdu0w4cPm/vuu8/4+/ubMmXKmE6dOpmEhATb/LS0NDN8+HDj7+9vAgICzJgxY0zv3r3tXpcWLVqYoUOHmscee8yULVvWtGzZ0hhjzC+//GJiY2ONj4+PCQoKMr169TLHjx+3LffRRx+Z2rVrG09PTxMQEGBat25tey3Wrl1rbrvtNuPt7W38/f1N06ZNzaFDh4wxxowbN87Uq1fPtp6MjAwzfvx4c9NNNxl3d3dTr1498/XXX9vm5/e9uVxO7/29995rGjRoYHv+999/m+7du5uwsDDj5eVlateubeLj4+2WadGihRk+fLh54oknTJkyZUxwcLAZN26cXZl9+/aZ22+/3Xh4eJgaNWqYFStWZHvvfv75Z9OqVSvbazVgwABz5syZbPV9/vnnTVBQkPH39zfjx483aWlp5vHHHzdlypQxN910k3n77bdz3efc9vty69atM7fddptxd3c3ISEh5sknnzRpaWl2+2tlWxg3bpyRZPcvt/aen/csIyPDvPDCCyY8PNx4enqaunXrmo8++shumc8//9xUrVrVeHh4mJYtW5oFCxYYSeaff/4xxhgzf/584+/vbz7//HNTo0YN4+LiYhISEsyFCxfM6NGjTVhYmPH29jaNGjUya9euNTExMaZ8+fJm165d5q677jKlS5c23t7epmbNmuarr74ymZmZ5uTJk6Znz55GknF1dTXe3t7G3d3djBs3zhw4cMBIMmFhYcbT09PccsstZtiwYXbvwxNPPGEee+wx2+e0fPnypnr16qZq1aq2dlepUiXz2GOP2fYzt/pmydrPZcuWmerVqxsfHx8TExNj/vrrL2OM+dfvzTfffGMkmWPHjtmm5dXO8/qsp6ammqFDh5qQkBDj4eFhKlasaF544QVjjDGVKlWyq2ulSpVs+3H58SSrrlOmTDEhISEmICDADBkyxFy8eNFW5q+//jLt27c3np6eJjw83CxcuNBUqlTJTJs2Lcf9z2k7xhgzatQoU6ZMGbtpb7zxhqlevbrx8PAw1apVM7NmzbKbv2nTJlOvXj3j4eFhIiMjzWeffWYkmZ9++skYk/t3RF5tP6sNlitXznh6epqqVavajhdXe12Nyf5dk9/j1dVeY9z46GOVzD4W/auc0b+if0X/iv7V9dK/ImwqItfSEapevbpZsmSJ2bt3r+nataupVKmS7cviwIEDxsfHx0ybNs3s27fPbNq0yTRo0MD07dvXts633nrLLF261Bw8eNBs2bLFREVFmXbt2tnmZzX0unXrmhUrVpgDBw6YEydO5Fm/tLQ0M23aNCPJzJ492xhjzMWLF02NGjXMQw89ZH7++Weza9cu07NnT1OtWjWTmppqjDFm0qRJJiAgwHz66adm9+7d5pFHHjF+fn7ZOkK+vr7miSeeMHv27DF79uwx//zzjwkMDDRjx441u3fvNtu2bTNt27Y1rVq1MsZcOpi4urqaqVOnmoSEBPPzzz+bWbNmmTNnzpi0tDTj7+9vHn/8cXPgwAGza9cus2DBAvP7778bY7IfVKZOnWr8/PzMokWLzJ49e8yYMWOMm5ub2bdvX77fm7ze+19++cWEhISYxo0b26b9+eefZsqUKeann34yBw8eNK+99ppxcXEx3333nd1r4+fnZ+Li4sy+ffvM//73P+Pk5GRWrFhhjLl0cK9du7Zp3bq12b59u1m/fr1p0KCB3Xt39uxZExoaau69917zyy+/mNWrV5vKlSubPn362NW3VKlSZujQoWbPnj3mrbfeMpJMTEyMef75582+ffvMxIkTjZubm/njjz9y3Oec9vtyf/75p/H29jZDhgwxu3fvNp999pkpV66cXefO6rZw5swZ061bNxMbG2sSExNNYmKirW1ey3s2adIkU716dbNs2TJz8OBBM3/+fOPh4WHWrVtnjDHmt99+M25ububxxx83e/bsMYsWLTI33XRTts6Qm5ubadq0qdm0aZPZs2ePSUlJMQ8//LBp2rSp2bBhgzlw4ICZMmWKcXd3N05OTmby5MmmQ4cOpm3btubnn382Bw8eNF9++aVZv369McaYoUOHmvr16xtJpmzZsmb06NFm3rx55vfffzf79u0zksx7771nfvvtN/Paa68ZSSY6Otr2Pnh7extPT0/zySefmF27dpmQkBAjyVSrVs3W7iSZe+65x/Za5FRfDw8P2+cmaz/btGljfvjhB7N161ZTo0YN07NnT2OM+VfvzZkzZ8ygQYNM1apVTUZGhjEmf+08r8/6lClTTIUKFcyGDRvMoUOHzDfffGP7A+XYsWNGkpk/f75JTEy0dcJy6gz5+fmZRx55xOzevdt8+eWXxtvb28ybN89Wpk2bNqZ+/frm22+/NVu3bjUtWrQwXl5eBeoMJSQkmFq1apng4GDbtPfee8+EhoaaTz75xPz222/mk08+MQEBAWbBggXGGGNOnz5tAgICTK9evczOnTvN0qVLzS233JJjZ+jK74i82n5WG/zhhx9MQkKCWblypfniiy/yfF2NMdd0vMrrNcaNjz5Wyexj0b/Kjv7VP8YY+lf0r+hfXS/9K8KmInItHaE333zTNn/nzp1Gktm9e7cxxpj+/fubgQMH2q3jm2++Mc7Ozub8+fM5buOHH34wkmypZVZDX7x4cZ71l2Q8PT2Nj4+PcXZ2NpJMeHi4reP07rvvmmrVqpnMzEzbMqmpqcbLy8ssX77cGGNMcHCwmTJlim1+enq6qVixYraO0OW/bhhjzMSJE010dLTdtD/++MNIMnv37jVbt241kmy/pF3uxIkTRpLtQ3qlKw8qYWFh5vnnn7crc9ttt5khQ4YYY/L33lypT58+xsXFxfj4+BgPDw8jyTg7O5uPP/44x/JZOnToYEaPHm173qJFC9O8efNsdXvyySeNMcYsX77cuLq6miNHjtjmf/3113Zta968eaZMmTJ2v85+9dVXxtnZ2SQlJdnqW6lSJdsXizHGVKtWzdx+++225+np6cbHx8csWrQo1/pfvt9Z/7p27WqMMebpp5/O1l5mzZplfH19bdu1ui1k1elqn8Oc6p7Te3bhwgXj7e2d7dfW/v37mx49ehhjjHnyySdN7dq17eb/5z//ydYZkmS2b99uK/P7778bFxcXu/fRGGMaNmxoJJlPP/3U1KlTx8TFxRljjClbtqzt9R0zZozp2LGj6devn5FkRowYYbeOrPab9WX39NNPm9KlS5suXbrYyvj7+xt3d3fb+3DHHXcYd3d3u9etVKlSJjIy8qr1bd26tRk7dqzdfh44cMA2f9asWXZf3tfy3vj4+BhJJjQ01GzdutVWJj/tPK/P+vDhw82dd95p10Yvd+UvRMbk3BmqVKmSSU9Pt0277777zP3332+MMWb37t1Gkvnhhx9s8/fv328k5dkZcnZ2Nj4+PsbT09P2C+DUqVNtZSIiIrL9ej9x4kQTFRVljDFm9uzZpmzZsnbfF2+88UaOnaHLvyPy0/az2mBOCvK6FuR4ldtrjJKBPlbJ7GPRv6J/lYX+Ff0r+lfXZ//q351YikJVt25d2+PQ0FBJ0rFjx1S9enXt2LFDP//8sxYuXGgrY4xRZmamEhISVKNGDW3dulVxcXHasWOH/vnnH9u5yocPH1bNmjVtyzVs2DBf9Zk2bZratGmj3377TSNHjtRrr72mgIAASdKOHTt04MCBbOcZX7hwQQcPHtTp06d19OhRNWrUyDbPxcVFkZGR2c6hjoyMtHu+Y8cOrV27Vr6+vtnqdPDgQUVHR6t169aqU6eOYmJiFB0dra5du6pMmTIKCAhQ3759FRMTo7Zt26pNmzbq1q2b7fW8XHJysv766y81a9bMbnqzZs20Y8cOu2lXe29y0qpVK82ePVspKSmaNm2aXF1d1aVLF9v8jIwMvfDCC/rwww915MgRXbx4UampqfL29s51u1nbPnbsmCRp9+7dqlChgsLCwmzzo6Ki7Mrv3r1b9erVk4+Pj93+ZWZmau/evQoODpZ06XxlZ+f/u6RbcHCw3UUPXVxcVLZsWdu2c5O131mytrt7925FRUXJycnJrh5nz57Vn3/+qYoVK0qyti0U1NXeswMHDujcuXNq27at3TIXL15UgwYNJEl79+7VbbfdZjf/8vafxd3d3e59/eWXX5SRkaFbbrnFrtzlF8989NFHNXjwYK1YsUI9e/ZUdHS0Jk6cqNTUVA0ePNhWz/3792vz5s1q2rSp3bp69uyp48eP659//pExRocPH5YknT59WqdPn5Yk2/vg5OSkm266KVudz58/f9X6pqam2p1f7+3trYiICNvzy9tuQV3erv755x+9/vrrateunb7//ntVqlQpz3bu5eWV52e9b9++atu2rapVq6bY2Fjdddddio6OLnBda9WqJRcXF9vz0NBQ23VY9u7dK1dXV9166622+VWrVs1Xe61WrZq++OILXbhwQe+99562b9+u4cOHS5JSUlJ08OBB9e/fXwMGDLAtk56eLn9/f9u269atK09PT9v8nNqnZP8dkZ+2n9UGt23bpujoaHXu3NnWBgvyuhbkeJXbawzkhj6WbOsuzn0s+leX0L+if5WF/hX9q+upf0XYdB1zc3OzPc760vh/7d17TJPXGwfwr0XaEa4OqaAijHRAF0GRMOcu8geYxi1LdQlsk01izGBObk63DiRMgopGYthwm5Nt6DIwzK0LbGwK7JKY4kTHRSeUViFcBt1FCVlZwrA8vz/49U1LCxSszMvzSfqHtT3nvOc879uH97TnmJMGo9GI1NRUZGRk2Lxv2bJlGB4ehkKhgEKhQHl5Ofz8/NDT0wOFQmGzEKBloE3F398fMpkMMpkMZWVlePrpp9HW1gapVAqj0Yjo6GirxMzMz8/P4WO21x6j0Yhnn30WBw8etHltQEAAXFxcUFdXh4aGBtTW1qKkpAS7d+/G+fPn8dBDD6GsrAwZGRk4ffo0KisrkZubi7q6Ojz22GMzapelqcZmsmOSyWQAgE8++QQrVqzAxx9/jK1btwIADh06hHfeeQfFxcWIiIiAu7s7srKybMbKsl5z3VPVO1v26plN3ZbHPRvOjoWZ1j3ZmBmNRgBATU2NTaIw08X33NzcrJJCo9EIFxcX/PLLL1YX+MHBQaxevRodHR146623oFAoUFNTg9raWjz33HMICgoCAKxfvx7d3d2QSqX4+++/ERcXh+3bt6OoqAhff/01AGDDhg1ISEiASqVCd3f3tIuDWibGZuOTJJO3F4BV0movfsxlzNTEuProo4/g7e2N0tJS7N27d1ZlTrRq1Sp0dXXhu+++Q319PRITExEfH48vvvhiRuXcrnNWLBYLfXDgwAE888wzyM/PR0FBgRCfpaWlWL16tdX7Jo6RIyzPQ0di3xyD3377Lerq6qxi0Fn9ammurovs3sI51ri7Pcfi/Gp2OL/i/Moezq84v7LkjD7m3ejuUqtWrUJbW5uQmFg+xGIxtFotrl+/jgMHDuCpp55CeHj4rO9y2/Poo48iOjoa+/btE9qj1+shlUpt2uPt7Q1vb28sWrQIFy5cEMowmUxoampy6FivXLmC4OBgm7LNJ+m8efPwxBNPID8/H83NzRCLxfjqq6+EMqKiopCdnY2GhgYsX74cFRUVNvV4eXlh8eLF0Gg0Vs9rNBqrWcpbJRKJkJOTg9zcXGH2QqPRQKlU4qWXXsKKFSsQEhICnU43o3Llcjl6e3sxMDAgPPfzzz/bvKa1tRXDw8PCcxqNBiKRCGFhYbdwVDMjl8tx7tw5qw9DjUYDT09PLF26dNL33WosiMVimEymGbd34pg98sgjkEgk6OnpsWlHYGAggPGZkYsXL1qVYxn/k4mKioLJZMIff/xhVW5MTAzWrVuHI0eOYHh4GIGBgXj11VehVquxc+dOq3E3//GxY8cOFBcX49ixYwAgtCcxMRFRUVGIiYlBX1+f8D7zuSqRSIRxICL8/vvvM26vTCaDv7+/I90LYPZjA4yPuUgkEs6n6eLc0XPdy8sLzz//PEpLS1FZWYkvv/xS2P7W1dV11u01CwsLw82bN9Hc3Cw8d/XqVQwODs64rNzcXBQVFaG/vx+LFi3C4sWL0dnZaTMm5j8KwsLCcPnyZYyMjAhlOBKfjsQ+MB6DycnJ+Oyzz6xiEJi6Xy3dKdcrdv/hHOvuzLE4v+L8aiqcX80c51ecX90qvtk0h4aGhtDS0mL16O3tnVVZKpUKDQ0NSEtLQ0tLC/R6PaqqqpCWlgZgfOZNLBajpKQEnZ2dqK6uRkFBgTMPB1lZWfjwww/x22+/ISkpCQsXLoRSqcTZs2fR1dWFn376CRkZGcLFNj09HYWFhaiqqkJHRwcyMzMxODhoNetgz/bt23Hjxg28+OKLuHDhAq5du4YzZ85gy5YtMJlMOH/+PPbv34+LFy+ip6cHarUaf/75J+RyObq6upCdnY1z586hu7sbtbW10Ov1kMvldut64403cPDgQVRWVgozHC0tLcjMzHRq3yUkJMDFxQXvvfceAODhhx8WZoza29uRmpo65QeQPfHx8QgNDUVycjJaW1tx9uxZ7N692+o1SUlJeOCBB5CcnIxff/0VP/74I9LT0/Hyyy8LX5mcC6+99hp6e3uRnp4OrVaLqqoqvP3223j99dftzvKY3UosAEBwcDAuXbqEjo4O/PXXXxgdHXW4zZZj5unpiV27dmHHjh04ceIErl27hqamJpSUlODEiRMAgNTUVGi1WqhUKuh0Onz++ec4fvw4AEwZ86GhoUhKSsLmzZuhVqvR1dWFxsZGFBYWIiEhATdv3kRgYCBycnJQV1cHtVqNU6dOwWQywcXFBXl5eaiqqgIw/nOOb775xur4AaChoQE6nQ7Dw8P4559/0NfXJ4zD6OgoRCIRqqurodVqodfrp5yZm6q9NTU1DvfvTMZmZGQEBoMBBoMB7e3tSE9PF2ZlAcfifLpz/fDhwzh58iS0Wi10Oh1OnToFf39/+Pj4CO39/vvvYTAYZpW8AEB4eDji4+ORkpKCxsZGNDc3IyUlxWY21hFr1qxBZGQk9u/fDwDIz89HYWEh3n33Xeh0Oly+fBllZWU4fPgwgPGv+o+NjSElJQXt7e04c+YMioqKAEwdn47EvjkGr169iitXrljF4HT9aulOuV6xuwPnWJxjAZxfcX7F+dVEnF9xfjXRnF6vZrTCE5u15ORkYZExy8fWrVuJyP7ileZFxIiIBgcHCRO2q2xsbKR169aRh4cHubu7U2RkpNWCbBUVFRQcHEwSiYTWrFlD1dXVdhcnMy+mNxXYWaxtbGyMwsPDadu2bURENDAwQJs3b6aFCxeSRCKhkJAQeuWVV2hoaIiIxndYSUtLIy8vL1qwYAGpVCpKSEigF154QSgzNjbWastPM51ORxs3biQfHx9yc3Oj8PBwysrKorGxMWprayOFQkF+fn4kkUgoNDSUSkpKiIjIYDDQhg0bKCAggMRiMQUFBVFeXp6wOJ+9bXn37NlDS5YsIVdX10m35Z1ubCxNtjBfYWEh+fn5kdFopOvXr5NSqSQPDw+SSqWUm5trd8viiX2jVCqtdg7o6OigJ598ksRiMYWGhtLp06dtxs7RrS4t2at7uu1DnbE1rzNjgWh8lwvzOXOrYzY2NkbFxcUUFhZGrq6u5OfnRwqFQti1hMh2a94PPviAAAiLBpq3rJ3o33//pby8PAoODiZXV1cKCAigjRs30qVLl6i/v58iIiJo/vz5BIDmzZtHvr6+tGfPHhoeHqaCggKSy+UEgDw8PEipVFJnZycREWm1WuF5Hx8f2rZtG23atInc3NystuZNT08nLy8v8vHxoaVLl5JcLrfqD19fX5LL5Q61d7LjNG8DO5uxsbyGenp6UkxMjM2CsI5szTvVuX7s2DFauXIlubu7k5eXF8XFxVFTU5Pw/9XV1SSTyWj+/PnTbs1rKTMzk2JjY4V/9/f30/r160kikVBQUBBVVFSQVCqlo0eP2j1+e/WYnTx5kiQSCfX09BARUXl5Oa1cuZLEYjEtWLCA1q5dS2q1Wni9RqOhyMhIEovFFB0dTRUVFQSAtFotEU3+GTFd7Jtj0M3NjR588EGrGJyuX51xvZrYx+zexznW/ZljcX5lH+dXnF9xfsX51Z2SX837f+WMzbmxsTHI5XIkJiY6fUaQsTvRvn37cPTo0VnPtrN7X19fHwIDA1FfX4+4uLg5rbu8vBxbtmzB0NAQ3Nzc5rRuxphzcY7F7iecX7HpcH713+AFwtmcMX/FOjY2FiMjIzhy5Ai6urqwadOm/7ppjN0W77//PmJiYuDr6wuNRoNDhw4JP8NgDAB++OEHGI1GREREYGBgAG+++SaCg4Oxdu3a2173p59+ipCQECxZsgStra1QqVRITEy87xIhxu4FnGOx+wnnV2w6nF/dGfhmE5szIpEIx48fx65du0BEWL58Oerr6yf9bT9jdzu9Xo+9e/fixo0bWLZsGXbu3Ins7Oz/ulnsDjI6OoqcnBx0dnbC09MTjz/+OMrLy212ALkdDAYD8vLyYDAYEBAQgISEBGFBYsbY3YVzLHY/4fyKTYfzqzsD/4yOMcYYY4wxxhhjjDkN70bHGGOMMcYYY4wxxpyGbzYxxhhjjDHGGGOMMafhm02MMcYYY4wxxhhjzGn4ZhNjjDHGGGOMMcYYcxq+2cQYY4wxxhhjjDHGnIZvNjHGGGOMMcYYY4wxp+GbTYwxxhhjjDHGGGPMafhmE2OMMcYYY4wxxhhzGr7ZxBhjjDHGGGOMMcac5n/yGrHn8yu33AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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Hh4KDg7Wiy++qOTkZIf5goODddddd2nDhg1q1qyZPD09Vb16dX300UfX/BtkVLlyZbVr187hfZOufC4bNmyoBg0aZLncokWLFBYWJi8vL5UvX14PPfSQjhw5kmm+pUuXqkGDBvL09FSDBg2ybOuSlJaWpmnTpql+/fry9PRUQECAhgwZor///vu6r+F67QAAipMOHTpIunIgT7p2fyY3+96vvvpK7du3V8mSJeXn56emTZs67GuzGqNpwYIFCgsLsy/TsGFDvfnmm/bns+uX5eQ7Jv11HTlyRD179pSvr68qVKigkSNHKjU19Zrv0bX6A7n9Dv7666/VpEkTeXl56b333st2my+//LLKli2rOXPmZHlgKzw8XHfddVe2y//8888aMGCAqlevLk9PTwUGBmrQoEE6deqUw3znzp3T008/be+7+Pv764477tC2bdvs8+zbt0/33XefAgMD5enpqSpVquiBBx7Q2bNnHV5fer/oWn3O7MZoul57yUlfesCAAZoxY4YkOVwmmi6rMZpy0//duHGjIiMjVaFCBfn4+Oiee+6xB2o50a9fP8XFxWnPnj32aceOHdM333yT7Zlpx48f1yOPPKKAgAB5enoqJCREH374Yab5zpw5owEDBqhUqVIqXbq0IiIidObMmSzXuWfPHvXq1Utly5aVp6enmjRpomXLll23/py0A+B6uHQOBdb8+fN17733yt3dXX379tW7776rH3/8UU2bNrXPc/78ebVt21a7d+/WoEGD1LhxY508eVLLli3TX3/9pfLlyys1NVV33XWXYmNj9cADD2jEiBE6d+6c1qxZo19++UU1atTIdW2XL19WeHi42rRpo0mTJtlPQV+0aJEuXLigJ554QuXKldOWLVs0ffp0/fXXX1q0aJF9+Z9//llt27aVm5ubHnvsMQUHB+vAgQP6v//7P02YMEG33XabgoKCNH/+fN1zzz2Z3pcaNWqoZcuWWdZ27733qnTp0nrmmWfUt29fde3aVb6+vpKkXbt2qW3btvLz89Pzzz8vNzc3vffee7rtttv07bffZhoLa+jQoapQoYLGjh17zaOc6V9aDz/8cK7fy3RvvvmmevTooQcffFCXLl3SggUL1Lt3by1fvtx+9GfXrl266667dOutt2r8+PHy8PDQ/v37tXHjRvt6Zs2apaeeekq9evXSiBEj9M8//+jnn3/W5s2bs/1y//jjj/X+++9ry5Yt+uCDDyRJrVq1ynLenLS5xMREffDBB+rbt68GDx6sc+fOafbs2QoPD9eWLVsUGhqqChUq6N1339UTTzyhe+65R/fee68k6dZbb832PXr00Uf14YcfqlevXnr22We1efNmxcTEaPfu3ZmCmv3796tXr1565JFHFBERoTlz5mjAgAEKCwtT/fr1c/Q36devn0aMGKHz58/L19dXly9f1qJFixQZGZnlZXPz5s3TwIED1bRpU8XExCghIUFvvvmmNm7cqO3bt9uPdq5evVr33Xef6tWrp5iYGJ06dUoDBw7MMswcMmSIfb1PPfWU/vjjD7399tvavn27Nm7cmO3ZZjfSDgCgKEs/uFauXDn7tOz6Mznd986bN0+DBg1S/fr1NXr0aJUuXVrbt2/XqlWrst3XrlmzRn379lXHjh01ceJESdLu3bu1ceNGjRgxItv6c/odI0mpqakKDw9X8+bNNWnSJK1du1aTJ09WjRo19MQTT2S7jWv1B3LzHbx371717dtXQ4YM0eDBg1W7du0st7dv3z7t2bNHgwYNUsmSJbOt61rWrFmj33//XQMHDlRgYKB27dql999/X7t27dJ///tfewDz+OOP6/PPP9fw4cNVr149nTp1Shs2bNDu3bvVuHFjXbp0SeHh4UpOTtaTTz6pwMBAHTlyRMuXL9eZM2dUqlSpTNu+Vp8zKzlpLznpSw8ZMkRHjx7VmjVr9PHHH1/3Pcpt//fJJ59UmTJlFBUVpYMHD2ratGkaPny4Fi5cmKO/Sbt27VSlShV9+umnGj9+vCRp4cKF8vX1zfKMposXL+q2227T/v37NXz4cFWrVk2LFi3SgAEDdObMGfvnwhiju+++Wxs2bNDjjz+uunXr6osvvlBERESWr7l169aqXLmyRo0aJR8fH/3nP/9Rz549tXjx4kz/v0h3I+0AyJIBCqCffvrJSDJr1qwxxhiTlpZmqlSpYkaMGOEw39ixY40ks2TJkkzrSEtLM8YYM2fOHCPJTJkyJdt51q1bZySZdevWOTz/xx9/GElm7ty59mkRERFGkhk1alSm9V24cCHTtJiYGGOz2cyhQ4fs09q1a2dKlizpMC1jPcYYM3r0aOPh4WHOnDljn3b8+HFTokQJExUVlWk7WdX9xhtvOEzv2bOncXd3NwcOHLBPO3r0qClZsqRp166dfdrcuXONJNOmTRtz+fLla27LGGMaNWpkSpUqdd350kVERJiqVas6TLv6vbt06ZJp0KCB6dChg33a1KlTjSRz4sSJbNd99913m/r1619z++mv748//nCoycfHJ9O8VatWNREREfbHOWlzly9fNsnJyQ7P/f333yYgIMAMGjTIPu3EiRNGUpZ/z6ioKJNxFx0XF2ckmUcffdRhvpEjRxpJ5ptvvnGoWZL57rvv7NOOHz9uPDw8zLPPPptpW1eTZIYNG2ZOnz5t3N3dzccff2yMMWbFihXGZrOZgwcP2utL/1tcunTJ+Pv7mwYNGpiLFy/a17V8+XIjyYwdO9Y+LTQ01FSsWNGhba9evdpIcmgX33//vZFk5s+f71DfqlWrMk1v3769ad++vf1xTtoBABRF6d9xa9euNSdOnDB//vmnWbBggSlXrpzx8vIyf/31lzEm+/5MTve9Z86cMSVLljTNmzd32O8b49ifufo7f8SIEcbPz++a/Yur+2W5+Y5Jf13jx493WGejRo1MWFhYttvMuPzV/YEb+Q5etWrVdbf15ZdfGklm6tSp153XmKz7pVn1PT/77LNM/YBSpUqZYcOGZbvu7du3G0lm0aJF16zh6n5Rdn3Oq/taOW0vOe1LDxs2zKGflNHVfavc9n87derkUNMzzzxjXF1dHfotWcnYNxo5cqSpWbOm/bmmTZuagQMH2uvL+LeYNm2akWQ++eQT+7RLly6Zli1bGl9fX5OYmGiMMWbp0qVGknn99dft812+fNm0bds2U7vo2LGjadiwofnnn3/s09LS0kyrVq1MrVq17NOu/qzltB0A18OlcyiQ5s+fr4CAAN1+++2SrpwC26dPHy1YsMDhtOfFixcrJCQky1Q+/QjO4sWLVb58eT355JPZznMjsjoi5uXlZf89KSlJJ0+eVKtWrWSM0fbt2yVduZb9u+++06BBg/Svf/0r23r69++v5ORkh8vHFi5cqMuXL+uhhx7Kdb2pqalavXq1evbsqerVq9unV6xYUf369dOGDRuUmJjosMzgwYPl6up63XUnJibe8JG4dBnfu7///ltnz55V27ZtHU7pTj9a+eWXX2Y7sGjp0qX1119/6ccff7yperKTkzbn6upqH9shLS1Np0+f1uXLl9WkSROH15MbK1eulCRFRkY6TH/22WclSStWrHCYXq9ePbVt29b+uEKFCqpdu7Z+//33HG+zTJkyuvPOO+3jDHz66adq1aqV/TT5jH766ScdP35cQ4cOdRhbqlu3bqpTp469vvj4eMXFxSkiIsLhqNgdd9yhevXqOaxz0aJFKlWqlO644w6dPHnS/hMWFiZfX1+HSxGvltftAAAKuk6dOqlChQoKCgrSAw88IF9fX33xxReqXLmyw3xX92dyuu9ds2aNzp07p1GjRmUaU/Ba/avSpUsrKSlJa9asyfFryel3TEaPP/64w+O2bdvm6jswo9x+B1erVk3h4eHXXW96v+tm+lAZ+0///POPTp48qRYtWkhSpj7U5s2bs70LcPp38tdff60LFy7ccD3ZyWl7yUlfOjdupP/72GOPOdTUtm1bpaam6tChQznebr9+/bR//379+OOP9n+zO8tv5cqVCgwMVN++fe3T3Nzc9NRTT+n8+fP69ttv7fOVKFHC4TPr6uqa6f84p0+f1jfffKP7779f586ds3+GT506pfDwcO3bty/LYQ2kvG8HKD4ImlDgpKamasGCBbr99tv1xx9/aP/+/dq/f7+aN2+uhIQExcbG2uc9cOBAtmPFZJyndu3alg4KWKJEiSwv8zl8+LAGDBigsmXL2scEaN++vSTZr2tO7+Rcr+46deqoadOmDmNTzZ8/Xy1atLihu++dOHFCFy5cyPL07bp16yotLS3TrVirVauWo3X7+fnp3Llzua4po+XLl6tFixby9PRU2bJl7ZeWZbwevE+fPmrdurUeffRRBQQE6IEHHtB//vMfh9DphRdekK+vr5o1a6ZatWpp2LBhDpfW3ayctDlJ+vDDD3XrrbfK09NT5cqVU4UKFbRixYobvr790KFDcnFxyfS3DwwMVOnSpTN1fq4OMaUrwVFOxjbKqF+/flqzZo0OHz6spUuXZttJSt9+Vu2rTp069ufT/61Vq1am+a5edt++fTp79qz8/f1VoUIFh5/z58/r+PHj2dad1+0AAAq6GTNmaM2aNVq3bp1+/fVX/f7775nCj6z6Mznd96ZfipeT78SMhg4dqltuuUVdunRRlSpVNGjQIK1ateqay+T0Oyadp6enfRzEdDfyHZhx+7n5Ds5N/0nSTfWhTp8+rREjRiggIEBeXl6qUKGCffsZ+xyvv/66fvnlFwUFBalZs2YaN26cQ/BWrVo1RUZG6oMPPlD58uUVHh6uGTNmWDYuT07bS0760rlxI/3fq/tQZcqUkaRctZ9GjRqpTp06+vTTTzV//nwFBgbax0m72qFDh1SrVq1Mg9/XrVvX/nz6vxUrVsx0eeLVr23//v0yxujll1/O9BmOioqSpGz7UHndDlB8MEYTCpxvvvlG8fHxWrBggRYsWJDp+fnz56tz586WbjO7I2/ZDRrp4eGR6csgNTVVd9xxh06fPq0XXnhBderUkY+Pj44cOaIBAwbk+ta+0pWzmkaMGKG//vpLycnJ+u9//6u333471+u5URmPKl1LnTp1tH37dv35558KCgrK9Xa+//579ejRQ+3atdM777yjihUrys3NTXPnznUYINLLy0vfffed1q1bpxUrVmjVqlVauHChOnTooNWrV8vV1VV169bV3r17tXz5cq1atUqLFy/WO++8o7Fjxyo6OjrXtd2ITz75RAMGDFDPnj313HPPyd/fX66uroqJibF3tG5UTs/Cy+5MNGNMrrbXo0cPeXh4KCIiQsnJybr//vtztfzNSEtLk7+/f7Y3Arj6PxEZFYR2AADO1KxZMzVp0uSa82TVn7mZfW9O+Pv7Ky4uTl9//bW++uorffXVV5o7d6769++f5eDHNyInZ2PfiJx+B+em/yRJO3fuvOGa7r//fv3www967rnnFBoaKl9fX6WlpenOO+906Hvef//9atu2rb744gutXr1ab7zxhiZOnKglS5aoS5cukqTJkydrwIAB+vLLL7V69Wo99dRTiomJ0X//+99r3hTGKnnRl74RVvWh+vXrp3fffVclS5ZUnz598u0uiunv08iRI7M9s+5aB62d3Q5QNBA0ocCZP3++/P397XeTyGjJkiX64osvNHPmTHl5ealGjRr65Zdfrrm+GjVqaPPmzUpJScl24OD0IxVX37UhN6fI7ty5U7/99ps+/PBD9e/f3z796lPD00/bvV7dkvTAAw8oMjJSn332mS5evCg3Nzf16dMnxzVlVKFCBXl7e2vv3r2ZntuzZ49cXFxuKCSSpO7du+uzzz7TJ598otGjR+d6+cWLF8vT01Nff/21wy2Q586dm2leFxcXdezYUR07dtSUKVP02muvacyYMVq3bp06deokSfLx8VGfPn3Up08fXbp0Sffee68mTJig0aNHZzpdO7dy0uY+//xzVa9eXUuWLHHolKYfRUqXm0s3q1atqrS0NO3bt89+hEuSEhISdObMmSwvZ7OCl5eXevbsqU8++URdunRR+fLls61PujIA6tVH7Pbu3Wt/Pv3fffv2ZVrH1W2zRo0aWrt2rVq3bp3jTntGedkOAKCoyum+N/1mKr/88kuuz7R2d3dX9+7d1b17d6WlpWno0KF677339PLLL2e5rpx+x+SVvPoOvuWWW1S7dm19+eWXevPNN685kHZW/v77b8XGxio6Olpjx461T8/qO1a6crnY0KFDNXToUB0/flyNGzfWhAkT7EGTJDVs2FANGzbUSy+9pB9++EGtW7fWzJkz9eqrr97Qa0yXk/aS0760lPM+VF72f6+nX79+Gjt2rOLj4685aHnVqlX1888/Ky0tzSGMSr9rXcY+VGxsrP0mLemufm3p/9dwc3Oz941zK6/aAYoPLp1DgXLx4kUtWbJEd911l3r16pXpZ/jw4Tp37pz9Lmf33XefduzYkeWt0dOPOtx33306efJklmcCpc9TtWpVubq66rvvvnN4/p133slx7elHPzIe7TDGONyuV7ryhdeuXTvNmTNHhw8fzrKedOXLl1eXLl30ySefaP78+brzzjuz/Y9+Turr3LmzvvzyS4dbzSYkJOjTTz9VmzZt7Kdw51avXr3UsGFDTZgwQZs2bcr0/Llz5zRmzJhr1maz2RzOIDt48KCWLl3qMN/p06czLRsaGipJ9tsLX307X3d3d9WrV0/GGKWkpOT0JWUrJ20uq7awefPmTO9N+t19srstbUZdu3aVJE2bNs1h+pQpUyQpy7uYWGXkyJGKiorSyy+/nO08TZo0kb+/v2bOnOlwq+evvvpKu3fvttdXsWJFhYaG6sMPP3Q4DXvNmjX69ddfHdZ5//33KzU1Va+88kqm7V2+fPma71tetwMAKKpyuu/t3LmzSpYsqZiYmEx3Ir3WmR9X759dXFzsd1zN+P2RUU6/Y/JKXn4HR0dH69SpU3r00Ud1+fLlTM+vXr1ay5cvz3LZrPobWdWZmpqa6dInf39/VapUyf5+JiYmZtp+w4YN5eLiku3fJTdy0l5y2peWrhxMkq7fh8rL/u/11KhRQ9OmTVNMTIyaNWuW7Xxdu3bVsWPHHO5qd/nyZU2fPl2+vr72Swe7du2qy5cv691337XPl5qaqunTpzusz9/fX7fddpvee+89xcfHZ9reiRMnsq0lr9sBig/OaEKBsmzZMp07d049evTI8vkWLVqoQoUKmj9/vvr06aPnnntOn3/+uXr37q1BgwYpLCxMp0+f1rJlyzRz5kyFhISof//++uijjxQZGaktW7aobdu2SkpK0tq1azV06FDdfffdKlWqlHr37q3p06fLZrOpRo0aWr58+TXHgLlanTp1VKNGDY0cOVJHjhyRn5+fFi9enOX13G+99ZbatGmjxo0b67HHHlO1atV08OBBrVixQnFxcQ7z9u/fX7169ZKkLDt9ufHqq69qzZo1atOmjYYOHaoSJUrovffeU3Jysl5//fUbXq+bm5uWLFmiTp06qV27drr//vvVunVrubm5adeuXfr0009VpkwZTZgwIcvlu3XrpilTpujOO+9Uv379dPz4cc2YMUM1a9bUzz//bJ9v/Pjx+u6779StWzdVrVpVx48f1zvvvKMqVaqoTZs2kq50ZAIDA9W6dWsFBARo9+7devvtt9WtW7ebHrBcUo7a3F133aUlS5bonnvuUbdu3fTHH39o5syZqlevns6fP29fl5eXl+rVq6eFCxfqlltuUdmyZdWgQYMsxy8ICQlRRESE3n//fZ05c0bt27fXli1b9OGHH6pnz572gfPzQkhIiEJCQq45j5ubmyZOnKiBAweqffv26tu3r/3W08HBwXrmmWfs88bExKhbt25q06aNBg0apNOnT2v69OmqX7++w/vTvn17DRkyRDExMYqLi1Pnzp3l5uamffv2adGiRXrzzTftn42r5XU7AICiKqf7Xj8/P02dOlWPPvqomjZtqn79+qlMmTLasWOHLly4kO1lcI8++qhOnz6tDh06qEqVKjp06JCmT5+u0NBQh7OFMsrNd0xeyMvv4D59+mjnzp2aMGGCtm/frr59+6pq1ao6deqUVq1apdjYWIdhBDLy8/NTu3bt9PrrryslJUWVK1fW6tWr9ccffzjMd+7cOVWpUkW9evVSSEiIfH19tXbtWv3444+aPHmypCtDVwwfPly9e/fWLbfcosuXL+vjjz+Wq6ur7rvvvht+fRlrvV57yU1fOiwsTJL01FNPKTw8XK6urnrggQey3HZe9X9zYsSIEded57HHHtN7772nAQMGaOvWrQoODtbnn3+ujRs3atq0afZ+S/fu3dW6dWuNGjVKBw8eVL169bRkyZIsx0+aMWOG2rRpo4YNG2rw4MGqXr26EhIStGnTJv3111/a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oqL0wQcfqGnTpgoNDdWcOXNkjLGyTgAAgEJvxIgRGjFihFJTU9WgQQOFhIQ4/AAAABR2JW50wZSUFH3xxReaO3eu1qxZoxYtWuiRRx7RX3/9pRdffFFr167Vp59+amWtAAAAhdqCBQv0n//8R127dnV2KQAAAHki10HTtm3bNHfuXH322WdycXFR//79NXXqVNWpU8c+zz333KOmTZtaWigAAEBh5+7urpo1azq7DAAAgDyT60vnmjZtqn379undd9/VkSNHNGnSJIeQSZKqVaumBx54wLIiAQAAioJnn31Wb775JkMMAACAIivXZzT9/vvvqlq16jXn8fHx0dy5c2+4KAAAgKJow4YNWrdunb766ivVr19fbm5uDs8vWbLESZUBAABYI9dB0/Hjx3Xs2DE1b97cYfrmzZvl6uqqJk2aWFYcAABAUVK6dGndc889zi4DAAAgz+Q6aBo2bJief/75TEHTkSNHNHHiRG3evNmy4gAAAIoSzvgGAABFXa6Dpl9//VWNGzfONL1Ro0b69ddfLSkKAACgKDtx4oT27t0rSapdu7YqVKjg5IoAAACskevBwD08PJSQkJBpenx8vEqUyHVuBQAAUGwkJSVp0KBBqlixotq1a6d27dqpUqVKeuSRR3ThwgVnlwcAAHDTch00de7cWaNHj9bZs2ft086cOaMXX3xRd9xxh6XFAQAAFCWRkZH69ttv9X//9386c+aMzpw5oy+//FLffvutnn32WWeXBwAAcNNyHTRNmjRJf/75p6pWrarbb79dt99+u6pVq6Zjx45p8uTJN1TEjBkzFBwcLE9PTzVv3lxbtmzJdt4lS5aoSZMmKl26tHx8fBQaGqqPP/74hrYLAACQnxYvXqzZs2erS5cu8vPzk5+fn7p27apZs2bp888/d3Z5AAAANy3X17pVrlxZP//8s+bPn68dO3bIy8tLAwcOVN++fTPdojcnFi5cqMjISM2cOVPNmzfXtGnTFB4err1798rf3z/T/GXLltWYMWNUp04dubu7a/ny5Ro4cKD8/f0VHh6e6+0DAADklwsXLiggICDTdH9/fy6dAwAARcINDark4+Ojxx57zJICpkyZosGDB2vgwIGSpJkzZ2rFihWaM2eORo0alWn+2267zeHxiBEj9OGHH2rDhg1ZBk3JyclKTk62P05MTJQkpaSkKCUlxZLXkJHN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mn2ojGeLSDL/+te/jIuLi5FkateubS5fvmwGDRpkypcvb2w2m7HZbKZkyZKmb9++9j7U/v37M22jRo0a5u6777bvb9L/PX36tHn44YdNqVKlTIkSJYyHh4fx8vIyzZo1c6grMjLSuLi4GA8PD+Pj42O8vb3pP/1/9J+KRv+JMZrywZEjR9S1a1c1bdpUO3bs0LvvvqvZs2fr1Vdftc8TGRmpjRs3atmyZVqzZo2+//57bdu2Ldt1Ll68WFOnTtV7772nffv2aenSpWrYsKEkacmSJapSpYrGjx+v+Ph4xcfHZ7mOFStW6J577lHXrl21fft2xcbGqlmzZjl+XcePH9cXX3whV1dXubq6SpK+//579e/fXyNGjNCvv/6q9957T/PmzdOECRMkSampqerZs6e8vb21efNmvf/++xozZkyW6x81apRGjBih3bt3Kzw8XPPnz9fYsWM1YcIE7d69W6+99ppefvllffjhh5Kkt956S8uWLdN//vMf7d27V/Pnz1dwcPB136+rpaWl6e6779bp06f17bffas2aNfr999/Vp08fh/mSkpK0dOlSLV++XG+99ZaOHj2qEydO2J//559/FBYWphUrVuiXX37RY489pocfflhbtmxxWM+HH34oHx8fbd68Wa+//rrGjx+vNWvW2Gu599575e7urs2bN2vmzJl64YUXMtURHh6uMmXK6Mcff9SiRYu0du1aDR8+3GG+b775RkePHtV3332nKVOmKCoqSnfddZfKlCmjzZs36/HHH9eQIUP0119/Zfs3v5actPP01+vu7q6NGzdq5syZOnPmjDp06KBGjRrpp59+0qpVq5SQkKD7779fkhQfH6++fftq0KBB2r17t9avX697771XxhiNHDlS999/v+688057W2/VqlWm2k6fPq1Vq1Zp2LBh8vHxyfT8tY5wlCxZUvPmzdOvv/6qN998U7NmzdLUqVPtzz/44IOqUqWKfvzxR23dulWjRo2yHx0bNmyYkpOT9d1332nnzp2aOHFilkd1ateuLZvNJulKW83qddhsNvtnVrpydGLMmDF65plnNGjQIKWlpalUqVJ6/fXXtX79er388suKi4tTeHi4JCkoKEgPP/ywJGn69On69ttv1bhxY33xxReZ6lmzZo1++uknLVu2TF26dNGZM2fk5uamrVu3qnfv3po8ebKSkpI0adIkPfbYYypRooT27NmjGjVq6LvvvtPhw4c1cuRIScrx3ygr58+f1yeffKKaNWuqXLlyknLW3t98801NnjxZkyZN0s8//6zw8HD16NFD+/btk3TtfcWPP/4oSZo7d67i4+Ptj7Oybt06HThwQOvWrdOHH36oefPmad68efbn+/fvr6NHj2r9+vVavHix3n//fR0/fjzb9aWlpWnBggV68MEHValSpUzP+/r6qkSJrE9EdnFx0VtvvaVdu3bpww8/1DfffKPnn3/e/vy12uLLL7+sX3/9VV999ZV2796td999V+XLl8+0jaCgIMXHx8vPz0/Tpk1TfHx8pv2iJMXFxaljx46qV6+eNm3apA0bNqh79+5KTU2VdOVvGBkZqZ9++kmxsbFycXHRPffco7S0NEmy7yPXrl2r+Ph4LVmyJMvX/Pzzz2vx4sX68MMPtW3bNtWsWVPh4eE6ffq0w3xjxozR5MmT9dNPP6lEiRIaNGhQlutDwUP/qWj2n86dO6f4+HgtX75cy5cv19q1axUbG+twdg59KPpQOelDnT59Wj/99JOeffZZSVn3odL7VytWrJAknTp1SuPHj9fy5ct19913Ky0tTVWqVNETTzyh2bNna/LkyUpJSdFPP/2kAQMGSJIWLVpk3/bKlSvVr1+/bL/PBwwYoJ9++klt27ZV/fr1FRISIn9/f91777268847dezYMV24cEGrVq2Si4uLQkNDVaFCBbVr147+0/9H/6mI9J9yFUshW9c6SpF+rWjGRH3GjBnG19fXpKammsTEROPm5mYWLVpkf/7MmTPG29s72yNykydPNrfccotD+ptRVqnv1UfUWrZsaR588MEcv8b0MQbSU3f9/7T0qaeess/TsWNHe7Kd7uOPPzYVK1Y0xlxJYkuUKGHi4+Ptz2d3RG7atGkO66lRo0amo1mvvPKKadmypTHGmCeffNJ06NAhy+tcc/N+rV692ri6uprDhw/bn9+1a5eRZE97Q0JC7O+Fh4eHfdyFWrVqZfv+GWNMt27dzLPPPmt/3L59e9OmTRuHeZo2bWpeeOEFY4wxX3/9tSlRooRDOv/VV185vF/vv/++KVOmjMNRphUrVhgXFxf7UcSIiAhTtWpVk5qaap+ndu3apm3btvbHly9fNj4+Puazzz7Ltv6IiAjj6upqfHx87D+9evUyxly/nae/3oxHLI258jfs3Lmzw7Q///zTSDJ79+41W7duNZLMwYMHs63petevb9682UgyS5YsueZ8xlx/fIE33njDhIWF2R+XLFnSzJs3L8t5GzZsaMaNG5flcxmPYvz3v//N8miVr6+vvZ09//zz9s+sJPP0009f97X07t3bSLIfmSlXrpzDkZOUlBRTpUoVhzOamjVrZiSZjRs3mkOHDhlXV1ezc+dO4+XlZf7zn/8YY4ypV6+ekWT2799v3y+MGzfOBAQEGGOu/N3Tfzcmd2MMZGxfkkzFihXN1q1b7fPkpL1XqlTJTJgwwWHdTZs2NUOHDjXGXHtfYUzWbSCrI3JVq1Y1ly9ftk/r3bu36dOnjzHmypkHkuxHZo0xZt++fUZStkfkEhISjCQzZcqUbN6h/7nekb1FixaZcuXK2R9fqy12797dDBw4MMvnsrrev1SpUvazJIzJPG5F3759TevWra/7GtKdOHHCSDI7d+7MdpvGOLaj8+fPGzc3NzN//nz785cuXTKVKlUyr7/+ukNdGccPWbFihZGUb2PB4ProP11RXPpPUVFRxtXV1b6vT+9DSTKff/55tu+hMfSh6EP9T/r+Pf0z8PHHHzv0ocqVK2dvW88//7wx5srnNqf9p2HDhpkOHTrY+1AVK1Y0Q4YMsX/Xpfefrj6jKX2spMWLFxtXV1dz5MgRc/LkSXsfqmPHjqZbt25Gkpk4caK9L5Xeb6L/RP+pKPWfOKMpH+zevVstW7a0J+qS1Lp1a50/f15//fWXfv/9d6WkpDgcDStVqpRq166d7Tp79+6tixcvqnr16ho8eLC++OILXb58OVd1paemuVGyZEnFxcXpp59+0uTJk9W4cWP70TZJ2rFjh8aPH2+/HtfX11eDBw9WfHy8Lly4oL179yooKMjhetTsjgI2adLE/ntSUpIOHDigRx55xGHdr776qg4cOCDpyhGEuLg41a5dW0899ZRWr15tXz4379fu3bsVFBSkoKAg+7R69eqpdOnS2r17t32aj4+P4uLitHnzZkVERKhZs2YO60xNTdUrr7yihg0bqmzZsvL19dXXX3+d6VrpW2+91eFxxYoV7al9ei0Z0/mWLVtmqjckJMThKFPr1q2VlpamvXv32qfVr19fLi7/+8gHBAQ4HJV0dXVVuXLlrnnEQJJuv/12xcXF2X/eeustex3XaufpwsLCHNa3Y8cOrVu3zuHvWqdOHUlXrmUOCQlRx44d1bBhQ/Xu3VuzZs3S33//fc0ar2aMydX8GS1cuFCtW7dWYGCgfH199dJLLzn8DSMjI/Xoo4+qU6dO+ve//21vj5L01FNP6dVXX1Xr1q0VFRWln3/+OVfbfvnll+Xr66v69esrOTnZ4TOb8fOR7oUXXlDp0qXl6uoqm82mRYsWSZIOHz6ss2fP6tSpUw7zlyhRItN6Lly4IJvNpubNm2vnzp1KTU1VixYtlJycrIceeki+vr7au3evXF1dVaNGDUmSt7e3br31VnvbydiGcytj+9qyZYvCw8PVpUsXHTp0SNL123tiYqKOHj2q1q1bO6y3devW9s/vtfYVuVG/fn372QiS4+veu3evSpQoocaNG9ufr1mzpsqUKZPt+m6mna5du1YdO3ZU5cqVVbJkST388MM6deqULly4IOnabfGJJ57QggULFBoaqueff14//PDDDdchXf+7Zd++ferbt6+qV68uPz8/+9HQ3IwjceDAAaWkpDj8nd3c3NSsWTOH/bTkuI+tWLGiJN1w+0T+ov9UNPtPvr6+9n395s2b1bRpU/n6+uq+++6zz0Mfij7UzfShtmzZoujoaLm6uio5OVmS7Hf/yqr/NGPGDNWtW1ceHh5ycXHRjBkztH79eknSrl27FB8fr7p169rnz6r/JF05w6pEiRIqUaKEUlNTdcstt6hq1ar2PtS3336r48ePy9vbW/7+/vL29laNGjXs7Zb+E/2notR/ImgqpIKCgrR3716988478vLy0tChQ9WuXTulpKTkeB03MrCli4uLatasqbp16yoyMlItWrTQE088YX/+/Pnzio6OdvgS3blzp/bt2ydPT89cbSvjjvD8+fOSpFmzZjms+5dfftF///tfSVLjxo31xx9/6JVXXtHFixd1//33q1evXpKseb+u5urqqpo1ayokJERz5syx/2c+3RtvvKE333xTL7zwgtatW2e/jOnSpUsO67l6EEKbzWY/BdJKWW3nRrbt4+OjmjVr2n/Sdzw5dfVp1+fPn1f37t0d/q5xcXHat2+f2rVrJ1dXV61Zs0ZfffWV6tWrp+nTp6t27dr6448/crzNWrVqyWaz5Xqwyk2bNunBBx9U165dtXz5cm3fvl1jxoxx+BuOGzdOu3btUrdu3fTNN9+oXr169svRHn30Uf3+++96+OGHtXPnTjVp0kTTp0/PtJ2aNWs6dC7T+fv7y9XV1f5ZzfiZvfp9nDdvnl5//XXVqlVL77//vlatWqWuXbtKUqY2l1Pnz5+Xq6urtm7dqtq1a+vxxx9XXFycJkyYIG9vb/t8bm5ustls9i/6jL/nVsb21bRpU33wwQdKSkrSrFmzbmh9WbnWviI3rP7sVqhQQaVLl851Oz148KDuuusu3XrrrVq8eLG2bt2qGTNmSPrf3/5abTG9I/rMM8/o6NGj6tixo/3U/Rtxve+W7t276/Tp05o1a5Y2b95sHwz5Rtvp9WT8O6V/zvJiH4vCgf6T8/tPLi4u9n19SEiIHnjgASUnJ2v27Nn2eehDZb98RsW9D1W9enXZbDb7pV0ZpwcEBDhMS//cXv0eLliwQCNHjtSff/6pDh06aP78+br//vvt/4m/ke+mpKQke/8pPZh5/PHHtXv3bj344IP2tpP+b3q/if7TjaH/VDD7TwRN+aBu3bratGmTw45j48aNKlmypKpUqaLq1avLzc3N4VrWs2fP6rfffrvmer28vNS9e3e99dZbWr9+vTZt2qSdO3dKunI3hvTrObNz6623KjY29iZe2ZVxABYuXGgfD6Fx48bau3evw5do+o+Li4tq166tP//8UwkJCfZ1XOsa3nQBAQGqVKmSfv/990zrrVatmn0+Pz8/9enTR7NmzdLChQu1ePFi+/Wm13q/Mqpbt67+/PNP/fnnn/Zpv/76q86cOaN69eplWZ+Li4s6deqks2fP6uLFi5Ku/I3vvvtuPfTQQwoJCVH16tWv+zfNrpaM40SkdwwzzrNjxw4lJSXZp23cuNH+fueX67Xz7DRu3Fi7du1ScHBwpr9temfAZrOpdevWio6O1vbt2+Xu7m7viOSkrZctW1bh4eGaMWOGw/uU7syZM1ku98MPP6hq1aoaM2aMmjRpolq1atmPDGV0yy236JlnntHq1at17733OtxRJigoSI8//riWLFmiZ599Nssv/HLlyun222+XJHv7ycq1PrNfffWVpCtjjDzyyCMKDw93qLVUqVL26/TT36/Lly9r69atDuvx9vaWMUabN29Wo0aNlJqaqn379ungwYNq27atatasqYCAAIcju9eTk79Rdmw2m1xcXOzvy/Xau5+fnypVqqSNGzc6rGfjxo0On99r7Svc3NxuuN50tWvX1uXLl7V9+3b7tP3791/zSLKLi4seeOABzZ8/X0ePHs30/Pnz57M8k2Dr1q1KS0vT5MmT1aJFC91yyy1ZLn+ttlihQgVFRETok08+0bRp0/T+++/n9iXbXaudnjp1Snv37tVLL72kjh07qm7dupnek/RxWq71N6hRo4Z9nJJ0KSkp+vHHH7PdT6Pwof9U9PtP0pV9X6lSpfTSSy/Rh6IPlas+VNmyZXXHHXfogw8+uOZrkDKf/ZZu48aNatiwof4fe3ceF2W5/3/8PSAMCOKGgAuJW5qpkCjlbkVSVmp9U7MFtDJLKY2y5HQSMY1MU8ssl5Ppsc1jWXnSzNxOaR5zyTRTU3NLEbcURQWE6/eHP+Y4Agp4wwi8no/HPJy5514+M1wzc/m+7/u609LSNG3aNPXp00fHjh1z/N5WqlRJNWvWdLS/rKysPPtPOfWcP39eNptNWVlZOnz4sKpWrerUhyrMFcDoP11A/6l09p8Imix08uTJXHsU9u/fr4EDB2r//v165plntG3bNn311VdKSEhQXFyc3NzcVKlSJcXExGjo0KFavny5tmzZoscff1xubm55HuUgXTh64f3339evv/6qP/74Qx9++KG8vb1Vt25dSVJISIi+//57HThwQEePHs1zHQkJCfrkk0+UkJCgrVu3OgY4K4zg4GDdd999Gj58uCRp+PDh+uc//6nExERt2bJFW7du1aeffqq///3vkqQ77rhDDRo0UExMjDZt2qRVq1Y5nsvvteZITExUUlKS3n77bf3+++/avHmzPvjgA40fP16SNH78eH3yySfatm2bfv/9d82dO1dBQUGqUqXKFd+vi0VGRqp58+Z6+OGHtWHDBv3000+Kjo5Wp06d8jxMNkdoaKgkOZLwRo0a6bvvvtOPP/6orVu3asCAAU4dxIKIjIzU9ddfr5iYGP3yyy/64Ycfcg3++fDDD8vLy0sxMTH69ddftXz5cj3zzDN69NFHc+3NKU5Xauf5GTRokI4fP64+ffpo7dq12rVrl7799lv169dPWVlZWrNmjV577TWtW7dO+/bt07x583TkyBHHIcwhISHatGmTtm/frqNHj+a7l3Xy5MnKyspSRESEPv/8c+3YsUNbt27V22+/netQ+hyNGjXSvn379Omnn2rXrl16++23nQbPPnv2rGJjY7VixQrt3btXq1at0tq1ax21DRkyRN9++612796tDRs2aPny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VkmXd83YtWuX9u7dq+nTp+uJJ54okW2uXbtWXbt21enTp/XII48oPDxckrRu3Tq9/vrr+v77713ed8jx97//3SmglC70s2rXrq0JEyY4TT979qwqVCie/2IePHhQiYmJCgkJUVhYmNNzefUFS5KXl5c++eQT/f3vf3eanpaWpq+++op+FsodgiaUOXfddZdatWolSXriiSfk7++vMWPGaP78+erVq5eLqyuaw4cPS5KqVKli2TrT0tLyPSpq9+7devDBB1W3bl0tW7ZMNWvWdDw3aNAg7dy5UwsWLLCslquVV3B0+PBhNW3a1GmazWZz2Q+9p6enS7abo2vXrpo/f76OHj0qf39/x/SPP/5YgYGBatSokf766y8XVggAsNrFfaK8vPbaa5o+fbo8PDx0zz336Ndffy3B6qxxuf5MQZV0P+vEiRO677775O7urp9//llNmjRxen706NGaPn26ZbVcrQoVKuQKjw4fPpzn++WqflZx7UQsqK5du2revHn65ZdfFBoa6pj+1VdfKSMjQ3feeaeWLVvmwgqBksWpcyjzOnToIOnC3qqLbdu2TQ888ICqVasmLy8vtWrVSvPnz8+1/IkTJ/Tcc88pJCREdrtdderUUXR0tI4ePSpJysjI0PDhwxUeHq7KlSvLx8dHHTp00PLlyy2pv3PnzoqJiZEktW7dWjabzemc6rlz5yo8PFze3t7y9/fXI488kutUwb59+8rX11e7du1S165dValSJT388MP5bvONN97Q6dOn9f777zuFTDkaNmyowYMH57v88ePH9cILL6h58+by9fWVn5+f7rrrLv3yyy+55p00aZJuvPFGVaxYUVWrVlWrVq308ccfO54/deqUhgwZ4nj/AwICdMcdd2jDhg1Ory/nCKKcU8V2796tBQsWOA5n3rNnT75jNG3btk29evVSjRo15O3trcaNG+vll192PL93714NHDhQjRs3lre3t6pXr66ePXs6nSI3c+ZM9ezZU5J06623Ora7YsUKSXmfR3/48GE9/vjjCgwMlJeXl0JDQzVr1iyneXJqHjdunKZNm6YGDRrIbrerdevWWrt2bb5/g0t1795ddrtdc+fOdZr+8ccfq1evXnJ3d8+1zPnz5/Xqq686thkSEqK//e1vSk9Pd5rPGKNRo0apTp06qlixom699VZt2bIlzzpOnDihIUOGKDg4WHa7XQ0bNtSYMWOuuBeyIO0AAFA4tWrVuqr/oBf0u3nNmjXq2rWrqlatKh8fH7Vo0UJvvfWW0zzLli1Thw4d5OPjoypVqqh79+7aunWr0zw5YwX99ttveuihh1S1alW1b9/e8fyHH37o6BNVq1ZNDz74oPbv33/Z19C3b1916tRJktSzZ0/ZbDan32sr6rrU1KlTdeDAAY0fPz5XyCRJgYGBuY6MuVhh+p6ffvqpwsPDValSJfn5+al58+ZO731mZqYSExPVqFEjeXl5qXr16mrfvr2+++67XK9P+l+/ZPny5dqyZUuu/k5eYzQdOHBAjz/+uGrVqiW73a569erp6aefVkZGhqSC9RtXrFih1q1bS5L69evn2G5Ony6vMZrS0tL0/PPPO/ocjRs31rhx42SMcZrPZrMpNjZWX375pZo1aya73a4bb7xRixYtyvdvcKk2bdqoXr16Tn1YSfroo4905513qlq1anku9+677+rGG2+U3W5XrVq1NGjQoDxPm8zpA3p7eysiIkI//PBDnutLT09XQkKCGjZsKLvdruDgYL344ou5+m6XKkg7AAqDI5pQ5uWEAVWrVnVM27Jli9q1a6fatWtr2LBh8vHx0b/+9S/16NFDn3/+ue677z5JFwaU7tChg7Zu3arHHntMLVu21NGjRzV//nz9+eef8vf3V2pqqv7xj3+oT58+6t+/v06dOqX3339fUVFR+umnn3Id2ltYL7/8sho3bqxp06Y5DoFv0KCBpAvhRr9+/dS6dWslJSUpJSVFb731llatWqWff/7ZaU/T+fPnFRUVpfbt22vcuHGqWLFivtv897//rfr166tt27ZFqvmPP/7Ql19+qZ49e6pevXpKSUnR1KlT1alTJ/3222+Ow/OnT5+uZ599Vg888IAGDx6sc+fOadOmTVqzZo0eeughSdJTTz2lzz77TLGxsWratKmOHTumlStXauvWrWrZsmWubd9www2aPXu2nnvuOdWpU0fPP/+8JKlGjRo6cuRIrvk3bdqkDh06yMPDQ08++aRCQkK0a9cu/fvf/9bo0aMlXTi8/ccff9SDDz6oOnXqaM+ePXrvvffUuXNn/fbbb6pYsaI6duyoZ599Vm+//bb+9re/6YYbbnDUk5ezZ8+qc+fO2rlzp2JjY1WvXj3NnTtXffv21YkTJ3IFeR9//LFOnTqlAQMGyGaz6Y033tD999+vP/74o0D/SahYsaK6d++uTz75RE8//bQk6ZdfftGWLVv0j3/8Q5s2bcq1zBNPPKFZs2bpgQce0PPPP681a9YoKSlJW7du1RdffOGYb/jw4Ro1apS6du2qrl27asOGDerSpYujA5njzJkz6tSpkw4cOKABAwbouuuu048//qj4+HglJydr4sSJ+dZf2HYAAJBOnjzp2DGW4+KjWq9WQb6bv/vuO91zzz2qWbOmBg8erKCgIG3dulVff/2147duyZIluuuuu1S/fn2NGDFCZ8+e1aRJk9SuXTtt2LAhV4DQs2dPNWrUSK+99pojNBg9erReeeUV9erVS0888YSOHDmiSZMmqWPHjrn6RBcbMGCAateurddee03PPvusWrdurcDAQMvqysv8+fPl7e2tBx54oAjvugrc9/zuu+/Up08f3X777RozZowkaevWrVq1apXjvR8xYoSSkpL0xBNPKCIiQqmpqVq3bp02bNigO+64I9e2a9SoodmzZ2v06NE6ffq0kpKSJOXf3zl48KAiIiJ04sQJPfnkk2rSpIkOHDigzz77TGfOnJGnp2eB+o033HCDRo4cqeHDh+vJJ5907EjOr69qjFG3bt20fPlyPf744woLC9O3336roUOH6sCBA7lO+Vu5cqXmzZungQMHqlKlSnr77bf1f//3f9q3b5+qV69eoL9Lnz599OGHH+r111+XzWbT0aNHtXjxYs2ePTvP0GrEiBFKTExUZGSknn76aW3fvl3vvfee1q5dq1WrVjn6d++//74GDBigtm3basiQIfrjjz/UrVs3VatWTcHBwY71ZWdnq1u3blq5cqWefPJJ3XDDDdq8ebMmTJig33//XV9++WW+tRe2HQBXZIAy4oMPPjCSzJIlS8yRI0fM/v37zWeffWZq1Khh7Ha72b9/v2Pe22+/3TRv3tycO3fOMS07O9u0bdvWNGrUyDFt+PDhRpKZN29eru1lZ2cbY4w5f/68SU9Pd3rur7/+MoGBgeaxxx5zmi7JJCQk5Kp59+7dBXpta9eudUzLyMgwAQEBplmzZubs2bOO6V9//bWRZIYPH+6YFhMTYySZYcOGXXY7xhhz8uRJI8l07979ivPmqFu3romJiXE8PnfunMnKynKaZ/fu3cZut5uRI0c6pnXv3t3ceOONl1135cqVzaBBgy47T0xMjKlbt26u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ofbt2+uhhx7S9u3b5evr6xh0+IUXXlBUVFSe67j0P9eX8+GHH6pv377q0aOHhg4dqoCAALm7uyspKSnXAOSudPHeosvx8/NTrVq1rurKM6+99ppeeeUVPfbYY3r11VdVrVo1ubm5aciQIU6DPt9www3avn27vv76ay1atEiff/653n33XQ0fPlyJiYmSpF69eqlDhw764osvtHjxYo0dO1ZjxozRvHnzdNdddxW5xsJ45pln9MEHH2jIkCFq06aNKleuLJvNpgcffLDELqWb12Ddki47BkReHnroIU2ZMkUjRoxQaGhorivzXerio5SuVnZ2tu644w69+OKLeT6f0xHKy7XQDgCgPNq/f3+uAGX58uXq3Lmzy76bLz7SWLrw+2Kz2fTNN9/k+Xvp6+tbbLVcrq78NGnSRBs3blRGRkaRrkpb0L5nQECANm7cqG+//VbffPONvvnmG33wwQeKjo52XHykY8eO2rVrl7766istXrxY//jHPzRhwgRNmTJFTzzxRKFrK4qC9huLk1X9rD59+ig+Pl79+/dX9erV1aVLFyvKK5Ds7Gw1b95c48ePz/P5i8dzutS10A5QthA0oUzL+dG99dZb9c4772jYsGGO9N/Dw+OKe/YaNGhwxcDls88+U/369TVv3jyn/5TnHB1VXOrWrStJ2r59u+OQ2Bzbt293PF8U99xzj6ZNm6bVq1erTZs2hV7+s88+06233qr333/fafqJEydyDULq4+Oj3r17q3fv3srIyND999+v0aNHKz4+3nFKYM2aNTVw4EANHDhQhw8fVsuWLTV69Oir7sTmtIWC/I1jYmL05ptvOqadO3cu11VBChPK1K1bV5s2bVJ2drZTALht2zbH88Whffv2uu6667RixQrHwKD51Zedna0dO3Y4DfCZkpKiEydOOOrL+XfHjh1Oe9aOHDmSay9ggwYNdPr06SLtUZeKrx0AAPIXFBSU69Sriy/ffrnv5pxTkX799dd8v/sv7s9catu2bfL395ePj89la2zQoIGMMapXr95ld1oUhhV15efee+/V6tWr9fnnn+d7CvvlFKbv6enpqXvvvVf33nuvsrOzNXDgQE2dOlWvvPKKY8dqtWrV1K9fP/Xr10+nT59Wx44dNWLEiKsOGGrUqCE/P78C9bMK0m8sbD9ryZIlOnXqlNNRTcXdz7ruuuvUrl07rVixQk8//bQqVMj7v9sXt6+L+08ZGRnavXu34/NycT/r4v5+Zmamdu/e7fRZbNCggX755RfdfvvtRdpRWFztAOUTp86hzOvcubMiIiI0ceJEnTt3TgEBAercubOmTp2q5OTkXPNffGWy//u//9Mvv/zidIWtHDl7OHL2gFy8x2PNmjVavXq11S/FSatWrRQQEKApU6Y4XbL0m2++0datW3X33XcXed0vvviifHx89MQTTyglJSXX87t27cp1WeKLubu759oDNHfuXMfYVzmOHTvm9NjT01NNmzaVMUaZmZnKysrKdch0QECAatWqdcXLtBZEjRo11LFjR82YMUP79u1zeu7i+vN6PZMmTVJWVpbTtJwOZ16Xpb1U165ddejQIc2ZM8cx7fz585o0aZJ8fX0dl1q2ms1m09tvv62EhAQ9+uijl61PUq4rweXsJctpX5GRkfLw8NCkSZOc3qO8riDXq1cvrV69Wt9++22u506cOKHz58/nWUtxtwMAQP68vLxynX5XtWrVAn03t2zZUvXq1dPEiRNz/Tbm/GbUrFlTYWFhmjVrltM8v/76qxYvXuz4Pbqc+++/X+7u7kpMTMz1e22MydXfKAgr6srPU089pZo1a+r555/X77//nuv5w4cPa9SoUfkuX9C+56Wv283NTS1atJAkx9/o0nl8fX3VsGFDS35f3dzc1KNHD/373//WunXrcj1/cV+6IP3GwvazsrKy9M477zhNnzBhgmw2W7HupBo1apQSEhL0zDPP5DtPZGSkPD099fbbbzu99vfff18nT5509LNatWqlGjVqaMqUKU5X8505c2au96FXr146cOCApk+fnmt7Z8+ezXWq58WKsx2gfOKIJpQLQ4cOVc+ePTVz5kw99dRTmjx5stq3b6/mzZurf//+ql+/vlJSUrR69Wr9+eef+uWXXxzLffbZZ+rZs6cee+wxhYeH6/jx45o/f76mTJmi0NBQ3XPPPZo3b57uu+8+3X333dq9e7emTJmipk2b6vTp08X2mjw8PDRmzBj169dPnTp1Up8+fZSSkqK33npLISEheu6554q87gYNGujjjz9W7969dcMNNyg6OlrNmjVTRkaGfvzxR82dO1d9+/bNd/l77rlHI0eOVL9+/dS2bVtt3rxZH330Ua5zybt06aKgoCC1a9dOgYGB2rp1q9555x3dfffdqlSpkk6cOKE6derogQceUGhoqHx9fbVkyRKtXbvW6eiiq/H222+rffv2atmypZ588knVq1dPe/bs0YIFC7Rx40bH65k9e7YqV66spk2bavXq1VqyZEmuy92GhYXJ3d1dY8aM0cmTJ2W323XbbbcpICAg13affPJJTZ06VX379tX69esVEhKizz77TKtWrdLEiROvapDQK+nevbu6d+9+2XlCQ0MVExOjadOm6cSJE+rUqZN++uknzZo1Sz169NCtt94q6UJY98ILLygpKUn33HOPunbtqp9//lnffPNNrqPXhg4dqvnz5+uee+5R3759FR4errS0NG3evFmfffaZ9uzZk+dlt0+dOlXs7QAAyqNNmzZp/vz5ki6MYXny5ElHwBEaGqp7770332UL8t3s5uam9957T/fee6/CwsLUr18/1axZU9u2bdOWLVscOx7Gjh2ru+66S23atNHjjz+us2fPatKkSapcubJGjBhxxdfRoEEDjRo1SvHx8dqzZ4969OihSpUqaffu3friiy/05JNP6oUXXij0+3O1deWnatWq+uKLL9S1a1eFhYXpkUceUXh4uCRpw4YN+uSTTy57RHlB+55PPPGEjh8/rttuu0116tTR3r17NWnSJIWFhTmOVm7atKk6d+6s8PBwVatWTevWrdNnn32m2NjYIr++i7322mtavHixOnXqpCeffFI33HCDkpOTNXfuXK1cuVJVqlQpcL+xQYMGqlKliqZMmaJKlSrJx8dHN998c55jY91777269dZb9fLLL2vPnj0KDQ3V4sWL9dVXX2nIkCFOA39brVOnTlfcYVijRg3Fx8crMTFRd955p7p166bt27fr3XffVevWrfXII49IutDfHzVqlAYMGKDbbrtNvXv31u7du/XBBx/ken8effRR/etf/9JTTz2l5cuXq127dsrKytK2bdv0r3/9S99++22eg7JLxd8OUA6V6DXugGKUcynfvC6fmpWVZRo0aGAaNGjguMTrrl27THR0tAkKCjIeHh6mdu3a5p577jGfffaZ07LHjh0zsbGxpnbt2sbT09PUqVPHxMTEmKNHjxpjLlya9bXXXjN169Y1drvd3HTTTebrr7/OdZlVY3Jf8jWn5t27dxf5tc2ZM8fcdNNNxm63m2rVqpmHH37Y/Pnnn07zXHpJ1YL6/fffTf/+/U1ISIjx9PQ0lSpVMu3atTOT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NI0ZM0YdO3ZU48aN1aFDB0nSDz/8oNTUVC1btqzQ64uNjVVsbGyez1063tOoUaM0atSoQm8DAADgWtGoUSM1atRIWVlZ2rx5s/z8/FS1alVXlwUAAHDVijRGU9OmTbVp0yb16tVLhw8f1qlTpxQdHa1t27apWbNmVtcIAABQJgwZMkTvv/++pAtHg3fq1EktW7ZUcHBwgS+mAgAAcC0r0hFNklSrVi3GEgAAACiEzz77TI888ogk6d///rf++OMPbdu2TbNnz9bLL7+sVatWubhCAACAq1OkI5qkC6fKPfLII2rbtq0OHDggSZo9e7ZWrlxpWXEAAABlydGjRxUUFCRJWrhwoXr16qXrr79ejz32mDZv3uzi6gAAAK5ekYKmzz//XFFRUfL29taGDRuUnp4u6cJV5zjKCQAAIG+BgYH67bfflJWVpUWLFumOO+6QJJ05c8ZxgRUAAIDSrEhB06hRozRlyhRNnz5dHh4ejunt2rXThg0bLCsOAACgLOnXr5969eqlZs2ayWazKTIyUpK0Zs0aNWnSxMXVAQAAXL0ijdG0fft2dezYMdf0ypUr68SJE1dbEwAAQJk0YsQINWvWTPv371fPnj1lt9slSe7u7ho2bJiLqwMAALh6RQqagoKCtHPnToWEhDhNX7lyperXr29FXQAAAGXSAw88IEn6888/lZ2dLTc3N8XExLi4KgAAAGsU6dS5/v37a/DgwVqzZo1sNpsOHjyojz76SM8//7yefvppq2sEAAAoc5o2bao9e/a4ugwAAABLFemIpmHDhik7O1u33367zpw5o44dO8put2vo0KF64oknrK4RAACgzDHGuLoEAAAAyxXpiCabzaaXX35Zx48f16+//qr//ve/OnLkiCpXrqx69epZXSMAAAAAAABKgUIFTenp6YqPj1erVq3Url07LVy4UE2bNtWWLVvUuHFjvfXWW3ruueeKq1YAAIAy429/+5uqVavm6jIAAAAsVahT54YPH66pU6cqMjJSP/74o3r27Kl+/frpv//9r95880317NlT7u7uxVUrAABAmREfH+/qEgAAACxXqCOa5s6dq3/+85/67LPPtHjxYmVlZen8+fP65Zdf9OCDDxIyAQAAFMH+/fv12GOPuboMAACAq1aooOnPP/9UeHi4JKlZs2ay2+167rnnZLPZiqU4AACA8uD48eOaNWuW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MzP17bffatCgQdq2bVuJ1JHD09NTQUFBjsebN2/WsWPH5OPj46jPbrdr8+bNmjZtmmrXrq1u3brlua6r/Xx4enqqUqVKkqRq1aoVeT1WuLh9HTp0SH//+991zz33aN++fS6ty9fXV76+vsW+nRMnTqh9+/Y6efKkRo0apdatW6tChQr6z3/+oxdffFG33XZbiR5Z4e7u7tROJWnXrl166qmnVKdOHce0S+cpDpUrVy72baBsov90bfWfJPpQF6MPVXgX96H++OMPtW3bVmfPntXQoUP14IMPOvWfmjRpUmz9J8n1/aYc9J/oP+XHZf2nEo+2yqgrJc4rVqwwrVu3Np6eniYoKMi89NJLTglnamqqeeihh0zFihVNUFCQGT9+vOnUqZMZPHiwY56LE9js7GyTkJBggoODjaenp6lZs6Z55plnjDHGdOrUKdfeEmMu7FGrXLmyU13z5883rVq1Mna73VSvXt306NEj39eQ1/Jvv/22kWROnjzpmPbll1+am266ydjtdlOvXj0zYsQIp9e6detW065dO2O3280NN9xgvvvuO6cEPCeN/fTTT03Hjh2N3W43H3zwgTHGmOnTp5smTZoYu91uGjdubCZPnuxYb3p6uhk0aJAJCgoydrvdXHfddea111674vt16XtrjDF79+413bp1Mz4+PqZSpUqmZ8+e5tChQ47nQ0NDjZ+fn/nnP/9p6tata/z8/EydOnVMaGioY56jR4+aBx980NSqVct4e3ubZs2amY8//tjp/evUqZN55plnzNChQ03VqlVNYGCgSUhIcJrn999/Nx06dHC8X4sXL861x2DTpk3m1ltvNV5eXqZatWqmf//+5tSpU47nc9rn6NGjTUBAgKlcubJJTEw0mZmZ5oUXXjBVq1Y1tWvXNjNmzMj9h7/I1bbzTp06mUGDBpnBgweb6tWrm86dOxtjjNm8ebO58847jY+PjwkICDCPPPKIOXLkiGO5uXPnmmbNmjle3+23325Onz5tEhIScrX15cuX51nbXXfdZWrXrm1Onz6d67mLU/5L39sXX3zRNGrUyHh7e5t69eqZv//97yYjI8Px/MaNG03nzp2Nr6+vqVSpkmnZsqVZu3atMcaYPXv2mHvuucdUqVLFVKxY0TRt2tQsWLDAGOO8Zyzn/qWv4+LPXM7ejvnz5zv2Ant4eBh3d3eTkJBgzp8/bzp27Gg8PT2NJOPu7m5atmzp2Auf87m6+HbjjTea6OhoU716dcd3TadOncyAAQPMo48+aqpUqWK8vLxMSEiICQgIMBUrVjQRERHmpZdeMpUrVzaLFi0yQUFBRpIJDw83DRs2ND4+PiYqKsocPHjQGGMK9TfKq3398MMPRpI5fPiwY9qV2ntWVpZJTEw0tWvXNp6eniY0NNR88803jucv911Rt25dp1rr1q3reB0Xf75zah07dqwJCgoy1apVMwMHDnRqGwcPHjRdu3Z1vIcfffTRFfekPf3008bHx8ccOHAg13OnTp1yfJ4uXc+bb75pmjVrZipWrGjq1Kljnn76aaf35HJt8fjx4+ahhx4y/v7+xsvLyzRs2NDxXXDx3rG82tAHH3yQ55FyK1euNJ06dXLsYe7SpYs5fvy4McaYb775xrRr185UrlzZVKtWzdx9991m586djmUv3UanTp2c3vMc586dM88884ypUaOGsdvtpl27duann35yPJ9T15IlS0x4eLjx9vY2bdq0Mdu2bcv3/UfJo/9UvvpPCQkJpmrVqqZly5aO/lPv3r1Nt27dzE033eSYjz4UfaiC9qFat2592T7UxUeLSDLXXXedcXNzM5JM48aNzfnz581jjz1m/P39jc1mMzabzVSqVMn06dPH0YfauXNnrm00aNDAdO/e3fF9k/Pv8ePHzaOPPmoqV65sKlSoYOx2u/H29jYRERFOdcXFxRk3Nzdjt9uNj4+PqVixIv2n/4/+U9noPzFGUwk4cOCAunbtqtatW+uXX37Re++9p/fff1+jRo1yzBMXF6dVq1Zp/vz5+u677/TDDz9ow4YN+a7z888/14QJEzR16lTt2LFDX375pZo3by5JmjdvnurUqaORI0cqOTlZycnJea5jwYIFuu+++9S1a1f9/PPPWrp0qSIiIgr8ug4fPqwvvvhC7u7ucnd3lyT98MMPio6O1uDBg/Xbb79p6tSpmjlzpkaPHi1JysrKUo8ePVSxYkWtWbNG06ZN08svv5zn+ocNG6bBgwdr69atioqK0kcffaThw4dr9OjR2rp1q1577TW98sormjVrliTp7bff1vz58/Wvf/1L27dv10cffaSQkJArvl+Xys7OVvfu3XX8+HH95z//0Xfffac//vhDvXv3dpovLS1NX375pb7++mu9/fbbOnjwoI4cOeJ4/ty5cwoPD9eCBQv066+/6sknn9Sjjz6qn376yWk9s2bNko+Pj9asWaM33nhDI0eO1Hfffeeo5f7775enp6fWrFmjKVOm6KWXXspVR1RUlKpWraq1a9dq7ty5WrJkiWJjY53mW7ZsmQ4ePKjvv/9e48ePV0JCgu655x5VrVpVa9as0VNPPaUBAwbozz//zPdvfjkFaec5r9fT01OrVq3SlClTdOLECd1222266aabtG7dOi1atEgpKSnq1auXJCk5OVl9+vTRY489pq1bt2rFihW6//77ZYzRCy+8oF69eunOO+90tPW2bdvmqu348eNatGiRBg0aJB8fn1zPX24PR6VKlTRz5kz99ttveuuttzR9+nRNmDDB8fzDDz+sOnXqaO3atVq/fr2GDRvm2Ds2aNAgpaen6/vvv9fmzZs1ZsyYPPfqNG7cWDabTdKFtprX67DZbI7PrHRh78TLL7+s5557To899piys7NVuXJlvfHGG1qxYoVeeeUVbdy4UVFRUZKk4OBgPfroo5KkSZMm6T//+Y9atmypL774Ilc93333ndatW6f58+frrrvu0okTJ+Th4aH169erZ8+eevPNN5WWlqZx48bpySefVIUKFbRt2zY1aNBA33//vfbt26cXXnhBkgr8N8rL6dOn9eGHH6phw4aqXr26pIK197feektvvvmmxo0bp02bNikqKkrdunXTjh07JF3+u2Lt2rWSpA8++EDJycmOx3lZvny5du3apeXLl2vWrFmaOXOmZs6c6Xg+OjpaBw8e1IoVK/T5559r2rRpOnz4cL7ry87O1qeffqqHH35YtWrVyvW8r6+vKlTI+0BkNzc3vf3229qyZYtmzZqlZcuW6cUXX3Q8f7m2+Morr+i3337TN998o61bt+q9996Tv79/rm0EBwcrOTlZfn5+mjhxopKTk3N9L0rSxo0bdfvtt6tp06ZavXq1Vq5cqXvvvVdZWVmSLvwN4+LitG7dOi1dulRubm667777lJ2dLUmO78glS5YoOTlZ8+bNy/M1v/jii/r88881a9YsbdiwQQ0bNlRUVJSOHz/uNN/LL7+sN998U+vWrVOFChX02GOP5bk+XHvoP5XN/tOpU6eUnJysr7/+Wl9//bWWLFmipUuXOh2dQx+KPlRB+lDHjx/XunXr9Pzzz0vKuw+V079asGCBJOnYsWMaOXKkvv76a3Xv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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", + "plt.show()" ] } ],