diff --git a/lab_3/lab3.ipynb b/lab_3/lab3.ipynb new file mode 100644 index 0000000..62ce97d --- /dev/null +++ b/lab_3/lab3.ipynb @@ -0,0 +1,1110 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Данные по инсультам\n", + "\n", + "Выведем информацию о столбцах датасета:" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['id', 'gender', 'age', 'hypertension', 'heart_disease', 'ever_married',\n", + " 'work_type', 'Residence_type', 'avg_glucose_level', 'bmi',\n", + " 'smoking_status', 'stroke'],\n", + " dtype='object')\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idgenderagehypertensionheart_diseaseever_marriedwork_typeResidence_typeavg_glucose_levelbmismoking_statusstroke
09046Male67.001YesPrivateUrban228.6936.6formerly smoked1
151676Female61.000YesSelf-employedRural202.21NaNnever smoked1
231112Male80.001YesPrivateRural105.9232.5never smoked1
360182Female49.000YesPrivateUrban171.2334.4smokes1
41665Female79.010YesSelf-employedRural174.1224.0never smoked1
\n", + "
" + ], + "text/plain": [ + " id gender age hypertension heart_disease ever_married \\\n", + "0 9046 Male 67.0 0 1 Yes \n", + "1 51676 Female 61.0 0 0 Yes \n", + "2 31112 Male 80.0 0 1 Yes \n", + "3 60182 Female 49.0 0 0 Yes \n", + "4 1665 Female 79.0 1 0 Yes \n", + "\n", + " work_type Residence_type avg_glucose_level bmi smoking_status \\\n", + "0 Private Urban 228.69 36.6 formerly smoked \n", + "1 Self-employed Rural 202.21 NaN never smoked \n", + "2 Private Rural 105.92 32.5 never smoked \n", + "3 Private Urban 171.23 34.4 smokes \n", + "4 Self-employed Rural 174.12 24.0 never smoked \n", + "\n", + " stroke \n", + "0 1 \n", + "1 1 \n", + "2 1 \n", + "3 1 \n", + "4 1 " + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "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\n", + "from imblearn.over_sampling import RandomOverSampler\n", + "from sklearn.preprocessing import StandardScaler\n", + "import featuretools as ft\n", + "import time\n", + "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "from sklearn.model_selection import cross_val_score\n", + "\n", + "df = pd.read_csv(\"..//..//static//csv//healthcare-dataset-stroke-data.csv\")\n", + "\n", + "print(df.columns)\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Определим бизнес цели и цели технического проекта.\n", + "\n", + "1. Улучшение диагностики и профилактики инсульта.\n", + " * Бизнес-цель: повышение точности прогнозирования риска инсульта среди пациентов для более раннего лечебного вмешательства. Определение основных факторов риска для более целенаправленного подхода в медицинском обслуживании.\n", + " * Цель технического проекта: разработка статистической модели, которая решает задачу классификации и предсказывает возможность возникновения инсульта у пациентов на основе имеющихся данных (возраст, гипертония, заболевания сердца и пр.), с целью выявления групп риска. Внедрение этой модели в систему поддержки принятия медицинских решений для врачей.\n", + "2. Снижение расходов на лечение инсультов.\n", + " * Бизнес-цель: снижение затрат на лечение инсульта путем более эффективного распределения медицинских ресурсов и направленных профилактических мер.\n", + " * Цель технического проекта: создание системы оценки индивидуального риска инсульта для пациентов, что позволит медучреждениям проводить профилактические меры среди целевых групп, сокращая расходы на лечение.\n", + "\n", + "### И теперь проверим датасет на пустые значения:" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "id 0\n", + "gender 0\n", + "age 0\n", + "hypertension 0\n", + "heart_disease 0\n", + "ever_married 0\n", + "work_type 0\n", + "Residence_type 0\n", + "avg_glucose_level 0\n", + "bmi 201\n", + "smoking_status 0\n", + "stroke 0\n", + "dtype: int64\n", + "\n", + "id False\n", + "gender False\n", + "age False\n", + "hypertension False\n", + "heart_disease False\n", + "ever_married False\n", + "work_type False\n", + "Residence_type False\n", + "avg_glucose_level False\n", + "bmi True\n", + "smoking_status False\n", + "stroke False\n", + "dtype: bool\n", + "\n", + "bmi процент пустых значений: %3.93\n" + ] + } + ], + "source": [ + "# Количество пустых значений признаков\n", + "print(df.isnull().sum())\n", + "\n", + "print()\n", + "\n", + "# Есть ли пустые значения признаков\n", + "print(df.isnull().any())\n", + "\n", + "print()\n", + "\n", + "# Процент пустых значений признаков\n", + "for i in df.columns:\n", + " null_rate = df[i].isnull().sum() / len(df) * 100\n", + " if null_rate > 0:\n", + " print(f\"{i} процент пустых значений: %{null_rate:.2f}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "В столбце bmi можно заметить пустые значение. Заменим их на медиану:" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Количество пустых значений в каждом столбце после замены:\n", + "id 0\n", + "gender 0\n", + "age 0\n", + "hypertension 0\n", + "heart_disease 0\n", + "ever_married 0\n", + "work_type 0\n", + "Residence_type 0\n", + "avg_glucose_level 0\n", + "bmi 0\n", + "smoking_status 0\n", + "stroke 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "# Замена значений\n", + "df[\"bmi\"] = df[\"bmi\"].fillna(df[\"bmi\"].median())\n", + "\n", + "# Проверка на пропущенные значения после замены\n", + "missing_values_after_drop = df.isnull().sum()\n", + "\n", + "# Вывод результатов после замены\n", + "print(\"\\nКоличество пустых значений в каждом столбце после замены:\")\n", + "print(missing_values_after_drop)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Удалим из датафрейма столбец id, потому что нет смысла учитывать его при предсказании:" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['gender', 'age', 'hypertension', 'heart_disease', 'ever_married',\n", + " 'work_type', 'Residence_type', 'avg_glucose_level', 'bmi',\n", + " 'smoking_status', 'stroke'],\n", + " dtype='object')\n" + ] + } + ], + "source": [ + "df = df.drop('id', axis=1)\n", + "print(df.columns)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Можно перейти к созданию выборок" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Размер обучающей выборки: (2503, 10)\n", + "Размер контрольной выборки: (1074, 10)\n", + "Размер тестовой выборки: (1533, 10)\n" + ] + } + ], + "source": [ + "# Разделение данных на признаки (X) и целевую переменную (y)\n", + "# В данном случае мы хотим предсказать 'stroke'\n", + "X = df.drop(columns=['stroke'])\n", + "y = df['stroke']\n", + "\n", + "# Разбиение данных на обучающую и тестовую выборки\n", + "# Сначала разделим на обучающую и тестовую\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)\n", + "\n", + "# Затем разделим обучающую выборку на обучающую и контрольную\n", + "X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.3)\n", + "\n", + "# Проверка размеров выборок\n", + "print(\"Размер обучающей выборки:\", X_train.shape)\n", + "print(\"Размер контрольной выборки:\", X_val.shape)\n", + "print(\"Размер тестовой выборки:\", X_test.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Оценим сбалансированность выборок:" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Распределение классов в обучающей выборке:\n", + "stroke\n", + "0 0.95006\n", + "1 0.04994\n", + "Name: proportion, dtype: float64\n", + "\n", + "Распределение классов в контрольной выборке:\n", + "stroke\n", + "0 0.951583\n", + "1 0.048417\n", + "Name: proportion, dtype: float64\n", + "\n", + "Распределение классов в тестовой выборке:\n", + "stroke\n", + "0 0.953033\n", + "1 0.046967\n", + "Name: proportion, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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yx8+fNipdi8vL7Vv3z7P7d57773y8vLSqFGjnOo3xujIkSP22xcuXNCnn36qBg0a5DlFRpcuXZSdna0XXnjB6b4LFy7Ypz+5FikpKfr888/1yiuv5Bpid+nSRfv379f06dOd7jt79qxOnz591ds9e/asJDlM/5CbCxcuaOrUqfbbWVlZmjp1qkJCQhQTEyNJ9rPnL33M165dq5SUlCuuPz093amWzz//XGfPnnUKU13Jzs7W8OHD1b1791y/HZDD399fDRs2VFxcnOLi4pym1bgRcr6t4OobBdLF/4U5c+bolVde0TPPPKOuXbvqueeeswfAVyu/z2VedbVs2VK+vr568803Hb7xMXv2bKWlpdn/7+rVq6fQ0FBNmTLFYXtfffWVtm3bpoSEBKd1X/raYozRpEmT5O3t7TSVSGxsrKSLU+WMGTNGs2bN0tKlS+33e3l5ycPDw2Eapt27d7v8EOlGP8YAAADuxhndAADgH6t9+/YaPXq0evfurcaNG2vz5s2aPXu2U7DXs2dPffDBBxoyZIjWrVun2NhYnT59WsuXL1f//v3VsWPHa9p+8eLFdeedd6p3795KS0vT+PHjVbFiRfXp00fSxbl733nnHbVt21bVq1dX7969VapUKe3fv18rV65UkSJF9MUXX+j06dOaPHmy3nzzTVWuXFmrVq2ybyMnIP/ll1+UkpKiRo0aqUKFCnrxxRc1bNgw7d69W506dVLhwoWVmpqq+fPnq2/fvvrPf/6j5cuX6/nnn9cvv/yiL774Is99adq0qfr166fk5GRt2rRJrVu3lre3t3bs2KG5c+dqwoQJuu+++67pcVq6dKlatWqV51ntDzzwgD755BM98sgjWrlypZo0aaLs7Gz99ttv+uSTT7RkyZIrnumelpZmnxokPT1dU6dOVaFCha74wYH0/8Hj7t27VblyZc2ZM0ebNm3StGnT7N8CaN++vT777DPdc889SkhIUGpqqqZMmaJq1ao5fJAxevRo7d+/XzVq1JCvr682btyomTNnqlatWqpVq5bOnDmjpKQkvfXWW2rcuLFat259xfr27dsnHx8f+4VOb7bt27dr8eLFstls2rp1q8aOHav69evbLwx7qUOHDunRRx9V8+bN7VOjTJo0SStXrlSvXr303XffXXF6jV27dtmfy/3792vSpEkqUqSIU3B8NXUVL15czz33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29y3b5+8vLyUnJwsSerVq5fLr9N6eHho5MiR9tt//vmn+vfvrypVqsjf318lSpRQ586dtXv3boflVq1aJQ8PD61atcre9uOPP6pVq1YqXLiwAgMD1axZM61evdphuffee08eHh5av369vS09Pd2pDklq3769U82rV69W586dVbZsWfn6+qpMmTIaPHiwzp4967Rv8+bNU7169VS4cGF5eHjYf1577TWnvq5qzPkJCAhQzZo19c477zj069Wrl4KCgvJc1+X7lZ/nNcehQ4f00EMPKSwsTH5+fqpdu7bef/99hz67d++279Mbb7yhyMhI+fv7q2nTptqyZYtTvZc/nrNmzZKnp6deeeUVe9svv/yiXr16qXz58vLz81N4eLgefPBBHTlyJM99BQAr27Rpkzp27KiIiAgtWbLEZcg9d+5cxcTEyN/fX8HBwfr3v/+t/fv3O/TJbWyYN2+ew7jZrFkzh7HG1U8ODw8PDRw4ULNnz1aVKlXk5+enmJgYffvtt07b+emnn9S2bVsVKVJEQUFBatmypX744QeX+5xbDe+9955Dnxo1alzx8cup8XKuxvLXXntNjRs3VokSJeTv76+YmBjNmzfPadlTp07pySefVPny5eXt7e1QY3p6ep71XL5vwcHBSkhIcBobc6s7R84xQc5x0I8//iibzaasrCzVq1dPfn5+KlGihLp166Y9e/Y4Lf/1118rNjZWgYGBKlasmDp27Kht27Y59Bk5cqQ8PDz022+/qUuXLipSpIhKlCihJ554QufOnXOq99LjigsXLqhdu3YqXry4tm7dam+fOXOmWrRoodDQUPn6+qpatWp6++2383zMAAAXZWZmKikpSRUrVrS/53zqqaeUmZnp1HfWrFlq0KCBAgICdNttt+muu+7S0qVLJUlRUVF5jvOXjo+nT5/Wk08+qTJlysjX11dVqlTRa6+95hTGX7q8l5eXSpUqpb59++r48eP2PllZWRoxYoRiYmJUtGhRBQYGKjY2VitXrnSqP+c9Z9myZeXl5WVf95Xe516+f56engoPD9f999/vMB5e+n41NznjYI4ffvhBfn5+2rlzp6pXry5fX1+Fh4erX79+Onr0qNPyV3N8tmvXLsXHxyswMFAlS5bU6NGjHR7jnHovPRY6efKkYmJiVK5cOR04cMDent/jGcAVpi6BpX3xxReKiopSbGys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LpjMzEyHPseOHTNhYWHmwQcftLedPXvWeHp6mn79+jn0zc/7XGOMiYyMNImJiQ5t3bt3NwEBAfbb+XkPnjMOXn67ZcuW5sKFC/b2nDF44sSJxpirPz6TZB577DF7m81mMwkJCcbHx8d+XHHpsZDNZjM9evQwAQEBZu3atU515/d4BnCFqUtgWSdPnpQkFS5cOM9+OfdnZGTY2+rXr6+mTZvab/v7+6t///46ePCg/RPWuLg4lSxZUrNnz7b327Jli3755Rf9+9//treFhobq0KFDysrKyrMOf39/++/nz5/XkSNHVLFiRRUrVszlp7onTpzQoUOHtGzZMsXHxztclKlEiRLq1auXNmzYoLS0tDy3m1+X1nf69Gmlp6ercePGMsbop59+st938uRJeXp6XvUZdpc6duyY0tPTtWvXLr3xxhvy8vJyeD5ypKenKz093enrxbnJz/O6aNEihYeH28/wliRvb289/vjjOnXqlL755huHdXbq1MnhIh0NGjRQw4YNtWjRIqft79q1SwkJCapTp44+/PBDeXo6vsRe+hifO3dO6enpuuOOOyQp35/sA4BV9OrVS3v37lX37t21dOlSh28H5Vi/fr0OHTqk/v37y8/Pz96ekJCg6Ohoh29k5cgZG3J+co4HrlWjRo0UExNjv122bFl17NhRS5YsUXZ2trKzs7V06VJ16tTJfr0PSYqIiFD37t313XffORxjSBe/2pxzRlResrOz7fuR13FEzphx6c/58+ed+l06zhw7dkwnTpxQbGys0xhz8uRJlShR4or15eb8+fNKT0/X4cOHlZKSovnz56tWrVr2M64vr/vIkSOy2Wz5WveAAQMc9qNZs2aKiYmx/y0cOHBAmzZtUq9evVS8eHF7v1q1aqlVq1Yux+fLz7R+7LHHJMll30mTJik5OVlvvvmmOnbs6HT/pbWdOHFC6enpatq0qXbt2qUTJ07kax8B4J9o7ty5qlq1qqKjox3GsxYtWkiSffqPBQsWyGazacSIEU7vp672G7CLFi2Sl5eXHn/8cYf2J598UsYYffXVVw7tZ86cUXp6ug4ePKhPP/1UP//8s1q2bGm/38vLSz4+PpIunqF+9OhRXbhwQfXq1XMYa0+fPi2bzXZdY21mZqbS09PtmcDXX3/tUMvlNR87dizfc6MPGTLE4VvrDzzwgMLCwuxj7bUcn106XVnO9GVZWVlavny5U9+hQ4dq9uzZ+uSTT9SgQQOn+/N7PAO4QtANy8oJsK/0BtdVIB4dHe3UL+drTjlzRXp6eqpHjx5asGCBzpw5I0maPXu2/Pz81LlzZ/tyjRs31rlz5/Tcc89p37599gH7cmfPntWIESPsc4MFBwcrJCREx48fd/nGqFOnTgoLC1NGRoaqVKlyxXqv1549e+xvGoOCghQSEmIPjS+tr1GjRrLZbHriiSe0c+dO+6B6NW6//XaFhISoQoUKmjFjhiZNmuQ0wJ0+fVohISEKCQmRv7+/ypYtqwkTJuS53vw8r3/++acqVarkdNCU0+/PP/90aK9UqZLTOitXruz0uJ8+fVrx8fFKS0vT0aNHXR6EHT16VE888YTCwsLk7++vkJAQlStXTpJ4cwzglnP06FHNmjVL77//vurUqaMnnnjC6bUu5zXX1TgXHR3t9Jp86diQ8/Pggw9eV525vc6fOXNGhw8f1uHDh3XmzJlcx2Kbzaa9e/c6tB8/fjxfc3D+9ttvDmNdlSpV9NFHHzn1e/fdd532O2ee0kt9+eWXuuOOO+Tn56fixYsrJCREb7/9ttPj3qhRI82fP1/z5s3TgQMHlJ6ebj/WyY/vv/9eISEhCg0NVePGjXXhwgXNnTvXaezLqTs4OFj+/v666667HK4lcqmcZXMbyy8dxyXXfzNVq1ZVenq6Tp8+7dB++XNcoUIFeXp6Oo3lX331lX0KM1dzlUrSmjVrFBcXZ58bPCQkRMOHD5fEWA4AedmxY4d+/fVXp/GscuXKki7OaS1dnPbM09PTYdqoa/Xnn3+qZMmSTifH5fbeb+zYsQoJCVFERITuu+8+xcbGasyYMQ593n//fdWqVct+LYmQkBAtXLjQYQwoUaKEKlWqpHfeeUdLly7VoUOHlJ6e7nIu8tx8/PHHCgkJUVhYmFq3bq0yZco4XdtKkpKSkhQSEqLixYsrICBACQkJ2rFjh8t15jbWenl5qVKlSvkaa10dn3l6ejqcDCDJ/rxePtZOnTpVr7/+uiTlmiPk93gGcIU5umFZRYsWVUREhH755Zc8+/3yyy8qVaqUihQpIsnx08Er6dmzp8aOHasFCxaoW7du+uijj9S+fXuHC2l16NBBDz74oMaOHauxY8fmuq7HHntMM2fO1KBBg9SoUSMVLVpUHh4e6tq1q8uznF577TVVqlTJ5dlEN1p2drZatWqlo0eP6umnn1Z0dLQCAwO1f/9+9erVy6G+rl27auPGjZo4caKmTZt2TdubNWuWwsLCdO7cOX399dcaMGCA/Pz81KtXL3sfPz8/ffHFF5IuflgxY8YMDRo0SBEREerSpYvTOq/mef07pKenKzAwUF988YU6deqk5ORkJSUlOfTp0qWLvv/+ew0dOlR16tRRUFCQbDab2rRpk+8z3QDAKsaOHWv/YHjatGm64447NGzYML311lvXvM5Lx4Ycq1evznX+R3c5ePCg4uPjr9gvKipK06dPl3Rx3sw333xTDzzwgMqXL2//xo8kdezY0enCjs8995wOHjxov7169Wp16NBBd911l9566y1FRETI29tbM2fOdArPp02bpm7dujl8cH81atWqZX+TmjOPdrNmzbRx40aFh4c71W2MUWpqqkaPHq327du7fAN+M8fx3M4IXLdunfr06aPAwEC9+OKL6ty5s8Ob/J07d6ply5aKjo7WuHHjVKZMGfn4+GjRokV64403GMsBIA82m001a9bUuHHjXN5fpkyZm1yRswceeEA9e/aUzWbTrl279MILL6h9+/Zavny5PDw8NGvWLPXq1UudOnXS0KFDFRoaKi8vLyUnJ2vnzp0O65ozZ4569OjhdDwQGBiYr1pat26toUOHSpL27dunMWPGqHnz5lq/fr3DmNm3b1917txZ2dnZ2rZtm0aOHKlOnTrp119/dVqnu98zSxcviPnSSy/pxx9/1ODBg9WmTRuHb4RdzfEM4ApBNyytffv2mj59ur777jvdeeedTvevXr1au3fvVr9+/ext5cqV0/bt2536/vbbb5LkcAGjGjVqqG7dupo9e7ZKly6tPXv2aOLEiU7LvvvuuxoxYoR27txpf5PTqlUrhz7z5s1TYmKi/Y2hdPErvZdexflSMTExatq0qYKCgvJd77XavHmzfv/9d73//vvq2bOnvX3ZsmVOfT09PfXaa69p8+bNSk1N1VtvvaW0tDSH6VyupEmTJva627dvr19//VXJyckOQbeXl5fDxSkTEhJUvHhxLV682GXQnd/nNTIyUr/88otsNpvDWd05/SIjIx2Wd/Vm/Pfff3d63AMCArR48WJFR0dr8ODBevnll9WlSxf72QLHjh3TihUrNGrUKI0YMSLP9QPAreDSiyXXr19fAwYM0OTJk9WzZ097iJvzmrt9+3b7V5dzbN++3ek1+fKxQVKu42h+5fY6HxAQoJCQEEkXX+NzG2M8PT0d3pzv27dPJ0+etL/+5yUwMNBhf2JjY1WqVCktXbrUIeguXbq0036PHz/eIej+9NNP5efnpyVLljhMmzJz5kyn7UZFRWnWrFmqWbOmHnzwQXXq1EkffPCB/WJbV3Lbbbc51NOsWTOVLFlSM2fO1LBhw3KtOygoSD169HCYEi1HzjecXP0t/Pbbbw7jeE6/y/32228KDg52ChF27NhhX7908ULfNpvNaSxv1aqV3n77bZ07d04LFixQ3759tWrVKnsw/sUXXygzM1P/+9//VLZsWftyOV+3BwDkrkKFCvapQPKagqRChQqy2WzaunWrw8Udr0VkZKSWL1+ukydPOpzVndt7v/LlyzuMW0WLFlX37t31ww8/qFGjRpo3b57Kly+vzz77zGEfLj/BSZLq1q2r6dOnKzY2VqNHj9Ydd9yhsWPHas2aNfmqPSIiwqGWKlWqqHHjxvaT8HJUqlTJ3i8+Pl5nzpzRs88+6/IC0ZeOtZeegW2z2bRjxw7VrVvX4XHJ7/FZzgcDOWdxSxePpSTnvOLBBx/U8OHD9ddff6latWoaPHiww/HH1RzPAK4wdQksbejQofL391e/fv105MgRh/uOHj2qRx55RAEBAfZPQiWpXbt2Wrdunb7//nt727lz5/T2228rPDzcYZ5O6eKnukuXLtX48eNVokQJtW3b1mUtkZGRatGiheLi4pzejEoX35xfPmfWxIkTlZ2dnev+eXh4qHXr1lqyZIm2bdvmsG/vv/++6tWrp7CwsFyXz6+c+bkurc8Yk+tUIRMnTtTXX3+t2bNnKy4uTk2aNLmu7Z89e/aKX+PKqe3SucQuld/ntV27djp48KDmzJlj73fhwgVNnDhRQUFBTnOFL1iwQPv377ffXrdundauXev0dxASEmL/Ctjo0aNVunRp9enTx6nuy/8Gxo8fn+d+A8Ct4qWXXlJERIT69u2rCxcuSJLq1aun0NBQTZkyxWEc+Oqrr7Rt2zYlJCT87XWlpKQ4zPm4d+9eff7552rdurW8vLzk5eWl1q1b6/PPP3f4+m1aWpo++ugj3XnnnfZvjUkXv2osyemNYX7kfFie21iXFy8vL3l4eDgcV+zevVsLFixw6nvhwgX16NFD1atX1xtvvKG4uDinrxxfjbNnz0rSFcfyvPavbt26Cg8Pd/pbWL16tdavX6/27dtLuvjGv06dOnr//fcdPuTYsmWLli5dqnbt2jmte/LkyQ63c05auHwsb9y4sby8vBQYGKgpU6bo22+/tZ9xf2ndl47lJ06c4M03AORDly5dtH//fofX1Rxnz561TzvVqVMneXp6avTo0U7flMnvHNQ52rVrp+zsbE2aNMmh/Y033pCHh0eu7+0vrUv6//HN1Tiwdu1apaSkOC2bkZGhBx54QB06dNBzzz2nuLg4RUREXFX9edWSm7zG2pYtW8rX11dvvvmmw2M7e/ZspaWl2cfaazk+u/QxNsZo0qRJ8vb2dppXPDY2VpJUsmRJjRkzRrNmzXKYju1qjmcAVzijG5ZWqVIlvf/+++rRo4dq1qyphx56SOXKldPu3bv17rvvKj09Xf/9739VoUIF+zJPPfWUZs+erbZt2+rxxx9XcHCwZs2apa1bt2r27NkqVMjx36J79+566qmnNH/+fD366KPy9va+plrbt2+vDz/8UEWLFlW1atWUkpKi5cuXX/ECFS+88IKWLFmipk2b6rHHHlNAQICmT5+u48ePa968eU79U1JS7HOE51wc648//tDixYvtfQ4fPqyzZ89q8eLFatOmjaKjo1WhQgX95z//0f79+1WkSBF9+umnLufM+vXXX/XUU09p5MiRql+//jU9FgsWLFBwcLB96pLVq1dr0KBBDn2ys7PtNZ88eVIzZ87U6dOn1alTJ5frzO/z2rdvX02dOtV+Mc+oqCjNmzdPa9as0fjx453mb6tYsaLuvPNOPfroo8rMzLR/4PHUU0/lun/+/v6aNm2a4uLi9Pbbb6t///4qUqSI7rrrLr366qs6f/68/Yy91NTUa3oMAcBqChcurIkTJ+ree+/V66+/rqefflre3t4aM2aMevfuraZNm6pbt25KS0vThAkTFBUVpcGDB//tddWoUUPx8fF6/PHH5evra59aZdSoUfY+L774opYtW6Y777xT/fv3V6FChTR16lRlZmbq1VdflXQx+E5KStI777yjrl27upxr+nKnTp2yj3VHjx7Vm2++KW9v72sK+BMSEjRu3Di1adNG3bt316FDhzR58mRVrFjRaZq3UaNGafPmzfrpp5+u6bgmLS1Ns2bNknRx6q6pU6eqUKFC9jfIOfbs2aPFixfbpy556aWXFBkZqbp16zqdSV+oUCG9+uqr6tmzp2JjY9WjRw/7tCilS5fW008/be87duxYtW3bVo0aNdJDDz2ks2fPauLEiSpatKhGjhzpVG9qaqo6dOigNm3aKCUlRbNmzVL37t1Vu3btXPcxPj5e//73v/XUU0/p7rvvVkREhFq3bi0fHx/dfffd6tevn06dOqXp06crNDRUBw4cuOrHEQD+SR544AF98skneuSRR7Ry5Uo1adJE2dnZ+u233/TJJ59oyZIlqlevnipWrKhnn31WL7zwgmJjY3XvvffK19dXP/74o0qWLKnk5OR8b/Puu+9W8+bN9eyzz2r37t2qXbu2li5dqs8//1yDBg1yyAmki9Oezpo1S8YY7dy50z4G1atXT9LF9/SfffaZ7rnnHiUkJCg1NVVTpkxRtWrVdOrUKYd1DRgwQGfPnnU5r3Z+7Nq1yz7W7t+/X5MmTVKRIkWcguPt27dr8eLF9rPgx44dq/r166tUqVJO6yxevLiee+45Pf/884qPj1fHjh21a9cuTZo0SbVr19bDDz8sSVd9fObn56fFixcrMTFRDRs21FdffaWFCxdq+PDh9m/HudK3b1999NFHeuSRR7Rlyxb7HOP5PZ4BXDLALeCXX34x3bp1MxEREcbb29uEh4ebbt26mc2bN7vsv3PnTnPfffeZokWLGj8/P1O/fn2zYMGCXNffrl07I8l8//33+a5JkklKSrLfPnbsmOndu7cJDg42QUFBJj4+3vz2228mMjLSJCYm2vutXLnSSDIrV660t23YsMG0bt3aBAUFmYCAAHPXXXeZb775xmF7M2fONJKu+ifH1q1bTVxcnAkKCjLBwcGmT58+5ueffzaSzMyZM40xxpw7d87UqlXL3HnnnebChQv2ZVNTU40kM3bs2Dwfk8tr9PHxMRUrVjQjRoww586ds/dLTEx06BcUFGRuv/128+GHH+b6+BqT/+c1LS3N/lz4+PiYmjVr2vfR1T69/vrrpkyZMsbX19fExsaan3/+2aFvYmKiiYyMdNpO7969TZEiRcy+ffuMMcbs27fP3HPPPaZYsWKmaNGipnPnzuavv/5yuS8AYFU5r/U//vijy/s7duxoAgICzK5du+xtc+bMMXXr1jW+vr6mePHipkePHvbXzhyJiYkmMDDQaX1z5851Gjdz5LyWX/4an0OSGTBggJk1a5apVKmS8fX1NXXr1nW5ro0bN5r4+Hj7WNy8eXOH44I1a9aYihUrmpEjR5rMzMwr1tG0aVOHsa5YsWKmSZMm5quvvnJZ4+USEhKcxp53333Xvh/R0dFm5syZJikpyWG8X716tfHy8jJTp051WDan3+HDh10+Vleqe9GiRU515/x4eHiY8PBwc++995pt27YZY/7/7yQ1NdVhuU8++cThb6Fbt27mzz//dKpj+fLlpkmTJsbf398UKVLE3H333Wbr1q0u92nr1q3mvvvuM4ULFza33XabGThwoDl79qxTvZePxenp6SYkJMTcc8899rb//e9/platWsbPz89ERUWZMWPGmBkzZrjcFwD4pxkwYIDDmHO5rKwsM2bMGFO9enXj6+trbrvtNhMTE2NGjRplTpw44dB3xowZ9vHgtttuM02bNjXLli1zWqer98+XOnnypBk8eLApWbKk8fb2NpUqVTJjx441NpvNod+Vxi1jjLHZbObll182kZGR9mOGL7/80un94H//+1/j4eFhFi9e7LCN3I5lLhcZGelQT3BwsGndurVJSUmx98k5tsj58fT0NKVLlzaJiYn2Y6jLjwFyTJ482URHRxtvb28TFhZm+vXrZ44cOeLU72qOz3bu3Glat25tAgICTFhYmElKSjLZ2dlO9V5+TLZ9+3bj5+dnBg8ebG/Lz/EMkBsPY67yux/AP9A999yjzZs3648//nB3KTfM7t27Va5cuav++tc/Rc7jM3bsWP3nP/9xdzkAgL+Bh4eHBgwY4PSVZtwaRo4cqVGjRunw4cMOF7oCAAA3Rq9evTRv3jynM9oBd2GObuAKDhw4oIULF+qBBx5wdykAAAAAAAAAXGCObiAXqampWrNmjd555x15e3urX79+7i7phvL391d8fLy7ywAAAAAAAACuG2d0A7n45ptv9MADDyg1NVXvv/++wsPD3V3SDRUWFuZwgUoAAAAAAADAqtw6R/e3336rsWPHasOGDTpw4IDmz5+vTp065bnMqlWrNGTIEP36668qU6aMnnvuOfXq1eum1AsAAAAAAAAAKHjcekb36dOnVbt2bU2ePDlf/VNTU5WQkKDmzZtr06ZNGjRokB5++GEtWbLkb64UAAAAAAAAAFBQufWM7kt5eHhc8Yzup59+WgsXLtSWLVvsbV27dtXx48eZggEAAAAAAAAA/qEsdTHKlJQU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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Функция для анализа сбалансированности\n", + "def analyze_balance(y_train, y_val, y_test, y_name):\n", + " # Распределение классов\n", + " print(\"Распределение классов в обучающей выборке:\")\n", + " print(y_train.value_counts(normalize=True))\n", + " \n", + " print(\"\\nРаспределение классов в контрольной выборке:\")\n", + " print(y_val.value_counts(normalize=True))\n", + " \n", + " print(\"\\nРаспределение классов в тестовой выборке:\")\n", + " print(y_test.value_counts(normalize=True))\n", + "\n", + " # Создание фигуры и осей для трех столбчатых диаграмм\n", + " fig, axes = plt.subplots(1, 3, figsize=(18, 5), sharey=True)\n", + " fig.suptitle('Распределение в различных выборках')\n", + "\n", + " # Обучающая выборка\n", + " sns.barplot(x=y_train.value_counts().index, y=y_train.value_counts(normalize=True), ax=axes[0])\n", + " axes[0].set_title('Обучающая выборка')\n", + " axes[0].set_xlabel(y_name)\n", + " axes[0].set_ylabel('Доля')\n", + "\n", + " # Контрольная выборка\n", + " sns.barplot(x=y_val.value_counts().index, y=y_val.value_counts(normalize=True), ax=axes[1])\n", + " axes[1].set_title('Контрольная выборка')\n", + " axes[1].set_xlabel(y_name)\n", + "\n", + " # Тестовая выборка\n", + " sns.barplot(x=y_test.value_counts().index, y=y_test.value_counts(normalize=True), ax=axes[2])\n", + " axes[2].set_title('Тестовая выборка')\n", + " axes[2].set_xlabel(y_name)\n", + "\n", + " plt.show()\n", + "\n", + "analyze_balance(y_train, y_val, y_test, 'stroke')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Легко заметить, что выборки несбалансированны. Необходимо сбалансировать обучающую и контрольную выборки, чтобы получить лучшие результаты при обучении модели. Для балансировки применим RandomOverSampler:" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Распределение классов в обучающей выборке:\n", + "stroke\n", + "0 0.5\n", + "1 0.5\n", + "Name: proportion, dtype: float64\n", + "\n", + "Распределение классов в контрольной выборке:\n", + "stroke\n", + "0 0.5\n", + "1 0.5\n", + "Name: proportion, dtype: float64\n", + "\n", + "Распределение классов в тестовой выборке:\n", + "stroke\n", + "0 0.953033\n", + "1 0.046967\n", + "Name: proportion, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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+UOHDjnV7uXlpXbt2l12u/fee6+8vLw0cuRIp/qNMTp8+LD99vnz5/Xpp5+qfv36l50io3PnzsrJydELL7zgdN/58+ft059ci9TUVH3++ed65ZVX8gyxO3furH379mnatGlO9505c0anTp266u2eOXNGkhymf8jL+fPnNWXKFPvt7OxsTZkyRaGhoYqNjZUk+9nzFz/ma9asUWpq6hXXn5GR4VTL559/rjNnzjiFqa7k5ORo2LBh6tatW57fDsjl7++vBg0aKD4+XvHx8U7TatwIud9WcPWNAunCa2H27Nl65ZVX9Mwzz6hLly567rnn7AHw1crvc3m5ulq0aCFfX1+9+eabDt/4mDVrltLT0+2vu7p16yosLEyTJ0922N5XX32lrVu3KjEx0WndF7+3GGM0ceJEeXt7O00lEhcXJ+nCVDmjR4/WzJkztWTJEvv9Xl5e8vDwcJiGadeuXS7/iXSjH2MAAAB344xuAADwj9WuXTuNGjVKvXr1UqNGjbRp0ybNmjXLKdjr0aOHPvjgAw0ePFhr165VXFycTp06pWXLlqlfv37q0KHDNW2/WLFiuvPOO9WrVy+lp6dr3LhxqlChgnr37i3pwty977zzjtq0aaNq1aqpV69eKlmypPbt26cVK1YoODhYX3zxhU6dOqVJkybpzTffVKVKlbRy5Ur7NnID8l9++UWpqalq2LChypcvrxdffFFDhw7Vrl271LFjRxUuXFhpaWmaN2+e+vTpo//85z9atmyZnn/+ef3yyy/64osvLrsvTZo0Ud++fZWSkqKNGzeqVatW8vb21vbt2zVnzhyNHz9e99133zU9TkuWLFHLli0ve1b7Aw88oE8++USPPPKIVqxYocaNGysnJ0e//fabPvnkEy1evPiKZ7qnp6fbpwbJyMjQlClTVKhQoSv+40D6/+Bx165dqlSpkmbPnq2NGzdq6tSp9m8BtGvXTp999pnuueceJSYmKi0tTZMnT1bVqlUd/pExatQo7du3T9WrV5evr682bNigGTNmqGbNmqpZs6ZOnz6t5ORkvfXWW2rUqJFatWp1xfr27t0rHx8f+4VOb7Zt27Zp0aJFstls2rJli8aMGaN69erZLwx7sYMHD+rRRx9Vs2bN7FOjTJw4UStWrFDPnj313XffXXF6jZ07d9qfy3379mnixIkKDg52Co6vpq5ixYrpueee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29y7d6+8vLyUkpIiSerZs6fLr9N6eHhoxIgR9tt//vmn+vXrp8qVK8vf31/FixdXp06dtGvXLoflVq5cKQ8PD61cudLe9uOPP6ply5YqXLiwAgMD1bRpU61atcphuffee08eHh5at26dvS0jI8OpDklq166dU82rVq1Sp06dVKZMGfn6+qp06dIaNGiQzpw547Rvc+fOVd26dVW4cGF5eHjYf1577TWnvq5qzP0JCAhQjRo19M477zj069mzp4KCgi67rkv3Kz/Pa66DBw/qoYceUnh4uPz8/FSrVi29//77Dn127dpl36c33nhDUVFR8vf3V5MmTbR582anei99PGfOnClPT0+98sor9rZffvlFPXv2VLly5eTn56eIiAg9+OCDOnz48GX3FQCsbOPGjerQoYMiIyO1ePFilyH3nDlzFBsbK39/f4WEhOjf//639u3b59Anr7Fh7ty5DuNm06ZNHcYaVz+5PDw8NGDAAM2aNUuVK1eWn5+fYmNj9e233zpt56efflKbNm0UHBysoKAgtWjRQj/88IPLfc6rhvfee8+hT/Xq1a/4+OXWeClXY/lrr72mRo0aqXjx4vL391dsbKzmzp3rtOzJkyf15JNPqly5cvL29naoMSMj47L1XLpvISEhSkxMdBob86o7V+4xQe5x0I8//iibzabs7GzVrVtXfn5+Kl68uLp27ardu3c7Lf/1118rLi5OgYGBKlq0qDp06KCtW7c69BkxYoQ8PDz022+/qXPnzgoODlbx4sX1xBNP6OzZs071Xnxccf78ebVt21bFihXTli1b7O0zZsxQ8+bNFRYWJl9fX1WtWlVvv/32ZR8zAMAFWVlZSk5OVoUKFeyfOZ966illZWU59Z05c6bq16+vgIAA3Xbbbbrrrru0ZMkSSVJ0dPRlx/mLx8dTp07pySefVOnSpeXr66vKlSvrtddecwrjL17ey8tLJUuWVJ8+fXTs2DF7n+zsbA0fPlyxsbEqUqSIAgMDFRcXpxUrVjjVn/uZs0yZMvLy8rKv+0qfcy/dP09PT0VEROj+++93GA8v/ryal9xxMNcPP/wgPz8/7dixQ9WqVZOvr68iIiLUt29fHTlyxGn5qzk+27lzpxISEhQYGKgSJUpo1KhRDo9xbr0XHwudOHFCsbGxKlu2rPbv329vz+/xDOAKU5fA0r744gtFR0crLi7O5f133XWXoqOjtWDBAnvb4cOHNXXqVAUFBenxxx9XaGioZs6cqXvvvVezZs1S165dFRQUpHvuuUezZ8/W2LFjHb5e/d///lfGGHXv3v2qav3xxx/1/fffq0uXLipVqpR27dqlt99+W02bNtWWLVsUEBDgcrk//vhDTZs2VUBAgIYMGaKAgABNmzZN8fHxWrp0qe66666rqiMvc+bM0enTp/Xoo4+qePHiWrt2rSZMmKC9e/dqzpw59n6pqanq3LmzatWqpVdeeUVFihRRRkaGBg0alO9tvfHGGwoJCVFmZqamT5+u3r17Kzo6WvHx8ddcf36eV0k6c+aMmjZtqj/++EMDBgxQ2bJlNWfOHPXs2VPHjh1z+ufGBx98oBMnTqh///46e/asxo8fr+bNm2vTpk0KDw93WcuSJUv04IMPasCAAQ7TqCxdulQ7d+5Ur169FBERoV9//VVTp07Vr7/+qh9++CHfc9wBgFXs2LFDrVu3lq+vrxYvXqzIyEinPrlngNerV08pKSlKT0/X+PHjtXr1av30008qWrToVW3z2Wef1cMPPyxJ9vGpT58+eR4rfPPNN5o9e7Yef/xx+fr66q233lLr1q21du1aexD966+/Ki4uTsHBwXrqqafk7e2tKVOmqGnTpvrmm2/UoEEDp/XGxMTo2Wefdajj7zZ+/Hi1b99e3bt3V3Z2tj7++GN16tRJX375pRITE+39hgwZosmTJ+uhhx5S48aN5e3trc8++0zz5s3L13Zy980Yox07dmjs2LFq27aty0A6v3L/6TtgwADFxsbqlVde0aFDh/Tmm2/qu+++008//aSQkBBJ0rJly9SmTRuVK1dOI0aM0JkzZzRhwgQ1btxYGzZscPoHQOfOnRUdHa2UlBT98MMPevPNN3X06FF98MEHedbz8MMPa+XKlVq6dKmqVq1qb3/77bdVrVo1tW/fXoUKFdIXX3yhfv36yWazqX///te8/wBwq7PZbGrfvr2+++479enTR1WqVNGmTZv0xhtv6Pfff3c4QWnkyJEaMWKEGjVqpFGjRsnHx0dr1qzR119/rVatWmncuHE6efKkJGnr1q16+eWXNWzYMPsUKblhsjFG7du314oVK/TQQw+pdu3aWrx4sYYMGaJ9+/bpjTfecKjxnnvu0b333qvz588rNTVVU6dO1ZkzZ+xTsWRmZuqdd95R165d1bt3b504cULvvvuuEhIStHbtWtWuXdu+rqSkJC1btkyPPfaYatWqJS8vL02dOlUbNmzI1+MVFxenPn36yGazafPmzRo3bpz++usvpxPersbhw4d19uxZPfroo2revLkeeeQR7dixQ5MmTdKaNWu0Zs0a+fr6Srq647OcnBy1bt1ad9xxh1599VUtWrRIycnJOn/+vEaNGuWylnPnzulf//qXdu/erdWrVzscI+b3eAZwyQAWdezYMSPJdOjQ4bL92rdvbySZzMxMY4wxkowks3LlSnuf06dPmypVqpiIiAiTnZ1tjDFm8eLFRpL56quvHNZXs2ZN06RJE/vtXr16mTJlyjhtV5JJTk522MalUlNTjSTzwQcf2NtWrFhhJJkVK1YYY4z517/+Zby8vMzmzZvtfTIyMkzx4sVNbGysvW3GjBlGkvnxxx/tbYcOHXKqwxhjEhMTTVRUlEObq/pSUlKMh4eH+fPPP+1tQ4cONZLM/v377W1paWlGkhkzZozTOi6WW2NaWpq97ffffzeSzKuvvmpvS0pKMoGBgZdd16X7ld/nddy4cUaSmTlzpr1fdna2adiwoQkKCrL/neTuk7+/v9m7d6+975o1a4wkM2jQIId6cx/PdevWmaCgINOpUyeTk5PjULOrx/i///2vkWS+/fbby+4vAFhF7nv9l19+acqXL28kmVatWrnsm52dbcLCwkz16tXNmTNn7O1ffvmlkWSGDx9ub8trbJgzZ47DuHmx3PfyGTNmuNx+7tixbt06e9uff/5p/Pz8zD333GNv69ixo/Hx8TE7duywt/3111+mcOHC5q677nJab+PGjU2zZs0uW0eTJk1MtWrVXNZ1aY39+/d3as/PWJ6dnW2qV69umjdv7tAeGRlpEhISHNqSk5ONJHPo0KHL1tOkSROH4yBjjBk2bJiRZA4ePHjFunNdekyQe7tq1aoO+5F7XPTkk0/a22rXrm3CwsLM4cOH7W0///yz8fT0ND169HDap/bt2ztsu1+/fkaS+fnnnx3qzT2uGDp0qPHy8jLz5893qtvVWJ6QkGDKlSuX574CwD9F//79TV4x04cffmg8PT3NqlWrHNonT55sJJnVq1cbY4zZvn278fT0NPfcc4/T5ymbzea03ks/P19s/vz5RpJ58cUXHdrvu+8+4+HhYf744w97m6vPzY0aNTJVq1a13z5/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pooVK7o8m+hGy8nJUcuWLXXkyBE9/fTTiomJUWBgoPbt26eePXs61NelSxdt2LBBEyZM0NSpU69pezNnzlR4eLjOnj2rr7/+Wv3795efn5969uxp7+Pn56cvvvhC0oV/VkyfPl0DBw5UZGSkOnfu7LTOq3le/w4ZGRkKDAzUF198oY4dOyolJUXJyckOfTp37qzvv/9eQ4YMUe3atRUUFCSbzabWrVvn+0w3ALCKMWPG2P8xPHXqVN1xxx0aOnSo3nrrrWte58VjQ65Vq1blOf+juxw4cEAJCQlX7BcdHa1p06ZJujBv5ptvvqkHHnhA5cqVs3/jR5I6dOjgdGHH5557TgcOHLDfXrVqldq3b6+77rpLb731liIjI+Xt7a0ZM2Y4hedTp05V165dHf5xfzVq1qxp/5CaO49206ZNtWHDBkVERDjVbYxRWlqaRo0apXbt2rn8AH4zx/G8zghcu3atevfurcDAQL344ovq1KmTw4f8HTt2qEWLFoqJidHYsWNVunRp+fj4aOHChXrjjTcYywHgMmw2m2rUqKGxY8e6vL906dI3uSJnDzzwgHr06CGbzaadO3fqhRdeULt27bRs2TJ5eHho5syZ6tmzpzp27KghQ4YoLCxMXl5eSklJ0Y4dOxzWNXv2bHXv3t3peCAwMDBftbRq1UpDhgyRJO3du1ejR49Ws2bNtG7dOocxs0+fPurUqZNycnK0detWjRgxQh07dtSvv/7qtE53f2aWLlwQ86WXXtKPP/6oQYMGqXXr1g7fCLua4xnAFYJuWFq7du00bdo0fffdd7rzzjud7l+1apV27dqlvn372tvKli2rbdu2OfX97bffJMnhAkbVq1dXnTp1NGvWLJUqVUq7d+/WhAkTnJZ99913NXz4cO3YscP+Iadly5YOfebOnaukpCT7B0Ppwld6L76K88ViY2PVpEkTBQUF5bvea7Vp0yb9/vvvev/999WjRw97+9KlS536enp66rXXXtOmTZuUlpamt956S+np6Q7TuVxJ48aN7XW3a9dOv/76q1JSUhyCbi8vL4eLUyYmJqpYsWJatGiRy6A7v89rVFSUfvnlF9lsNoezunP7RUVFOSzv6sP477//7vS4BwQEaNGiRYqJidGgQYP08ssvq3PnzvazBY4eParly5dr5MiRGj58+GXXDwC3gosvllyvXj31799fkyZNUo8ePewhbu577rZt2+xfXc61bds2p/fkS8cGSXmOo/mV1/t8QECAQkNDJV14j89rjPH09HT4cL53716dOHHC/v5/OYGBgQ77ExcXp5IlS2rJkiUOQXepUqWc9nvcuHEOQfenn34qPz8/LV682GHalBkzZjhtNzo6WjNnzlSNGjX04IMPqmPHjvrggw/sF9u6kttuu82hnqZNm6pEiRKaMWOGhg4dmmfdQUFB6t69u8OUaLlyv+Hk6m/ht99+cxjHc/td6rffflNISIhTiLB9+3b7+qULF/q22WxOY3nLli319ttv6+zZs5o/f7769OmjlStX2oPxL774QllZWfrf//6nMmXK2JfL/bo9ACBv5cuXt08FcrkpSMqXLy+bzaYtW7Y4XNzxWkRFRWnZsmU6ceKEw1ndeX32K1eunMO4VaRIEXXr1k0//PCDGjZsqLlz56pcuXL67LPPHPbh0hOcJKlOnTqaNm2a4uLiNGrUKN1xxx0aM2aMVq9ena/aIyMjHWqpXLmyGjVqZD8JL1fFihXt/RISEnT69Gk9++yzLi8QffFYe/EZ2DabTdu3b1edOnUcHpf8Hp/l/mMg9yxu6cKxlOScVzz44IMaNmyY/vrrL1WtWlWDBg1yOP64muMZwBWmLoGlDRkyRP7+/urbt68OHz7scN+RI0f0yCOPKCAgwP6fUElq27at1q5dq++//97edvbsWb399tuKiIhwmKdTuvBf3SVLlmjcuHEqXry42rRp47KWqKgoNW/eXPHx8U4fRqULH84vnTNrwoQJysnJyXP/PDw81KpVKy1evFhbt2512Lf3339fdevWVXh4eJ7L51fu/FwX12eMyXOqkAkTJujrr7/WrFmzFB8fr8aNG1/X9s+cOXPFr3Hl1nbxXGIXy+/z2rZtWx04cECzZ8+29zt//rwmTJigoKAgp7nC58+fr3379tlvr127VmvWrHH6OwgNDbV/BWzUqFEqVaqUevfu7VT3pX8D48aNu+x+A8Ct4qWXXlJkZKT69Omj8+fPS5Lq1q2rsLAwTZ482WEc+Oqrr7R161YlJib+7XWlpqY6zPm4Z88eff7552rVqpW8vLzk5eWlVq1a6fPPP3f4+m16ero++ugj3XnnnfZvjUkXvmosyemDYX7k/rM8r7Hucry8vOTh4eFwXLFr1y7Nnz/fqe/58+fVvXt3VatWTW+88Ybi4+OdvnJ8Nc6cOSNJVxzLL7d/derUUUREhNPfwqpVq7Ru3Tq1a9dO0oUP/rVr19b777/v8E+OzZs3a8mSJWrbtq3TuidNmuRwO/ekhUvH8kaNGsnLy0uBgYGaPHmyvv32W/sZ9xfXffFYfvz4cT58A0A+dO7cWfv27XN4X8115swZ+7RTHTt2lKenp0aNGuX0TZn8zkGdq23btsrJydHEiRMd2t944w15eHjk+dn+4rqk/x/fXI0Da9asUWpqqtOymZmZeuCBB9S+fXs999xzio+PV2Rk5FXVf7la8nK5sbZFixby9fXVm2++6fDYzpo1S+np6fax9lqOzy5+jI0xmjhxory9vZ3mFY+Li5MklShRQqNHj9bMmTMdpmO7muMZwBXO6IalVaxYUe+//766d++uGjVq6KGHHlLZsmW1a9cuvfvuu8rIyNB///tflS9f3r7MU089pVmzZqlNmzZ6/PHHFRISopkzZ2rLli2aNWuWChVyfFl069ZNTz31lObNm6dHH31U3t7e11Rru3bt9OGHH6pIkSKqWrWqUlNTtWzZsiteoOKFF17Q4sWL1aRJEz322GMKCAjQtGnTdOzYMc2dO9epf2pqqn2O8NyLY/3xxx9atGiRvc+hQ4d05swZLVq0SK1bt1ZMTIzKly+v//znP9q3b5+Cg4P16aefupwz69dff9VTTz2lESNGqF69etf0WMyfP18hISH2qUtWrVqlgQMHOvTJycmx13zixAnNmDFDp06dUseOHV2uM7/Pa58+fTRlyhT7xTyjo6M1d+5crV69WuPGjXOav61ChQq688479eijjyorK8v+D4+nnnoqz/3z9/fX1KlTFR8fr7ffflv9+vVTcHCw7rrrLr366qs6d+6c/Yy9tLS0a3oMAcBqChcurAkTJujee+/V66+/rqefflre3t4aPXq0evXqpSZNmqhr165KT0/X+PHjFR0drUGDBv3tdVWvXl0JCQl6/PHH5evra59aZeTIkfY+L774opYuXao777xT/fr1U6FChTRlyhRlZWXp1VdflXQh+E5OTtY777yjLl26uJxr+lInT560j3VHjhzRm2++KW9v72sK+BMTEzV27Fi1bt1a3bp108GDBzVp0iRVqFDBaZq3kSNHatOmTfrpp5+u6bgmPT1dM2fOlHRh6q4pU6aoUKFC9g/IuXbv3q1FixbZ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XLlyGjlypM6fP3+zHgYAAAo0xmsAAAo+xmvAGgq5uwAAN97+/fvVtWtXvfrqq7rnnnt04sQJrVq1Sj169NDu3buVmZmpGTNmSJKKFSumv/76S5L0zDPP6PXXX1edOnXk5+en8ePH6/XXX9eUKVNUp04dTZ8+Xe3bt9evv/6qihUrOmwzKytLXbt21a5du7Rq1SqFhobat/nmm28qLi5OO3bsUJ8+fSRJycnJN/dBAQCggGG8BgCg4GO8BizEALjlrF+/3kgyu3btcrovKSnJdOjQwaEtLS3NSDLjxo1zaC9RooR56aWXHNrq1atn+vXr57DcqlWrTIsWLcydd95pjh07Zu/bokUL8/LLLzss/+GHH5rIyMjr2T0AAG4JjNcAABR8jNeAdXBGN3ALqlWrllq0aKEaNWooISFBrVq10n333afbbrvtssvVrVvX/ntmZqb++usvNW7c2KFP48aN9fPPPzu0de3aVaVKldLXX38tf39/e/vPP/+s1atX66WXXrK35eTk6OzZszp9+rQCAgKuZzcBALA0xmsAAAo+xmvAOpijG7gFeXl5aenSpfrqq69UtWpVTZgwQZUrV1ZaWtpllwsMDLym7bVt21a//PKLUlNTHdpPnjypkSNHauPGjfafTZs2afv27fLz87umbQEAcKtgvAYAoOBjvAasgzO6gVuUh4eHGjdurMaNG2v48OGKiorSvHnz5OPjo5ycnCsuHxwcrBIlSmj16tVq0qSJvX316tWqX7++Q99HH31U1atXV/v27bVgwQJ7/9tvv13btm1ThQoVbuzOAQBwi2C8BgCg4GO8BqyBoBu4Ba1Zs0bLly9Xq1atFBYWpjVr1ujQoUOqUqWKzp49q8WLF2vbtm0qXry4ihQpkud6hgwZouTkZJUvX161a9fWjBkztHHjRs2aNcup72OPPaacnBy1a9dOX331le68804NHz5c7dq1U5kyZXTffffJ09NTP//8szZv3qwXX3zx73wIAAAo8BivAQAo+BivAesg6AZuQcHBwfr22281btw4ZWZmKioqSq+//rratGmjunXrauXKlapbt65OnjypFStWKDo62uV6Hn/8cR0/flxPPvmkDh48qKpVq+p///uf0xWhcw0cOFA2m01t27bVokWLlJCQoC+//FKjRo3S6NGj5e3trZiYGD388MN/494DAGANjNcAABR8jNeAdXgYY4y7iwAAAAAAAAAA4FpxMUoAAAAAAAAAgKURdAMAAAAAAAAALI2gGwAAAAAAAABgaQTdAAAAAAAAAABLI+gGAAAAAAAAAFgaQTcAAAAAAAAAwNIIugEAAAAAAAAAlkbQDQAAAAAAAACwNIJuAAAAAAAAAIClEXQDAAAAAAAAACyNoBsAAAAAAAAAYGkE3QAAAAAAAAAAS/s/SMcl2Xbg5h0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ros = RandomOverSampler(random_state=42)\n", + "\n", + "# Применение RandomOverSampler для балансировки выборок\n", + "X_train_resampled, y_train_resampled = ros.fit_resample(X_train, y_train)\n", + "X_val_resampled, y_val_resampled = ros.fit_resample(X_val, y_val)\n", + "\n", + "# Проверка сбалансированности после RandomOverSampler\n", + "analyze_balance(y_train_resampled, y_val_resampled, y_test, 'stroke')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Выборки сбалансированы.\n", + "\n", + "### Перейдем к конструированию признаков\n", + "\n", + "Для начала применим унитарное кодирование категориальных признаков (one-hot encoding), переведя их в бинарные вектора:" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " age hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", + "0 78.0 0 0 137.74 34.9 False \n", + "1 58.0 0 0 99.83 36.3 True \n", + "2 77.0 0 0 59.91 18.3 False \n", + "3 80.0 1 1 175.29 31.5 True \n", + "4 58.0 1 0 59.52 33.2 False \n", + "\n", + " gender_Other ever_married_Yes work_type_Never_worked work_type_Private \\\n", + "0 False False False False \n", + "1 False True False False \n", + "2 False True False False \n", + "3 False True False True \n", + "4 False True False False \n", + "\n", + " work_type_Self-employed work_type_children Residence_type_Urban \\\n", + "0 True False True \n", + "1 True False False \n", + "2 True False False \n", + "3 False False True \n", + "4 False False False \n", + "\n", + " smoking_status_formerly smoked smoking_status_never smoked \\\n", + "0 True False \n", + "1 False False \n", + "2 False True \n", + "3 True False \n", + "4 False True \n", + "\n", + " smoking_status_smokes \n", + "0 False \n", + "1 True \n", + "2 False \n", + "3 False \n", + "4 False \n" + ] + } + ], + "source": [ + "# Определение категориальных признаков\n", + "categorical_features = ['gender', 'ever_married', 'work_type', 'Residence_type', 'smoking_status']\n", + "\n", + "# Применение one-hot encoding к обучающей выборке\n", + "X_train_encoded = pd.get_dummies(X_train_resampled, columns=categorical_features, drop_first=True)\n", + "\n", + "# Применение one-hot encoding к контрольной выборке\n", + "X_val_encoded = pd.get_dummies(X_val_resampled, columns=categorical_features, drop_first=True)\n", + "\n", + "# Применение one-hot encoding к тестовой выборке\n", + "X_test_encoded = pd.get_dummies(X_test, columns=categorical_features, drop_first=True)\n", + "\n", + "print(X_train_encoded.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Далее к числовым признакам, а именно к колонке age, применим дискретизацию (позволяет преобразовать данные из числового представления в категориальное):" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", + "0 0 0 137.74 34.9 False \n", + "1 0 0 99.83 36.3 True \n", + "2 0 0 59.91 18.3 False \n", + "3 1 1 175.29 31.5 True \n", + "4 1 0 59.52 33.2 False \n", + "\n", + " gender_Other ever_married_Yes work_type_Never_worked work_type_Private \\\n", + "0 False False False False \n", + "1 False True False False \n", + "2 False True False False \n", + "3 False True False True \n", + "4 False True False False \n", + "\n", + " work_type_Self-employed work_type_children Residence_type_Urban \\\n", + "0 True False True \n", + "1 True False False \n", + "2 True False False \n", + "3 False False True \n", + "4 False False False \n", + "\n", + " smoking_status_formerly smoked smoking_status_never smoked \\\n", + "0 True False \n", + "1 False False \n", + "2 False True \n", + "3 True False \n", + "4 False True \n", + "\n", + " smoking_status_smokes age_bin \n", + "0 False old \n", + "1 True old \n", + "2 False old \n", + "3 False old \n", + "4 False old \n" + ] + } + ], + "source": [ + "# Определение числовых признаков для дискретизации\n", + "numerical_features = ['age']\n", + "\n", + "# Функция для дискретизации числовых признаков\n", + "def discretize_features(df, features, bins, labels):\n", + " for feature in features:\n", + " df[f'{feature}_bin'] = pd.cut(df[feature], bins=bins, labels=labels)\n", + " df.drop(columns=[feature], inplace=True)\n", + " return df\n", + "\n", + "# Заданные интервалы и метки\n", + "age_bins = [0, 25, 55, 100]\n", + "age_labels = [\"young\", \"middle-aged\", \"old\"]\n", + "\n", + "# Применение дискретизации к обучающей, контрольной и тестовой выборкам\n", + "X_train_encoded = discretize_features(X_train_encoded, numerical_features, bins=age_bins, labels=age_labels)\n", + "X_val_encoded = discretize_features(X_val_encoded, numerical_features, bins=age_bins, labels=age_labels)\n", + "X_test_encoded = discretize_features(X_test_encoded, numerical_features, bins=age_bins, labels=age_labels)\n", + "\n", + "print(X_train_encoded.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Применим ручной синтез признаков. Это создание новых признаков на основе существующих, учитывая экспертные знания и логику предметной области. К примеру, в этом случае можно создать признак, в котором вычисляется насколько уровень глюкозы отклоняется от среднего для возрастной группы пациента. Такой признак может быть полезен для выделения пациентов с нетипичными данными." + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", + "0 0 0 137.74 34.9 False \n", + "1 0 0 99.83 36.3 True \n", + "2 0 0 59.91 18.3 False \n", + "3 1 1 175.29 31.5 True \n", + "4 1 0 59.52 33.2 False \n", + "\n", + " gender_Other ever_married_Yes work_type_Never_worked work_type_Private \\\n", + "0 False False False False \n", + "1 False True False False \n", + "2 False True False False \n", + "3 False True False True \n", + "4 False True False False \n", + "\n", + " work_type_Self-employed work_type_children Residence_type_Urban \\\n", + "0 True False True \n", + "1 True False False \n", + "2 True False False \n", + "3 False False True \n", + "4 False False False \n", + "\n", + " smoking_status_formerly smoked smoking_status_never smoked \\\n", + "0 True False \n", + "1 False False \n", + "2 False True \n", + "3 True False \n", + "4 False True \n", + "\n", + " smoking_status_smokes age_bin glucose_age_deviation \n", + "0 False old 7.343213 \n", + "1 True old -30.566787 \n", + "2 False old -70.486787 \n", + "3 False old 44.893213 \n", + "4 False old -70.876787 \n" + ] + } + ], + "source": [ + "age_glucose_mean = X_train_encoded.groupby('age_bin', observed=False)['avg_glucose_level'].transform('mean')\n", + "X_train_encoded['glucose_age_deviation'] = X_train_encoded['avg_glucose_level'] - age_glucose_mean\n", + "\n", + "age_glucose_mean = X_val_encoded.groupby('age_bin', observed=False)['avg_glucose_level'].transform('mean')\n", + "X_val_encoded['glucose_age_deviation'] = X_val_encoded['avg_glucose_level'] - age_glucose_mean\n", + "\n", + "age_glucose_mean = X_test_encoded.groupby('age_bin', observed=False)['avg_glucose_level'].transform('mean')\n", + "X_test_encoded['glucose_age_deviation'] = X_test_encoded['avg_glucose_level'] - age_glucose_mean\n", + "\n", + "print(X_train_encoded.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Теперь используем масштабирование признаков, что позволяет привести все числовые признаки к одинаковым или очень похожим диапазонам значений либо распределениям. По результатам многочисленных исследований масштабирование признаков позволяет получить более качественную модель за счет снижения доминирования одних признаков над другими." + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", + "0 0 0 0.366350 0.716465 False \n", + "1 0 0 -0.312101 0.912920 True \n", + "2 0 0 -1.026524 -1.612927 False \n", + "3 1 1 1.038358 0.239361 True \n", + "4 1 0 -1.033504 0.477913 False \n", + "\n", + " gender_Other ever_married_Yes work_type_Never_worked work_type_Private \\\n", + "0 False False False False \n", + "1 False True False False \n", + "2 False True False False \n", + "3 False True False True \n", + "4 False True False False \n", + "\n", + " work_type_Self-employed work_type_children Residence_type_Urban \\\n", + "0 True False True \n", + "1 True False False \n", + "2 True False False \n", + "3 False False True \n", + "4 False False False \n", + "\n", + " smoking_status_formerly smoked smoking_status_never smoked \\\n", + "0 True False \n", + "1 False False \n", + "2 False True \n", + "3 True False \n", + "4 False True \n", + "\n", + " smoking_status_smokes age_bin glucose_age_deviation \n", + "0 False old 0.136565 \n", + "1 True old -0.568466 \n", + "2 False old -1.310877 \n", + "3 False old 0.834901 \n", + "4 False old -1.318130 \n" + ] + } + ], + "source": [ + "# Пример масштабирования числовых признаков\n", + "numerical_features = ['avg_glucose_level', 'bmi', 'glucose_age_deviation']\n", + "\n", + "scaler = StandardScaler()\n", + "X_train_encoded[numerical_features] = scaler.fit_transform(X_train_encoded[numerical_features])\n", + "X_val_encoded[numerical_features] = scaler.transform(X_val_encoded[numerical_features])\n", + "X_test_encoded[numerical_features] = scaler.transform(X_test_encoded[numerical_features])\n", + "\n", + "print(X_train_encoded.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "И также попробуем сконструировать признаки, используя фреймворк Featuretools:" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", + "index \n", + "0 0 0 0.366350 0.716465 False \n", + "1 0 0 -0.312101 0.912920 True \n", + "2 0 0 -1.026524 -1.612927 False \n", + "3 1 1 1.038358 0.239361 True \n", + "4 1 0 -1.033504 0.477913 False \n", + "\n", + " gender_Other ever_married_Yes work_type_Never_worked \\\n", + "index \n", + "0 False False False \n", + "1 False True False \n", + "2 False True False \n", + "3 False True False \n", + "4 False True False \n", + "\n", + " work_type_Private work_type_Self-employed work_type_children \\\n", + "index \n", + "0 False True False \n", + "1 False True False \n", + "2 False True False \n", + "3 True False False \n", + "4 False False False \n", + "\n", + " Residence_type_Urban smoking_status_formerly smoked \\\n", + "index \n", + "0 True True \n", + "1 False False \n", + "2 False False \n", + "3 True True \n", + "4 False False \n", + "\n", + " smoking_status_never smoked smoking_status_smokes age_bin \\\n", + "index \n", + "0 False False old \n", + "1 False True old \n", + "2 True False old \n", + "3 False False old \n", + "4 True False old \n", + "\n", + " glucose_age_deviation \n", + "index \n", + "0 0.136565 \n", + "1 -0.568466 \n", + "2 -1.310877 \n", + "3 0.834901 \n", + "4 -1.318130 \n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\Ilya\\Desktop\\AIM\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " pd.to_datetime(\n" + ] + } + ], + "source": [ + "data = X_train_encoded.copy() # Используем предобработанные данные\n", + "\n", + "es = ft.EntitySet(id=\"patients\")\n", + "\n", + "es = es.add_dataframe(dataframe_name=\"strokes_data\", dataframe=data, index=\"index\", make_index=True)\n", + "\n", + "feature_matrix, feature_defs = ft.dfs(\n", + " entityset=es, \n", + " target_dataframe_name=\"strokes_data\",\n", + " max_depth=1\n", + ")\n", + "\n", + "print(feature_matrix.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Оценим качество набора признаков.\n", + "\n", + "Представим основные оценки качества наборов признаков: \n", + "\n", + "* Предсказательная способность (для задачи классификации) Метрики: Accuracy, Precision, Recall, F1-Score, ROC AUC\n", + "\n", + " Методы: Обучение модели на обучающей выборке и оценка на контрольной и тестовой выборках.\n", + "\n", + "* Скорость вычисления \n", + "\n", + " Методы: Измерение времени выполнения генерации признаков и обучения модели.\n", + "\n", + "* Надежность \n", + "\n", + " Методы: Кросс-валидация, анализ чувствительности модели к изменениям в данных.\n", + "\n", + "* Корреляция \n", + "\n", + " Методы: Анализ корреляционной матрицы признаков, удаление мультиколлинеарных признаков.\n", + "\n", + "* Цельность \n", + "\n", + " Методы: Проверка логической связи между признаками и целевой переменной, интерпретация результатов модели." + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Время обучения модели: 0.64 секунд\n" + ] + } + ], + "source": [ + "X_train_encoded = pd.get_dummies(X_train_encoded, drop_first=True)\n", + "X_val_encoded = pd.get_dummies(X_val_encoded, drop_first=True)\n", + "X_test_encoded = pd.get_dummies(X_test_encoded, drop_first=True)\n", + "\n", + "all_columns = X_train_encoded.columns\n", + "X_train_encoded = X_train_encoded.reindex(columns=all_columns, fill_value=0)\n", + "X_val_encoded = X_val_encoded.reindex(columns=all_columns, fill_value=0)\n", + "X_test_encoded = X_test_encoded.reindex(columns=all_columns, fill_value=0)\n", + "\n", + "# Выбор модели\n", + "model = RandomForestClassifier(n_estimators=100, random_state=42)\n", + "\n", + "# Начинаем отсчет времени\n", + "start_time = time.time()\n", + "model.fit(X_train_encoded, y_train_resampled)\n", + "\n", + "# Время обучения модели\n", + "train_time = time.time() - start_time\n", + "\n", + "print(f'Время обучения модели: {train_time:.2f} секунд')" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Feature Importance:\n", + " feature importance\n", + "3 bmi 0.186627\n", + "15 glucose_age_deviation 0.185001\n", + "2 avg_glucose_level 0.179305\n", + "17 age_bin_old 0.166728\n", + "0 hypertension 0.040494\n", + "16 age_bin_middle-aged 0.033330\n", + "11 Residence_type_Urban 0.028735\n", + "4 gender_Male 0.028446\n", + "6 ever_married_Yes 0.026005\n", + "1 heart_disease 0.023176\n", + "13 smoking_status_never smoked 0.021729\n", + "14 smoking_status_smokes 0.019693\n", + "8 work_type_Private 0.018582\n", + "9 work_type_Self-employed 0.017155\n", + "12 smoking_status_formerly smoked 0.015585\n", + "10 work_type_children 0.009287\n", + "7 work_type_Never_worked 0.000118\n", + "5 gender_Other 0.000002\n" + ] + } + ], + "source": [ + "# Получение важности признаков\n", + "importances = model.feature_importances_\n", + "feature_names = X_train_encoded.columns\n", + "\n", + "# Сортировка признаков по важности\n", + "feature_importance = pd.DataFrame({'feature': feature_names, 'importance': importances})\n", + "feature_importance = feature_importance.sort_values(by='importance', ascending=False)\n", + "\n", + "print(\"Feature Importance:\")\n", + "print(feature_importance)" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 0.9425962165688193\n", + "Precision: 0.1\n", + "Recall: 0.027777777777777776\n", + "F1 Score: 0.043478260869565216\n", + "ROC AUC: 0.5077287246178417\n", + "Cross-validated Accuracy: 0.9926410942926067\n" + ] + }, + { + "data": { + "image/png": "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ERERERERyRNKQog8Zho3bszgwYMfaZ8RERG4uLg80j5FRERERET+TkkIEeGFF17g5MmT+R2GiIiIiIg84azyOwARyX+2trbY2trmdxgiIiIiIvKE00wIkcdQamoq/fv3x9nZmSJFijBq1CgyMjIA8PLyYvz48YSGhuLg4EDp0qVZu3Ytv//+O23btsXBwYHKlStz8OBBoz8txxARERERkbygJITIY2jx4sVYWVlx4MABZs2axfvvv8/ChQuN+hkzZlCvXj0OHz5Mq1atePnllwkNDeWll17i+++/p0yZMoSGhhqJi+xISUkhKSnJ7CUiIiIiIpITSkKIPIY8PT2ZMWMGfn5+hISEMGDAAGbMmGHUt2zZkldeeQVfX19Gjx5NUlISNWrUoGPHjpQrV44RI0Zw4sQJfvvtt2yPOWnSJJydnY2Xp6fnP3FrIiIiIiLyBFMSQuQxVLt2bUwmk/G+Tp06nDp1irS0NAAqV65s1BUrVgyAgICATGUJCQnZHnPkyJEkJiYarwsXLjzUPYiIiIiIyH+PNqYUeQIVKFDA+PlusiKrsvT09Gz3aW1tjbW19SOKUERERERE/os0E0LkMbR//36z99999x2+vr5YWlrmU0QiIiIiIiIPpiSEyGMoLi6OoUOHEhMTw/Lly/nggw8YNGhQfoclIiIiIiJyX1qOIfIYCg0N5caNG9SsWRNLS0sGDRpEnz598jssERERERGR+zJl5OSMPhGR/y8pKQlnZ2eqDJiPpbVtfocjIiIiIvKfcWhqaH6HYObud4PExEScnJzu21bLMUREREREREQkTygJISIiIiIiIiJ5QkkIEREREREREckT2phSRB7KrvFdHrjuS0REREREBDQTQkRERERERETyiJIQIiIiIiIiIpInlIQQERERERERkTyhJISIiIiIiIiI5AltTCkiD6XhO8uxtLbN7zBERERERJ44h6aG5ncIj5xmQoiIiIiIiIhInlASQkRERERERETyhJIQIiIiIiIiIpInlIQQERERERERkTyhJMQTwsvLi5kzZ+Z3GE+0sWPHUrVq1Ufa56P63PT5i4iIiIjI40CnY4jko6ioKOzt7bPdPiIigsGDB3PlypWH6kdERERERCQ/KAkhko/c3Nz+Vf2IiIiIiIj8k7Qc4zFx9epVQkJCsLe3x93dnRkzZtC4cWMGDx6cqW1sbCwm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hKOj438ihsedlmOIiIiIiPyznsTlGEpCiEiu5OQfGhEREREReXLl5LuBlmOIiIiIiIiISJ5QEkJERERERERE8oSSECIiIiIiIiKSJ5SEEBEREREREZE8oSSEiIiIiIiIiOQJq/wOQEQebw3fWa4jOkVERETkP+txOUbz30IzIUREREREREQkTygJISIiIiIiIiJ5QkkIEREREREREckTSkKIiIiIiIiISJ5QEkKeCLGxsZhMJo4cOZLfoTwSjRs3ZvDgwXk6Zrdu3WjXrl2ejikiIiIiIv8tSkKIiIiIiIiISJ5QEkJERERERERE8oSSEJItGzdupH79+ri4uFC4cGFat27NmTNnAKhbty4jRowwa//7779ToEABdu3aBUB8fDytWrXC1tYWb29vli1bhpeXFzNnzszW+D/99BP169fHxsaGChUqsGXLFkwmE2vWrMmyfUREBC4uLmZla9aswWQymZX973//o0aNGtjY2FCkSBHat29v1F2+fJnQ0FAKFSqEnZ0dLVq04NSpU0b9+fPnadOmDYUKFcLe3p6KFSuyfv16o/7HH3+kRYsWODg4UKxYMV5++WX++OOPbN3v36WkpDBs2DBKlCiBvb09tWrVYseOHQAkJSVha2vLhg0bzK5ZvXo1jo6OXL9+HYALFy7QqVMnXFxccHV1pW3btsTGxuYqHhERERERkdxQEkKy5dq1awwdOpSDBw+ydetWLCwsaN++Penp6YSEhLBixQoyMjKM9p9//jkeHh40aNAAgNDQUH799Vd27NjBV199xccff0xCQkK2xk5LS6Ndu3bY2dmxf/9+Pv74Y95+++2Hvqd169bRvn17WrZsyeHDh9m6dSs1a9Y06rt168bBgwdZu3Yt+/btIyMjg5YtW3L79m0A+vXrR0pKCrt27eLo0aO89957ODg4AHDlyhWaNGlCYGAgBw8eZOPGjfz222906tQpV7H279+fffv2sWLFCn744Qc6duxI8+bNOXXqFE5OTrRu3Zply5aZXbN06VLjud2+fZtmzZrh6OjI7t27iYyMxMHBgebNm3Pr1q1sxZCSkkJSUpLZS0REREREJCes8jsAeTw899xzZu8XLVqEm5sbx48fp1OnTgwePJg9e/YYSYdly5bRpUsXTCYTP/30E1u2bCEqKorq1asDsHDhQnx9fbM19ubNmzlz5gw7duygePHiAEyYMIGnn376oe5pwoQJdO7cmbCwMKOsSpUqAJw6dYq1a9cSGRlJ3bp1gTtf6j09PVmzZg0dO3YkLi6O5557joCAAAB8fHyMfubMmUNgYCATJ040yhYtWoSnpycnT56kXLly2Y4zLi6O8PBw4uLi8PDwAGDYsGFs3LiR8PBwJk6cSEhICC+//DLXr1/Hzs6OpKQk1q1bx+rVq4E7SaH09HQWLlxozAYJDw/HxcWFHTt28MwzzzwwjkmTJpk9KxERERERkZzSTAjJllOnTtGlSxd8fHxwcnLCy8sLuPMF2c3NjWeeeYalS5cCcO7cOfbt20dISAgAMTExWFlZERQUZPRXtmxZChUqlK2xY2Ji8PT0NBIQgNmMhdw6cuQITZs2zbLuxIkTWFlZUatWLaOscOHC+Pn5ceLECQAGDhzI+PHjqVevHmPGjOGHH34w2kZHR7N9+3YcHByMV/ny5QGMZSzZdfToUdLS0ihXrpxZfzt37jT6atmyJQUKFGDt2rUAfPXVVzg5OREcHGzEc/r0aRwdHY3rXV1duXnzZrbjGTlyJImJicbrwoULOboPERERERERzYSQbGnTpg2lS5dmwYIFeHh4kJ6eTqVKlYyp/CEhIQwcOJAPPviAZcuWERAQYMwQyA8WFhZmy0MAYxnFXba2tg81Rq9evWjWrBnr1q3j22+/ZdKkSUyfPp0BAwaQnJxMmzZteO+99zJd5+7unqNxkpOTsbS05NChQ1haWprV3V3+UbBgQZ5//nmWLVtG586dWbZsGS+88AJWVlZGH9WqVTMSRX/l5uaWrTisra2xtrbOUewiIiIiIiJ/pZkQ8kB//vknMTExvPPOOzRt2hR/f38uX75s1qZt27bcvHmTjRs3smzZMmMWBICfnx+pqakcPnzYKDt9+nSmPu7Fz8+PCxcu8NtvvxllUVFR973Gzc2Nq1evcu3aNaPsyJEjZm0qV67M1q1bs7ze39+f1NRU9u/fb5TdfQ4VKlQwyjw9Penbty+rVq3i9ddfZ8GCBQAEBQVx7NgxvLy8KFu2rNnL3t4+W/d9V2BgIGlpaSQkJGTq66+zQ0JCQti4cSPHjh1j27ZtZp9BUFAQp06domjRopn6cHZ2zlE8IiIiIiIiuaUkhDxQoUKFKFy4MB9//DGnT59m27ZtDB061KyNvb097dq1Y9SoUZw4cYIuXboYdeXLlyc4OJg+ffpw4MABDh8+TJ8+fbC1tc10WkVWnn76acqUKUPXrl354YcfiIyM5J133gG45/W1atXCzs6Ot956izNnzrBs2TIiIiLM2owZM4bly5czZswYTpw4YWwuCeDr60vbtm3p3bs3e/bsITo6mpdeeokSJUrQtm1bAAYPHsymTZs4d+4c33//Pdu3b8ff3x+4s2nlpUuX6NKlC1FRUZw5c4ZNmzbRvXt30tLSsvfg/79y5coREhJCaGgoq1at4ty5cxw4cIBJkyaxbt06o13Dhg0pXrw4ISEheHt7my0lCQkJoUiRIrRt25bdu3dz7tw5duzYwcCBA/n5559zFI+IiIiIiEhuKQkhD2RhYcGKFSs4dOgQlSpVYsiQIUydOjVTu5CQEKKjo2nQoAGlSpUyq1uyZAnFihWjYcOGtG/fnt69e+Po6IiNjc0Dx7e0tGTNmjUkJydTo0YNevXqZZyOca/rXV1d+eyzz1i/fj0BAQEsX76csWPHmrVp3LgxX375JWvXrqVq1ao0adKEAwcOGPXh4eFUq1aN1q1bU6dOHTIyMli/fj0FChQA7pza0a9fP/z9/WnevDnlypVj7ty5AHh4eBAZGUlaWhrPPPMMAQEBDB48GBcXFywscv6fXXh4OKGhobz++uv4+fnRrl07oqKizJ6zyWSiS5cuREdHm82CALCzs2PXrl2UKlWKDh064O/vT8+ePbl58yZOTk45jkdERERERCQ3TBl/Xzgvkgd+/vlnPD092bJlyz03h7yfyMhI6tevz+nTpylTpsw/EKE8SFJSEs7OzlQZMB9L64fbX0NERERE5HF1aGpofoeQ7+5+N0hMTHzgHzm1MaXkiW3btpGcnExAQADx8fEMHz4cLy8vGjZsmK3rV69ejYODA76+vpw+fZpBgwZRr149JSBEREREREQeI1qOIXni9u3bvPXWW1SsWJH27dvj5ubGjh07KFCgAEuXLjU7evKvr4oVKwJw9epV+vXrR/ny5enWrRs1atTg66+/zue7yp24uLh73q+DgwNxcXH5HaKIiIiIiMg/QssxJN9dvXrV7OSLvypQoAClS5fO44j+WampqcTGxt6z3svLyzha899MyzFERERERLQcA3K2HENJCBHJlZz8QyMiIiIiIk+unHw30HIMEREREREREckTSkKIiIiIiIiISJ5QEkJERERERERE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mD59Oi4uLjz77LP5HZKIiIiIiIj8hZIQ8sSIi4vD29ubkiVLEhERgZWVfr1FRERERET+TfQtTZ4YXl5eDzxmcseOHXkTjIiIiIiIiGSiJISIPJRd47s81PGjIiIiIiLy36HTMUREREREREQkTygJISIiIiIiIiJ5QkkIEREREREREckTSkKIiIiIiIiISJ5QEkJERERERERE8oROxxCRh9LwneVYWtvmdxjyL3Boamh+hyAiIiIi/3KaCSEiIiIiIiIieUJJCBERERERERHJE0pCiIiIiIiIiEieUBJCRERERERERPKEkhDyyDRu3JjBgwfft42XlxczZ87Mk3ju5VHFaTKZWLNmDQCxsbGYTCaOHDnySGLMD/+Gz0ZERERERJ5sOh1D8lRUVBT29vb5GsOqVasoUKBAvsYgIiIiIiLyX6QkhOQpNze3/A4BV1fX/A5BRERERETkP0nLMZ4gGzdupH79+ri4uFC4cGFat27NmTNnjPq9e/dStWpVbGxsqF69OmvWrMm0hODHH3+kRYsWODg4UKxYMV5++WX++OOPbMeQmppK//79cXZ2pkiRIowaNYqMjAyj/u9T/k0mEwsXLqR9+/bY2dnh6+vL2rVrszXWjh07MJlMbNq0icDAQGxtbWnSpAkJCQls2LABf39/nJycePHFF7l+/bpx3d+XYyQkJNCmTRtsbW3x9vZm6dKlmcY6deoUDRs2xMbGhgoVKrB58+YHxpebZ/npp59SvXp1HB0dKV68OC+++CIJCQlmbdauXYuvry82NjY89dRTLF68GJPJxJUrV4w2e/bsoUGDBtja2uLp6cnAgQO5du1aju5ZRERERETkUVMS4gly7do1hg4dysGDB9m6dSsWFha0b9+e9PR0kpKSaNOmDQEBAXz//fe8++67jBgxwuz6K1eu0KRJEwIDAzl48CAbN27kt99+o1OnTtmOYfHixVhZWXHgwAFmzZrF+++/z8KFC+97TVhYGJ06deKHH36gZcuWhISEcOnSpWyPOXbsWObMmcPevXu5cOECnTp1YubMmSxbtox169bx7bff8sEHH9zz+m7dunHhwgW2b9/OypUrmTt3rtkX//T0dDp06EDBggXZv38/8+fPz/Ts/i63z/L27du8++67REdHs2bNGmJjY+nWrZtRf+7cOZ5//nnatWtHdHQ0r7zyCm+//bZZH2fOnKF58+Y899xz/PDDD3z++efs2bOH/v37Z/ues5KSkkJSUpLZS0REREREJCe0HOMJ8txzz5m9X7RoEW5ubhw/fpw9e/ZgMplYsGCB8df8X375hd69exvt58yZQ2BgIBMnTjTrw9PTk5MnT1KuXLkHxuDp6cmMGTMwmUz4+flx9OhRZsyYYTbO33Xr1o0uXboAMHHiRGbPns2BAwdo3rx5tu57/Pjx1KtXD4CePXsycuRIzpw5g4+PDwDPP/8827dvzzJxcPLkSTZs2MCBAweoUaMGAJ988gn+/v5Gmy1btvDTTz+xadMmPDw8jDhbtGhxz5hy+yx79Ohh/Ozj48Ps2bOpUaMGycnJODg48NFHH+Hn58fUqVMB8PPz48cff2TChAnGdZMmTSIkJMSY7eHr68vs2bNp1KgR8+bNIy4u7oH3nJVJkyYRFhZ23zYiIiIiIiL3o5kQT5BTp07RpUsXfHx8cHJywsvLC4C4uDhiYmKoXLkyNjY2RvuaNWuaXR8dHc327dtxcHAwXuXLlwcwW9ZxP7Vr18ZkMhnv69Spw6lTp0hLS7vnNZUrVzZ+tre3x8nJ6YF/lb/X9cWKFcPOzs5IQNwtu1d/J06cwMrKimrVqhll5cuXx8XFxayNp6enkYC4e1/386BnuXTpUrO63bt3A3Do0CHatGlDqVKlcHR0pFGjRsCdzxAgJibGSBzcldXnGBERYdZ/s2bNSE9P59y5c9m656yMHDmSxMRE43XhwoX7thcREREREfk7zYR4grRp04bSpUuzYMECPDw8SE9Pp1KlSty6dStb1ycnJ9OmTRvee++9THXu7u6POlzD30+qMJlMpKen5+p6k8n00P09Cg96lunp6dSqVcsoK1GiBNeuXaNZs2Y0a9aMpUuX4ubmRlxcHM2aNcv2Z3h37FdeeYWBAwdmqitVqhQnT57M1T1ZW1tjbW2dq2tFRERERERASYgnxp9//klMTAwLFiygQYMGwJ3NCe/y8/Pjs88+IyUlxfgiGRUVZdZHUFAQX331FV5eXlhZ5e5XY//+/Wbvv/vuO3x9fbG0tMxVf/+08uXLk5qayqFDh4wZBjExMWabPPr7+3PhwgXi4+ONZMx33313336z8ywdHR3N3h86dIg///yTyZMn4+npCcDBgwfN2vj5+bF+/Xqzsqw+x+PHj1O2bNlc37OIiIiIiMg/QcsxnhCFChWicOHCfPzxx5w+fZpt27YxdOhQo/7FF18kPT2dPn36cOLECTZt2sS0adMAjOUT/fr149KlS3Tp0oWoqCjOnDnDpk2b6N69+32XU/xVXFwcQ4cOJSYmhuXLl/PBBx8waNCgR3/Dj4ifnx/NmzfnlVdeYf/+/Rw6dIhevXpha2trtAkODqZcuXJ07dqV6Ohodu/enWkzyL/LzbMsVaoUBQsW5IMPPuDs2bOsXbuWd99916zNK6+8wk8//cSIESM4efIkX3zxBREREcD/fY4jRoxg79699O/fnyNHjnDq1Cm+/vprY2PK7NyziIiIiIjIP0FJiCeEhYUFK1as4NChQ1SqVIkhQ4YYmxcCODk58b///Y8jR45QtWpV3n77bUaPHg1g7BPh4eFBZGQkaWlpPPPMMwQEBDB48GBcXFywsMjer0poaCg3btygZs2a9OvXj0GDBtGnT59Hf8OPUHh4OB4eHjRq1IgOHTrQp08fihYtatRbWFiwevVq47569eplthFkVnLzLN3c3IiIiODLL7+kQoUKTJ482UgU3eXt7c3KlStZtWoVlStXZt68eUZC5O4Ml8qVK7Nz505OnjxJgwYNCAwMZPTo0WZ7WjzonkVERERERP4JpoyMjIz8DkLyx9KlS+nevTuJiYn6K/hjbMKECcyfPz/PN4pMSkrC2dmZKgPmY2mt3x+BQ1ND8zsEEREREckHd78bJCYm4uTkdN+22hPiP2TJkiX4+PhQokQJoqOjGTFiBJ06dVIC4jEzd+5catSoQeHChYmMjGTq1KnGUgsREREREZF/MyUh/kMuXrzI6NGjuXjxIu7u7nTs2PGBywruiouLo0KFCvesP378OKVKlXpUoQLQt29fPvvssyzrXnrpJebPn/9Ix3tcnDp1ivHjx3Pp0iVKlSrF66+/zsiRI/M7LBERERERkQfScgzJltTUVGJjY+9Z/zAnatxLQkICSUlJWdY5OTlpD4N8puUY8ndajiEiIiLy35ST5RhKQohIruTkHxoREREREXly5eS7gU7HEBEREREREZE8oSSEiIiIiIiIiOQJJSFEREREREREJE8oCSEiIiIiIiIieUJHdIrIQ2n4znKdjvGY06kWIiIiIpJXNBNCRERERERERPKEkhAiIiIiIiIikieUhBARERERERGRPKEkhIiIiIiIiIjkCSUhRERERERERCRPKAkhxMbGYjKZOHLkyD3b7NixA5PJxJUrV/IsLsmayWRizZo1+R2GiIiIiIhIjikJ8Zjo1q0bJpMJk8lEgQIF8Pb2Zvjw4dy8efOh+/b09CQ+Pp5KlSo9gkj/Pf6tX9a9vLyYOXNmpvKxY8dStWrVPI9HREREREQkr1jldwCSfc2bNyc8PJzbt29z6NAhunbtislk4r333nuofi0tLSlevPgjilL+Kbdu3aJgwYL5HYaIiIiIiEiuaSbEY8Ta2prixYvj6elJu3btCA4OZvPmzQCkp6czadIkvL29sbW1pUqVKqxcudK49vLly4SEhODm5oatrS2+vr6Eh4cDWS/HWL9+PeXKlcPW1pannnqK2NjYTPHs2bOHBg0aYGtri6enJwMHDuTatWtGvZeXFxMnTqRHjx44OjpSqlQpPv74Y7M+fv75Z7p06YKrqyv29vZUr16d/fv3G/Vff/01QUFB2NjY4OPjQ1hYGKmpqQ98Vl5eXgC0b98ek8mEl5cXsbGxWFhYcPDgQbO2M2fOpHTp0qSnpxvLTtatW0flypWxsbGhdu3a/Pjjjzm690ehcePG9O/fn8GDB1OkSBGaNWtm1MXHx9OiRQtsbW3x8fEx+6wBRowYQbly5bCzs8PHx4dRo0Zx+/Zto/7urItPP/0ULy8vnJ2d6dy5M1evXn2k9yAiIiIiIvJXSkI8pn788Uf27t1r/GV80qRJLFmyhPnz53Ps2DGGDBnCSy+9xM6dOwEYNWoUx48fZ8OGDZw4cYJ58+ZRpEiRLPu+cOECHTp0oE2bNhw5coRevXrx5ptvmrU5c+YMzZs357nnnuOHH37g888/Z8+ePfTv39+s3fTp06levTqHDx/mtdde49VXXyUmJgaA5ORkGjVqxC+//MLatWuJjo5m+PDhpKenA7B7925CQ0MZNGgQx48f56OPPiIiIoIJEyY88PlERUUBEB4eTnx8PFFRUXh5eREcHGwkX+4KDw+nW7duWFj8338Ob7zxBtOnTycqKgo3NzfatGljfInP7r0/CosXL6ZgwYJERkYyf/58o3zUqFE899xzREdHExISQufOnTlx4oRR7+joSEREBMePH2fWrFksWLCAGTNmmPV95swZ1qxZwzfffMM333zDzp07mTx58j1jSUlJISkpyewlIiIiIiKSE6aMjIyM/A5CHqxbt2589tln2NjYkJqaSkpKChYWFnzxxRe0bt0aV1dXtmzZQp06dYxrevXqxfXr11m2bBnPPvssRYoUYdGiRZn6jo2Nxdvbm8OHD1O1alXeeustvv76a44dO2a0efPNN3nvvfe4fPkyLi4u9OrVC0tLSz766COjzZ49e2jUqBHXrl3DxsYGLy8vGjRowKeffgpARkYGxYsXJywsjL59+/Lxxx8zbNgwYmNjcXV1zRRXcHAwTZs2ZeTIkUbZZ599xvDhw/n1118f+MxMJhOrV6+mXbt2RtkXX3xB3759iY+Px9ramu+//57q1atz9uxZvLy82LFjB0899RQrVqzghRdeAODSpUuULFmSiIgIOnXqlK17vx8vLy8GDx7M4MGDzcrHjh3LmjVrjBkpjRs3Jikpie+//z7TffXt25d58+YZZbVr1yYoKIi5c+dmOea0adNYsWKFMQtk7NixTJ06lYsXL+Lo6AjA8OHD2bVrF999912WfYwdO5awsLBM5VUGzMfS2va+9yz/boemhuZ3CCIiIiLyGEtKSsLZ2ZnExEScnJzu21Z7QjxGnnrqKebNm8e1a9eYMWMGVlZWPPfccxw7dozr16/z9NNPm7W/desWgYGBALz66qs899xzfP/99zzzzDO0a9eOunXrZjnOiRMnqFWrllnZX5MbANHR0fzwww8sXbrUKMvIyCA9PZ1z587h7+8PQOXKlY16k8lE8eLFSUhIAODIkSMEBgZmmYC4O0ZkZKTZzIe0tDRu3rzJ9evXsbOzu+/zykq7du3o168fq1evpnPnzkRERPDUU08Zyzeyul9XV1f8/PyMmQbZvfdHoVq1almW//3zqFOnjtlyms8//5zZs2dz5swZkpOTSU1NzfSPgZeXl5GAAHB3dzc+m6yMHDmSoUOHGu+TkpLw9PTMye2IiIiIiMh/nJIQjxF7e3vKli0LwKJFi6hSpQqffPKJcarFunXrKFGihNk11tbWALRo0YLz58+zfv16Nm/eTNOmTenXrx/Tpk3LVSzJycm88sorDBw4MFNdqVKljJ8LFChgVmcymYzlFra29//reXJyMmFhYXTo0CFT3YNmG9xLwYIFCQ0NJTw8nA4dOrBs2TJmzZqVoz6ye+/34uTkRGJiYqbyK1eu4OzsbFZmb2+fo9gA9u3bR0hICGFhYTRr1gxnZ2dWrFjB9OnTzdrd77PJirW1tfH7JCIiIiIikhtKQjymLCwseOuttxg6dCgnT57E2tqauLg4GjVqdM9r3Nzc6Nq1K127dqVBgwa88cYbWSYh/P39Wbt2rVnZ36foBwUFcfz4cSMpkhuVK1dm4cKFXLp0KcvZEEFBQcTExOR6jAIFCpCWlpapvFevXlSqVIm5c+eSmpqaZZLju+++MxIKly9f5uTJk8YMh4e9dz8/Pw4dOpSp/Pvvv8fPzy9bfXz33XeEhoaavb8762Xv3r2ULl2at99+26g/f/58rmIVERERERF5lLQx5WOsY8eOxt4Ew4YNY8iQISxevJgzZ87w/fff88EHH7B48WIARo8ezddff83p06c5duwY33zzzT2XDfTt25dTp07xxhtvEBMTw7Jly4iIiDBrM2LECPbu3Uv//v05cuQIp06d4uuvv87R5oxdunShePHitGvXjsjISM6ePctXX33Fvn37jJiXLFlCWFgYx44d48SJE6xYsYJ33nknW/17eXmxdetWLl68yOXLl41yf39/ateuzYgRI+jSpUuWMzLGjRvH1q1b+fHHH+nWrRtFihQx9pZ42HsfMmQI69atY8KECZw4cYIff/yRt99+m3379jFo0KBs9fHll1+yaNEiTp48yZgxYzhw4IAxvq+vL3FxcaxYsYIzZ84we/ZsVq9ena1+RURERERE/klKQjzGrKys6N+/P1OmTGHkyJGMGjWKSZMm4e/vT/PmzVm3bh3e3t7AnWUII0eOpHLlyjRs2BBLS0tWrFiRZb+lSpXiq6++Ys2aNVSpUoX58+czceJEszaVK1dm586dnDx5kgYNGhAYGMjo0aPx8PDIdvwFCxbk22+/pWjRorRs2ZKAgAAmT56MpaUlAM2aNeObb77h22+/pUaNGtSuXZsZM2ZQunTpbPU/ffp0Nm/ejKenpzFL4K6ePXty69YtevTokeW1kydPZtCgQVSrVo2LFy/yv//9zziJ5GHvvW7dumzYsIENGzZQr149GjduzN69e9m6dauxtOZBwsLCWLFiBZUrV2bJkiUsX76cChUqAPDss88yZMgQ+vfvT9WqVdm7dy+jRo3KVr8iIiIiIiL/JJ2OIf9J7777Ll9++SU//PCDWfnd0zHungIi93Z3B1ydjvH40+kYIiIiIvIwcnI6hmZCyH9KcnIyP/74I3PmzGHAgAH5HY6IiIiIiMh/ipIQ8lhaunQpDg4OWb4qVqx4z+v69+9PtWrVaNy48T2XYjyM3bt33zMuBweHRz6eiIiIiIjI40TLMeSxdPXqVX777bcs6woUKJDtfSMetRs3bvDLL7/cs/5hThP5t9FyjCeHlmOIiIiIyMPIyXIMJSFEJFdy8g+NiIiIiIg8ubQnhIiIiIiIiIj86ygJISIiIiIiIiJ5QkkIEREREREREckTSkKIiIiIiIiISJ6wyu8AROTx1vCd5Tod4zGmkzFEREREJC9pJoSIiIiIiIiI5AklIUREREREREQkTygJISIiIiIiIiJ5QkkIEREREREREckTSkKI5FC3bt1o165dfoeRY15eXsycOTO/wxARERERkf8wJSFE/oUiIiIwmUz4+/tnqvvyyy8xmUx4eXnlfWAiIiIiIiIPQUkIkTyWkZFBamrqA9vZ29uTkJDAvn37zMo/+eQTSpUq9U+FJyIiIiIi8o9REkIeW1evXiUkJAR7e3vc3d2ZMWMGjRs3ZvDgwQCkpKQwbNgwSpQogb29PbVq1WLHjh3G9REREbi4uLBp0yb8/f1xcHCgefPmxMfHG23S0tIYOnQoLi4uFC5cmOHDh5ORkWEWR3p6OpMmTcLb2xtbW1uqVKnCypUrjfodO3ZgMpnYsGED1apVw9ramj179jzw/qysrHjxxRdZtGiRUfbzzz+zY8cOXnzxRbO2Z86coW3bthQrVgwHBwdq1KjBli1b7tv/lStX6NWrF25ubjg5OdGkSROio6MfGJeIiIiIiEhuKQkhj62hQ4cSGRnJ2rVr2bx5M7t37+b777836vv378++fftYsWIFP/zwAx07dqR58+acOnXKaHP9+nWmTZvGp59+yq5du4iLi2PYsGFG/fTp04mIiGDRokXs2bOHS5cusXr1arM4Jk2axJIlS5g/fz7Hjh1jyJAhvPTSS+zcudOs3ZtvvsnkyZM5ceIElStXztY99ujRgy+++ILr168DdxInzZs3p1ixYmbtkpOTadmyJVu3buXw4cM0b96cNm3aEBcXd8++O3bsSEJCAhs2bODQoUMEBQXRtGlTLl26lGX7lJQUkpKSzF4iIiIiIiI5oSSEPJauXr3K4sWLmTZtGk2bNqVSpUqEh4eTlpYGQFxcHOHh4Xz55Zc0aNCAMmXKMGzYMOrXr094eLjRz+3bt5k/fz7Vq1cnKCiI/v37s3XrVqN+5syZjBw5kg4dOuDv78/8+fNxdnY26lNSUpg4cSKLFi2iWbNm+Pj40K1bN1566SU++ugjs5jHjRvH008/TZkyZXB1dc3WfQYGBuLj48PKlSvJyMggIiKCHj16ZGpXpUoVXnnlFSpVqoSvry/vvvsuZcqUYe3atVn2u2fPHg4cOMCXX35J9erV8fX1Zdq0abi4uJjN4virSZMm4ezsbLw8PT2zdQ8iIiIiIiJ3WeV3ACK5cfbsWW7fvk3NmjWNMmdnZ/z8/AA4evQoaWlplCtXzuy6lJQUChcubLy3s7OjTJkyxnt3d3cSEhIASExMJD4+nlq1ahn1VlZWVK9e3ViScfr0aa5fv87TTz9tNs6tW7cIDAw0K6tevXqu7rVHjx6Eh4dTqlQprl27RsuWLZkzZ45Zm+TkZMaOHcu6deuIj48nNTWVGzdu3HMmRHR0NMnJyWbPAuDGjRucOXMmy2tGjhzJ0KFDjfdJSUlKRIiIiIiISI4oCSFPpOTkZCwtLTl06BCWlpZmdQ4ODsbPBQoUMKszmUyZ9nx40DgA69ato0SJEmZ11tbWZu/t7e2z3e9fhYSEMHz4cMaOHcvLL7+MlVXm/2yHDRvG5s2bmTZtGmXLlsXW1pbnn3+eW7du3TNud3d3sz0y7nJxccnyGmtr60z3JCIiIiIikhNKQshjycfHhwIFChAVFWWcFJGYmMjJkydp2LAhgYGBpKWlkZCQQIMGDXI1hrOzM+7u7uzfv5+GDRsCkJqaauyfAFChQgWsra2Ji4ujUaNGj+bm/sbV1ZVnn32WL774gvnz52fZJjIykm7dutG+fXvgTpIhNjb2nn0GBQVx8eJFrKysdNSniIiIiIjkGSUh5LHk6OhI165deeONN3B1daVo0aKMGTMGCwsLTCYT5cqVIyQkhNDQUKZPn05gYCC///47W7dupXLlyrRq1Spb4wwaNIjJkyfj6+tL+fLlef/997ly5YpZHMOGDWPIkCGkp6dTv359EhMTiYyMxMnJia5duz6S+42IiGDu3LmZlk/c5evry6pVq2jTpg0mk4lRo0aRnp5+z/6Cg4OpU6cO7dq1Y8qUKZQrV45ff/2VdevW0b59+1wvHREREREREbkfJSHksfX+++/Tt29fWrdujZOTE8OHD+fChQvY2NgAEB4ezvjx43n99df55ZdfKFKkCLVr16Z169bZHuP1118nPj6erl27YmFhQY8ePWjfvj2JiYlGm3fffRc3NzcmTZrE2bNncXFxISgoiLfeeuuR3autrS22trb3rH///ffp0aMHdevWpUiRIowYMeK+p1eYTCbWr1/P22+/Tffu3fn9998pXrw4DRs2zHTyhoiIiIiIyKNiysjJAniRf7Fr165RokQJpk+fTs+ePfM7nCdeUlISzs7OVBkwH0vreydI5N/t0NTQ/A5BRERERB5zd78bJCYm4uTkdN+2mgkhj63Dhw/z008/UbNmTRITExk3bhwAbdu2zefIREREREREJCsW+R2AyMOYNm0aVapUITg4mGvXrrF7926KFCmS32E9UMWKFXFwcMjytXTp0vwOT0RERERE5B+hmRDy2AoMDOTQoUP5HUaurF+/ntu3b2dZpz0ZRERERETkSaU9IUQkV3Ky7ktERERERJ5cOfluoOUYIiIiIiIiIpInlIQQERERERERkTyhJISIiIiIiIiI5AklIUREREREREQkTygJISIiIiIiIiJ5Qkd0ishDafjOciytbfM7DPmbQ1ND8zsEEREREZFMcj0T4tNPP6VevXp4eHhw/vx5AGbOnMnXX3/9yIITERERERERkSdHrpIQ8+bNY+jQobRs2ZIrV66QlpYGgIuLCzNnznyU8YmIiIiIiIjIEyJXSYgPPviABQsW8Pbbb2NpaWmUV69enaNHjz6y4ERERERERETkyZGrJMS5c+cIDAzMVG5tbc21a9ceOigRERERERERefLkKgnh7e3NkSNHMpVv3LgRf3//h41J5LEVERGBi4vLQ/djMplYs2bNQ/cjIiIiIiLyb5KrJMTQoUPp168fn3/+ORkZGRw4cIAJEyYwcuRIhg8f/qhjFHlsvPDCC5w8eTJPxjp58iR2dnYsW7bMrDw9PZ26devy/PPP50kcIiIiIiIi2ZWrIzp79eqFra0t77zzDtevX+fFF1/Ew8ODWbNm0blz50cdowi3bt2iYMGC+R0GcO9Ybt++ja2tLba2eXNcZbly5Zg8eTIDBgzgqaeewt3dHYDp06dz9uxZ1q5dmydxiIiIiIiIZFeOZ0KkpqayZMkSgoODOXXqFMnJyVy8eJGff/6Znj17/hMxyr9Qeno6kyZNwtvbG1tbW6pUqcLKlStJT0+nZMmSzJs3z6z94cOHsbCwMI5zvXLlCr169cLNzQ0nJyeaNGlCdHS00X7s2LFUrVqVhQsX4u3tjY2NzQNjaty4MQMGDGDw4MEUKlSIYsWKsWDBAq5du0b37t1xdHSkbNmybNiwwbgmLS2Nnj17Gvfh5+fHrFmzzPrt1q0b7dq1Y8KECXh4eODn50dsbCwmk4nPP/+cRo0aYWNjw9KlS7NcjvH1118TFBSEjY0NPj4+hIWFkZqaatSfOnWKhg0bYmNjQ4UKFdi8eXO2P4cBAwZQpUoVevfuDcBPP/3E6NGj+fjjjylSpAgLFy7E398fGxsbypcvz9y5c41rb926Rf/+/XF3d8fGxobSpUszadKkbI8tIiIiIiKSUzmeCWFlZUXfvn05ceIEAHZ2dtjZ2T3ywOTfbdKkSXz22WfMnz8fX19fdu3axUsvvcSmTZvo0qULy5Yt49VXXzXaL126lHr16lG6dGkAOnbsiK2tLRs2bMDZ2ZmPPvqIpk2bcvLkSVxdXQE4ffo0X331FatWrTI7heV+Fi9ezPDhwzlw4ACff/45r776KqtXr6Z9+/a89dZbzJgxg5dffpm4uDjs7OyMpMmXX35J4cKF2bt3L3369MHd3Z1OnToZ/W7duhUnJ6dMCYI333yT6dOnExgYiI2NDZs2bTKr3717N6GhocyePZsGDRpw5swZ+vTpA8CYMWNIT0+nQ4cOFCtWjP3795OYmMjgwYOz/TmYTCbCw8OpXLkyCxYs4JNPPqFz5848++yzLF26lNGjRzNnzhwCAwM5fPgwvXv3xt7enq5duzJ79mzWrl3LF198QalSpbhw4QIXLly451gpKSmkpKQY75OSkrIdp4iIiIiICIApIyMjI6cXNW7cmMGDB9OuXbt/ICT5t0tJScHV1ZUtW7ZQp04do7xXr15cv36d4cOHExQURGxsLKVKlSI9PZ1SpUrxzjvv0LdvX/bs2UOrVq1ISEjA2trauL5s2bIMHz6cPn36MHbsWCZOnMgvv/yCm5tbtuJq3LgxaWlp7N69G7gzy8HZ2ZkOHTqwZMkSAC5evIi7uzv79u2jdu3aWfbTv39/Ll68yMqVK4E7MyE2btxIXFycsQwjNjYWb29vZs6cyaBBg4xrIyIiGDx4MFeuXAEgODiYpk2bMnLkSKPNZ599xvDhw/n111/59ttvadWqFefPn8fDwwO4s8FrixYtWL16dbb/GwsPD6dXr16ULFmSo0eP4uTkRNmyZXn33Xfp0qWL0W78+PGsX7+evXv3MnDgQI4dO8aWLVswmUwPHGPs2LGEhYVlKq8yYD6W1nmzBEWy79DU0PwOQURERET+I5KSknB2diYxMREnJ6f7ts3VnhCvvfYar7/+Oj///DPVqlXD3t7erL5y5cq56VYeE6dPn+b69es8/fTTZuW3bt0iMDCQqlWr4u/vz7Jly3jzzTfZuXMnCQkJdOzYEYDo6GiSk5MpXLiw2fU3btzgzJkzxvvSpUtnOwFx119/9ywtLSlcuDABAQFGWbFixQBISEgwyj788EMWLVpEXFwcN27c4NatW1StWtWs34CAgCz3gahevfp944mOjiYyMpIJEyYYZWlpady8eZPr169z4sQJPD09jQQEYJbYya7u3bszatQoBgwYgJOTE9euXePMmTP07NnTWKoBd5ZTOTs7A3eSK08//TR+fn40b96c1q1b88wzz9xzjJEjRzJ06FDjfVJSEp6enjmOVURERERE/rtylYS4u/nkwIEDjTKTyURGRgYmk4m0tLRHE538KyUnJwOwbt06SpQoYVZ3d2ZDSEiIkYRYtmwZzZs3N5IOycnJuLu7s2PHjkx9/3U/hb8nt7KjQIECZu9NJpNZ2d2/+KenpwOwYsUKhg0bxvTp06lTpw6Ojo5MnTqV/fv3m/Vzr1geFGNycjJhYWF06NAhU1129rnICSsrK6ysrIxxARYsWECtWrXM2t1d2hIUFMS5c+fYsGEDW7ZsoVOnTgQHBxszQP7O2trabOaKiIiIiIhITuUqCXHu3LlHHYc8RipUqIC1tTVxcXE0atQoyzYvvvgi77zzDocOHWLlypXMnz/fqAsKCuLixYtYWVnh5eWVR1FnLTIykrp16/Laa68ZZX+djfGwgoKCiImJoWzZslnW+/v7c+HCBeLj443TLb777ruHHrdYsWJ4eHhw9uxZQkJC7tnOycmJF154gRdeeIHnn3+e5s2bc+nSJWNfDhERERERkUcpV0mIu5sLyn+To6Mjw4YNY8iQIaSnp1O/fn0SExOJjIzEycmJrl274uXlRd26denZsydpaWk8++yzxvXBwcHUqVOHdu3aMWXKFMqVK8evv/7KunXraN++/QOXODxKvr6+LFmyhE2bNuHt7c2nn35KVFQU3t7ej6T/0aNH07p1a0qVKsXzzz+PhYUF0dHR/Pjjj4wfP57g4GDKlStH165dmTp1KklJSbz99tuPZOywsDAGDhyIs7MzzZs3JyUlhYMHD3L58mWGDh3K+++/j7u7O4GBgVhYWPDll19SvHjxTKd7iIiIiIiIPCq5SkLc3eTvXkJDtSHak+7dd9/Fzc2NSZMmcfbsWVxcXAgKCuKtt94y2oSEhPDaa68RGhqKre3/bVxoMplYv349b7/9Nt27d+f333+nePHiNGzY0NizIa+88sorHD58mBdeeAGTyUSXLl147bXXzI7xfBjNmjXjm2++Ydy4cbz33nsUKFCA8uXL06tXLwAsLCxYvXo1PXv2pGbNmnh5eTF79myaN2/+0GP36tULOzs7pk6dyhtvvIG9vT0BAQHG6RuOjo5MmTKFU6dOYWlpSY0aNVi/fj0WFjk+uVdERERERCRbcnU6RqFChcze3759m+vXr1OwYEHs7Oy4dOnSIwtQRP6d7u6Aq9Mx/p10OoaIiIiI5JWcnI6Rqz95Xr582eyVnJxMTEwM9evXZ/ny5bkKWkRERERERESebI9s3rWvry+TJ09m0KBBj6pLEUNcXBwODg73fMXFxeV3iP+IiRMn3vOeW7Rokd/hiYiIiIiI5Eiu9oS4Z2dWVvz666+PsksRADw8PDhy5Mh9659Effv2pVOnTlnW/XWfDRERERERkcdBrvaEWLt2rdn7jIwM4uPjmTNnDp6eno9sUz8R+ffKybovERERERF5cuXku0GuZkK0a9fO7L3JZMLNzY0mTZowffr03HQpIiIiIiIiIk+4XCUh0tPTH3UcIiIiIiIiIvKEy9XGlOPGjeP69euZym/cuMG4ceMeOigRERERERERefLkak8IS0tL4uPjKVq0qFn5n3/+SdGiRUlLS3tkAYrIv5P2hBAREREREciDPSEyMjIwmUyZyqOjo3F1dc1NlyLymGr4znIsrXVSR144NDU0v0MQEREREXkoOUpCFCpUCJPJhMlkoly5cmaJiLS0NJKTk+nbt+8jD1JEREREREREHn85SkLMnDmTjIwMevToQVhYGM7OzkZdwYIF8fLyok6dOo88SBERERERERF5/OUoCdG1a1cAvL29qVu3LgUKFPhHghIRERERERGRJ0+u9oRo1KiR8fPNmze5deuWWb02qRMRERERERGRv8vVEZ3Xr1+nf//+FC1aFHt7ewoVKmT2EhERERERERH5u1wlId544w22bdvGvHnz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lXu2/+abbzh79iwNGzakUKFCrF+/nvT0dPz8/HB0dGTYsGEMGTKE9PR06tevT2JiIpGRkTg5OdG1a1d8fX1ZsmQJmzZtwtvbm08//ZSoqCjjZI9z587x8ccf8+yzz+Lh4UFMTAynTp0iNPTOngKjR4+mdevWlCpViueffx4LCwuio6P58ccfGT9+fPY/CBERERERkRzI1ekYv/zyS5Z/QU1PT+f27dsPHZTIg5hMJtavX0/Dhg3p3r075cqVo3Pnzpw/f55ixYoB8P7771OoUCHq1q1LmzZtaNas2X1nJtxlZWXF7Nmz+eijj/Dw8KBt27YPvOb111/n5ZdfpmvXrsbyiLszMLLi4uLCqlWraNKkCf7+/syfP5/ly5dTsWJFAN59911GjRrFpEmT8Pf3p3nz5qxbt85IMrzyyit06NCBF154gVq1avHnn3+azYqws7Pjp59+4rnnnqNcuXL06dOHfv368corrwDQrFkzvvnmG7799ltq1KhB7dq1mTFjhvZ2ERERERGRf1SuTseoVq2acWSgo6Mj0dHR+Pj4GMcn/vU0AxF5Mt3dAVenY+QdnY4hIiIiIv9G//jpGKNHj6Zr16788ssvpKens2rVKmJiYliyZAnffPNNroIWERERERERkSdbjpZjnD17loyMDNq2bcv//vc/tmzZgr29PaNHj+bEiRP873//y3SsoMiTwMHB4Z4vzfwRERERERHJnhzNhPD19SU+Pp6iRYvSoEEDXF1dOXr0qLEGX+RJdeTIkXvW/f0YTREREREREclajpIQf98+YsOGDVy7du2RBiTyb6SjLO9t1/guD1z3JSIiIiIiArk8HeOuXOxpKSIiIiIiIiL/UTlKQphMJkwmU6YyEREREREREZEHyfFyjG7dumFtbQ3AzZs36du3L/b29mbtVq1a9egiFBEREREREZEnQo6SEF27djV7/9JLLz3SYERERERERETkyWXK0MYOIpILSUlJODs7U2XAfCytbfM7nCfKoamh+R2CiIiIiEi23f1ukJiY+MBN6x9qY0oRERERERERkexSEkJERERERERE8oSSECIiIiIiIiKSJ5SEEBEREREREZE8oSTEQ+jWrRvt2rW7Z/3YsWOpWrVqnsUj/x2xsbGYTCaOHDnySPs1mUysWbPmkfYpIiIiIiJyl5IQ/6Bhw4axdevW/A7D4OXlxcyZ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K8rKysQkhL6+Prp06QJjY2NYWVkBePSv1jt27MC2bdvQtWtXLFiwACEhIfD396/XsWbMmIHg4GAMGTJEfGqgJhERETh8+DDMzMzQrVs3yb6JEyeipKREXOjwSeHh4Zg+fTqcnJxw7do1/PLLL1BVVQXwaM2EuLg4ZGVlwcXFBd26dcOCBQtgampaa0zt2rWDXC5HcHAwevbsCUdHR6xatQrBwcH47LPPAACampr47bff0L59e3GdjYkTJ+L+/ftP9WREhYCAAGzYsAGRkZGws7ODq6sroqKi0KFDh6dus8KAAQNgYWGBvn37YvTo0Xj77bexaNGiastHRkbCyckJb731Fnr37g1BELB//37JtA+g+nGqyzmaNWsWxo0bh/Hjx6N3797Q1tbGiBEjnrmvRERERERENZEJgiA0dxD0fAkNDcXOnTtx9uxZyXaFQoF+/fqhoKAAenp6zRPcC8bf3x+3bt0S32zRkL7//nvMnDkT//3vf8UkUFO6ffs2dHV14TD1WyirVX5i5lWUstSvuUMgIiIiImpyFfcGhYWFtf7jMNeEIFFRURFyc3OxZs0aLF68uLnDoWrcvXsX+fn5CA8Px5QpU5olAUFERERERPQ0OB3jJRQdHS151eTjH1tb22rrBQYGwsnJCW5ubtVOxXgW8fHx1calpaXV4Md7WX311VewtraGsbEx5s+f39zhEBERERER1RmnY7yE7ty5g+vXr1e5T0VFBebm5k0c0SP37t3D1atXq93fUG/UoKbB6RiVcToGEREREb2K6jMdg0kIInoq9flDQ0REREREL6/63BtwOgYRERERERERNQkmIYiIiIiIiIioSTAJQURERERERERNgkkIIiIiIiIiImoSTEIQERERERERUZNo0dwBENGLre/nP7xyr+jkqziJiIiIiJ4On4QgIiIiIiIioibBJAQRERERERERNQkmIYiIiIiIiIioSTAJQURERERERERN4pVLQvj7+8PT07Pa/YsWLcJrr73WZPG8TPbs2YPOnTtDWVkZM2bMaO5w6qy234nnlUwmw549exq0TblcjpUrVzZom0RERERERBVeuSREbWbPno2jR482dxiip70pdHNza/JEwJQpUzBy5EhcuXIFoaGhTXpsIiIiIiIiev7xFZ1P0NLSgpaWVnOH8cIpKirCjRs34OHhAVNT06dup6SkBKqq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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train Accuracy: 1.0\n", + "Train Precision: 1.0\n", + "Train Recall: 1.0\n", + "Train F1 Score: 1.0\n", + "Train ROC AUC: 1.0\n" + ] + } + ], + "source": [ + "# Предсказание и оценка\n", + "y_pred = model.predict(X_test_encoded)\n", + "\n", + "accuracy = accuracy_score(y_test, y_pred)\n", + "precision = precision_score(y_test, y_pred)\n", + "recall = recall_score(y_test, y_pred)\n", + "f1 = f1_score(y_test, y_pred)\n", + "roc_auc = roc_auc_score(y_test, y_pred)\n", + "\n", + "print(f\"Accuracy: {accuracy}\")\n", + "print(f\"Precision: {precision}\")\n", + "print(f\"Recall: {recall}\")\n", + "print(f\"F1 Score: {f1}\")\n", + "print(f\"ROC AUC: {roc_auc}\")\n", + "\n", + "# Кросс-валидация\n", + "scores = cross_val_score(model, X_train_encoded, y_train_resampled, cv=5, scoring='accuracy')\n", + "accuracy_cv = scores.mean()\n", + "print(f\"Cross-validated Accuracy: {accuracy_cv}\")\n", + "\n", + "# Анализ важности признаков\n", + "feature_importances = model.feature_importances_\n", + "feature_names = X_train_encoded.columns\n", + "\n", + "importance_df = pd.DataFrame({'Feature': feature_names, 'Importance': feature_importances})\n", + "importance_df = importance_df.sort_values(by='Importance', ascending=False)\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "sns.barplot(x='Importance', y='Feature', data=importance_df)\n", + "plt.title('Feature Importance')\n", + "plt.show()\n", + "\n", + "# Проверка на переобучение\n", + "y_train_pred = model.predict(X_train_encoded)\n", + "\n", + "accuracy_train = accuracy_score(y_train_resampled, y_train_pred)\n", + "precision_train = precision_score(y_train_resampled, y_train_pred)\n", + "recall_train = recall_score(y_train_resampled, y_train_pred)\n", + "f1_train = f1_score(y_train_resampled, y_train_pred)\n", + "roc_auc_train = roc_auc_score(y_train_resampled, y_train_pred)\n", + "\n", + "print(f\"Train Accuracy: {accuracy_train}\")\n", + "print(f\"Train Precision: {precision_train}\")\n", + "print(f\"Train Recall: {recall_train}\")\n", + "print(f\"Train F1 Score: {f1_train}\")\n", + "print(f\"Train ROC AUC: {roc_auc_train}\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "aimenv", + "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.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab_3/requirements.txt b/lab_3/requirements.txt new file mode 100644 index 0000000..035855b Binary files /dev/null and b/lab_3/requirements.txt differ