AIM-PIbd-32-Kamcharova-K-A/lab_4/lab4.ipynb
2024-11-28 22:07:23 +04:00

1803 lines
326 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Начало лабораторной работы"
]
},
{
"cell_type": "code",
"execution_count": 23,
"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": 24,
"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": 25,
"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": 26,
"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": 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": [
"<Figure size 640x480 with 2 Axes>"
]
},
"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": [
"<Figure size 640x480 with 2 Axes>"
]
},
"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": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"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()"
]
},
{
"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": 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+/veqFbSMiIrRq1So1a9bsql8i69at04kTJ/Tpp5/qjjvusE1PSEiwtN4JCQnavHmzhg0bphYtWtjNy8zM1IMPPqj4+Hg988wzdtN/++03u9Eq+/btkyS7C1e7u7urY8eO6tixozIzMzVkyBDNnTtXzz77rKpWrapKlSpp79692eqUNTS7UqVKuda7TJkyOQ5pvfIXitw6VVnhmZubW75H2BSVrP3O7bUpV66c3aimgqhevbqkS+97nTp1rlq2R48emjRpkmrUqJFrh0S6FCbVrl3bdueVy82dO1fx8fHXHDYdOXJEFy9etP0CVVCVKlXSzz//rMzMTLvwIT9t7Fp06NBBLVq00AsvvKBBgwbJx8cn35/5rLocOHDA7tfBEydO5PsXtaxfhYOCgvLVriMiIjR69GiNHj1a+/fvV/369fXKK6/ovffes5Vp0qSJmjRpoueff17x8fF64IEH9P777+fY6QgMDJS3t3eubdfZ2dmyPy6u1LNnTz333HNKTEzUu+++m2u5/LaJSpUqafXq1Tp79qxdsHblvllxLKlTp47q1KmjZ555Rps3b1azZs00Z84cTZo06ZrWB+D65uLiosmTJ6tVq1aaOXOmnnrqKdWrVy/bpQcu/9HgasfrrOPW/v377X4cPH78eLbvj6yRTqdOnbL7YfTK/pMV/dCIiAjt2LFDrVu3vupIoEqVKtlGHV0+wiOn75KcXN63yY+6deuqV69emjt3rh5//PEcR7PkJiEh4V/1SaRL+3X5+3Tx4kUlJCRY3h/19fXVuHHj1K9fP3344Yfq3r27rZ/g5+d31e0FBQXJ09PTbsR6lpym5STrzoIZGRn52jcfHx/df//9uv/++3Xx4kXde++9ev755zV27FjbKLTQ0FANGTJEQ4YM0bFjx3Trrbfq+eefzzVsqlSpklatWqUzZ87YjW4qrH5glooVK6pZs2Zat26dBg8ebPdj35X1k/JuE5d/xi8fuZ2WlqaEhATVq1fPNi2/n7vcBAQEqF+/furXr5/Onj2rO+64Q3FxcYRNNyCu2VSM+Pr6avbs2YqLi1PHjh1zLdetWzdlZGRo4sSJ2ealp6fbbnOZlaxfnqRfvHhRr7/+uqX1zhptMWbMGHXt2tXuX7du3dSiRYscR2TMnDnT9tgYo5kzZ8rNzU2tW7eW9H/nz2dxdna2/XqRddvN9u3b6/vvv9eWLVts5VJSUjRv3jyFh4fneP2eLBEREdqzZ4/dLdJ37NiR7Q4hWedHX3n70KCgILVs2VJz585VYmJitvUX5NbrVgsNDVX9+vX1v//9z67ev/76q1asWKH27dtf87ojIyPl7u6uH3/8Mc+yDz/8sMaNG5fjaKUsf/zxhzZs2KBu3bplaz9du3ZVv379dODAAX333XfXVN+tW7dKkpo2bXpNy7dv315JSUl2AXB6erpmzJghX1/fbAGrFZ588kmdOHFCb7zxhqT8f+Zbt24tV1dXzZ49267M5Z+1vMTExMjPz08vvPBCjtdZymrX586dy/arZUREhEqVKmX7fP7zzz/ZfsnLCh1zu3Wui4uLoqOj9fnnn9vdPvvo0aOKj49X8+bNbafyWS0iIkLTp0/X5MmTbXfSyUl+20T79u2Vnp5u935kZGRoxowZduv7N8eS5ORkpaen202rU6eOnJ2d87w9MYDirWXLlmrUqJGmT5+uCxcuqEyZMmrTpo3dP09Pz3wdr9u0aSM3NzfNmDHD7rg9ffr0bNvNChs2bNhgm5aSkpJt1LkV/dBu3brpyJEjtu/Dy50/f952F9WsoODKUUY51T8nN910kypUqJCvvk2WMWPGKC0tLdfRH7nZtm3bNfdJ2rRpI3d3d7322mt2r+tbb72l06dP5/vuewXxwAMPqHz58rY7Q0dGRioiIkIvv/yyzp49m6181neWi4uL2rRpo8WLF9tdI+nAgQPZrnOUGxcXF3Xp0kWffPKJfv3111y3JWX/u8Hd3V01a9aUMUZpaWnKyMjIdupmUFCQwsLCrvp92b59e2VkZGTrS02bNk1OTk6WjYjKyaRJkzRu3LirXnszv22iYcOGCgwM1Jw5c+zuMLlgwYJsf+Pk93OXkyvfB19fX1WtWpU+yQ2KkU3FzNXOf87SokULDRo0SJMnT9b27dsVHR0tNzc37d+/Xx999JFeffVVde3aVU2bNlWZMmXUp08fPfroo3JyctK7775b4GGceVm4cKHq16+f62iDTp06afjw4dq2bZvttqKenp5atmyZ+vTpo8aNG+vrr7/WV199paefftp2StDDDz+skydP6s4771T58uX1+++/a8aMGapfv77tF6GnnnpKixYtUrt27fToo48qICBA//vf/5SQkKBPPvnkqqfBPPTQQ5o6dapiYmLUv39/HTt2THPmzFGtWrXsrivg5eWlmjVr6oMPPtAtt9yigIAA1a5dW7Vr19asWbPUvHlz1alTRwMGDFCVKlV09OhRbdmyRX/++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+e0fPnypnr16qZq1aq2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",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"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/+/U1ISIjx9PQ0lSpVMu3atTOTJk0y586dc8x36SVSz507Z55//nlTs2ZN4+3tbdq1a2dWr16d6/K8U6dONR07djTVq1c3drvdNGjQwAwdOtScPHnSGGNMenq6GTp0qAkNDTWVKlUyPj4+JjQ01Lz77ru5Xt+l73XdunVzXaY15xK0l14W99dffzX33XefqVKlivHy8jKNGzc2r7zyiuP5v/76y/Tr18/4+/sbX19fExUVZbZt25brdRtjzPTp0039+vWNu7u7kWSWL19ujMl9aWJjjElJSXGs19PT0zRv3jxXbRdfNvdSl7anvOR3yeZL5XWZ4szMTJOYmGjq1atnPDw8THBwsImPj3f62xtz4fOVmJjo+Ht37tzZ/Prrr3m+P6dOnTLx8fGmYcOGxtPT0/j7+5u2bduacePGmYyMjDxfW0HbAQDggsv1G/KaL6/bpd/flyrMd/PKlSvNHXfc4ZivRYsWuS4bv2TJEtOuXTvj7e1t/Pz8zL333mt+++03p3kSEhKMJHPkyJE8a/r8889N+/btjY+Pj/Hx8TFNmjQxgwYNMtu3b7/sa7ncb6UVdeXn4MGD5rnnnjPXX3+98fLyMhUrVjTh4eFm9OjRjr6QMbn7EAXte3722WemS5cuJiAgwHh6eprrrrvODBgwwCQnJzvmGTVqlImIiDBVqlQx3t7epkmTJmb06NFOv8k5r+9iefUbjMm7b7J3714THR1tatSoYex2u6lfv74ZNGiQSU9PN8YUvN9ojDFfffWVadq0qalQoYJTny6vvuCpU6fMc889Z2rVqmU8PDxMo0aNzNixY012dnaumgcNGpTrteTVj7nU5fppF8uvL/7OO++YJk2aGA8PDxMYGGiefvpp89dff+Wa79133zX16tUzdrvdtGrVynz//fd5vj8ZGRlmzJgx5sYbbzR2u91UrVrVhIeHm8TERKc2delrK0g7AArDZkwhRzgDAAAAAAAA8sAYTQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsUcHVBZS07OxsHTx4UJUqVZLNZnN1OQAA4P8zxujUqVOqVauW3NzYF3atoQ8FAMC16VrrQ5W7oOngwYMKDg52dRkAACAf+/fvV506dVxdBi5BHwoAgGvbtdKHKndBU6VKlSRd+AP4+fm5uBoAAJAjNTVVwcHBjt9qXFvoQwEAcG261vpQ5S5oyjnU28/Pj04SAADXIE7LujbRhwIA4Np2rfShXH/yHgAAAAAAAMoEgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGCJCq4uAAAAV0tOTlZycnKJba9mzZqqWbNmiW0PAADAavSfkB+CJgBAuTd16lQlJiaW2PYSEhI0YsSIEtseAACA1eg/IT8ETQCAcm/AgAHq1q1bgec/e/as2rdvL0lauXKlvL29C7U99sYBAIDSjv4T8kPQBAAo9wp7KHZaWprjflhYmHx8fIqjLAAAgGsW/Sfkh8HAAQAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYIkKri4AAAAAhTd58mSNHTtWhw4dUmhoqCZNmqSIiIg85505c6b69evnNM1ut+vcuXMlUSoA4BITvvvd1SWUuPSzZxz3Jy3dIbt3RRdW4zrP3XG9q0sodhzRBAAAUMrMmTNHcXFxSkhI0IYNGxQaGqqoqCgdPnw432X8/PyUnJzsuO3du7cEKwYAAOUFRzQBAACUMuPHj1f//v0dRylNmTJFCxYs0IwZMzRs2LA8l7HZbAoKCirwNtLT05Wenu54nJqaKknKzMxUZmbmVVQPALCZLFeXUOJsynK6Xx7fA0nF8ht6rf0uEzQBAACUIhkZGVq/fr3i4+Md09zc3BQZGanVq1fnu9zp06dVt25dZWdnq2XLlnrttdd044035jt/UlKSEhMTc01fvHixKlYsn6c7AIBV6rm6ABe4+HTtkLM75WW8XFiN6yxcaP1pk2fOnLnyTCWIoAkAAKAUOXr0qLKyshQYGOg0PTAwUNu2bctzmcaNG2vGjBlq0aKFTp48qXHjxqlt27basmWL6tSpk+cy8fHxiouLczxOTU1VcHCwunTpIj8/P+teEACUQ5OX73R1CSUu3fa/MGSPd0PZvcrnTotBtza0fJ05Rx1fKwiaAAAAyrg2bdqoTZs2jsdt27bVDTfcoKlTp+rVV1/Ncxm73S673Z5ruoeHhzw8PIqtVgAoD4zN3dUllDgjd6f75fE9kFQsv6HX2u8yg4EDAACUIv7+/nJ3d1dKSorT9JSUlAKPweTh4aGbbrpJO3eWvz3qAACgeBE0AQAAlCKenp4KDw/X0qVLHdOys7O1dOlSp6OWLicrK0ubN29WzZo1i6tMAABQTnHqHAAAQCkTFxenmJgYtWrVShEREZo4caLS0tIcV6GLjo5W7dq1lZSUJEkaOXKkbrnlFjVs2FAnTpzQ2LFjtXfvXj3xxBOufBkAAKAMImgCAAAoZXr37q0jR45o+PDhOnTokMLCwrRo0SLHAOH79u2Tm9v/Dlz/66+/1L9/fx06dEhVq1ZVeHi4fvzxRzVt2tRVLwEAAJRRBE0AAAClUGxsrGJjY/N8bsWKFU6PJ0yYoAkTJpRAVQAAoLxjjCYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAlqjg6gIAIEdycrKSk5NLbHs1a9ZUzZo1S2x7AAAAAFDWETQBuGZMnTpViYmJJba9hIQEjRgxosS2BwAAAABlHUETgGvGgAED1K1btwLPf/bsWbVv316StHLlSnl7exdqexzNBAAAAADWImgCcM0o7KlsaWlpjvthYWHy8fEpjrIAAAAAAAVE0AQAAAAApRRjXAK41hA0AQAAAEApxRiXAK41BE0AAAAAUEoxxiWAaw1BEwAAAACUUoxxCeBa4+bqAgAAAAAAAFA2EDQBAAAAAADAEpw6BwAosgnf/e7qElwi/ewZx/1JS3fI7l3RhdW4xnN3XO/qEgAAgAulHjus1ONHCjx/Rvo5x/0Du7bK0+5VqO35Vashv+oBhVoGrkHQBAAAAAAACuXHBXO0+MN3irTsO3EPFXqZLo/E6s7oZ4q0PZSsayJomjx5ssaOHatDhw4pNDRUkyZNUkRERJ7zzpw5U/369XOaZrfbde7cuTznBwAAAAAA1mp7d281a3NbiW3Pr1qNEtsWro7Lg6Y5c+YoLi5OU6ZM0c0336yJEycqKipK27dvV0BA3ofF+fn5afv27Y7HNputpMoFAAAAAKDc86sewKlsyJPLBwMfP368+vfvr379+qlp06aaMmWKKlasqBkzZuS7jM1mU1BQkOMWGBhYghUDAAAAAAAgLy49oikjI0Pr169XfHy8Y5qbm5siIyO1evXqfJc7ffq06tatq+zsbLVs2VKvvfaabrzxxjznTU9PV3p6uuNxamqqJCkzM1OZmZkWvRIArnDxZ5jPtGvYTJarS3AJm7Kc7pfH96E4Pm98hgEAAEo/lwZNR48eVVZWVq4jkgIDA7Vt27Y8l2ncuLFmzJihFi1a6OTJkxo3bpzatm2rLVu2qE6dOrnmT0pKUmJiYq7pixcvVsWK5e8qQUBZcvHYbN9++628vAp35QpcvXquLsBFLm57IWd3ysuUv7a3cKH1Vxw8c+bMlWcCAADANc3lYzQVVps2bdSmTRvH47Zt2+qGG27Q1KlT9eqrr+aaPz4+XnFxcY7HqampCg4OVpcuXeTn51ciNQMoHmlpaY77UVFR8vHxcWE15dPk5TtdXYJLpNv+F4js8W4ou1f523Ex6NaGlq8z56hjAAAAlF4uDZr8/f3l7u6ulJQUp+kpKSkKCgoq0Do8PDx00003aefOvP+zY7fbZbfb81zOw8Oj8EUDuGZc/BnmM+0axubu6hJcwsjd6X55fB+K4/PGZxgAAKD0c+lg4J6engoPD9fSpUsd07Kzs7V06VKno5YuJysrS5s3b1bNmjWLq0wAAAAAAAAUgMtPnYuLi1NMTIxatWqliIgITZw4UWlpaerXr58kKTo6WrVr11ZSUpIkaeTIkbrlllvUsGFDnThxQmPHjtXevXv1xBNPuPJlAAAAAAAAlHsuD5p69+6tI0eOaPjw4Tp06JDCwsK0aNEixwDh+/btk5vb/w68+uuvv9S/f38dOnRIVatWVXh4uH788Uc1bdrUVS8BAAAAAAAAugaCJkmKjY1VbGxsns+tWLHC6fGECRM0YcKEEqgKAAAAAAAAheHSMZoAAAAAAABQdhA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsUcHVBQAAAACAK0z47ndXl1Di0s+ecdyftHSH7N4VXViN6zx3x/WuLgEosziiCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgiQquLgAAAAAoC5KTk5WcnFxi26tZs6Zq1qxZYtsDAKAgCJoAAAAAC0ydOlWJiYkltr2EhASNGDGixLYHAEBBEDQBAAAAFhgwYIC6detW4PnPnj2r9u3bS5JWrlwpb2/vQm2Po5kAANcigiYAAADAAoU9lS0tLc1xPywsTD4+PsVRFgAAJYrBwAEAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYooKrCwBw9SZ897urS3CJ9LNnHPcnLd0hu3dFF1bjGs/dcb2rSwAAAAAAB45oAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGCJCq4uAAAAAABQNKnHDiv1+JECz5+Rfs5x/8CurfK0exVqe37VasivekChlgFQvhA0AQDKPTrpgGtN+O53V5fgEulnzzjuT1q6Q3bvii6sxjWeu+N6V5dQ6v24YI4Wf/hOkZZ9J+6hQi/T5ZFY3Rn9TJG2B6B8IGgCAJR7dNIBAKVV27t7q1mb20pse37VapTYtgCUTgRNAIByj046AKC08qsewFGyAK4pBE0AgHKPTjoAAABgDa46BwAAAAAAAEsQNAEAAAAAAMASBE0AAAAAAACwBEETAAAAAAAALEHQBAAAAAAAAEsQNAEAAAAAAMASBE0AAAAAAACwBEETAAAAAAAALEHQBAAAAAAAAEsQNAEAAJRCkydPVkhIiLy8vHTzzTfrp59+KtByn376qWw2m3r06FG8BQIAgHKJoAkAAKCUmTNnjuLi4pSQkKANGzYoNDRUUVFROnz48GWX27Nnj1544QV16NChhCoFAADlTQVXFwAAAIDCGT9+vPr3769+/fpJkqZMmaIFCxZoxowZGjZsWJ7LZGVl6eGHH1ZiYqJ++OEHnThx4rLbSE9PV3p6uuNxamqqJCkzM1OZmZnWvJD/z2ayLF1faWFTltP98vg+WN2WCqs8vue4gLYHVymOtufq9nwpgiYAAIBSJCMjQ+vXr1d8fLxjmpubmyIjI7V69ep8lxs5cqQCAgL0+OOP64cffrjidpKSkpSYmJhr+uLFi1WxYsWiFZ+PepaurfQ4d+6c437I2Z3yMl4urMY1Fi783aXbL69tD7Q9uE5xtL0zZ85Yvs6rQdAEAABQihw9elRZWVkKDAx0mh4YGKht27bluczKlSv1/vvva+PGjQXeTnx8vOLi4hyPU1NTFRwcrC5dusjPz69Itedn8vKdlq6vtEi3/e8/Bnu8G8ruZW2AVxoMurWhS7dfXtseaHtwneJoezlHHV8rCJoAAADKsFOnTunRRx/V9OnT5e/vX+Dl7Ha77HZ7rukeHh7y8PCwskQZm7ul6ystjNyd7pfH98HqtlRY5fE9xwW0PbhKcbQ9V7fnSxE0AQAAlCL+/v5yd3dXSkqK0/SUlBQFBQXlmn/Xrl3as2eP7r33Xse07OxsSVKFChW0fft2NWjQoHiLBgAA5QZXnQMAAChFPD09FR4erqVLlzqmZWdna+nSpWrTpk2u+Zs0aaLNmzdr48aNjlu3bt106623auPGjQoODi7J8gEAQBnHEU0AAAClTFxcnGJiYtSqVStFRERo4sSJSktLc1yFLjo6WrVr11ZSUpK8vLzUrFkzp+WrVKkiSbmm4+qkHjus1ONHCjx/Rvr/BgM/sGurPO2FGwzcr1oN+VUPKNQyAAAUN4ImAACAUqZ37946cuSIhg8frkOHDiksLEyLFi1yDBC+b98+ublx4HpJ+3HBHC3+8J0iLftO3EOFXqbLI7G6M/qZIm0PAIDiQtAEAABQCsXGxio2NjbP51asWHHZZWfOnGl9QVDbu3urWZvbSmx7ftVqlNi2AAAoKIImAAAAwAJ+1QM4lQ0AUO5xTDUAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIVXF2AJE2ePFljx47VoUOHFBoaqkmTJikiIuKKy3366afq06ePunfvri+//LL4Cy0nkpOTlZycXGLbq1mzpmrWrFli2wMAAAAAAMXD5UHTnDlzFBcXpylTpujmm2/WxIkTFRUVpe3btysgICDf5fbs2aMXXnhBHTp0KMFqy4epU6cqMTGxxLaXkJCgESNGlNj2AAAAAABA8XB50DR+/Hj1799f/fr1kyRNmTJFCxYs0IwZMzRs2LA8l8nKytLDDz+sxMRE/fDDDzpx4kQJVlz2DRgwQN26dSvw/GfPnlX79u0lSStXrpS3t3ehtsfRTAAAAAAAlA0uDZoyMjK0fv16xcfHO6a5ubkpMjJSq1evzne5kSNHKiAgQI8//rh++OGHy24jPT1d6enpjsepqamSpMzMTGVmZl7lKyib/P395e/vX+D509LSHPdvvPFG+fj4FHqb/C2ujs1kuboEl7Apy+l+eXwfXP3ZKY/vOS4ojrbn6vYMAACAq+fSoOno0aPKyspSYGCg0/TAwEBt27Ytz2VWrlyp999/Xxs3bizQNpKSkvI8DWzx4sWqWLFioWtGbufOnXPc//bbb+Xl5eXCasqneq4uwEUubnshZ3fKy5S/trdw4e8u3X55bXsonrZ35swZy9cJAACAkuXyU+cK49SpU3r00Uc1ffr0Ah9xEx8fr7i4OMfj1NRUBQcHq0uXLvLz8yuuUsuVi49oioqKKtIRTbg6k5fvdHUJLpFu+99/Svd4N5Tdq/yFx4NubejS7ZfXtofiaXs5Rx0DAACg9HJp0OTv7y93d3elpKQ4TU9JSVFQUFCu+Xft2qU9e/bo3nvvdUzLzs6WJFWoUEHbt29XgwYNnJax2+2y2+251uXh4SEPDw8rXka5d/H7yPvqGsbm7uoSXMLI3el+eXwfXP15K4/vOS4ojrbn6vYMAACAq+fmyo17enoqPDxcS5cudUzLzs7W0qVL1aZNm1zzN2nSRJs3b9bGjRsdt27duunWW2/Vxo0bFRwcXJLlAwAAAAAA4CIuP3UuLi5OMTExatWqlSIiIjRx4kSlpaU5rkIXHR2t2rVrKykpSV5eXmrWrJnT8lWqVJGkXNMBAAAAAABQslweNPXu3VtHjhzR8OHDdejQIYWFhWnRokWOAcL37dsnNzeXHngFAAAAAACAAnB50CRJsbGxio2NzfO5FStWXHbZmTNnWl8QAAAAAAAACu2aCJoAQJJSjx1W6vEjBZ4/I/2c4/6BXVvlafcq1Pb8qtWQX/WAQi0DAAAAAMgfQROAa8aPC+Zo8YfvFGnZd+IeKvQyXR6J1Z3RzxRpewAAAACA3AiaAFwz2t7dW83a3FZi2/OrVqPEtgUAAAAA5QFBE4Brhl/1AE5lAwAAAIBSjMu5AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAASxA0AQAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAAS1RwdQFlzYTvfnd1CSUu/ewZx/1JS3fI7l3RhdW4znN3XO/qEgAAAAAAcCmOaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAAAAAABgCYImAAAAAAAAWIKgCQAAAAAAAJYgaAIAAAAAAIAlCJoAAABK2M6dO/Xtt9/q7NmzkiRjjIsrAgAAsAZBEwAAQAk5duyYIiMjdf3116tr165KTk6WJD3++ON6/vnnXVwdAADA1SNoAgAAKCHPPfecKlSooH379qlixYqO6b1799aiRYtcWBkAAIA1CJoAAABKyOLFizVmzBjVqVPHaXqjRo20d+/eQq1r8uTJCgkJkZeXl26++Wb99NNP+c47b948tWrVSlWqVJGPj4/CwsI0e/bsIr0GAACAyyFoAgAAKCFpaWlORzLlOH78uOx2e4HXM2fOHMXFxSkhIUEbNmxQaGiooqKidPjw4Tznr1atml5++WWtXr1amzZtUr9+/dSvXz99++23RX4tAAAAeang6gIAAADKiw4dOuif//ynXn31VUmSzWZTdna23njjDd16660FXs/48ePVv39/9evXT5I0ZcoULViwQDNmzNCwYcNyzd+5c2enx4MHD9asWbO0cuVKRUVF5bmN9PR0paenOx6npqZKkjIzM5WZmVngWgvCZrIsXR9KD6vbUmHR9sov2h5cpTjanqvb86UImpBL6rHDSj1+pMDzZ6Sfc9w/sGurPO1ehdqeX7Ua8qseUKhlAAAojd544w3dfvvtWrdunTIyMvTiiy9qy5YtOn78uFatWlWgdWRkZGj9+vWKj493THNzc1NkZKRWr159xeWNMVq2bJm2b9+uMWPG5DtfUlKSEhMTc01fvHhxnkdlXY16lq4NpcnChb+7dPu0vfKLtgdXKY62d+bMGcvXeTUImpDLjwvmaPGH7xRp2XfiHir0Ml0eidWd0c8UaXsAAJQmzZo10++//6533nlHlSpV0unTp3X//fdr0KBBqlmzZoHWcfToUWVlZSkwMNBpemBgoLZt25bvcidPnlTt2rWVnp4ud3d3vfvuu7rjjjvynT8+Pl5xcXGOx6mpqQoODlaXLl3k5+dXoFoLavLynZauD6XHoFsbunT7tL3yi7YHVymOtpdz1PG1gqAJubS9u7eatbmtxLbnV61GiW0LAABXyczM1J133qkpU6bo5ZdfLvHtV6pUSRs3btTp06e1dOlSxcXFqX79+rlOq8tht9vzHDfKw8NDHh4eltZmbO6Wrg+lh9VtqbBoe+UXbQ+uUhxtz9Xt+VIFDpo2bdpU4JW2aNGiSMXg2uBXPYBT2QAAsJiHh0eh+lP58ff3l7u7u1JSUpymp6SkKCgoKN/l3Nzc1LDhhb2oYWFh2rp1q5KSkvINmgAAAIqiwEFTWFiYbDabjDF5Pp/znM1mU1YWA5sBAABc6pFHHtH777+v119/vcjr8PT0VHh4uJYuXaoePXpIkrKzs7V06VLFxsYWeD3Z2dlOg30DAABYocBB0+7du4uzDgAAgDLv/PnzmjFjhpYsWaLw8HD5+Pg4PT9+/PgCrScuLk4xMTFq1aqVIiIiNHHiRKWlpTmuQhcdHa3atWsrKSlJ0oWBvVu1aqUGDRooPT1dCxcu1OzZs/Xee+9Z+wIBAEC5V+CgqW7dusVZBwAAQJn366+/qmXLlpKk3393vuqMzWYr8Hp69+6tI0eOaPjw4Tp06JDCwsK0aNEixwDh+/btk5ubm2P+tLQ0DRw4UH/++ae8vb3VpEkTffjhh+rdu7cFrwoAAOB/Chw0zZ8/v8Ar7datW5GKAQAAKMuWL19u2bpiY2PzPVVuxYoVTo9HjRqlUaNGWbZtAACA/BQ4aMoZA+BKGKMJAADgyv78809JUp06dVxcCQAAgHXcrjzLBdnZ2QW6ETIBAADkLTs7WyNHjlTlypVVt25d1a1bV1WqVNGrr76q7OxsV5cHAABw1Qp8RBMAAACuzssvv+y46ly7du0kSStXrtSIESN07tw5jR492sUVAgAAXJ0iB01paWn6z3/+o3379ikjI8PpuWefffaqCwMAAChrZs2apX/84x9O41m2aNFCtWvX1sCBAwmaAABAqVekoOnnn39W165ddebMGaWlpalatWo6evSoKlasqICAAIImAACAPBw/flxNmjTJNb1JkyY6fvy4CyoCAACwVoHHaLrYc889p3vvvVd//fWXvL299d///ld79+5VeHi4xo0bZ3WNAAAAZUJoaKjeeeedXNPfeecdhYaGuqAiAAAAaxUpaNq4caOef/55ubm5yd3dXenp6QoODtYbb7yhv/3tb4Ve3+TJkxUSEiIvLy/dfPPN+umnn/Kdd968eWrVqpWqVKkiHx8fhYWFafbs2UV5GQAAACXqjTfe0IwZM9S0aVM9/vjjevzxx9W0aVPNnDlTY8eOdXV5AAAAV61IQZOHh4fc3C4sGhAQoH379kmSKleurP379xdqXXPmzFFcXJwSEhK0YcMGhYaGKioqSocPH85z/mrVqunll1/W6tWrtWnTJvXr10/9+vXTt99+W5SXAgAAUGI6deqk7du367777tOJEyd04sQJ3X///dq+fbs6dOjg6vIAAACuWpHGaLrpppu0du1aNWrUSJ06ddLw4cN19OhRzZ49W82aNSvUusaPH6/+/furX79+kqQpU6ZowYIFmjFjhoYNG5Zr/s6dOzs9Hjx4sGbNmqWVK1cqKiqqKC8HAACgxNSuXZtBvwEAQJlVpKDptdde06lTpyRJo0ePVnR0tJ5++mk1atRI77//foHXk5GRofXr1ys+Pt4xzc3NTZGRkVq9evUVlzfGaNmyZdq+fbvGjBmT5zzp6elKT093PE5NTZUkZWZmKjMzs8C1FpTNZFm+TpQOxdGeCop2V365st1JtL3yrDjanqvbc0n44IMP5Ovrq549ezpNnzt3rs6cOaOYmBgXVQYAAGCNIgVNrVq1ctwPCAjQokWLirTxo0ePKisrS4GBgU7TAwMDtW3btnyXO3nypGrXrq309HS5u7vr3Xff1R133JHnvElJSUpMTMw1ffHixapYsWKR6r6cepavEaXFwoW/u2zbtLvyy5XtTqLtlWfF0fbOnDlj+TqvNUlJSZo6dWqu6QEBAXryyScJmgAAQKlXpKBp9+7dOn/+vBo1auQ0fceOHfLw8FBISIgVteWrUqVK2rhxo06fPq2lS5cqLi5O9evXz3VanSTFx8crLi7O8Tg1NVXBwcHq0qWL/Pz8LK9t8vKdlq8TpcOgWxu6bNu0u/LLle1Oou2VZ8XR9nKOOi7L9u3bp3r1cke0devWdYx5CQAAUJoVKWjq27evHnvssVxB05o1a/SPf/xDK1asKNB6/P395e7urpSUFKfpKSkpCgoKync5Nzc3NWx4oYMbFhamrVu3KikpKc+gyW63y26355ru4eEhDw+PAtVZGMbmbvk6UToUR3sqKNpd+eXKdifR9sqz4mh7rm7PJSEgIECbNm3KtVPul19+UfXq1V1TFAAAgIWKdNW5n3/+We3atcs1/ZZbbtHGjRsLvB5PT0+Fh4dr6dKljmnZ2dlaunSp2rRpU+D1ZGdnO43DBAAAcC3q06ePnn32WS1fvlxZWVnKysrSsmXLNHjwYD344IOuLg8AAOCqFemIJpvN5hgM/GInT55UVlbhBoaNi4tTTEyMWrVqpYiICE2cOFFpaWmOq9BFR0erdu3aSkpKknRhbINWrVqpQYMGSk9P18KFCzV79my99957RXkpAAAAJebVV1/Vnj17dPvtt6tChQvdsOzsbEVHR+u1115zcXUAAABXr0hBU8eOHZWUlKRPPvlE7u4XTpvIyspSUlKS2rdvX6h19e7dW0eOHNHw4cN16NAhhYWFadGiRY4Bwvft2yc3t/8deJWWlqaBAwfqzz//lLe3t5o0aaIPP/xQvXv3LspLAQAAKDGenp6aM2eORo0apY0bN8rb21vNmzdX3bp1XV0aAACAJYoUNI0ZM0YdO3ZU48aN1aFDB0nSDz/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": [
"<Figure size 1200x1200 with 4 Axes>"
]
},
"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
}