diff --git a/lab4/lab_4.ipynb b/lab4/lab_4.ipynb new file mode 100644 index 0000000..5a29f38 --- /dev/null +++ b/lab4/lab_4.ipynb @@ -0,0 +1,1801 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Начало лабораторной работы" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['Date', 'Open', 'High', 'Low', 'Close', 'Adj Close', 'Volume'], dtype='object')\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "df = pd.read_csv(\".//static//csv//Yamana_Gold_Inc._AUY.csv\")\n", + "print(df.columns)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Бизнес-цели" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование цен на золото:\n", + "\n", + "Цель: Разработать модель, которая будет предсказывать объем выкупленных акций на основе: цены открытия, цены закрытия, самой высокой цене, самой низкой цене\n", + "Применение:\n", + "Узнать, какие лучше цены выставлять на акции.\n", + "\n", + "2. Оптимизация цен на акции:\n", + "Цель: Определить оптимальную цену на акцию, чтобы объем их скупа был больше.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Прогнозирование объема проданных акций" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Среднее значение поля 'Volume: 9081991.374023996\n", + " Date Open High Low Close Adj Close Volume \\\n", + "0 6/22/2001 3.428571 3.428571 3.428571 3.428571 2.806002 0 \n", + "1 6/25/2001 3.428571 3.428571 3.428571 3.428571 2.806002 0 \n", + "2 6/26/2001 3.714286 3.714286 3.714286 3.714286 3.039837 0 \n", + "3 6/27/2001 3.714286 3.714286 3.714286 3.714286 3.039837 0 \n", + "4 6/28/2001 3.714286 3.714286 3.714286 3.714286 3.039837 0 \n", + "\n", + " above_average_volume volume_volatility \n", + "0 0 76714000 \n", + "1 0 76714000 \n", + "2 0 76714000 \n", + "3 0 76714000 \n", + "4 0 76714000 \n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Устанавливаем случайное состояние\n", + "random_state = 28\n", + "\n", + "# Рассчитываем среднее значение объема\n", + "average_count = df['Volume'].mean()\n", + "print(f\"Среднее значение поля 'Volume: {average_count}\")\n", + "\n", + "# Создаем новую переменную, указывающую, превышает ли объемная продажа среднюю\n", + "df[\"above_average_volume\"] = (df[\"Volume\"] > average_count).astype(int)\n", + "\n", + "# Рассчитываем волатильность (разницу между максимальной и минимальной объемная продажаю)\n", + "df[\"volume_volatility\"] = df[\"Volume\"].max() - df[\"Volume\"].min()\n", + "\n", + "# Выводим первые строки измененной таблицы для проверки\n", + "print(df.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Оптимизация параметров магазина:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Средняя объемная продажа для 'Open':\n", + "Open\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.320000 5.700000e+03\n", + "1.380000 1.200000e+03\n", + "1.400000 0.000000e+00\n", + " ... \n", + "19.940001 8.288800e+06\n", + "20.059999 6.851500e+06\n", + "20.100000 4.836700e+06\n", + "20.250000 4.154200e+06\n", + "20.420000 4.264000e+06\n", + "Name: Volume, Length: 1421, dtype: float64\n", + "\n", + "Средняя объемная продажа для 'Close':\n", + "Close\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.400000 3.000000e+02\n", + "1.410000 1.735315e+06\n", + "1.420000 3.000000e+03\n", + " ... \n", + "19.750000 5.734200e+06\n", + "20.080000 4.836700e+06\n", + "20.129999 6.276400e+06\n", + "20.209999 8.799600e+06\n", + "20.389999 6.851500e+06\n", + "Name: Volume, Length: 1442, dtype: float64\n", + "\n", + "Средняя объемная продажа для 'High':\n", + "High\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.400000 3.000000e+02\n", + "1.410000 7.909091e+02\n", + "1.428571 1.957805e+02\n", + " ... \n", + "20.209999 8.799600e+06\n", + "20.309999 4.154200e+06\n", + "20.389999 4.836700e+06\n", + "20.500000 6.851500e+06\n", + "20.590000 4.264000e+06\n", + "Name: Volume, Length: 1423, dtype: float64\n", + "\n", + "Средняя объемная продажа для 'Low':\n", + "Low\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.320000 5.700000e+03\n", + "1.380000 1.125310e+07\n", + "1.400000 1.626675e+06\n", + " ... \n", + "19.570000 8.288800e+06\n", + "19.650000 4.154200e+06\n", + "19.879999 6.851500e+06\n", + "20.000000 4.836700e+06\n", + "20.090000 4.264000e+06\n", + "Name: Volume, Length: 1410, dtype: float64\n", + "\n", + "Средняя объемная продажа для комбинации 'Open' и 'Close':\n", + "Open Close \n", + "1.142857 1.142857 2.815714e+02\n", + "1.260000 1.260000 1.500000e+02\n", + "1.320000 1.410000 5.700000e+03\n", + "1.380000 1.400000 1.200000e+03\n", + "1.400000 1.400000 0.000000e+00\n", + " ... \n", + "19.940001 20.129999 8.288800e+06\n", + "20.059999 20.389999 6.851500e+06\n", + "20.100000 20.080000 4.836700e+06\n", + "20.250000 19.719999 4.154200e+06\n", + "20.420000 20.129999 4.264000e+06\n", + "Name: Volume, Length: 4401, dtype: float64\n", + "\n", + "Средняя объемная продажа для комбинации 'High' и 'Low':\n", + "High Low \n", + "1.142857 1.142857 2.815714e+02\n", + "1.260000 1.260000 1.500000e+02\n", + "1.400000 1.380000 1.200000e+03\n", + " 1.400000 0.000000e+00\n", + "1.410000 1.320000 5.700000e+03\n", + " ... \n", + "20.209999 19.290001 8.799600e+06\n", + "20.309999 19.650000 4.154200e+06\n", + "20.389999 20.000000 4.836700e+06\n", + "20.500000 19.879999 6.851500e+06\n", + "20.590000 20.090000 4.264000e+06\n", + "Name: Volume, Length: 4246, dtype: float64\n", + "\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Устанавливаем случайное состояние\n", + "random_state = 42\n", + "\n", + "# Рассчитываем среднюю объемную продажу для каждого значения каждого признака\n", + "for column in [\"Open\", \"Close\", \"High\", \"Low\"]:\n", + " print(f\"Средняя объемная продажа для '{column}':\")\n", + " print(df.groupby(column)[\"Volume\"].mean())\n", + " print()\n", + "\n", + "\n", + "print(\"Средняя объемная продажа для комбинации 'Open' и 'Close':\")\n", + "print(df.groupby([\"Open\", \"Close\"])[\"Volume\"].mean())\n", + "print()\n", + "\n", + "\n", + "print(\"Средняя объемная продажа для комбинации 'High' и 'Low':\")\n", + "print(df.groupby([\"High\", \"Low\"])[\"Volume\"].mean())\n", + "print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Выбор ориентира:\n", + "1. Прогнозирование стоимости акций взносов:\n", + "Ориентир:\n", + "\n", + "R² (коэффициент детерминации): 0.75 - 0.85\n", + "\n", + "MAE (средняя абсолютная ошибка): 2000000 - 3.500.000 продаж\n", + "\n", + "RMSE (среднеквадратичная ошибка): 2200000 - 3600000 продаж" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MAE: 4479413.782319424\n", + "MSE: 33820915982442.465\n", + "RMSE: 5815575.292474723\n", + "R²: 0.42948176526183957\n", + "Ориентиры для прогнозирования не достигнуты.\n", + "Средняя объемная продажа 'Open':\n", + "Open\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.320000 5.700000e+03\n", + "1.380000 1.200000e+03\n", + "1.400000 0.000000e+00\n", + " ... \n", + "19.940001 8.288800e+06\n", + "20.059999 6.851500e+06\n", + "20.100000 4.836700e+06\n", + "20.250000 4.154200e+06\n", + "20.420000 4.264000e+06\n", + "Name: Volume, Length: 1421, dtype: float64\n", + "\n", + "Средняя объемная продажа 'High':\n", + "High\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.400000 3.000000e+02\n", + "1.410000 7.909091e+02\n", + "1.428571 1.957805e+02\n", + " ... \n", + "20.209999 8.799600e+06\n", + "20.309999 4.154200e+06\n", + "20.389999 4.836700e+06\n", + "20.500000 6.851500e+06\n", + "20.590000 4.264000e+06\n", + "Name: Volume, Length: 1423, dtype: float64\n", + "\n", + "Средняя объемная продажа 'Close':\n", + "Close\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.400000 3.000000e+02\n", + "1.410000 1.735315e+06\n", + "1.420000 3.000000e+03\n", + " ... \n", + "19.750000 5.734200e+06\n", + "20.080000 4.836700e+06\n", + "20.129999 6.276400e+06\n", + "20.209999 8.799600e+06\n", + "20.389999 6.851500e+06\n", + "Name: Volume, Length: 1442, dtype: float64\n", + "\n", + "Средняя объемная продажа 'Low':\n", + "Low\n", + "1.142857 2.815714e+02\n", + "1.260000 1.500000e+02\n", + "1.320000 5.700000e+03\n", + "1.380000 1.125310e+07\n", + "1.400000 1.626675e+06\n", + " ... \n", + "19.570000 8.288800e+06\n", + "19.650000 4.154200e+06\n", + "19.879999 6.851500e+06\n", + "20.000000 4.836700e+06\n", + "20.090000 4.264000e+06\n", + "Name: Volume, Length: 1410, dtype: float64\n", + "\n", + "Средняя посещаемость взносов для комбинации 'Open' и 'Close':\n", + "Open Close \n", + "1.142857 1.142857 2.815714e+02\n", + "1.260000 1.260000 1.500000e+02\n", + "1.320000 1.410000 5.700000e+03\n", + "1.380000 1.400000 1.200000e+03\n", + "1.400000 1.400000 0.000000e+00\n", + " ... \n", + "19.940001 20.129999 8.288800e+06\n", + "20.059999 20.389999 6.851500e+06\n", + "20.100000 20.080000 4.836700e+06\n", + "20.250000 19.719999 4.154200e+06\n", + "20.420000 20.129999 4.264000e+06\n", + "Name: Volume, Length: 4401, dtype: float64\n", + "\n", + "Средняя посещаемость взносов для комбинации 'High' и 'Low':\n", + "High Low \n", + "1.142857 1.142857 2.815714e+02\n", + "1.260000 1.260000 1.500000e+02\n", + "1.400000 1.380000 1.200000e+03\n", + " 1.400000 0.000000e+00\n", + "1.410000 1.320000 5.700000e+03\n", + " ... \n", + "20.209999 19.290001 8.799600e+06\n", + "20.309999 19.650000 4.154200e+06\n", + "20.389999 20.000000 4.836700e+06\n", + "20.500000 19.879999 6.851500e+06\n", + "20.590000 20.090000 4.264000e+06\n", + "Name: Volume, Length: 4246, 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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y)\n", + "\n", + "X = df.drop(columns=[\"Volume\", \"Date\"], axis=1)\n", + "\n", + "y = df[\"Volume\"]\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 <= 1500000 and rmse <= 1700000:\n", + " print(\"Ориентиры для прогнозирования достигнуты!\")\n", + "else:\n", + " print(\"Ориентиры для прогнозирования не достигнуты.\")\n", + "\n", + "\n", + "columns_to_group = [\n", + " \"Open\",\n", + " \"High\",\n", + " \"Close\", \"Low\"\n", + "]\n", + "\n", + "# Рассчитываем среднюю объемная продажа для каждого значения каждого признака\n", + "for column in columns_to_group:\n", + " print(f\"Средняя объемная продажа '{column}':\")\n", + " print(df.groupby(column)[\"Volume\"].mean())\n", + " print()\n", + "\n", + "# Рассчитываем среднюю объемная продажа для комбинаций признаков\n", + "\n", + "print(\n", + " \"Средняя посещаемость взносов для комбинации 'Open' и 'Close':\"\n", + ")\n", + "print(df.groupby([\"Open\", \"Close\"])[\"Volume\"].mean())\n", + "print()\n", + "\n", + "print(\n", + " \"Средняя посещаемость взносов для комбинации 'High' и 'Low':\"\n", + ")\n", + "print(df.groupby([\"High\", \"Low\"])[\"Volume\"].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": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи регрессии:\n", + "Model: Linear Regression\n", + "MAE: 4479413.782319424\n", + "MSE: 33820915982442.465\n", + "RMSE: 5815575.292474723\n", + "R²: 0.42948176526183957\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Random Forest Regression\n", + "MAE: 2992885.6305958964\n", + "MSE: 23229080308355.86\n", + "RMSE: 4819655.621344316\n", + "R²: 0.6081533126129994\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Gradient Boosting Regression\n", + "MAE: 3630084.451629419\n", + "MSE: 28221268640877.676\n", + "RMSE: 5312369.399889062\n", + "R²: 0.523941090908852\n", + "\n", + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Accuracy: 0.7526165556612749\n", + "\n", + "Model: Random Forest Classification\n", + "Accuracy: 0.80209324452902\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy: 0.7849666983824929\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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", + "X_reg = df.drop(columns = [\"Volume\", \"Date\"], axis=1)\n", + "y_reg = df[\"Volume\"]\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(columns=[\"Volume\", \"Date\"], axis=1)\n", + "y_class = (df[\"Volume\"] > df[\"Volume\"].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": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи регрессии:\n", + "Model: Linear Regression\n", + "MAE: 5371500.134804331\n", + "MSE: 47781112642081.98\n", + "RMSE: 6912388.345722626\n", + "R²: 0.19399001338292088\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n", + "d:\\3_КУРС_ПИ\\МИИ\\aisenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Random Forest Regression\n", + "MAE: 4408370.880479668\n", + "MSE: 42119887803881.95\n", + "RMSE: 6489983.652050439\n", + "R²: 0.28948807744547955\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE: 4651931.4982183585\n", + "MSE: 40455010983490.94\n", + "RMSE: 6360425.377558559\n", + "R²: 0.3175725499393369\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.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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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[\"Volume\"]\n", + "\n", + "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", + "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", + "\n", + "# Обучаем и оцениваем модели для задачи регрессии\n", + "print(\"Результаты для задачи регрессии:\")\n", + "for name, model in models_reg.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " pipeline.fit(X_train_reg, y_train_reg)\n", + " y_pred_reg = pipeline.predict(X_test_reg)\n", + " mae = mean_absolute_error(y_test_reg, y_pred_reg)\n", + " mse = mean_squared_error(y_test_reg, y_pred_reg)\n", + " rmse = mean_squared_error(y_test_reg, y_pred_reg, squared=False)\n", + " r2 = r2_score(y_test_reg, y_pred_reg)\n", + " print(f\"Model: {name}\")\n", + " print(f\"MAE: {mae}\")\n", + " print(f\"MSE: {mse}\")\n", + " print(f\"RMSE: {rmse}\")\n", + " print(f\"R²: {r2}\")\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Оптимизация характеристик магазина:\n", + "Конвейер для задачи классификации:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Accuracy: 0.6355851569933397\n", + "\n", + "Model: Random Forest Classification\n", + "Accuracy: 0.6945765937202664\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy: 0.6936251189343482\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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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[\"Volume\"] > df[\"Volume\"].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": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи регрессии:\n", + "Model: Linear Regression\n", + "Best Parameters: {}\n", + "MAE: 5371500.134804331\n", + "MSE: 47781112642081.98\n", + "RMSE: 6912388.345722626\n", + "R²: 0.19399001338292088\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: 4340519.215001971\n", + "MSE: 39191675053789.43\n", + "RMSE: 6260325.475068323\n", + "R²: 0.33888350984559035\n", + "\n", + "Model: Gradient Boosting Regression\n", + "Best Parameters: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 200}\n", + "MAE: 4502839.821286126\n", + "MSE: 39536963282425.29\n", + "RMSE: 6287842.498220298\n", + "R²: 0.333058912109105\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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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['Volume']\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": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Best Parameters: {'model__C': 10, 'model__solver': 'liblinear'}\n", + "Accuracy: 0.6584205518553758\n", + "\n", + "Model: Random Forest Classification\n", + "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 100}\n", + "Accuracy: 0.69267364414843\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Best Parameters: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 200}\n", + "Accuracy: 0.6955280685061845\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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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['Volume'] > df['Volume'].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": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи регрессии:\n", + "Model: Linear Regression\n", + "Best Parameters: {}\n", + "MAE: 5371500.134804331\n", + "MSE: 47781112642081.98\n", + "RMSE: 6912388.345722626\n", + "R²: 0.19399001338292088\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: 4334820.948370353\n", + "MSE: 38984999673622.87\n", + "RMSE: 6243796.895609503\n", + "R²: 0.3423698752981901\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.1, 'model__max_depth': 3, 'model__n_estimators': 200}\n", + "MAE: 4503234.105751993\n", + "MSE: 39534389006317.54\n", + "RMSE: 6287637.7922330685\n", + "R²: 0.3331023370554158\n", + "\n", + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Best Parameters: {'model__C': 10, 'model__solver': 'liblinear'}\n", + "Accuracy: 0.6584205518553758\n", + "Precision: 0.6464646464646465\n", + "Recall: 0.4304932735426009\n", + "F1-score: 0.5168236877523553\n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Random Forest Classification\n", + "Best Parameters: {'model__max_depth': 10, 'model__n_estimators': 100}\n", + "Accuracy: 0.6879162702188392\n", + "Precision: 0.6594594594594595\n", + "Recall: 0.547085201793722\n", + "F1-score: 0.5980392156862745\n", + "\n" + ] + }, + { + "data": { + "image/png": "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Nsb27dsxYsQIeHl5wdLSEgEBARrrVmiDAQUREZFcXoGltw8ePCj97ObmhqioqBce4+7ujh07duh1Xo6hICIiIr2xhYKIiEguCoUMjy83zIeDMaAgIiKSi54P95LKMECGWWsiIiJ6pbCFgoiISC6vwKDM0sKAgoiISC5luMuDAQUREZFcynALhWGGQURERPRKYQsFERGRXNjlQURERHpjlwcRERHRy2MLBRERkUwUCgUUZbSFggEFERGRTMpyQMEuDyIiItIbWyiIiIjkovj/Td8yDBADCiIiIpmwy4OIiIhID2yhICIikklZbqFgQEFERCQTBhRERESkt7IcUHAMBREREemNLRRERERy4bRRIiIi0he7PIiIiIj0wBYKIiIimTx5erm+LRTy1KWkMaAgIiKSiQIydHkYaETBLg8iIiLSG1soiIiIZFKWB2UyoCAiIpJLGZ42yi4PIiIi0htbKIiIiOQiQ5eHYJcHERFR2SbHGAr9Z4mUDgYUREREMinLAQXHUBAREZHe2EJBREQklzI8y4MBBRERkUzY5UFERESkB7ZQEBERyaQst1AwoCAiIpJJWQ4o2OVBREREemMLBRERkUzKcgsFAwoiIiK5lOFpo+zyICIiek3MmTMHCoUCY8eOldIyMjIQHByM8uXLw8rKCj169EBSUpLGcQkJCfD394eFhQUcHR0xceJE5OTk6HRuBhREREQyye/y0Hd7GcePH8eyZctQr149jfSQkBBs27YNv/76K6KionD79m10795d2p+bmwt/f39kZWXh6NGjWLNmDVavXo1p06bpdH4GFERERDIprYAiLS0N/fr1w4oVK1CuXDkpPSUlBd999x2++uorvPPOO2jcuDFWrVqFo0eP4s8//wQA7NmzBxcuXMCPP/6IBg0aoEOHDpg1axYWLVqErKwsrevAgIKIiEgmcgYUqampGltmZmaR5w0ODoa/vz98fHw00k+ePIns7GyN9Nq1a6NSpUqIjo4GAERHR8PT0xNOTk5SHj8/P6SmpuL8+fNaXzsDCiIioleQm5sbbGxspC08PLzQfOvXr8epU6cK3Z+YmAilUglbW1uNdCcnJyQmJkp5ng4m8vfn79MWZ3kQERHJRcZZHjdu3IBarZaSVSpVgaw3btzAmDFjEBkZCTMzMz1PrB+2UBAREclEzi4PtVqtsRUWUJw8eRJ3795F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i4mJiVAqlbC1tdXI6+TkhMTERCnP08FE/v78fdriLA8iIiKZyDnL48aNGxpdHi96CnZwcDD+/vtvHD58WL8KvCS2UBAREb2C1Gq1xva8gGLkyJHYvn07Dhw4gIoVK0rpzs7OyMrKQnJyskb+pKQkODs7S3menfWR/zo/jzYYUBAREcmkpGd5CCEwcuRIbN68Gfv370eVKlU09jdu3BimpqbYt2+flBYbG4uEhAR4eXkBALy8vHDu3DncvXtXyhMZGQm1Wg0PDw+t68IuDyIiIrmU8NLbwcHBiIiIwNatW2FtbS2NebCxsYG5uTlsbGwQFBSEcePGwc7ODmq1GqNGjYKXlxfeeustAICvry88PDwwYMAAzJ07F4mJiZg6dSqCg4Nf2M3yNAYUREREBmrJkiUAgNatW2ukr1q1CoGBgQCA+fPnw8jICD169EBmZib8/PywePFiKa+xsTG2b9+OESNGwMvLC5aWlggICEBYWJhOdWFAQUREJJOSfpaHNktJmZmZYdGiRVi0aFGRedzd3bFjxw6tz1sYBhREREQyKcvP8mBAQUREJJMy/PRyzvIgIiIi/bGFgoiISC5luImCAQUREZFMSnpQ5quEXR5ERESkN7ZQEBERyYSzPIiIiEhvZXgIBbs8iIiISH9soSAiIpJLGW6iYEBBREQkE87yICIiItIDWyiIiIhkwlkeREREpLcyPISCAQUREZFsynBEwTEUREREpDe2UBAREcmkLM/yYEBBREQkFxkGZRpoPMEuDyIiItIfWyiIiIhkUobHZDKgICIikk0ZjijY5UFERER6YwsFERGRTDjLg4iIiPRWlpfeZpcHERER6Y0tFERERDIpw2MyGVAQERHJpgxHFAwoiIiIZFKWB2VyDAURERHpjS0UREREMlFAhlkestSk5DGgICIikkkZHkLBLg8iIiLSH1soiIiIZFKWF7ZiQEFERCSbstvpwS4PIiIi0htbKIiIiGTCLg8iIiLSW9nt8GCXBxEREcmALRREREQyYZcHERER6a0sP8uDAQUREZFcyvAgCo6hICIiMmCHDh1C586d4erqCoVCgS1btmjsDwwMhEKh0Njat2+vkefBgwfo168f1Go1bG1tERQUhLS0NJ3qwYCCiIhIJgqZNl08evQI9evXx6JFi4rM0759e9y5c0fafvrpJ439/fr1w/nz5xEZGYnt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HTuGli1bAnjyTfzkyZNo1KhRofk9PT2Rl5eHqKgo+Pj4FNif30KSm5srpXl4eEClUiEhIaHIlo06depIA0zz/fnnny++yKccPXoU7u7u+Pjjj6W069evF8iXkJCA27dvw9XVVTqPkZERatWqBScnJ7i6uuLKlSvo16+fTucnopLBQZlEJaxfv36wt7dH165d8ccff+Dq1as4ePAgRo8ejZs3bwIAxowZgzlz5mDLli24dOkSPvzww+euIVG5cmUEBARg8ODB2LJli1TmL7/8AgBwd3eHQqHA9u3bce/ePaSlpcHa2hoTJkxASEgI1qxZg/j4eJw6dQoLFy6UBjoOHz4cly9fxsSJExEbG4uIiAisXr1ap+utUaMGEhISsH79esTHx2PBggWFDjA1MzNDQEAAzpw5gz/++AOjR49Gr1694OzsDACYOXMmwsPDsWDBAvzzzz84d+4cVq1aha+++kqn+hBR8WBAQVTCLCwscOjQIVSqVAndu3dHnTp1EBQUhIyMDKnFYvz48RgwYAACAgLg5eUFa2trvPvuu88td8mSJejZsyc+/PBD1K5dG0OHDsWjR48AABUqVMDMmTMxefJkODk5YeTIkQCAWbNm4ZNPPkF4eDjq1KmD9u3b4/fff0eVKlUAPBnXsHHjRmzZsgX169fH0qVLMXv2bJ2ut0uXLggJCcHIkSPRoEEDHD16FJ988kmBfNWrV0f37t3RsWNH+Pr6ol69ehrTQocMGYKVK1di1apV8PT0RKtWrbB69WqprkRUuhSiqFFeRERERFpiCwURERHpjQEFERER6Y0BBREREemNAQURERHpjQEFERER6Y0BBREREemNAQURERHpjQEFERER6Y0BBREREemNAQURERHpjQEFERER6Y0BBREREent/wDZfrFLYiQ/IwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Gradient Boosting Classification\n", + "Best Parameters: {'model__learning_rate': 0.1, 'model__max_depth': 3, 'model__n_estimators': 200}\n", + "Accuracy: 0.6936251189343482\n", + "Precision: 0.6519607843137255\n", + "Recall: 0.5964125560538116\n", + "F1-score: 0.6229508196721312\n", + "\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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tomLixOjRo3S3x41apR4/PHH9bc//vhj4evrK7RarRBCiCFDhoiFCxca3MfXX38tfHx86swghBDz588XcrlcODk5CXt7ewFAABBLly696T5CCDF16lTx8MMP3zTrlccOCgoyOAZVVVXCwcFBbN68+Zb3T2QNeM0NkYUaNGgQPvroI/1tJycnALVnMRYtWoQTJ05ArVajpqYGlZWVKC8vh6Oj4w33Ex8fjyeffBJff/21/q2VDh06AKh9y+rw4cP45ptv9NsLIaDT6ZCdnY2uXbvWma24uBgtW7aETqdDZWUl+vfvj08//RRqtRp5eXno16+fwfb9+vXDoUOHANS+pTR06FAEBQVh+PDheOCBBzBs2LA7OlYTJkzAlClT8OGHH0KhUOCbb75BbGws5HK5/nnu2bPH4EyNVqu95XEDgKCgIGzYsAGVlZX43//+h7S0NEyfPt1gmxUrVuDzzz9HTk4OKioqoNFoEBwcfMu8hw4dQmZmJpydnQ3WKysrcerUqQYcASLLwnJDZKGcnJzQsWNHg7XTp0/jgQcewDPPPIM333wT7u7u2L17N5544gloNJo6X6RfffVVPProo9i4cSN+/fVXzJ8/HwkJCXjooYdQWlqKf//733juuedu2C8gIOCm2ZydnXHgwAHI5XL4+PjAwcEBAKBWq2/7vEJCQpCdnY1ff/0VW7duxbhx4xAVFYXvvvvutvvezMiRIyGEwMaNGxEeHo5du3bh3Xff1f++tLQUCxYswJgxY27Y197e/qb3a2dnp/8zeOutt3D//fdjwYIFeP311wEACQkJmDVrFt555x306dMHzs7OWLJkCf76669b5i0tLUVoaKhBqbyiuVw0TiQllhsiK7J//37odDq88847+rMSV67vuJXOnTujc+fOmDlzJsaPH48vvvgCDz30EEJCQnDs2LEbStTtyOXyOvdxcXGBr68v9uzZg4EDB+rX9+zZg4iICIPtYmJiEBMTg0ceeQTDhw/HxYsX4e7ubnB/V65v0Wq1t8xjb2+PMWPG4JtvvkFmZiaCgoIQEhKi/31ISAjS09ONfp7Xe+WVVzB48GA888wz+ufZt29fPPvss/ptrj/zYmdnd0P+kJAQJCYmwtPTEy4uLneUicgS8YJiIivSsWNHVFdX44MPPkBWVha+/vprrFy58qbbV1RUYNq0adixYwfOnDmDPXv2IDU1Vf9204svvog//vgD06ZNQ1paGk6ePImffvrJ6AuKr/X888/j//7v/5CYmIj09HTMnj0baWlpmDFjBgBg6dKlWLNmDU6cOIGMjAysW7cO3t7edX7xoKenJxwcHJCUlITCwkIUFxff9HEnTJiAjRs34vPPP9dfSHzFvHnz8NVXX2HBggU4evQojh8/joSEBLzyyitGPbc+ffqgZ8+eWLhwIQCgU6dO2LdvHzZv3oyMjAzMnTsXqampBvsEBgbi8OHDSE9PR1FREaqrqzFhwgR4eHhg1KhR2LVrF7Kzs7Fjxw4899xzOHv2rFGZiCyS1Bf9EFHjq+si1CuWLl0qfHx8hIODg4iOjhZfffWVACAuXbokhDC84LeqqkrExsYKpVIp7OzshK+vr5g2bZrBxcIpKSli6NChomXLlsLJyUn07NnzhguCr3X9BcXX02q14tVXXxV+fn7C1tZW9OrVS/z666/633/yySciODhYODk5CRcXFzFkyBBx4MAB/e9xzQXFQgixatUqoVQqhVwuFwMHDrzp8dFqtcLHx0cAEKdOnbohV1JSkujbt69wcHAQLi4uIiIiQnzyySc3fR7z588XvXr1umF9zZo1QqFQiJycHFFZWSkee+wx4erqKtzc3MQzzzwjZs+ebbDfuXPn9McXgNi+fbsQQoj8/HwxadIk4eHhIRQKhWjfvr2YMmWKKC4uvmkmImshE0IIaesVERERUePh21JERERkUVhuiIiIyKKw3BAREZFFYbkhIiIii8JyQ0RERBaF5YaIiIgsCssNERERWRSWGyIiIrIoLDdERERkUVhuiIiIyKKw3BAREZFF+X+uChVWptwRoQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.model_selection import train_test_split, GridSearchCV\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "from sklearn import metrics\n", + "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, ConfusionMatrixDisplay\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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['Volume']\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['Volume'] > df['Volume'].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", + " 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": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Оценка смещения и дисперсии для задачи регрессии:\n", + "Model: Linear Regression\n", + "MAE (Cross-Validation): Mean = 7111210.742214432, Std = 3258621.575988359\n", + "R² (Cross-Validation): Mean = -973.9850485533416, Std = 1947.0230766477396\n", + "\n", + "Model: Random Forest Regression\n", + "MAE (Cross-Validation): Mean = 7101311.532316089, Std = 2376379.9714977024\n", + "R² (Cross-Validation): Mean = -908.3857578796964, Std = 1815.6264123425312\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE (Cross-Validation): Mean = 7070482.89476308, Std = 2802589.358183748\n", + "R² (Cross-Validation): Mean = -981.8443733941988, Std = 1962.7525784329255\n", + "\n", + "Оценка смещения и дисперсии для задачи классификации:\n", + "Model: Logistic Regression\n", + "Accuracy (Cross-Validation): Mean = 0.23427139685560236, Std = 0.18945014607379965\n", + "Precision (Cross-Validation): Mean = 0.22756569304610003, Std = 0.27873494187794556\n", + "Recall (Cross-Validation): Mean = 0.1027019915619471, Std = 0.07059717190284222\n", + "F1-score (Cross-Validation): Mean = 0.1051367726720347, Std = 0.057537649734717644\n", + "\n", + "Model: Random Forest Classification\n", + "Accuracy (Cross-Validation): Mean = 0.4147656200444022, Std = 0.1210675807050909\n", + "Precision (Cross-Validation): Mean = 0.3526804705326606, Std = 0.10418270160673734\n", + "Recall (Cross-Validation): Mean = 0.431013927323867, Std = 0.22234885624805578\n", + "F1-score (Cross-Validation): Mean = 0.3842515316280531, Std = 0.1459641276080606\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy (Cross-Validation): Mean = 0.3256321870327579, Std = 0.16717715703301406\n", + "Precision (Cross-Validation): Mean = 0.2558131803912397, Std = 0.149590186670139\n", + "Recall (Cross-Validation): Mean = 0.35217892301410875, Std = 0.32986484051603016\n", + "F1-score (Cross-Validation): Mean = 0.28471602649116273, Std = 0.21174524841246298\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//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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['Volume']\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['Volume'] > df['Volume'].mean()).astype(int)\n", + "\n", + "# Список моделей для задачи классификации\n", + "models_class = {\n", + " \"Logistic Regression\": LogisticRegression(),\n", + " \"Random Forest Classification\": RandomForestClassifier(),\n", + " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", + "}\n", + "\n", + "# Оценка смещения и дисперсии для задачи классификации\n", + "print(\"Оценка смещения и дисперсии для задачи классификации:\")\n", + "for name, model in models_class.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " accuracy_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='accuracy')\n", + " precision_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='precision')\n", + " recall_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='recall')\n", + " f1_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='f1')\n", + " print(f\"Model: {name}\")\n", + " print(f\"Accuracy (Cross-Validation): Mean = {accuracy_scores.mean()}, Std = {accuracy_scores.std()}\")\n", + " print(f\"Precision (Cross-Validation): Mean = {precision_scores.mean()}, Std = {precision_scores.std()}\")\n", + " print(f\"Recall (Cross-Validation): Mean = {recall_scores.mean()}, Std = {recall_scores.std()}\")\n", + " print(f\"F1-score (Cross-Validation): Mean = {f1_scores.mean()}, Std = {f1_scores.std()}\")\n", + " print()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABJsAAAI+CAYAAAAb9gt6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACXn0lEQVR4nOzdfXxP9eP/8ec2u565yGzD2FyUXGs+Zi5C1uYi8vmEUK4SclExEYVtUkKkokaFLii60ucTYYZPydLHVUWIIiUbKsawzXZ+f/jtfPe292bT2d5mj/vt5ub9Pud1znmd83693++z5/t1XsfJMAxDAAAAAAAAgAWcHV0BAAAAAAAA3DwImwAAAAAAAGAZwiYAAAAAAABYhrAJAAAAAAAAliFsAgAAAAAAgGUImwAAAAAAAGAZwiYAAAAAAABYhrAJAAAAAAAAliFsAgAAAAAAgGUIm+BwgwcPlo+PT4lu8+jRo3JyctKyZctKdLs3s1WrVqly5co6f/68o6uSr1atWmnixImFLn/+/Hk9/PDDCggIkJOTk8aOHVt8lYPJyclJsbGxjq5Gifk7n0dbtmyRk5OTtmzZYnm9AKAsKMp3zjfffCM3Nzf98ssvltcjPj5eNWvWVHp6eqGXeeedd1S/fn25urqqYsWKltcJeQ0ePFjBwcGOrkaJ6tChgzp06HBdywYHB2vw4MGW1gelB2HTDWTZsmVycnKSk5OTtm7dmme+YRgKCgqSk5OT7rnnHgfUsOiysrJUrVo1OTk56fPPP3d0dSxx4cIFxcbGFssfdzmvv71/jzzyiOXbs0pWVpZiYmL06KOP2gSHwcHBcnJyUkREhN3lXn/9dXP/duzYYbfMxIkT5eTkpPvvv9/u/Jw/1PP79/zzz5tln3zySS1cuFDJycmF2q/nnntOy5Yt08iRI/XOO+9owIABhVrueuUcr5x/3t7eatmypd5+++1i3S6uiI2NlZOTk5ydnfXrr7/mmZ+amipPT085OTlpzJgxDqghAOSV+/zRyclJ5cqVU/Xq1TV48GAdP37c0dW7qTz99NPq16+fatWqZU7r0KGDzfH39PRUkyZNNH/+fGVnZ9ssP2DAALVt21ZhYWFq37699u/fb84bPHiwMjIytGjRokLV5cCBAxo8eLDq1Kmj119/XYsXL7ZmJ/OR8x2Z88/V1VXBwcF67LHHdObMmWLdNmzPd2fMmGG3zAMPPCAnJ6cS/xEfyE85R1cAeXl4eGjFihVq27atzfT//ve/+u233+Tu7u6gmhXdpk2bdOLECQUHB2v58uXq0qWLo6v0t124cEFxcXGSdN0pf0HuvvtuDRw4MM/0W2+91fJtWeU///mPDh48qOHDh+eZ5+Hhoc2bNys5OVkBAQE285YvXy4PDw9dunTJ7noNw9B7772n4OBg/ec//9G5c+dUvnx5u2X79eunrl275pnevHlz8/G9994rX19fvfrqq5o+ffo192vTpk1q1aqVYmJirlnWKs2aNdP48eMlSSdOnNAbb7yhQYMGKT09XcOGDSuxejjSxYsXVa6c476e3N3d9d577+XpBffxxx87qEYAcG3Tp09XSEiILl26pK+//lrLli3T1q1btXfvXnl4eDi6eqXenj17tHHjRm3bti3PvBo1amjmzJmSpNOnT2vFihUaN26cTp06pWeffdYsN3XqVPN8buzYsRo1apQ2b94s6cr50qBBgzRv3jw9+uijcnJyKrA+W7ZsUXZ2tl566SXVrVvXqt28ptdee00+Pj5KS0tTYmKiXnnlFe3atcvuD+U3o9dffz1PiFiSPDw89N5772nKlCk209PS0vTpp5/yXscNhZ5NN6CuXbvqgw8+0OXLl22mr1ixQqGhoXn+YL+Rvfvuu7rjjjs0btw4rV69WmlpaY6u0g3v1ltv1YMPPpjnX8uWLQtc7sKFC3anX758WRkZGX+rTtd63ZYuXao2bdqoevXqeea1adNGPj4+Wrlypc303377TV9++aW6deuW73q3bNmi3377TUuWLNHly5cL/GP/jjvusHvcGjZsaJZxdnZWr1699Pbbb8swjAL3SZJOnjxpabf0wrwW1atXN+s+YcIEbd26VT4+PnrxxRctq0dhOer96uHh4dCwqWvXrnrvvffyTF+xYkWB7RUAHKlLly568MEH9fDDD+uNN97QE088oZ9++kn//ve/HV21YpHfeU9xWbp0qWrWrKlWrVrlmVehQgXzu3vs2LH64osvVKtWLb3yyivKysoyy+X+4dAwDDk72/4p1qdPH/3yyy9mAFWQkydPSpKl5ymFOaa9evXSgw8+qBEjRmjVqlW6//779dVXX+mbb76xrB6FkZ2dne+PlcXJ1dXVoT/8d+3aVT/88IO+/fZbm+mffvqpMjIydPfddzuoZkBehE03oH79+umPP/5QQkKCOS0jI0Mffvih+vfvb3eZ7OxszZ8/Xw0bNpSHh4f8/f01YsQI/fXXXzblPv30U3Xr1k3VqlWTu7u76tSpo2eeecbmi1C60mOnUaNG+uGHH9SxY0d5eXmpevXqmj17dqH34+LFi/rkk0/Ut29f9enTRxcvXtSnn36ab/mff/5ZUVFR8vb2VrVq1TR9+vQ8gcD777+v0NBQlS9fXr6+vmrcuLFeeumlPOvp3bu3KleuLC8vL7Vq1Upr1qy5Zn3zux4597XZR48elZ+fnyQpLi7O7M6a+1r/AwcOqFevXqpcubI8PDzUokULy0/0cl6fnTt36s4775SXl5eeeuops4vtCy+8oPnz56tOnTpyd3fXDz/8IOlKT5127drJ29tbFStW1L333mvThVv6v27SP/zwg/r3769KlSrl6WWX26VLl7Ru3bp8L5Xz8PDQv/71L61YscJm+nvvvadKlSopKioq33UvX75cDRo0UMeOHRUREaHly5cX9hDl6+6779Yvv/yiPXv25FsmZxycI0eOaM2aNebrfPToUUlXTvCGDh0qf39/eXh4qGnTpnrrrbds1nGt16Kw/Pz8VL9+ff3000820wv7ns/OzlZsbKyqVasmLy8vdezYUT/88EOea+hzLsP473//q1GjRqlq1aqqUaOGOf/zzz8320758uXVrVs37du3z2ZbycnJGjJkiGrUqCF3d3cFBgbq3nvvNY+bJO3YsUNRUVGqUqWKPD09FRISooceeshmPfbGz9i9e7e6dOkiX19f+fj4qFOnTvr6669tyuTsw1dffaXo6Gj5+fnJ29tb//znP3Xq1KnCHnL1799fe/bs0YEDB2z2bdOmTfl+BhemTUjSmTNnNHjwYFWoUEEVK1bUoEGD8r384Ho/Sw4dOqT77rtPAQEB8vDwUI0aNdS3b1+dPXu2cAcAwE2hXbt2kpTn+8Oewnx+G4ahGTNmqEaNGub3yb59+/J8n+ScR1wt5zM69zqLel569XmPJKWnpysmJkZ169aVu7u7goKCNHHixDxjH6Wnp2vcuHHy8/NT+fLl1aNHD/3222/XPDY5Vq9erbvuuuuaPY6kK+c+//jHP3Tu3DkzFMotMTFRb7zxhs2l/pIUGhqqypUrF3i+LF257D6n17Wfn1+e781XX31VDRs2lLu7u6pVq6bRo0fn+a4p6JgWRX7tbPv27ercubMqVKggLy8vtW/fXl999VWe5bds2aIWLVrIw8NDderU0aJFi+y2oZxL2JcvX27u27p16yRJx48f10MPPSR/f3+5u7urYcOGWrJkSZ5tvfLKK2rYsKG8vLxUqVIltWjRwub89Ny5cxo7dqyCg4Pl7u6uqlWr6u6779auXbvMMvbGbEpLS9P48eMVFBQkd3d33XbbbXrhhRfy/B2Tsw+rV69Wo0aNzLrm7EdhhIeHKyQkJM959fLly9W5c2dVrlzZ7nKFaROStHjxYtWpU0eenp5q2bKlvvzyS7vrK+z77mqZmZmKi4tTvXr15OHhoVtuuUVt27a1+bsXNw8uo7sBBQcHKzw8XO+995552dnnn3+us2fPqm/fvnr55ZfzLDNixAgtW7ZMQ4YM0WOPPaYjR45owYIF2r17t7766iu5urpKuvJF7+Pjo+joaPn4+GjTpk2aNm2aUlNTNWfOHJt1/vXXX+rcubP+9a9/qU+fPvrwww/15JNPqnHjxoW6HO7f//63zp8/r759+yogIEAdOnTQ8uXL7f6xlpWVpc6dO6tVq1aaPXu21q1bp5iYGF2+fNm83CkhIUH9+vVTp06dNGvWLEnS/v379dVXX+nxxx+XJKWkpKh169a6cOGCHnvsMd1yyy1666231KNHD3344Yf65z//WYRXIi8/Pz+99tprGjlypP75z3/qX//6lySpSZMmkqR9+/aZPXwmTZokb29vrVq1Sj179tRHH31UqO1funRJp0+fzjPd19dXbm5u5vM//vhDXbp0Ud++ffXggw/K39/fnLd06VJdunRJw4cPl7u7uypXrqyNGzeqS5cuql27tmJjY3Xx4kW98soratOmjXbt2pXni7N3796qV6+ennvuuQJ7Ae3cuVMZGRm644478i3Tv39/RUZG6qefflKdOnUkXekl0qtXL7NtXi09PV0fffSReUlZv379NGTIELuX40lXfo2zd9wqVqxo00smNDRUkvTVV1/ZXGKX2+2336533nlH48aNU40aNcw6+Pn56eLFi+rQoYMOHz6sMWPGKCQkRB988IEGDx6sM2fOmG0xh73XoiguX76s3377TZUqVbKZXtj3/OTJkzV79mx1795dUVFR+vbbbxUVFZXvr4GjRo2Sn5+fpk2bZvZseueddzRo0CBFRUVp1qxZunDhgl577TW1bdtWu3fvNtvOfffdp3379unRRx9VcHCwTp48qYSEBB07dsx8HhkZKT8/P02aNEkVK1bU0aNHr3l52r59+9SuXTv5+vpq4sSJcnV11aJFi9ShQwf997//VVhYmE35Rx99VJUqVVJMTIyOHj2q+fPna8yYMXl61+XnzjvvVI0aNbRixQrz82flypXy8fGx27OpsG3CMAzde++92rp1qx555BHdfvvt+uSTTzRo0CC7+3w9nyUZGRmKiopSenq6Hn30UQUEBOj48eP67LPPdObMGVWoUKFQxwBA6ZcT6lz9/WHPtT6/JWnatGmaMWOGunbtqq5du2rXrl2KjIz8W72ni3Jeau+8Jzs7Wz169NDWrVs1fPhw3X777fr+++/14osv6scff9Tq1avN5R9++GG9++676t+/v1q3bq1NmzYVurfq8ePHdezYsQLPda6W86PT1T2P/ve//6lPnz5aunSp/vGPf+RZ7o477rAbyuQ2f/58vf322/rkk0/My9pyzkVjY2MVFxeniIgIjRw5UgcPHtRrr72m//3vfzbnB1LB55JF2U/Jtp1t2rRJXbp0UWhoqGJiYuTs7KylS5fqrrvu0pdffmn21t+9e7c6d+6swMBAxcXFKSsrS9OnTzd/2L3apk2btGrVKo0ZM0ZVqlRRcHCwUlJS1KpVKzPI8fPz0+eff66hQ4cqNTXVvLnL66+/rscee0y9evXS448/rkuXLum7777T9u3bzb9NHnnkEX344YcaM2aMGjRooD/++ENbt27V/v37833tDcNQjx49tHnzZg0dOlTNmjXT+vXrNWHCBB0/fjxPz/StW7fq448/1qhRo1S+fHm9/PLLuu+++3Ts2DHdcssthTrm/fr107vvvqvnn39eTk5OOn36tDZs2KB33nnHbnBV2Dbx5ptvasSIEWrdurXGjh2rn3/+WT169FDlypUVFBRkrq8o7zt7dZk5c6YefvhhtWzZUqmpqdqxY4d27dpFr6ybkYEbxtKlSw1Jxv/+9z9jwYIFRvny5Y0LFy4YhmEYvXv3Njp27GgYhmHUqlXL6Natm7ncl19+aUgyli9fbrO+devW5Zmes77cRowYYXh5eRmXLl0yp7Vv396QZLz99tvmtPT0dCMgIMC47777CrU/99xzj9GmTRvz+eLFi41y5coZJ0+etCk3aNAgQ5Lx6KOPmtOys7ON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uXJlDRkyREOGDNH58+d15513KjY2lrDpJsSYTQUYM2aMkpKS9P777+u7775T79691blz53yvMX3jjTd06623FjgOTVH4+PjotddeU2xsrLp3755vuT59+igrK0vPPPNMnnmXL182b2uZk6TnTs4zMjL06quvWlLfHDm9LSZOnKhevXrZ/OvTp4/at29vt0fGggULzMeGYWjBggVydXVVp06dJP3f9fI5nJ2dzV8rcm6z2bVrV33zzTdKSkoyy6WlpWnx4sUKDg62O35Pjjp16ujAgQM2t0j/9ttv89wRJOd66KtvF1q1alV16NBBixYt0okTJ/Ksvyi3XrdaYGCgmjVrprfeesum3nv37tWGDRvUtWvX6153aGio3NzctGPHjmuWffjhhxUTE2O3t1KOX3/9VV988YX69OmTp/306tVLQ4YM0eHDh7V9+/brqu/OnTslSa1bt76u5bt27ark5GSbAPjy5ct65ZVX5OPjkydgtcKTTz6pP/74Q6+//rqkwr/nO3XqpHLlyum1116zKZP7vXYtUVFR8vX11XPPPWd3nKWcdn3hwoU8v1LWqVNH5cuXN9+ff/31V55f7nJCx/xulevi4qLIyEh9+umnNrfLTklJ0YoVK9S2bVvzUj6r1alTR/Pnz9fMmTPNO+fYU9g20bVrV12+fNnm9cjKytIrr7xis76/81mSmpqqy5cv20xr3LixnJ2dr3k7YgA3lw4dOqhly5aaP3++Ll26pEqVKikiIsLmn4eHR6E+vyMiIuTq6qpXXnnF5nN8/vz5ebabEzZ88cUX5rS0tLQ8vdCtOC/t06ePjh8/bn4/5nbx4kVzWIucoODqXkb26m9P9erVFRQUVKhznRwTJ05UZmZmvr0/8rNr167rPkeJiIiQm5ubXn75ZZvj+uabb+rs2bOFvvteUTzwwAOqUaOGeafo0NBQ1alTRy+88ILOnz+fp3zOd5iLi4siIiK0evVqmzGSDh8+nGeco/y4uLjovvvu00cffaS9e/fmuy0p798Rbm5uatCggQzDUGZmprKysvJculm1alVVq1atwO/Prl27KisrK8+51YsvvignJyfLekTZM2PGDMXExBQ4Fmdh20SLFi3k5+en+Ph4mztMLlu2LM/fPIV939lz9evg4+OjunXrco5ykyrTPZsKcuzYMS1dulTHjh0zB6174okntG7dOi1d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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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kyay2WwKDw/X008/rezsbIfpwsPDdfPNN2v16tVq166dfHx81LhxY/3nP/8558+goPr166tLly4O200683vZqlUrtWzZ0ul8c+fOVVRUlHx9fRUUFKR77rlH+/btKzTdggUL1LJlS/n4+Khly5ZO+7ok5eXladKkSbr88svl4+OjkJAQDRs2TH/99dd538P5+gEAVCXXXXedpDM78qRzj2dK8tn75ZdfqmvXrqpWrZoCAwPVtm1bh89aZ9domj17tqKiouzztGrVSq+//rr99aLGZcX5jsl/X/v27VPv3r0VEBCgOnXq6PHHH1dubu45t9G5xgMl/Q5eunSp2rRpI19fX73zzjtFrvO5555TrVq1NG3aNKc7tqKjo3XzzTcXOf/mzZs1aNAgNW7cWD4+PgoNDdWQIUN0+PBhh+mOHTumRx55xD52CQ4O1g033KANGzbYp9mxY4fuuOMOhYaGysfHRw0aNNBdd92lv//+2+H95Y+LzjXmLOoaTefrL8UZSw8aNEhTpkyRJIfTRPM5u0ZTSca/3333neLi4lSnTh35+/vrtttuswdqxTFgwAClpKRo27Zt9ra0tDR99dVXRR6ZduDAAd13330KCQmRj4+PIiIi9OGHHxaa7ujRoxo0aJCqV6+uGjVqKCYmRkePHnW6zG3btqlPnz6qVauWfHx81KZNGy1cuPC89RenHwDnw6lzKLdmzpyp22+/Xd7e3urfv7/efvtt/fDDD2rbtq19muPHj6tz587aunWrhgwZotatW+vQoUNauHCh9u7dq6CgIOXm5urmm29WcnKy7rrrLo0cOVLHjh3T8uXL9dNPP6lJkyYlru306dOKjo5Wp06dNGHCBPsh6HPnzlVWVpYefPBB1a5dW+vWrdPkyZO1d+9ezZ071z7/5s2b1blzZ3l5eemBBx5QeHi4du3apf/7v//TuHHjdM011ygsLEwzZ87UbbfdVmi7NGnSRB06dHBa2+23364aNWro0UcfVf/+/XXTTTcpICBAkvTzzz+rc+fOCgwM1JNPPikvLy+98847uuaaa/T1118XuhbW8OHDVadOHY0ePfqceznzv7TuvffeEm/LfK+//rp69eqlu+++W6dOndLs2bPVt29fffHFF/a9Pz///LNuvvlmXXHFFRo7dqxsNpt27typ7777zr6c9957Tw8//LD69OmjkSNH6uTJk9q8ebPWrl1b5Jf7Rx99pHfffVfr1q3T+++/L0m6+uqrnU5bnD6XkZGh999/X/3799fQoUN17NgxffDBB4qOjta6desUGRmpOnXq6O2339aDDz6o2267Tbfffrsk6YorrihyG91///368MMP1adPHz322GNau3atkpKStHXr1kJBzc6dO9WnTx/dd999iomJ0bRp0zRo0CBFRUXp8ssvL9bPZMCAARo5cqSOHz+ugIAAnT59WnPnzlVcXJzT0+ZmzJihwYMHq23btkpKSlJ6erpef/11fffdd9q4caN9b+eyZct0xx13qEWLFkpKStLhw4c1ePBgp2HmsGHD7Mt9+OGH9fvvv+vNN9/Uxo0b9d133xV5tNmF9AMAqMzyd67Vrl3b3lbUeKa4n70zZszQkCFDdPnllys+Pl41atTQxo0btWTJkiI/a5cvX67+/fvr+uuv1/jx4yVJW7du1XfffaeRI0cWWX9xv2MkKTc3V9HR0Wrfvr0mTJigFStW6NVXX1WTJk304IMPFrmOc40HSvIdvH37dvXv31/Dhg3T0KFD1axZM6fr27Fjh7Zt26YhQ4aoWrVqRdZ1LsuXL9dvv/2mwYMHKzQ0VD///LPeffdd/fzzz/rf//5nD2D+/e9/69NPP1VsbKxatGihw4cPa/Xq1dq6datat26tU6dOKTo6WtnZ2XrooYcUGhqqffv26YsvvtDRo0dVvXr1Qus+15jTmeL0l+KMpYcNG6b9+/dr+fLl+uijj867jUo6/n3ooYdUs2ZNJSQkaPfu3Zo0aZJiY2M1Z86cYv1MunTpogYNGmjWrFkaO3asJGnOnDkKCAhwekTTiRMndM0112jnzp2KjY1Vo0aNNHfuXA0aNEhHjx61/14YY3Trrbdq9erV+ve//63LLrtMn332mWJiYpy+544dO6p+/foaNWqU/P399d///le9e/fWvHnzCv19ke9C+gHglAHKoR9//NFIMsuXLzfGGJOXl2caNGhgRo4c6TDd6NGjjSQzf/78QsvIy8szxhgzbdo0I8lMnDixyGlWrlxpJJmVK1c6vP77778bSWb69On2tpiYGCPJjBo1qtDysrKyCrUlJSUZNzc388cff9jbunTpYqpVq+bQVrAeY4yJj483NpvNHD161N524MAB4+npaRISEgqtx1ndr7zyikN77969jbe3t9m1a5e9bf/+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I5pQrixcuFDHjh1Tr169nL5+1VVXqU6dOpo5c6b69eunJ554Qp9++qn69u2rIUOGKCoqSkeOHNHChQs1depURUREaODAgfrPf/6juLg4rVu3Tp07d1ZmZqZWrFih4cOH69Zbb1X16tXVt29fTZ48WW5ubmrSpIm++OKLc14D5mzNmzdXkyZN9Pjjj2vfvn0KDAzUvHnznJ7P/cYbb6hTp05q3bq1HnjgATVq1Ei7d+/WokWLlJKS4jDtwIED1adPH0lyOugriRdeeEHLly9Xp06dNHz4cHl6euqdd95Rdna2Xn755QterpeXl+bPn69u3bqpS5cuuvPOO9WxY0d5eXnp559/1qxZs1SzZk2NGzfO6fw9e/bUxIkTdeONN2rAgAE6cOCApkyZoqZNm2rz5s326caOHatvvvlGPXv2VMOGDXXgwAG99dZbatCggTp16iTpzEAmNDRUHTt2VEhIiLZu3ao333xTPXv2vOgLlksqVp+7+eabNX/+fN12223q2bOnfv/9d02dOlUtWrTQ8ePH7cvy9fVVixYtNGfOHF166aWqVauWWrZs6fT6BREREYqJidG7776ro0ePqmvXrlq3bp0+/PBD9e7d237h/NIQERGhiIiIc07j5eWl8ePHa/Dgweratav69+9vv/V0eHi4Hn30Ufu0SUlJ6tmzpzp16qQhQ4boyJEjmjx5si6//HKH7dO1a1cNGzZMSUlJSklJUffu3eXl5aUdO3Zo7ty5ev311+2/G2cr7X4AAJVVcT97AwMD9dprr+n+++9X27ZtNWDAANWsWVObNm1SVlZWkafB3X///Tpy5Iiuu+46NWjQQH/88YcmT56syMhIh6OFCirJd0xpKM3v4H79+mnLli0aN26cNm7cqP79+6thw4Y6fPiwlixZouTkZIfLCBQUGBioLl266OWXX1ZOTo7q16+vZcuW6ffff3eY7tixY2rQoIH69OmjiIgIBQQEaMWKFfrhhx/06quvSjpz6YrY2Fj17dtXl156qU6fPq2PPvpIHh4euuOOOy74/RWs9Xz9pSRj6aioKEnSww8/rOjoaHl4eOiuu+5yuu7SGv8Wx8iRI887zQMPPKB33nlHgwYN0vr16xUeHq5PP/1U3333nSZNmmQft9xyyy3q2LGjRo0apd27d6tFixaaP3++0+snTZkyRZ06dVKrVq00dOhQNW7cWOnp6VqzZo327t2rTZs2Oa2ltPsBqpAyvssdcE633HKL8fHxMZmZmUVOM2jQIOPl5WUOHTpkjDHm8OHDJjY21tSvX994e3ubBg0amJiYGPvrxpy5VeozzzxjGjVqZLy8vExoaKjp06ePw21ODx48aO644w7j5+dnatasaYYNG2Z++umnQrcLdXbb23y//PKL6datmwkICDBBQUFm6NChZtOmTYWWYYwxP/30k7nttttMjRo1jI+Pj2nWrJl57rnnCi0zOzvb1KxZ01SvXr3Q7WCLUtStZo0xZsOGDSY6OtoEBAQYPz8/c+2115rvv//eYZr827v+8MMPxVpfvr/++suMHj3atGrVyvj5+RkfHx/TsmVLEx8fb1JTU+3TnX2rY2OM+eCDD8wll1xibDabad68uZk+fbr9NrH5kpOTza233mrq1atnvL29Tb169Uz//v3Nr7/+ap/mnXfeMV26dDG1a9c2NpvNNGnSxDzxxBPm77//LvT+8m+5m1+Ts5/r2bfxNeb8fS4vL8+8+OKLpmHDhsZms5krr7zSfPHFF07f9/fff2+ioqKMt7e3w+14z37vxhiTk5NjEhMT7f04LCzMxMfHO9y6Nr/mnj17FnovXbt2NV27di3UfjadddtdZwrewregOXPmmCuvvNLYbDZTq1Ytc/fdd9tvpV3QvHnzzGWXXWZsNptp0aKFmT9/vtPtY4wx7777romKijK+vr6mWrVqplWrVubJJ580+/fvL/K9FacfAEBlVNzv8HONZ4wp3mevMcYsXLjQXH311cbX19cEBgaadu3amU8++cRhPQU/2z/99FPTvXt3ExwcbLy9vc2//vUvM2zYMIdxwtm3XM9XnO+Yot6Xs+/VkmyXi/0OPp/8MU5wcLDx9PQ0derUMbfccov5/PPP7dPkj+8Kjin37t1rH09Wr17d9O3b1+zfv99hTJGdnW2eeOIJExERYapVq2b8/f1NRESEeeutt+zL+e2338yQIUNMkyZNjI+Pj6lVq5a59tprzYoVKwq9v4LjoqLGnM7GWsacv78Udyx9+vRp89BDD5k6deoYNzc3h59twfee72LGv0X1x7MVNTY6m7NxVnp6uhk8eLAJCgoy3t7eplWrVoX+djDmzBj03nvvNYGBgaZ69erm3nvvNRs3bnT6t8auXbvMwIEDTWhoqPHy8jL169c3N998s/n000+LfG/F7QfA+bgZU8KrmgEoU6dPn1a9evV0yy236IMPPnB1OQAAAAAAFIlrNAHl3IIFC3Tw4EGHiyICAAAAAFAecUQTUE6tXbtWmzdv1vPPP6+goCBt2LDB1SUBAAAAAHBOHNEElFNvv/22HnzwQQUHB+s///mPq8sBAAAAAOC8OKIJAAAAAAAAluCIJgAAAAAAAFjC09UFlLW8vDzt379f1apVk5ubm6vLAQAA/58xRseOHVO9evXk7s6+sPKGMRQAAOVTeRtDVbmgaf/+/QoLC3N1GQAAoAh//vmnGjRo4OoycBbGUAAAlG/lZQxV5YKmatWqSTrzAwgMDHRxNQAAIF9GRobCwsLs39UoXxhDAQBQPpW3MVSVC5ryD/UODAxkkAQAQDnEaVnlE2MoAADKt/IyhnL9yXsAAAAAAACoFAiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACW8HR1AQAAAACAC5OamqrU1NQyW1/dunVVt27dMlsfgIqHoAkAAAAAKqh33nlHiYmJZba+hIQEjRkzpszWB6DiIWgCUG6wRw4AAKBkhg0bpl69ehV7+hMnTqhTp06SpNWrV8vX17dE62PsBOB8CJoAlBvskQMAACiZku44y8zMtD+OjIyUv79/aZQFoAojaAJQbrBHDgAAAAAqNoImAOUGe+QAAAAAoGJzd3UBAAAAAAAAqBwImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAlvB0dQEAAABAZZCamqrU1NQyW1/dunVVt27dMlsfAADFQdAEAAAAWOCdd95RYmJima0vISFBY8aMKbP1AQBQHARNAAAAFdCUKVP0yiuvKC0tTREREZo8ebLatWvndNoZM2Zo8ODBDm02m00nT54si1KrjGHDhqlXr17Fnv7EiRPq1KmTJGn16tXy9fUt0fo4mgkAUB4RNAEAAFQwc+bMUVxcnKZOnar27dtr0qRJio6O1vbt2xUcHOx0nsDAQG3fvt3+3M3NrazKrTJKeipbZmam/XFkZKT8/f1LoywAAMoUFwMHAACoYCZOnKihQ4dq8ODBatGihaZOnSo/Pz9NmzatyHnc3NwUGhpq/xcSElKGFQMAgKqCI5oAAAAqkFOnTmn9+vWKj4+3t7m7u6tbt25as2ZNkfMdP35cDRs2VF5enlq3bq0XX3xRl19+eZHTZ2dnKzs72/48IyNDkpSTk6OcnBwL3gkKbke2K8oK/Q6ofMrb73G5CJq4xgAAAEDxHDp0SLm5uYWOSAoJCdG2bducztOsWTNNmzZNV1xxhf7++29NmDBBV199tX7++Wc1aNDA6TxJSUlOL2y9bNky+fn5XfwbgcP4denSpfLx8XFhNagq6HdA5ZOVleXqEhy4PGjiGgMAAAClq0OHDurQoYP9+dVXX63LLrtM77zzjp5//nmn88THxysuLs7+PCMjQ2FhYerevbsCAwNLveaqoOA1mqKjo7lGE8oE/Q6ofPKPOi4vXB40FbzGgCRNnTpVixYt0rRp0zRq1Cin8+RfY6A4OOwbqLw49BuoXPgdLp6goCB5eHgoPT3doT09Pb3Y4yMvLy9deeWV2rlzZ5HT2Gw22Ww2p/N6eXmVrGg4VXA7sl1RVuh3QOVT3n6PXRo0lcU1BjjsG6i8OPQbqFzK22Hf5ZW3t7eioqKUnJys3r17S5Ly8vKUnJys2NjYYi0jNzdXW7Zs0U033VSKlQIAgKrIpUFTWVxjgMO+gcqLQ7+ByqW8HfZdnsXFxSkmJkZt2rRRu3btNGnSJGVmZtqPEB84cKDq16+vpKQkSdLYsWN11VVXqWnTpjp69KheeeUV/fHHH7r//vtd+TYAAEAl5PJT50qqpNcY4LBvoPLi0G+gcuF3uPj69eungwcPavTo0UpLS1NkZKSWLFli33m3Z88eubu726f/66+/NHToUKWlpalmzZqKiorS999/rxYtWrjqLQAAgErKpUFTWV1jAAAAoLKJjY0t8lS5VatWOTx/7bXX9Nprr5VBVQAAoKpzP/8kpafgNQby5V9joOBRS+eSf42BunXrllaZAAAAAAAAKAaXnzrHNQYAAAAAAAAqB5cHTVxjAADgaqmpqUpNTS2z9dWtW5cjcQEAAFApuRljjKuLKEsZGRmqXr26/v77b+46B1RwmZmZCggIkCQdP36cu87hgo0ZM0aJiYlltr6EhASNGTOmzNZXUfAdXb7x87Ee32NwBfodUPmUt+9olx/RBACAqw0bNky9evUq9vQnTpxQp06dJEmrV6+Wr69vidbH0UwAAACorAiaAABVXklPZcvMzLQ/joyMZG8wAAAA8P+59K5zAAAAAAAAqDwImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYgqAJAAAAAAAAliBoAgAAAAAAgCUImgAAAAAAAGAJgiYAAAAAAABYwtPVBaD8SU1NVWpqapmtr27duqpbt26ZrQ8AAAAAAJQOgiYU8s477ygxMbHM1peQkKAxY8aU2foAAAAAAEDpIGhCIcOGDVOvXr2KPf2JEyfUqVMnSdLq1avl6+tbovVxNBMAAAAAVCycCYOiEDShkJL+AmdmZtofR0ZGyt/fvzTKAgAAAACUE5wJg6IQNAEAAFRAU6ZM0SuvvKK0tDRFRERo8uTJateu3Xnnmz17tvr3769bb71VCxYsKP1CAQCVEmfCoCgETQAAABXMnDlzFBcXp6lTp6p9+/aaNGmSoqOjtX37dgUHBxc53+7du/X444+rc+fOZVgtAKAy4kwYFIWgCQAAoIKZOHGihg4dqsGDB0uSpk6dqkWLFmnatGkaNWqU03lyc3N19913KzExUd9++62OHj16znVkZ2crOzvb/jwjI0OSlJOTo5ycHGveSBVXcDuyXVFW6HdwFfpe6Slv25KgCQAAoAI5deqU1q9fr/j4eHubu7u7unXrpjVr1hQ539ixYxUcHKz77rtP33777XnXk5SU5PTaG8uWLZOfn9+FFQ8HJ0+etD9eunSpfHx8XFgNqgr6HVyFvld6srKyXF2CA4ImAACACuTQoUPKzc1VSEiIQ3tISIi2bdvmdJ7Vq1frgw8+UEpKSrHXEx8fr7i4OPvzjIwMhYWFqXv37goMDLyg2uGo4Gkk0dHRnEaCMkG/g6vQ90pP/lHH5QVBEwAAQCV27Ngx3XvvvXrvvfcUFBRU7PlsNptsNluhdi8vL3l5eVlZYpVVcDuyXVFW6HdwFfpe6Slv25KgCQAAoAIJCgqSh4eH0tPTHdrT09MVGhpaaPpdu3Zp9+7duuWWW+xteXl5kiRPT09t375dTZo0Kd2iAQBAleHu6gIAAABQfN7e3oqKilJycrK9LS8vT8nJyerQoUOh6Zs3b64tW7YoJSXF/q9Xr1669tprlZKSorCwsLIsHwAAVHIc0QQAAFDBxMXFKSYmRm3atFG7du00adIkZWZm2u9CN3DgQNWvX19JSUny8fFRy5YtHeavUaOGJBVqBwAAuFgETUAl8NryX11dgktkn/jn7gqTk3fI5lv17oL06A2XuroEAC7Qr18/HTx4UKNHj1ZaWpoiIyO1ZMkS+wXC9+zZI3d3DlwHAABlj6AJAACgAoqNjVVsbKzT11atWnXOeWfMmGF9QQAAACJoAgAAAFBFVcWjwjki/AyOCgdKD8dUAwAAAAAAwBIETQAAAAAAALAEQRMAAAAAAAAsQdAEAAAAAAAAS5SLoGnKlCkKDw+Xj4+P2rdvr3Xr1hVrvtmzZ8vNzU29e/cu3QIBAAAAAABwXi4PmubMmaO4uDglJCRow4YNioiIUHR0tA4cOHDO+Xbv3q3HH39cnTt3LqNKAQAAAAAAcC6eri5g4sSJGjp0qAYPHixJmjp1qhYtWqRp06Zp1KhRTufJzc3V3XffrcTERH377bc6evRokcvPzs5Wdna2/XlGRoYkKScnRzk5Oda9kSqs4HZku7qGm8l1dQku4aZch8dVcTvw++YafO6VDrYjAABAxefSoOnUqVNav3694uPj7W3u7u7q1q2b1qxZU+R8Y8eOVXBwsO677z59++2351xHUlKSEhMTC7UvW7ZMfn5+F1487E6ePGl/vHTpUvn4+LiwmqqpkasLcJGCfS/8xE75mKrX9xYv/tXVJVRJfO6VjqysLFeXAAAAgIvk0qDp0KFDys3NVUhIiEN7SEiItm3b5nSe1atX64MPPlBKSkqx1hEfH6+4uDj784yMDIWFhal79+4KDAy84Nrxj8zMTPvj6Oho+fv7u7CaqmnKyp2uLsElst3++aN0t29T2XyqXng84tqmri6hSuJzr3TkH3UMAACAisvlp86VxLFjx3TvvffqvffeU1BQULHmsdlsstlshdq9vLzk5eVldYlVUsHtyHZ1DePm4eoSXMLIw+FxVdwO/L65Bp97pYPtCAAAUPG5NGgKCgqSh4eH0tPTHdrT09MVGhpaaPpdu3Zp9+7duuWWW+xteXl5kiRPT09t375dTZo0Kd2iAQAAAAAA4JRL7zrn7e2tqKgoJScn29vy8vKUnJysDh06FJq+efPm2rJli1JSUuz/evXqpWuvvVYpKSkKCwsry/IBAAAAAABQgMtPnYuLi1NMTIzatGmjdu3aadKkScrMzLTfhW7gwIGqX7++kpKS5OPjo5YtWzrMX6NGDUkq1A4AAAAAAICy5fKgqV+/fjp48KBGjx6ttLQ0RUZGasmSJfYLhO/Zs0fu7i498AoAAAAAAADF4PKgSZJiY2MVGxvr9LVVq1adc94ZM2ZYXxAAAAAAAABKjEOFAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAAAAAAFiCoAkAAAAAAACWIGgCAAAAAACAJQiaAAAAAAAAYAmCJgAAgApoypQpCg8Pl4+Pj9q3b69169YVOe38+fPVpk0b1ahRQ/7+/oqMjNRHH31UhtUCAICqgqAJAACggpkzZ47i4uKUkJCgDRs2KCIiQtHR0Tpw4IDT6WvVqqVnnnlGa9as0ebNmzV48GANHjxYS5cuLePKAQBAZefp6gIAAABQMhMnTtTQoUM1ePBgSdLUqVO1aNEiTZs2TaNGjSo0/TXXXOPwfOTIkfrwww+1evVqRUdHO11Hdna2srOz7c8zMjIkSTk5OcrJybHonVRtBbcj29U13Eyuq0soc27KdXhcFbeBJH7fXIDPvNJT3rYlQRMAAEAFcurUKa1fv17x8fH2Nnd3d3Xr1k1r1qw57/zGGH311Vfavn27xo8fX+R0SUlJSkxMLNS+bNky+fn5XVjxcHDy5En746VLl8rHx8eF1VRNjVxdgAsU7HfhJ3bKx1TNfrd48a+uLqHK4TOv9GRlZbm6BAcETQAAABXIoUOHlJubq5CQEIf2kJAQbdu2rcj5/v77b9WvX1/Z2dny8PDQW2+9pRtuuKHI6ePj4xUXF2d/npGRobCwMHXv3l2BgYEX/0agzMxM++Po6Gj5+/u7sJqqacrKna4uocxlu/3zB+lu36ay+VTN4HjEtU1dXUKVw2de6ck/6ri8IGgCAACoAqpVq6aUlBQdP35cycnJiouLU+PGjQudVpfPZrPJZrMVavfy8pKXl1cpV1s1FNyObFfXMG4eri6hzBl5ODyuittAEr9vLsBnXukpb9uSoAkAAKACCQoKkoeHh9LT0x3a09PTFRoaWuR87u7uatr0zB78yMhIbd26VUlJSUUGTQAAABeCoAkAcMFeW141r2+QfeKf0w4mJ++QzbfqnXbw6A2XurqEKsvb21tRUVFKTk5W7969JUl5eXlKTk5WbGxssZeTl5fncLFvAAAAKxA0AQAAVDBxcXGKiYlRmzZt1K5dO02aNEmZmZn2u9ANHDhQ9evXV1JSkqQzF/Zu06aNmjRpouzsbC1evFgfffSR3n77bVe+DQAAUAkRNAEAAFQw/fr108GDBzV69GilpaUpMjJSS5YssV8gfM+ePXJ3d7dPn5mZqeHDh2vv3r3y9fVV8+bN9fHHH6tfv36uegsAAKCSImgCAACogGJjY4s8VW7VqlUOz1944QW98MILZVAVAACo6tzPPwkAAAAAAABwfgRNAAAAAAAAsARBEwAAAAAAACxB0AQAAAAAAABLEDQBAAAAAADAEgRNAAAAAAAAsARBEwAAAAAAACxB0AQAAAAAAABLEDQBAAAAAADAEgRNAAAAAAAAsARBEwAAAAAAACxB0AQAAAAAAABLEDQBAAAAAADAEgRNAAAAAAAAsARBEwAAAAAAACxB0AQAAAAAAABLlDhoCg8P19ixY7Vnz57SqAcAAAAAAAAVVImDpkceeUTz589X48aNdcMNN2j27NnKzs6+qCKmTJmi8PBw+fj4qH379lq3bl2R086fP19t2rRRjRo15O/vr8jISH300UcXtX4AAAAAAABcvAsKmlJSUrRu3Tpddtlleuihh1S3bl3FxsZqw4YNJS5gzpw5iouLU0JCgjZs2KCIiAhFR0frwIEDTqevVauWnnnmGa1Zs0abN2/W4MGDNXjwYC1durTE6wYAAChLubm5+uCDDzRgwAB169ZN1113ncM/AACAiu6Cr9HUunVrvfHGG9q/f78SEhL0/vvvq23btoqMjNS0adNkjCnWciZOnKihQ4dq8ODBatGihaZOnSo/Pz9NmzbN6fTXXHONbrvtNl122WVq0qSJRo4cqSuuuEKrV6++0LcCAABQJkaOHKmRI0cqNzdXLVu2VEREhMM/AACAis7zQmfMycnRZ599punTp2v58uW66qqrdN9992nv3r16+umntWLFCs2aNeucyzh16pTWr1+v+Ph4e5u7u7u6deumNWvWnLcGY4y++uorbd++XePHj3c6TXZ2tsOpfRkZGfb6c3JyivNWcR4FtyPb1TXcTK6rS3AJN+U6PK6K28HVv29VcZtL9D2pdPqeq/tzWZg9e7b++9//6qabbnJ1KQAAAKWixEHThg0bNH36dH3yySdyd3fXwIED9dprr6l58+b2aW677Ta1bdv2vMs6dOiQcnNzFRIS4tAeEhKibdu2FTnf33//rfr16ys7O1seHh566623dMMNNzidNikpSYmJiYXaly1bJj8/v/PWiPM7efKk/fHSpUvl4+PjwmqqpkauLsBFCva98BM75WOqXt9bvPhXl66fvkffs1JWVpblyyxvvL291bRpU1eXAQAAUGpKHDS1bdtWN9xwg95++2317t1bXl5ehaZp1KiR7rrrLksKdKZatWpKSUnR8ePHlZycrLi4ODVu3FjXXHNNoWnj4+MVFxdnf56RkaGwsDB1795dgYGBpVZjVZKZmWl/HB0dLX9/fxdWUzVNWbnT1SW4RLbbP3+U7vZtKptP1QuPR1zr2j9Y6Xv0PSvlH3VcmT322GN6/fXX9eabb8rNzc3V5QAAAFiuxEHTb7/9poYNG55zGn9/f02fPv28ywoKCpKHh4fS09Md2tPT0xUaGlrkfO7u7va9gZGRkdq6dauSkpKcBk02m002m61Qu5eXl9OQDCVXcDuyXV3DuHm4ugRLZBw+oIwjB4s9/ansf44q2bvrV3nbSnZUSWCtOgqsHVyiecobV/++VZa+V1JGHg6Pq+J2KI2+5+r+XBZWr16tlStX6ssvv9Tll19e6D3Pnz/fRZUBAABYo8RB04EDB5SWlqb27ds7tK9du1YeHh5q06ZNsZfl7e2tqKgoJScnq3fv3pKkvLw8JScnKzY2ttjLycvLc7gOE4CK6ftFc7Ts4zcvaN434waUeJ7u98TqxoEPXdD6AOBC1KhRQ7fddpurywAAACg1JQ6aRowYoSeffLJQ0LRv3z6NHz9ea9euLdHy4uLiFBMTozZt2qhdu3aaNGmSMjMzNXjwYEnSwIEDVb9+fSUlJUk6c82lNm3aqEmTJsrOztbixYv10Ucf6e233y7pWwFQzlzds59adii723sH1qpTZusCAEnFOuIbAACgIitx0PTLL7+odevWhdqvvPJK/fLLLyUuoF+/fjp48KBGjx6ttLQ0RUZGasmSJfYLhO/Zs0fu7u726TMzMzV8+HDt3btXvr6+at68uT7++GP169evxOsGUL4E1g6u8KeyAUBxHDx4UNu3b5ckNWvWTHXqEHwDAIDKocRBk81mU3p6uho3buzQnpqaKk/PEi9OkhQbG1vkqXKrVq1yeP7CCy/ohRdeuKD1AAAAuFJmZqYeeugh/ec//1FeXp4kycPDQwMHDtTkyZO5Iy4AAKjwSpwMde/eXfHx8fr8889VvXp1SdLRo0f19NNP64YbbrC8QAAAgMoiLi5OX3/9tf7v//5PHTt2lHTmAuEPP/ywHnvsMS4FAKDELuZmKvt2ba2SN1MBULpKHDRNmDBBXbp0UcOGDXXllVdKklJSUhQSEqKPPvrI8gIBAAAqi3nz5unTTz91uFPuTTfdJF9fX915550ETQBKjJupAChvShw01a9fX5s3b9bMmTO1adMm+fr6avDgwerfv3+VuC0xAADAhcrKyrJfh7Kg4OBgZWVluaAiABUdN1OpmF5b/qurSyhz2Sf++Z6bnLxDNt+qebr4ozdc6uoSSt0FXVTJ399fDzzwgNW1AAAAVGodOnRQQkKC/vOf/8jH58zpKidOnFBiYqI6dOjg4uoAVETcTAVAeXNhV+/WmbvP7dmzR6dOnXJo79Wr10UXBQAAUBm9/vrrio6OVoMGDRQRESFJ2rRpk3x8fLR06VIXVwcAAHDxShw0/fbbb7rtttu0ZcsWubm5yRgjSXJzc5Mk5ebmWlshAABAJdGyZUvt2LFDM2fO1LZt2yRJ/fv319133y1fX18XVwcAAHDxShw0jRw5Uo0aNVJycrIaNWqkdevW6fDhw3rsscc0YcKE0qgRAACg0vDz89PQoUNdXQYAAECpKHHQtGbNGn311VcKCgqSu7u73N3d1alTJyUlJenhhx/Wxo0bS6NOAACACmnhwoXq0aOHvLy8tHDhwnNOyyUIAABARVfioCk3N1fVqlWTJAUFBWn//v1q1qyZGjZsqO3bt1teIAAAQEXWu3dvpaWlKTg4WL179y5yOjc3Ny5BAAAAKrwSB00tW7bUpk2b1KhRI7Vv314vv/yyvL299e6776px48alUSMAAECFlZeX5/QxAABAZVTioOnZZ59VZmamJGns2LG6+eab1blzZ9WuXVtz5syxvEAAAIDK7OjRo6pRo4arywAAALCEe0lniI6O1u233y5Jatq0qbZt26ZDhw7pwIEDuu666ywvEAAAoLIYP368w465vn37qlatWqpfv742bdrkwsoAAACsUaKgKScnR56envrpp58c2mvVqiU3NzdLCwMAAKhspk6dqrCwMEnS8uXLtWLFCi1ZskQ9evTQE0884eLqAAAALl6JTp3z8vLSv/71Ly5UCQAAcAHS0tLsQdMXX3yhO++8U927d1d4eLjat2/v4uoAAAAuXolPnXvmmWf09NNP68iRI6VRDwAAQKVVs2ZN/fnnn5KkJUuWqFu3bpIkYww78gAAQKVQ4ouBv/nmm9q5c6fq1aunhg0byt/f3+H1DRs2WFYcAABAZXL77bdrwIABuuSSS3T48GH16NFDkrRx40Y1bdrUxdUBAABcvBIHTb179y6FMgAAACq/1157TeHh4frzzz/18ssvKyAgQJKUmpqq4cOHu7g6AACAi1fioCkhIaE06gAAAKj0vLy89Pjjjxdqf/TRR11QDQAAgPVKHDQBAACg+BYuXKgePXrIy8tLCxcuPOe0vXr1KqOqAAAASkeJgyZ3d3e5ubkV+ToXsgQAAPhH7969lZaWpuDg4HNegsDNzY1xFAAAqPBKHDR99tlnDs9zcnK0ceNGffjhh0pMTLSsMAAAgMogLy/P6WMAAIDKqMRB06233lqorU+fPrr88ss1Z84c3XfffZYUBgAAAAAAgIrF3aoFXXXVVUpOTrZqcQAAAJXOww8/rDfeeKNQ+5tvvqlHHnmk7AsCAACwmCVB04kTJ/TGG2+ofv36ViwOAACgUpo3b546duxYqP3qq6/Wp59+6oKKAAAArFXiU+dq1qzpcDFwY4yOHTsmPz8/ffzxx5YWBwAAUJkcPnxY1atXL9QeGBioQ4cOuaAiAAAAa5U4aHrttdccgiZ3d3fVqVNH7du3V82aNS0tDgAAoDJp2rSplixZotjYWIf2L7/8Uo0bN3ZRVa732vJfXV2CS2SfyLI/npy8QzZfPxdW4xqP3nCpq0sAAFisxEHToEGDSqEMAACAyi8uLk6xsbE6ePCgrrvuOklScnKyXn31VU2aNMm1xQEAAFigxEHT9OnTFRAQoL59+zq0z507V1lZWYqJibGsOAAAgMpkyJAhys7O1rhx4/T8889LksLDw/X2229r4MCBLq4OAADg4pX4YuBJSUkKCgoq1B4cHKwXX3zRkqIAAAAqqwcffFB79+5Venq6MjIy9NtvvxEyAQCASqPEQdOePXvUqFGjQu0NGzbUnj17LCkKAACgsjp9+rRWrFih+fPnyxgjSdq/f7+OHz/u4soAAAAuXolPnQsODtbmzZsVHh7u0L5p0ybVrl3bqroAAAAqnT/++EM33nij9uzZo+zsbN1www2qVq2axo8fr+zsbE2dOtXVJQIAAFyUEh/R1L9/fz388MNauXKlcnNzlZubq6+++kojR47UXXfdVRo1AgAAVAojR45UmzZt9Ndff8nX19fefttttyk5OdmFlQEAAFijxEc0Pf/889q9e7euv/56eXqemT0vL08DBw7kGk0AAADn8O233+r777+Xt7e3Q3t4eLj27dvnoqoAAACsU+KgydvbW3PmzNELL7yglJQU+fr6qlWrVmrYsGFp1AcAAFBp5OXlKTc3t1D73r17Va1aNRdUBAAAYK0SB035LrnkEl1yySVW1gIAAFCpde/eXZMmTdK7774rSXJzc9Px48eVkJCgm266ycXVAQAAXLwSX6Ppjjvu0Pjx4wu1v/zyy+rbt68lRQEAAFRGEyZM0HfffacWLVro5MmTGjBggP20OWfjKwAAgIqmxEc0ffPNNxozZkyh9h49eujVV1+1oiYAAIBKKSwsTJs2bdKcOXO0adMmHT9+XPfdd5/uvvtuh4uDAwAAVFQlDpqOHz9e6AKWkuTl5aWMjAxLigIAAKhscnJy1Lx5c33xxRe6++67dffdd7u6JAAAAMuV+NS5Vq1aac6cOYXaZ8+erRYtWlhSFAAAQGXj5eWlkydPuroMAACAUlXiI5qee+453X777dq1a5euu+46SVJycrJmzZqlTz/91PICAQAAKosRI0Zo/Pjxev/99+XpecH3ZAEAACi3SjzCueWWW7RgwQK9+OKL+vTTT+Xr66uIiAh99dVXqlWrVmnUCAAAUCn88MMPSk5O1rJly9SqVSv5+/s7vD5//nwXVQYAAGCNC9qV1rNnT/Xs2VOSlJGRoU8++USPP/641q9fr9zcXEsLBAAAqCxq1KihO+64w9VlAAAAlJoLPmb7m2++0QcffKB58+apXr16uv322zVlyhQrawMAAKgU8vLy9Morr+jX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wN529jSloXr16qW+DlROjJ/K1/hJYgxVEGOokis4hvrtt9909dVX68SJE3riiSd01113OYyfmjdvXmrjJ8n146Z8jJ8YPxXFZeOnMo+2KqnzJc6rVq0ybdu2Nd7e3iY0NNQ89dRTDglnRkaGGTBggPHz8zOhoaFm4sSJpmvXrmbkyJH2aQomsHl5eSYhIcGEhYUZb29vU7duXfPQQw8ZY4zp2rVrob0lxpzZo1a9enWHuhYuXGjatGljbDabqV27tundu3eR78HZ/G+88YaRZP7++29724IFC8yVV15pbDabadSokRkzZozDe926davp2LGjsdls5rLLLjPLly93SMDz09jZs2ebLl26GJvNZqZPn26MMea9994zzZs3NzabzTRr1sxMmTLFvtzs7GwzYsQIExoaamw2m/nXv/5lXnzxxfNur7O3rTHG/PHHH6ZXr17G39/fVKtWzfTt29ekpaXZX4+IiDCBgYHmP//5j2nYsKEJDAw0DRo0MBEREfZpDh06ZO666y5Tr1494+vra1q2bGlmzZrlsP26du1qHnroIfPEE0+YmjVrmpCQEJOQkOAwza+//mo6d+5s317Lli0rtMdg8+bN5tprrzU+Pj6mVq1aZujQoebYsWP21/P757hx40xwcLCpXr26SUxMNDk5Oebxxx83NWvWNPXr1zfTpk0r/IMv4GL7edeuXc2IESPMyJEjTe3atc0111xjjDFmy5Yt5sYbbzT+/v4mODjY3HPPPebgwYP2+ebOnWtatmxpf3/XX3+9OX78uElISCjU11euXOm0th49epj69eub48ePF3qtYMp/9rZ98sknzSWXXGJ8fX1No0aNzLPPPmtOnTplfz0lJcVcc801JiAgwFSrVs20bt3a/PDDD8YYY3bv3m1uvvlmU6NGDePn52datGhhFi1aZIxx3DOW//js91Hwdy5/b8fChQvte4G9vLyMh4eHSUhIMKdPnzZdunQx3t7eRpLx8PAwrVu3tu+Fz/+9Kvjv8ssvNwMHDjS1a9e2f9Z07drVDBs2zNx7772mRo0axsfHx4SHh5vg4GDj5+dn2rVrZ5566ilTvXp1s2TJEhMaGmokmaioKNO0aVPj7+9voqOjzf79+40xpkQ/I2f969tvvzWSzIEDB+xt5+vvubm5JjEx0dSvX994e3ubiIgI8+WXX9pfP9dnRcOGDR1qbdiwof19FPz9zq/1lVdeMaGhoaZWrVpm+PDhDn1j//795qabbrJvw5kzZ553T9qDDz5o/P39zb59+wq9duzYMfvv09nLefXVV03Lli2Nn5+fadCggXnwwQcdtsm5+uKRI0fMgAEDTFBQkPHx8TFNmza1fxYU3DvmrA9Nnz7d6ZFyq1evNl27drXvYe7evbs5cuSIMcaYL7/80nTs2NFUr17d1KpVy/Ts2dPs3LnTPu/Z6+jatavDNs938uRJ89BDD5k6deoYm81mOnbsaNatW2d/Pb+uFStWmKioKOPr62s6dOhgtm3bVuT2R9lj/FS1xk8JCQmmZs2apnXr1vbxU79+/UyvXr3MlVdeaZ+OMRRjqOKOodq2bXvOMVTBo0UkmX/961/G3d3dSDLNmjUzp0+fNkOGDDFBQUHGzc3NuLm5mWrVqpn+/fvbx1A7d+4stI4mTZqYW2+91f55k///kSNHzL333muqV69uPD09jc1mM76+vqZdu3YOdcXFxRl3d3djs9mMv7+/8fPzY/z0/zF+qhzjJ67RVAb27dunm266SW3bttWmTZv09ttv64MPPtALL7xgnyYuLk7fffedFi5cqOXLl+vbb7/Vhg0bilzmvHnz9Nprr+mdd97Rjh07tGDBArVq1UqSNH/+fDVo0EBjx45VamqqUlNTnS5j0aJFuu2223TTTTdp48aNSk5OVrt27Yr9vg4cOKDPPvtMHh4e8vDwkCR9++23GjhwoEaOHKlffvlF77zzjmbMmKFx48ZJknJzc9W7d2/5+flp7dq1evfdd/XMM884Xf6oUaM0cuRIbd26VdHR0Zo5c6ZGjx6tcePGaevWrXrxxRf13HPP6cMPP5QkvfHGG1q4cKH++9//avv27Zo5c6bCw8PPu73OlpeXp1tvvVVHjhzR119/reXLl+u3335Tv379HKbLzMzUggUL9MUXX+iNN97Q/v37dfDgQfvrJ0+eVFRUlBYtWqSffvpJDzzwgO69916tW7fOYTkffvih/P39tXbtWr388ssaO3asli9fbq/l9ttvl7e3t9auXaupU6fqqaeeKlRHdHS0atasqR9++EFz587VihUrFBsb6zDdV199pf379+ubb77RxIkTlZCQoJtvvlk1a9bU2rVr9e9//1vDhg3T3r17i/yZn0tx+nn++/X29tZ3332nqVOn6ujRo7ruuut05ZVX6scff9SSJUuUnp6uO++8U5KUmpqq/v37a8iQIdq6datWrVql22+/XcYYPf7447rzzjt144032vv61VdfXai2I0eOaMmSJRoxYoT8/f0LvX6uPRzVqlXTjBkz9Msvv+j111/Xe++9p9dee83++t13360GDRrohx9+0Pr16zVq1Cj73rERI0YoOztb33zzjbZs2aLx48c73avTrFkzubm5STrTV529Dzc3N/vvrHRm78QzzzyjRx99VEOGDFFeXp6qV6+ul19+WatWrdJzzz2nlJQURUdHS5LCwsJ07733SpImT56sr7/+Wq1bt9Znn31WqJ7ly5frxx9/1MKFC9WjRw8dPXpUXl5eWr9+vfr27atXX31VmZmZmjBhgh544AF5enpq27ZtatKkib755hvt2bNHjz/+uCQV+2fkzPHjx/Xxxx+radOmql27tqTi9ffXX39dr776qiZMmKDNmzcrOjpavXr10o4dOySd+7Pihx9+kCRNnz5dqamp9ufOrFy5Urt27dLKlSv14YcfasaMGZoxY4b99YEDB2r//v1atWqV5s2bp3fffVcHDhwocnl5eXmaPXu27r77btWrV6/Q6wEBAfL0dH4gsru7u9544w39/PPP+vDDD/XVV1/pySeftL9+rr743HPP6ZdfftGXX36prVu36u2331ZQUFChdYSFhSk1NVWBgYGaNGmSUlNTC30uSlJKSoquv/56tWjRQmvWrNHq1at1yy23KDc3V9KZn2FcXJx+/PFHJScny93dXbfddpvy8vIkyf4ZuWLFCqWmpmr+/PlO3/OTTz6pefPm6cMPP9SGDRvUtGlTRUdH68iRIw7TPfPMM3r11Vf1448/ytPTU0OGDHG6PJQ/jJ8q5/jp2LFjSk1N1RdffKEvvvhCK1asUHJyssPROYyhGEMVZwx15MgR/fjjj3rsscckOR9D5Y+vFi1aJEk6fPiwxo4dqy+++EK33nqr8vLy1KBBAz344IP64IMP9OqrryonJ0c//vijBg0aJEmaO3eufd2LFy/WgAEDivw+HzRokH788Ud17txZl19+uSIiIhQcHKzbb79dN954o9LS0pSVlaUlS5bI3d1dkZGRqlOnjrp06cL46f9j/FRJxk8liqVQpHPtpcg/V7Rgoj5lyhQTEBBgcnNzTUZGhvHy8jJz5861v3706FHj5+dX5B65V1991Vx66aUO6W9BzlLfs/eodejQwdx9993Ffo/51xjIT931/9PShx9+2D7N9ddfb0+283300Uembt26xpgzSaynp6dJTU21v17UHrlJkyY5LKdJkyaF9mY9//zzpkOHDsYYYx566CFz3XXXOT3PtSTba9myZcbDw8Ps2bPH/vrPP/9sJNnT3oiICPu2sNls9usuXHLJJUVuP2OM6dmzp3nsscfsz7t27Wo6derkME3btm3NU089ZYwxZunSpcbT09Mhnf/yyy8dtte7775ratas6bCXadGiRcbd3d2+FzEmJsY0bNjQ5Obm2qdp1qyZ6dy5s/356dOnjb+/v/nkk0+KrD8mJsZ4eHgYf39/+78+ffoYY87fz/Pfb8E9lsac+Rl2797doe3PP/80ksz27dvN+vXrjSSze/fuIms63/nra9euNZLM/PnzzzmdMee/vsArr7xioqKi7M+rVatmZsyY4XTaVq1amTFjxjh9reBejP/9739O91YFBATY+9mTTz5p/52VZB555JHzvpe+ffsaSfY9M7Vr13bYc5KTk2MaNGjgcERTu3btjCTz3XffmT/++MN4eHiYLVu2GF9fX/Pf//7XGGNMixYtjCSzc+dO++fCmDFjTEhIiDHmzM89/7ExJbvGQMH+JcnUrVvXrF+/3j5Ncfp7vXr1zLhx4xyW3bZtWzN8+HBjzLk/K4xx3gec7ZFr2LChOX36tL2tb9++pl+/fsaYM0ceSLLvmTXGmB07dhhJRe6RS09PN5LMxIkTi9hC/zjfnr25c+ea2rVr25+fqy/ecsstZvDgwU5fc3a+f/Xq1e1HSRhT+LoV/fv3Nx07djzve8h38OBBI8ls2bKlyHUa49iPjh8/bry8vMzMmTPtr586dcrUq1fPvPzyyw51Fbx+yKJFi4ykMrsWDM6P8dMZVWX8lJCQYDw8POyf9fljKEnm008/LXIbGsMYijHUP/I/3/N/Bz766COHMVTt2rXtfevJJ580xpz5vS3u+GnEiBHmuuuus4+h6tata4YNG2b/rssfP519RFP+tZLmzZtnPDw8zL59+8yhQ4fsY6jrr7/e9OzZ00gy48ePt4+l8sdNjJ8YP1Wm8RNHNJWBrVu3qkOHDvZEXZI6duyo48ePa+/evfrtt9+Uk5PjsDesevXqatasWZHL7Nu3r06cOKHGjRtr6NCh+uyzz3T69OkS1ZWfmpZEtWrVlJKSoh9//FGvvvqqWrdubd/bJkmbNm3S2LFj7efjBgQEaOjQoUpNTVVWVpa2b9+usLAwh/NRi9oL2KZNG/vjzMxM7dq1S/fdd5/Dsl944QXt2rVL0pk9CCkpKWrWrJkefvhhLVu2zD5/SbbX1q1bFRYWprCwMHtbixYtVKNGDW3dutXe5u/vr5SUFK1du1YxMTFq166dwzJzc3P1/PPPq1WrVqpVq5YCAgK0dOnSQudKX3HFFQ7P69ata0/t82spmM536NChUL0REREOe5k6duyovLw8bd++3d52+eWXy939n1/5kJAQh72SHh4eql279jn3GEjStddeq5SUFPu/N954w17Hufp5vqioKIflbdq0SStXrnT4uTZv3lzSmXOZIyIidP3116tVq1bq27ev3nvvPf3111/nrPFsxpgSTV/QnDlz1LFjR4WGhiogIEDPPvusw88wLi5O999/v7p166aXXnrJ3h8l6eGHH9YLL7ygjh07KiEhQZs3by7Rup977jkFBATo8ssvV3Z2tsPvbMHfj3xPPfWUatSoIQ8PD7m5uWnu3LmSpD179ujvv//W4cOHHab39PQstJysrCy5ubmpffv22rJli3Jzc3XVVVcpOztb99xzjwICArR9+3Z5eHioSZMmkiQ/Pz9dccUV9r5TsA+XVMH+tW7dOkVHR6tHjx76448/JJ2/v2dkZGj//v3q2LGjw3I7duxo//0912dFSVx++eX2oxEkx/e9fft2eXp6qnXr1vbXmzZtqpo1axa5vIvppytWrND111+v+vXrq1q1arr33nt1+PBhZWVlSTp3X3zwwQc1e/ZsRUZG6sknn9T3339/wXVI5/9u2bFjh/r376/GjRsrMDDQvje0JNeR2LVrl3Jychx+zl5eXmrXrp3D57Tk+Blbt25dSbrg/omyxfipco6fAgIC7J/1a9euVdu2bRUQEKA77rjDPg1jKMZQFzOGWrdunRITE+Xh4aHs7GxJst/9y9n4acqUKbrssstks9nk7u6uKVOmaNWqVZKkn3/+Wampqbrsssvs0zsbP0lnjrDy9PSUp6encnNzdemll6phw4b2MdTXX3+tAwcOyM/PT8HBwfLz81OTJk3s/ZbxE+OnyjR+ImiqoMLCwrR9+3a99dZb8vX11fDhw9WlSxfl5OQUexkXcmFLd3d3NW3aVJdddpni4uJ01VVX6cEHH7S/fvz4/2Pv3uOiLPP/j78HhOGgeAY8sOIpD6lQeMizFcpmpdamdjDRyg5Kq1JusrUiZZHlqptZqGm1dnI129o0tVC/m4fN8lBqamqeMkXRFEUFhOv3hz8mRkBBb7gRXs/HYx7OXHPfc39muGbm8j33fd2nlZCQ4PYlunnzZu3cuVM+Pj7F2lbeD8LTp09LkmbNmuX22Fu2bNH//vc/SdKNN96oPXv26IUXXtDZs2c1YMAA3XPPPZKseb0u5unpqSZNmigsLExz5sxx/Wc+16uvvqp//OMfeuaZZ7RixQrXYUyZmZluj3PxJIQOh8O1C6SVCtrOlWzb399fTZo0cV1yP3iK6uLdrk+fPq0777zT7e+6adMm7dy5U926dZOnp6e+/PJLffHFF2rZsqWmTZumZs2aac+ePUXeZtOmTeVwOIo9WeXatWv1wAMPqHfv3vr888+1ceNGPfvss25/w/Hjx2vr1q26/fbbtXz5crVs2dJ1ONojjzyin3/+WQ8++KA2b96stm3batq0afm206RJE7fBZa7AwEB5enq63qt537MXv47vvPOOXnnlFTVt2lQzZ87UkiVL1Lt3b0nK1+eK6vTp0/L09NT69evVrFkzPf7449q0aZNefPFF+fn5uZbz8vKSw+FwfdHnvV5ceftXu3bt9NZbbyk9PV2zZs26oscryKU+K4rD6vdu7dq1Va1atWL307179+qOO+5QmzZt9PHHH2v9+vWaPn26pN//9pfqi7kD0dGjR+vXX3/Vrbfe6tp1/0pc7rvlzjvv1PHjxzVr1ix98803rsmQr7SfXk7ev1Pu+6wkPmNxbWD8ZP/4ycPDw/VZHxYWpnvvvVcZGRmaPXu2axnGUIWvn1dFH0M1atRIDofDdWhX3vagoCC3ttz37cWv4UcffaSnn35aBw4c0C233KL3339fAwYMcP0n/kq+m9LT013jp9xg5vHHH9e2bdv0wAMPuPpO7r+54ybGT1eG8VPZHD8RNJWCFi1aaO3atW4fHKtXr1aVKlVUv359NWrUSF5eXm7Hsp48eVI//fTTJR/X19dXd955p1577TWtXLlSa9eu1ebNmyVdOBtD7vGchWnTpo2Sk5Ov4pldmAdg3rx5rvkQbrzxRu3YscPtSzT34uHhoWbNmunAgQNKSUlxPcaljuHNFRQUpLp16+rnn3/O97gNGzZ0LRcQEKCBAwdq1qxZmjdvnj7++GPX8aaXer3yatGihQ4cOKADBw642n788UedOHFCLVu2LLA+Dw8PRUZG6uTJkzp79qykC3/jvn37atCgQQoLC1OjRo0u+zctrJa880TkDgzzLvP9998rPT3d1bZ69WrX611aLtfPC3PjjTdq69atCg0Nzfe3zR0MOBwOde7cWQkJCdq4caO8vb1dA5Gi9PUaNWooKipK06dPd3udcp04caLA9dasWaMGDRro2WefVdu2bdW0aVPXL0N5XXfddRo9erSWLVumu+++2+2MMiEhIXr88ce1cOFCPfXUUwV+4desWVM333yzJLn6T0Eu9Z794osvJF2YY+Thhx9WVFSUW61Vq1Z1Haef+3qdP39e69evd3scPz8/GWP0zTff6IYbblB2drZ27typvXv3qmvXrmrSpImCgoLcftm9nKL8jQrjcDjk4eHhel0u198DAgJUt25drV692u1xVq9e7fb+vdRnhZeX1xXXm6tZs2Y6f/68Nm7c6GrbtWvXJX9J9vDw0L333qv3339fv/76a777T58+XeCeBOvXr1dOTo7+/ve/66abbtJ1111X4PqX6ou1a9dWdHS03nvvPU2dOlUzZ84s7lN2uVQ/PXbsmHbs2KHnnntOt956q1q0aJHvNcmdp+VSf4PGjRu75inJlZWVpW+//bbQz2lcexg/lf/xk3Ths69q1ap67rnnGEMxhirWGKpGjRrq2bOn3nrrrUs+Byn/3m+5Vq9erdatWys9PV0zZ87Ufffdp2PHjrm+b6tUqaI6deq4+l92dnaB46fces6fPy+Hw6Hs7GwdOXJE1atXdxtDFecMYIyfLmD8dG2OnwiaLHTy5Ml8vygcOHBAw4cP14EDB/Tkk09q+/bt+vTTTxUfH6/Y2Fh5eHioSpUqio6O1pgxY7RixQpt3bpVDz/8sDw8PArcy0G6sPfC7NmztWXLFv38889677335OvrqwYNGkiSQkND9d///lcHDx5UampqgY8RHx+vDz/8UPHx8dq2bZtrgrPiCAkJ0V133aVx48ZJksaNG6d//vOfSkhI0NatW7Vt2zZ99NFHeu655yRJPXv2VOPGjRUdHa0ffvhBq1evdt1X2HPNlZCQoMTERL322mv66aeftHnzZr399tuaPHmyJGny5Mn68MMPtX37dv3000+aP3++goODVa1atcu+XnlFRkaqdevWeuCBB7RhwwatW7dOgwcPVvfu3QvcTTZXWFiYJLmS8KZNm+rLL7/UmjVrtG3bNj322GNuA8SiiIyM1HXXXafo6Gh9//33+vrrr/NN/vnAAw/Ix8dH0dHR2rJli1asWKEnn3xSDz74YL5fc0rS5fp5YUaMGKHjx4/rvvvu07fffqvdu3dr6dKlGjp0qLKzs/XNN9/opZde0nfffaf9+/dr4cKFOnr0qGsX5tDQUP3www/asWOHUlNTC/2Vdfr06crOzlb79u318ccfa+fOndq2bZtee+21fLvS52ratKn279+vjz76SLt379Zrr73mNnn22bNnFRMTo5UrV2rfvn1avXq1vv32W1dto0aN0tKlS7Vnzx5t2LBBK1ascNv1Oq9JkyZJkh5//HHNmzdP27Zt06FDh5SZmant27fL09PT9Z6VpAMHDri9Z3P7X2xsrJKTkzVw4MB8u8A++uijki68l9asWaNhw4blGyD6+vq6DpE4cuSIevfurQEDBqhq1apq06aN1q1bp88//7xYv2YX9W8kSRkZGTp8+LAOHz6sbdu26cknn3T9YisVrb+PGTNGEydO1Lx587Rjxw6NHTtWmzZt0siRIyVd+rMit97k5GQdPny42IcY5GrevLkiIyP16KOPat26ddq4caMeffRR+fr6XvKz7sUXX1RISIg6dOigf/7zn/rxxx+1c+dOzZkzRzfccINr74S8mjRpoqysLE2bNk0///yz5s6dq6SkJLdlLtUXx40bp08//VS7du3S1q1b9fnnnxfaT4siLi5O3377rYYPH64ffvhB27dv15tvvqnU1FRVr15dNWvW1MyZM7Vr1y4tX75csbGxbusHBgbK19fXNalt3j1Fc/n7++uJJ57QmDFjtGTJEv34448aNmyYzpw5o4cffviKa4c9GD9V7PGTdOFHDk9PT8ZQjKGKPYZ64403XCHC8uXLtW3bNu3YsUNr1qxRTk6O6xCt+Ph4SdKHH37o9r5t2rSptm/frkqVKikhIUExMTFau3atW38bOXKkPvjgA0nSzJkz9dBDDxUYsFWrVk19+/bVCy+8oJ49e+ree+9VZGSkAgMDVbduXSUmJur7778v9O95McZPjJ+u6fFTkWdzwiXlTv528eXhhx82xlzZ6Xnbt29vxo4d61om7+Rln3zyienQ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MmWK5s6dqwYNGpT4dlNSUvT000+refPm8vPzk7+/vyIiIjRhwoQy9YNiQebMmaNXX31V99xzj959912NHj26xLf566+/avz48WUqBMz9EdPhcGjChAkFLvPAAw/I4XCocuXKpVwdYJ9KdhcAWO35559Xw4YNde7cOf3vf//TO++8o1WrVmnLli3y8fGxu7wr8u233+rUqVN64YUXFBkZWSrbXLRokfr37y+n06nBgwerVatWyszM1KpVqzRmzBht3bpVM2fOLJVaLmfWrFnKyclxa1u+fLluuukmxcfHu9qMMTp79qy8vLxKpI4ff/xRCQkJ6tGjR77B+rJly0pkm0Xl4+OjDz74QIMGDXJr37t3r9asWXPNvjcAAIXLHRPllfdHhQ8++EDz5s3TjTfeqLp165Z2eWXG7t27tW/fPs2aNUuPPPJIqWzz22+/Ve/evXX69GkNGjRIERERkqTvvvtOL7/8sv773//aPnbI9dxzz7kFlNKFcVa9evU0ZcoUt/azZ8+qUqWS+S/mr7/+qoSEBIWGhio8PNztvoLGgqXJx8dHH374oZ577jm39vT0dH366aeMs1DhEDSh3LntttvUtm1bSdIjjzyiWrVqaeLEifrss880YMAAm6u7MkeOHJEkVatWzbLHTE9PL3SvqD179ujee+9VgwYNtHz5ctWpU8d134gRI7Rr1y4tWrTIslquVkHB0ZEjR9SyZUu3NofDYdsXvbe3ty3bzdW7d2999tlnSk1NVa1atVztH3zwgYKCgtS0aVP99ttvNlYIALBa3jFRQV566SXNmjVLXl5euuOOO7Rly5ZSrM4alxrPFFVpj7NOnDihu+66S56entq4caOaN2/udv+LL76oWbNmWVbL1apUqVK+8OjIkSMFvl52jbNK6kfEourdu7cWLlyo77//XmFhYa72Tz/9VJmZmfrjH/+o5cuX21ghULo4dA7lXteuXSVd+LUqr+3bt+uee+5RjRo15OPjo7Zt2+qzzz7Lt/6JEyc0evRohYaGyul0qn79+ho8eLBSU1MlSZmZmRo3bpwiIiJUtWpV+fv7q2vXrlqxYoUl9ffo0UPR0dGSpHbt2snhcLgdUz1//nxFRETI19dXtWrV0qBBg/IdKjhkyBBVrlxZu3fvVu/evVWlShU98MADhW7zlVde0enTpzV79my3kClXkyZNNHLkyELXP378uJ5++mm1bt1alStXVkBAgG677TZ9//33+ZadNm2arr/+evn5+al69epq27atPvjgA9f9p06d0qhRo1yvf2BgoHr27KkNGza4Pb/cPYhyDxXbs2ePFi1a5Nqdee/evYXO0bR9+3YNGDBAtWvXlq+vr5o1a6Znn33Wdf++ffs0fPhwNWvWTL6+vqpZs6b69+/vdojcO++8o/79+0uSbr75Ztd2V65cKang4+iPHDmihx9+WEFBQfLx8VFYWJjeffddt2Vya540aZJmzpypxo0by+l0ql27dvr2228L/RtcrG/fvnI6nZo/f75b+wcffKABAwbI09Mz3zrnz5/XCy+84NpmaGio/vrXvyojI8NtOWOMJkyYoPr168vPz08333yztm7dWmAdJ06c0KhRoxQSEiKn06kmTZpo4sSJl/0Vsij9AABQPHXr1r2q/6AX9bP5m2++Ue/evVW9enX5+/urTZs2+sc//uG2zPLly9W1a1f5+/urWrVq6tu3r7Zt2+a2TO5cQT/++KPuv/9+Va9eXV26dHHd/95777nGRDVq1NC9996rAwcOXPI5DBkyRN27d5ck9e/fXw6Hw+372oq6LjZjxgwdPHhQkydPzhcySVJQUFC+PWPyKs7Y86OPPlJERISqVKmigIAAtW7d2u21z8rKUkJCgpo2bSofHx/VrFlTXbp00Zdffpnv+Um/j0tWrFihrVu35hvvFDRH08GDB/Xwww+rbt26cjqdatiwoZ544gllZmZKKtq4ceXKlWrXrp0kaejQoa7t5o7pCpqjKT09XU899ZRrzNGsWTNNmjRJxhi35RwOh2JiYvTvf/9brVq1ktPp1PXXX68lS5YU+je4WMeOHdWwYUO3Mawkvf/++/rjH/+oGjVqFLjeG2+8oeuvv15Op1N169bViBEjCjxsMncM6Ovrq/bt2+vrr78u8PEyMjIUHx+vJk2ayOl0KiQkRH/5y1/yjd0uVpR+ABQHezSh3MsNA6pXr+5q27p1qzp37qx69epp7Nix8vf317/+9S/169dPH3/8se666y5JFyaU7tq1q7Zt26aHHnpIN954o1JTU/XZZ5/pl19+Ua1atZSWlqa33npL9913n4YNG6ZTp05p9uzZioqK0rp16/Lt2ltczz77rJo1a6aZM2e6doFv3LixpAvhxtChQ9WuXTslJiYqJSVF//jHP7R69Wpt3LjR7Zem8+fPKyoqSl26dNGkSZPk5+dX6Db/85//qFGjRurUqdMV1fzzzz/r3//+t/r376+GDRsqJSVFM2bMUPfu3fXjjz+6ds+fNWuW/vznP+uee+7RyJEjde7cOf3www/65ptvdP/990uSHn/8cS1YsEAxMTFq2bKljh07plWrVmnbtm268cYb8227RYsWmjt3rkaPHq369evrqaeekiTVrl1bR48ezbf8Dz/8oK5du8rLy0uPPvqoQkNDtXv3bv3nP//Riy++KOnC7u1r1qzRvffeq/r162vv3r1688031aNHD/3444/y8/NTt27d9Oc//1mvvfaa/vrXv6pFixauegpy9uxZ9ejRQ7t27VJMTIwaNmyo+fPna8iQITpx4kS+IO+DDz7QqVOn9Nhjj8nhcOiVV17R3XffrZ9//rlI/0nw8/NT37599eGHH+qJJ56QJH3//ffaunWr3nrrLf3www/51nnkkUf07rvv6p577tFTTz2lb775RomJidq2bZs++eQT13Ljxo3ThAkT1Lt3b/Xu3VsbNmxQr169XAPIXGfOnFH37t118OBBPfbYY/rDH/6gNWvWKC4uTocOHdLUqVMLrb+4/QAAIJ08edL1w1iuvHu1Xq2ifDZ/+eWXuuOOO1SnTh2NHDlSwcHB2rZtmz7//HPXd91XX32l2267TY0aNdL48eN19uxZTZs2TZ07d9aGDRvyBQj9+/dX06ZN9dJLL7lCgxdffFF/+9vfNGDAAD3yyCM6evSopk2bpm7duuUbE+X12GOPqV69enrppZf05z//We3atVNQUJBldRXks88+k6+vr+65554reNVV5LHnl19+qfvuu0+33nqrJk6cKEnatm2bVq9e7Xrtx48fr8TERD3yyCNq37690tLS9N1332nDhg3q2bNnvm3Xrl1bc+fO1YsvvqjTp08rMTFRUuHjnV9//VXt27fXiRMn9Oijj6p58+Y6ePCgFixYoDNnzsjb27tI48YWLVro+eef17hx4/Too4+6fkgubKxqjFGfPn20YsUKPfzwwwoPD9fSpUs1ZswYHTx4MN8hf6tWrdLChQs1fPhwValSRa+99pr+9Kc/af/+/apZs2aR/i733Xef3nvvPb388styOBxKTU3VsmXLNHfu3AJDq/HjxyshIUGRkZF64okntGPHDr355pv69ttvtXr1atf4bvbs2XrsscfUqVMnjRo1Sj///LP69OmjGjVqKCQkxPV4OTk56tOnj1atWqVHH31ULVq00ObNmzVlyhT99NNP+ve//11o7cXtB8BlGaCcePvtt40k89VXX5mjR4+aAwcOmAULFpjatWsbp9NpDhw44Fr21ltvNa1btzbnzp1zteXk5JhOnTqZpk2butrGjRtnJJmFCxfm215OTo4xxpjz58+bjIwMt/t+++03ExQUZB566CG3dkkmPj4+X8179uwp0nP79ttvXW2ZmZkmMDDQtGrVypw9e9bV/vnnnxtJZty4ca626OhoI8mMHTv2ktsxxpiTJ08aSaZv376XXTZXgwYNTHR0tOv2uXPnTHZ2ttsye/bsMU6n0zz//POutr59+5rrr7/+ko9dtWpVM2LEiEsuEx0dbRo0aJCvpttvvz1fDZLM22+/7Wrr1q2bqVKlitm3b5/bsrl/X2OMOXPmTL5trl271kgy//znP11t8+fPN5LMihUr8i3fvXt30717d9ftqVOnGknmvffec7VlZmaajh07msqVK5u0tDS3mmvWrGmOHz/uWvbTTz81ksx//vOf/C9IHitWrDCSzPz5883nn39uHA6H2b9/vzHGmDFjxphGjRq56sv7t9i0aZORZB555BG3x3v66aeNJLN8+XJjjDFHjhwx3t7e5vbbb3d7zf76178aSW794oUXXjD+/v7mp59+cnvMsWPHGk9PT1ddxuR/rxSlHwAALsgdNxR0Kcztt9+e77v0ci732Xz+/HnTsGFD06BBA/Pbb7+53Zf3OyM8PNwEBgaaY8eOudq+//574+HhYQYPHuxqi4+PN5LMfffd5/ZYe/fuNZ6enubFF190a9+8ebOpVKlSvvaL5f2uzOtq6ypM9erVTVhYWJGWNSb/GKKoY8+RI0eagIAAc/78+UIfOywsLN946WK5z+/imgoaw138/T148GDj4eHhNobNldsHijpu/Pbbb/ON43JdPBb897//bSSZCRMmuC13zz33GIfDYXbt2uVWs7e3t1vb999/bySZadOm5dvWxXVKMq+++qrZsmWLkWS+/vprY4wx06dPN5UrVzbp6ekmOjra+Pv7u9bLHT/16tXL7bm//vrrRpKZM2eOMeb38X54eLjb33zmzJlGklu/mDt3rvHw8HBtP1dSUpKRZFavXu1qu3jsXpR+ABQHh86h3ImMjFTt2rUVEhKie+65R/7+/vrss89Uv359SRd2z12+fLkGDBigU6dOKTU1VampqTp27JiioqK0c+dO16FnH3/8scLCwlx7OOWVuwuxp6ena/6dnJwcHT9+XOfPn1fbtm1L9LCe7777TkeOHNHw4cPdjoe//fbb1bx58wLnUMrdk+VS0tLSJElVqlS54tqcTqc8PC58vGRnZ+vYsWOqXLmymjVr5vaaVKtWTb/88sslDwGrVq2avvnmG/36669XXE9hjh49qv/+97966KGH9Ic//MHtvryn8fX19XVdz8rK0rFjx9SkSRNVq1btiv/GixcvVnBwsO677z5Xm5eXl/785z/r9OnT+r//+z+35QcOHOi2V17uL3k///xzkbfZq1cv1ahRQx999JGMMfroo4/ctn9xfZIUGxvr1p67h1hu//rqq6+UmZmpJ5980u01GzVqVL7HnD9/vrp27arq1au73nepqamKjIxUdna2/vvf/xZae0n2AwAor6ZPn64vv/zS7WKly302b9y4UXv27NGoUaPy7VGU+51x6NAhbdq0SUOGDHE7vKhNmzbq2bOn6/sor8cff9zt9sKFC5WTk6MBAwa4fb8EBweradOmVzSdgRV1FSYtLe2qxllFHXtWq1ZN6enpl/y7V6tWTVu3btXOnTuvuJ7C5OTk6N///rfuvPPOAucKy+0DRR03FsfixYvl6empP//5z27tTz31lIwx+uKLL9zaIyMjXUcMSBf+zgEBAcUaZ11//fVq06aNPvzwQ0kX9kbv27dvgUcR5I6fRo0a5XrukjRs2DAFBAS4xlm54/3HH3/cbb7PIUOGqGrVqm6POX/+fLVo0ULNmzd3ex/ccsstknTJ90FJ9gNUTARNKHdyB1ULFixQ7969lZqaKqfT6bp/165dMsbob3/7m2rXru12yT1DWe6kkLt37y7SKd/fffddtWnTxnVMc+3atbVo0SKdPHmyZJ6kLswbJEnNmjXLd1/z5s1d9+eqVKmSK2y7lICAAEkX5l24Ujk5OZoyZYqaNm0qp9OpWrVqqXbt2vrhhx/cXpNnnnlGlStXVvv27dW0aVONGDFCq1evdnusV155RVu2bFFISIjat2+v8ePHF+tL/1JyH+dyf+OzZ89q3LhxrmP8c5/PiRMnrvhvvG/fPjVt2tRtcCH9vuv5xX+/i4Ow3NCpOBN4e3l5qX///vrggw/03//+VwcOHHAdolhQfR4eHmrSpIlbe3BwsKpVq+aqL/ffpk2bui1Xu3Ztt2BMknbu3KklS5bke9/lnkkx931XkJLsBwBQXrVv316RkZFul+LKzs7W4cOH3S65h0Zf7rM5d37MS33PXmo806JFC6Wmpio9Pd2t/eIz6e3cuVPGGDVt2jTfd8y2bdsu+f1SknUVJiAg4KrGWVLRxp7Dhw/Xddddp9tuu03169fXQw89lO8Qrueff14nTpzQddddp9atW2vMmDEFHk5/JY4ePaq0tLTLjrOKOm4sjn379qlu3br5Ar2ijrOkC2Ot4p4o5f7779f8+fO1a9curVmz5pLjLCl///L29lajRo0uO87y8vJSo0aN3Np27typrVu35nsPXHfddZIuPc4qyX6Aiok5mlDutG/f3vWrSb9+/dSlSxfdf//92rFjhypXruyadPjpp59WVFRUgY9x8X+uL+W9997TkCFD1K9fP40ZM0aBgYHy9PRUYmJivgnI7ZT316JLCQgIUN26da/qzDMvvfSS/va3v+mhhx7SCy+8oBo1asjDw0OjRo1ym/S5RYsW2rFjhz7//HMtWbJEH3/8sd544w2NGzdOCQkJkqQBAwaoa9eu+uSTT7Rs2TK9+uqrmjhxohYuXKjbbrvtimssjieffFJvv/22Ro0apY4dO6pq1apyOBy69957S+1UugVN1i3pknNAFOT+++9XUlKSxo8fr7CwsHxn5rtY3r2UrlZOTo569uypv/zlLwXenzsQKkhZ6AcAUBEdOHAgX4CyYsUK9ejRw7bP5rx7GksXvl8cDoe++OKLAr8vK1euXGK1XKquwjRv3lybNm1SZmbmFZ2Vtqhjz8DAQG3atElLly7VF198oS+++EJvv/22Bg8e7Dr5SLdu3bR79259+umnWrZsmd566y1NmTJFSUlJeuSRR4pd25Uo6rixJFk1zrrvvvsUFxenYcOGqWbNmurVq5cV5RVJTk6OWrdurcmTJxd4f975nC5WFvoByheCJpRruV+6N998s15//XWNHTvWlf57eXld9pe9xo0bXzZwWbBggRo1aqSFCxe6/ac8d++oktKgQQNJ0o4dO1y7xObasWOH6/4rcccdd2jmzJlau3atOnbsWOz1FyxYoJtvvlmzZ892az9x4kS+SUj9/f01cOBADRw4UJmZmbr77rv14osvKi4uznVIYJ06dTR8+HANHz5cR44c0Y033qgXX3zxqgexuX2hKH/j6Oho/f3vf3e1nTt3Lt9ZQYoTyjRo0EA//PCDcnJy3ALA7du3u+4vCV26dNEf/vAHrVy50jUxaGH15eTkaOfOnW4TfKakpOjEiROu+nL/3blzp9sva0ePHs33K2Djxo11+vTpK/pFXSq5fgAAKFxwcHC+Q6/ynr79Up/NuYcibdmypdDP/rzjmYtt375dtWrVkr+//yVrbNy4sYwxatiw4SV/tCgOK+oqzJ133qm1a9fq448/LvQQ9kspztjT29tbd955p+68807l5ORo+PDhmjFjhv72t7+5flitUaOGhg4dqqFDh+r06dPq1q2bxo8ff9UBQ+3atRUQEFCkcVZRxo3FHWd99dVXOnXqlNteTSU9zvrDH/6gzp07a+XKlXriiSdUqVLB/93O27/yjp8yMzO1Z88e1/sl7zgr73g/KytLe/bscXsvNm7cWN9//71uvfXWK/qhsKT6ASomDp1DudejRw+1b99eU6dO1blz5xQYGKgePXpoxowZOnToUL7l856Z7E9/+pO+//57tzNs5cr9hSP3F5C8v3h88803Wrt2rdVPxU3btm0VGBiopKQkt1OWfvHFF9q2bZtuv/32K37sv/zlL/L399cjjzyilJSUfPfv3r0732mJ8/L09Mz3C9D8+fNdc1/lOnbsmNttb29vtWzZUsYYZWVlKTs7O98u04GBgapbt+5lT9NaFLVr11a3bt00Z84c7d+/3+2+vPUX9HymTZum7Oxst7bcAWdBp6W9WO/evXX48GHNmzfP1Xb+/HlNmzZNlStXdp1q2WoOh0Ovvfaa4uPj9eCDD16yPkn5zgSX+ytZbv+KjIyUl5eXpk2b5vYaFXQGuQEDBmjt2rVaunRpvvtOnDih8+fPF1hLSfcDAEDhfHx88h1+V7169SJ9Nt94441q2LChpk6dmu+7Mfc7o06dOgoPD9e7777rtsyWLVu0bNky1/fRpdx9993y9PRUQkJCvu9rY0y+8UZRWFFXYR5//HHVqVNHTz31lH766ad89x85ckQTJkwodP2ijj0vft4eHh5q06aNJLn+RhcvU7lyZTVp0sSS71cPDw/169dP//nPf/Tdd9/luz/vWLoo48bijrOys7P1+uuvu7VPmTJFDoejRH+kmjBhguLj4/Xkk08WukxkZKS8vb312muvuT332bNn6+TJk65xVtu2bVW7dm0lJSW5nc33nXfeyfc6DBgwQAcPHtSsWbPybe/s2bP5DvXMqyT7ASom9mhChTBmzBj1799f77zzjh5//HFNnz5dXbp0UevWrTVs2DA1atRIKSkpWrt2rX755Rd9//33rvUWLFig/v3766GHHlJERISOHz+uzz77TElJSQoLC9Mdd9yhhQsX6q677tLtt9+uPXv2KCkpSS1bttTp06dL7Dl5eXlp4sSJGjp0qLp376777rtPKSkp+sc//qHQ0FCNHj36ih+7cePG+uCDDzRw4EC1aNFCgwcPVqtWrZSZmak1a9Zo/vz5GjJkSKHr33HHHXr++ec1dOhQderUSZs3b9b777+f71jyXr16KTg4WJ07d1ZQUJC2bdum119/XbfffruqVKmiEydOqH79+rrnnnsUFhamypUr66uvvtK3337rtnfR1XjttdfUpUsX3XjjjXr00UfVsGFD7d27V4sWLdKmTZtcz2fu3LmqWrWqWrZsqbVr1+qrr77Kd7rb8PBweXp6auLEiTp58qScTqduueUWBQYG5tvuo48+qhkzZmjIkCFav369QkNDtWDBAq1evVpTp069qklCL6dv377q27fvJZcJCwtTdHS0Zs6cqRMnTqh79+5at26d3n33XfXr108333yzpAth3dNPP63ExETdcccd6t27tzZu3Kgvvvgi395rY8aM0WeffaY77rhDQ4YMUUREhNLT07V582YtWLBAe/fuLfC026dOnSrxfgAAFdEPP/ygzz77TNKFOSxPnjzpCjjCwsJ05513FrpuUT6bPTw89Oabb+rOO+9UeHi4hg4dqjp16mj79u3aunWr64eHV199Vbfddps6duyohx9+WGfPntW0adNUtWpVjR8//rLPo3HjxpowYYLi4uK0d+9e9evXT1WqVNGePXv0ySef6NFHH9XTTz9d7NfnausqTPXq1fXJJ5+od+/eCg8P16BBgxQRESFJ2rBhgz788MNL7lFe1LHnI488ouPHj+uWW25R/fr1tW/fPk2bNk3h4eGuvZVbtmypHj16KCIiQjVq1NB3332nBQsWKCYm5oqfX14vvfSSli1bpu7du+vRRx9VixYtdOjQIc2fP1+rVq1StWrVijxubNy4sapVq6akpCRVqVJF/v7+6tChQ4FzY9155526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Dpr69etXpOWYowkAAODyfvnlF0lS/fr1ba4EAADAOh6XX+SCnJycIl0ImQAAAAqWk5Oj559/XlWrVlWDBg3UoEEDVatWTS+88IJycnLsLg8AAOCqFXmPJgAAAFydZ5991nXWuc6dO0uSVq1apfHjx+vcuXN68cUXba4QAADg6lxx0JSenq7/+7//0/79+5WZmel235///OerLgwAAKC8effdd/XWW2+5zWfZpk0b1atXT8OHDydoAgAA17wrCpo2btyo3r1768yZM0pPT1eNGjWUmpoqPz8/BQYGEjQBAAAU4Pjx42revHm+9ubNm+v48eM2VAQAAGCtKwqaRo8erTvvvFNJSUmqWrWq/ve//8nLy0uDBg3SyJEjra4RAACgXAgLC9Prr7+u1157za399ddfV1hYmE1VAQBK25Qvf7K7hFKXcfaM6/q05J1y+vrZWI19Rve8zu4SStwVBU2bNm3SjBkz5OHhIU9PT2VkZKhRo0Z65ZVXFB0drbvvvtvqOgEAAK55r7zyim6//XZ99dVX6tixoyRp7dq1OnDggBYvXmxzdQAAAFevyGedy8vLy0seHhdWDQwM1P79+yVJVatW1YEDB6yrDgAAoBzp3r27duzYobvuuksnTpzQiRMndPfdd2vHjh3q2rWr3eUBAABctSvao+mGG27Qt99+q6ZNm6p79+4aN26cUlNTNXfuXLVq1crqGgEAAMqNevXqMek3AAAot65oj6aXXnpJderUkSS9+OKLql69up544gkdPXpUM2bMsLRAAACA8uLtt9/W/Pnz87XPnz9f7777rg0VAQAAWOuK9mhq27at63pgYKCWLFliWUEAAADlVWJiYoE/ygUGBurRRx9VdHS0DVUBAABY54r2aNqzZ4927tyZr33nzp3au3fv1dYEAABQLu3fv18NGzbM196gQQPXnJcAAADXsisKmoYMGaI1a9bka//mm280ZMiQq60JAACgXAoMDNQPP/yQr/37779XzZo1bagIAADAWlcUNG3cuFGdO3fO137TTTdp06ZNV1sTAABAuXTffffpz3/+s1asWKHs7GxlZ2dr+fLlGjlypO699167ywMAALhqVzRHk8Ph0KlTp/K1nzx5UtnZ2VddFAAAQHn0wgsvaO/evbr11ltVqdKFYVhOTo4GDx6sl156yebqAAAArt4VBU3dunVTYmKiPvzwQ3l6ekqSsrOzlZiYqC5dulhaIAAAQHnh7e2tefPmacKECdq0aZN8fX3VunVrNWjQwO7SAAAALHFFQdPEiRPVrVs3NWvWTF27dpUkff3110pLS9Py5cstLRAAUHZN+fInu0uwRcbZM67r05J3yunrZ2M19hjd8zq7S7imNW3aVE2bNlV2drY2b96sgIAAVa9e3e6yAAAArtoVzdHUsmVL/fDDDxowYICOHDmiU6dOafDgwdq+fbtatWpldY0AAADlwqhRozR79mxJF/YG7969u2688UaFhIRo5cqV9hYHAABggSvao0mS6taty1wCAAAAxbBgwQINGjRIkvSf//xHP//8s7Zv3665c+fq2Wef1erVq22uEAAA4Opc0R5N0oVD5QYNGqROnTrp4MGDkqS5c+dq1apVlhUHAABQnqSmpio4OFiStHjxYg0YMEDXXXedHnroIW3evNnm6gAAAK7eFQVNH3/8saKiouTr66sNGzYoIyND0oWzzrGXEwAAQMGCgoL0448/Kjs7W0uWLFHPnj0lSWfOnHGdYAUAAOBadkVB04QJE5SUlKRZs2bJy8vL1d65c2dt2LDBsuIAAADKk6FDh2rAgAFq1aqVHA6HIiMjJUnffPONmjdvbnN1AAAAV++K5mjasWOHunXrlq+9atWqOnHixNXWBAAAUC6NHz9erVq10oEDB9S/f385nU5Jkqenp8aOHWtzdQAAAFfvioKm4OBg7dq1S6GhoW7tq1atUqNGjayoCwAAoFy65557JEm//PKLcnJy5OHhoejoaJurAgAAsMYVHTo3bNgwjRw5Ut98840cDod+/fVXvf/++3rqqaf0xBNPWF0jAABAudOyZUvt3bvX7jIAAAAsdUV7NI0dO1Y5OTm69dZbdebMGXXr1k1Op1NjxozRI488YnWNAAAA5Y4xxu4SAAAALHdFezQ5HA49++yzOn78uLZs2aL//e9/Onr0qKpWraqGDRtaXSMAAAAAAACuAcUKmjIyMhQXF6e2bduqc+fOWrx4sVq2bKmtW7eqWbNm+sc//qHRo0eXVK0AAADlxl//+lfVqFHD7jIAAAAsVaxD58aNG6cZM2YoMjJSa9asUf/+/TV06FD973//09///nf1799fnp6eJVUrAABAuREXF2d3CQAAAJYr1h5N8+fP1z//+U8tWLBAy5YtU3Z2ts6fP6/vv/9e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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\".//static//csv//Yamana_Gold_Inc._AUY.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "numerical_cols = [\"Open\", \"Close\", \"High\", \"Low\"]\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['Volume']\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['Volume'] > df['Volume'].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 +}