{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

бизнес-цели и 2 задачи, которые нужно решить:
\n", "Снижение вероятности инсульта у пациентов с высоким риском путем раннего выявления предрасположенности.
\n", "Оптимизация медицинских услуг, предоставляемых пациентам, с учетом их риска инсульта.


\n", "Разработать модель, которая прогнозирует вероятность инсульта у пациента.
\n", "Определить значимые признаки для анализа риска инсульта, чтобы направить усилия медицинских работников на важные факторы.

" ] }, { "cell_type": "code", "execution_count": 164, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество колонок: 12\n", "Колонки: 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" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# Загрузка данных\n", "data = pd.read_csv('./csv/option4.csv')\n", "\n", "# Обзор данных\n", "print(\"Количество колонок:\", data.columns.size)\n", "print(\"Колонки:\", data.columns)" ] }, { "cell_type": "code", "execution_count": 165, "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 201\n", "smoking_status 0\n", "stroke 0\n", "dtype: int64\n", "\n", "\n", "\n", "\n" ] } ], "source": [ "print(\"\\nНаличие пропущенных значений:\")\n", "print(data.isnull().sum())\n", "\n", "print(\"\\n\\n\")\n", "\n", "print(data.describe)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Возьмем и заменим нулевые значения в столбце bmi на средние значения по столбцу

" ] }, { "cell_type": "code", "execution_count": 166, "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": [ "data['bmi'] = data['bmi'].fillna(data['bmi'].median())\n", "print(\"\\nНаличие пропущенных значений:\")\n", "print(data.isnull().sum())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Взглянем на выбросы:

" ] }, { "cell_type": "code", "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABscUlEQVR4nO3de1yUdf7//+cwHD0wiAcGChDPirIeKiOM3GTDU6vlZhaltX7081G0zG0rNw9hGFvblj9bsGz7mBau1ZZmZVpiylZoahoeWtMicdPBCgEPiQjX74++XB9HmRQdGAYe99ttbs28r9dc87rwlm988uZ9WQzDMAQAAAAAAAAAAM7j4+kGAAAAAAAAAABoqAjRAQAAAAAAAABwgRAdAAAAAAAAAAAXCNEBAAAAAAAAAHCBEB0AAAAAAAAAABcI0QEAAAAAAAAAcIEQHQAAAAAAAAAAFwjRAQAAAAAAAABwgRAdAAAAAAAAAAAXCNEBAACAemCxWPTYY495uo16tWHDBlksFm3YsMHTrTSoXgAAjddjjz0mi8WiH374oU4/55577lH79u3r9DMA/B9CdAAAAAAAAAAAXPD1dAMAAAAAAAAALt6LL76oqqoqT7cBNBmE6AAAAAAAAIAX8fPz83QLQJPCdi5AI3TgwAFNnjxZXbt2VVBQkFq3bq3bbrtN33777Xm1+fn5uuGGGxQUFKQrr7xS6enpWrx4sSwWy3n177//vq6//no1b95cLVu21LBhw7R79+76uSgAQJN1MfPa1q1bZbFYtGTJkvPev3btWlksFr377rvm2IYNG3TVVVcpMDBQHTt21AsvvGDuYVpbb7zxhnr06KHAwED17NlTK1asuKh9Sl3VuOrj1Vdf1TXXXKNmzZqpVatWSkxM1AcffOBUk5WVpdjYWAUEBCgiIkKpqakqKSlxqtm3b59GjRolu92uwMBAXXnllRozZoxKS0vP+7x+/fopKChIoaGhGjNmjA4ePHhRX5ML2bx5swYPHiybzaZmzZrphhtu0CeffGIe/+c//ymLxaKNGzee994XXnhBFotFu3btMsf+/e9/63e/+51CQ0MVGBioq666SqtWrXJLrwAAXIoffvhBo0ePVnBwsFq3bq37779fp06dMo9bLBZNmTLF/D4iKChI8fHx2rlzp6Sf57tOnTopMDBQAwcOPO/f5+yJDtQvVqIDjdCWLVv06aefasyYMbryyiv17bffauHChRo4cKD27NmjZs2aSZK+++47/frXv5bFYtGMGTPUvHlz/f3vf1dAQMB553zllVc0btw4JScn68knn9TJkye1cOFCDRgwQNu3b2fyBgDUmYuZ16666ip16NBBr7/+usaNG+f0/tdee02tWrVScnKyJGn79u0aPHiwwsPDlZaWpsrKSs2dO1dt27atdW/vvfeebr/9dvXq1UsZGRk6evSoxo8fryuuuMIt114tLS1Njz32mK677jrNnTtX/v7+2rx5s9avX6+bbrpJ0s/he1pampKSkjRp0iTt3btXCxcu1JYtW/TJJ5/Iz89Pp0+fVnJyssrLyzV16lTZ7XZ99913evfdd1VSUiKbzSZJmjdvnmbNmqXRo0frv/7rv/T999/rueeeU2JiorZv366QkJBLvpb169dryJAh6tevn+bMmSMfHx8tXrxYN954o/71r3/pmmuu0bBhw9SiRQu9/vrruuGGG5ze/9prryk2NlY9e/aUJO3evVsJCQm64oor9Mgjj6h58+Z6/fXXNXLkSL355pu65ZZbLrlXAAAu1ejRo9W+fXtlZGRo06ZNWrBggY4ePaqlS5eaNf/617+0atUqpaamSpIyMjI0fPhwPfTQQ8rKytLkyZN19OhRPfXUU/r973+v9evXe+pyABgAGp2TJ0+eN5aXl2dIMpYuXWqOTZ061bBYLMb27dvNsR9//NEIDQ01JBkFBQWGYRjGsWPHjJCQEGPChAlO53Q4HIbNZjtvHAAAd7rYeW3GjBmGn5+fUVxcbI6Vl5cbISEhxu9//3tz7OabbzaaNWtmfPfdd+bYvn37DF9fX6O23x736tXLuPLKK41jx46ZYxs2bDAkGdHR0U61kow5c+aYr8eNG3dejWEYxpw5c5z62Ldvn+Hj42PccsstRmVlpVNtVVWVYRiGceTIEcPf39+46aabnGr+9re/GZKM//3f/zUMwzC2b99uSDLeeOMNl9f07bffGlar1Zg3b57T+M6dOw1fX9/zxn/JRx99ZEgyPvroI7Pfzp07G8nJyWbvhvHzn3FMTIzxm9/8xhy74447jHbt2hlnzpwxxw4fPmz4+PgYc+fONccGDRpk9OrVyzh16pTT1+W6664zOnfu7LIXAADqQvU8/tvf/tZpfPLkyYYk44svvjAM4+fvCwICAsx/dxuGYbzwwguGJMNutxtlZWXm+IwZM5z+jW4Yrr+PAFA32M4FaISCgoLM5xUVFfrxxx/VqVMnhYSE6PPPPzePrVmzRvHx8erdu7c5FhoaqpSUFKfzffjhhyopKdEdd9yhH374wXxYrVb1799fH330UZ1fEwCg6brYee32229XRUWF3nrrLXPsgw8+UElJiW6//XZJUmVlpdatW6eRI0cqIiLCrOvUqZOGDBlSq74OHTqknTt3auzYsWrRooU5fsMNN6hXr161vk5XVq5cqaqqKs2ePVs+Ps7fvldv+7Ju3TqdPn1a06ZNc6qZMGGCgoOD9d5770mSudJ87dq1OnnyZI2f99Zbb6mqqkqjR492mvftdrs6d+58WfP+jh07tG/fPt1555368ccfzXOfOHFCgwYNUm5urnmTtNtvv11HjhzRhg0bzPf/85//VFVVlfnnWVxcrPXr12v06NE6duyYeb4ff/xRycnJ2rdvn7777rtL7hcAgEtVvbq82tSpUyVJq1evNscGDRrk9Fvd/fv3lySNGjVKLVu2PG/8m2++qat2AVwA27kAjdBPP/2kjIwMLV68WN99950MwzCPnb3f6YEDBxQfH3/e+zt16uT0et++fZKkG2+8scbPCw4OdkfbAADU6GLntV/96lfq1q2bXnvtNY0fP17Sz1t/tGnTxpzDjhw5op9++um8uU46f/67kAMHDrh8X6dOnZwC/svx9ddfy8fHRz169LhgL127dnUa9/f3V4cOHczjMTExmj59up555hllZ2fr+uuv129/+1vdddddZsC+b98+GYahzp071/hZl3Mjs+rvKc7dcudspaWlatWqlbln+muvvaZBgwZJ+vnPs3fv3urSpYskaf/+/TIMQ7NmzdKsWbNqPN+RI0fcvr0OAAAXcu482rFjR/n4+DjtbR4VFeVUUz0XR0ZG1jh+9OjROugUwMUgRAcaoalTp2rx4sWaNm2a4uPjZbPZZLFYNGbMGHN1V21Uv+eVV16R3W4/77ivL3+VAADqTm3mtdtvv13z5s3TDz/8oJYtW2rVqlW64447GuRc5eomppWVlXX6uX/96191zz336O2339YHH3yg++67z9yv9corr1RVVZUsFovef/99Wa3W895/9qr72qr+8/rLX/7i9JtwNZ0/ICBAI0eO1IoVK5SVlaWioiJ98skneuKJJ84734MPPmjueX+u2v5wBACAulDTvF/TPPtL42cvJABQvxrevyYAXLZ//vOfGjdunP7617+aY6dOnVJJSYlTXXR0tPbv33/e+88d69ixoySpXbt2SkpKcn/DAAD8goud16SfQ/S0tDS9+eabCgsLU1lZmcaMGWMeb9eunQIDAy9q/ruQ6Ohol++7mHO1atWqxmuoXjVerWPHjqqqqtKePXtcBs/Vvezdu1cdOnQwx0+fPq2CgoLz5u9evXqpV69emjlzpj799FMlJCTo+eefV3p6ujp27CjDMBQTE2Ou+HaX6u8pgoODL+p7ittvv11LlixRTk6OvvzySxmGYW7lIsm8Vj8/P75HAQA0KPv27VNMTIz5ev/+/aqqqnLavgWA92BPdKARslqt5/2E+rnnnjtvZVtycrLy8vK0Y8cOc6y4uFjZ2dnn1QUHB+uJJ55QRUXFeZ/3/fffu695AADOcbHzmiR1795dvXr10muvvabXXntN4eHhSkxMdDpXUlKSVq5cqUOHDpnj+/fv1/vvv1+rviIiItSzZ08tXbpUx48fN8c3btyonTt3XvD9HTt2VGlpqfLz882xw4cPa8WKFU51I0eOlI+Pj+bOnXveyvvqr0tSUpL8/f21YMECp6/VSy+9pNLSUg0bNkySVFZWpjNnzjido1evXvLx8VF5ebkk6dZbb5XValVaWtp5X3fDMPTjjz9e8Npc6devnzp27Kinn37a6WtW7dzvKZKSkhQaGmr+eV5zzTVOgUS7du00cOBAvfDCCzp8+PAFzwcAQH3JzMx0ev3cc89JUq3vwQKgYWAlOtAIDR8+XK+88opsNpt69OihvLw8rVu3Tq1bt3aqe+ihh/Tqq6/qN7/5jaZOnarmzZvr73//u6KiolRcXGz+ullwcLAWLlyou+++W3379tWYMWPUtm1bFRYW6r333lNCQoL+9re/eeJSAQBNwMXOa9Vuv/12zZ49W4GBgRo/fvx5N+N87LHH9MEHHyghIUGTJk1SZWWl/va3v6lnz55OP1i+GE888YRGjBihhIQE3XvvvTp69Kh5rppC4rONGTNGDz/8sG655Rbdd999OnnypBYuXKguXbo47afeqVMnPfroo3r88cd1/fXX69Zbb1VAQIC2bNmiiIgIZWRkqG3btpoxY4bS0tI0ePBg/fa3v9XevXuVlZWlq6++WnfddZckaf369ZoyZYpuu+02denSRWfOnNErr7wiq9WqUaNGSfo53E9PT9eMGTP07bffauTIkWrZsqUKCgq0YsUKTZw4UQ8++GCtvk7VfHx89Pe//11DhgxRbGys7r33Xl1xxRX67rvv9NFHHyk4OFjvvPOOWe/n56dbb71Vy5cv14kTJ/T000+fd87MzEwNGDBAvXr10oQJE9ShQwcVFRUpLy9P//nPf/TFF19cUq8AAFyOgoIC/fa3v9XgwYOVl5enV199VXfeead+9atfebo1AJfCANDoHD161Lj33nuNNm3aGC1atDCSk5ONf//730Z0dLQxbtw4p9rt27cb119/vREQEGBceeWVRkZGhrFgwQJDkuFwOJxqP/roIyM5Odmw2WxGYGCg0bFjR+Oee+4xtm7dWo9XBwBoamozrxmGYezbt8+QZEgyPv744xrPmZOTY/Tp08fw9/c3OnbsaPz97383/vCHPxiBgYG17m/58uVGt27djICAAKNnz57GqlWrjFGjRhndunVzqpNkzJkzx2nsgw8+MHr27Gn4+/sbXbt2NV599VVjzpw5Rk3fpv/v//6v0adPHyMgIMBo1aqVccMNNxgffvihU83f/vY3o1u3boafn58RFhZmTJo0yTh69Kh5/JtvvjF+//vfGx07djQCAwON0NBQ49e//rWxbt268z7vzTffNAYMGGA0b97caN68udGtWzcjNTXV2Lt370V/bT766CNDkvHRRx85jW/fvt249dZbjdatWxsBAQFGdHS0MXr0aCMnJ+e8c3z44YeGJMNisRgHDx6s8XO+/vprY+zYsYbdbjf8/PyMK664whg+fLjxz3/+84K9AADgTtXz+J49e4zf/e53RsuWLY1WrVoZU6ZMMX766SezTpKRmprq9N6CggJDkvGXv/zFabx6DnvjjTfMsXHjxhnR0dF1ei0A/o/FMLgrAQBn06ZN0wsvvKDjx4+7vKEJAACNzciRI7V7927t27fvss/Vu3dvtW3bVh9++KEbOgMAAADgSeyJDjRxP/30k9PrH3/8Ua+88ooGDBhAgA4AaLTOnf/27dun1atXa+DAgbU6T0VFxXl7jG/YsEFffPFFrc8FAAAAoGFiJTrQxPXu3VsDBw5U9+7dVVRUpJdeekmHDh1STk6O043YAABoTMLDw3XPPfeoQ4cOOnDggBYuXKjy8nJt375dnTt3Vmlp6XlB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UVGRRo8e7aErAgDgwn5p/ktJSdHy5cvNf8RK0muvvaaIiAhdf/31kqSxY8fq0KFD2rBhg958800tWrRIR44cuajPrqys1MiRI9WsWTNt3rxZixYt0qOPPnrZ1/Tee+/plltu0dChQ7V9+3bl5OTommuuMY/fc8892rp1q1atWqW8vDwZhqGhQ4eqoqJCkpSamqry8nLl5uZq586devLJJ9WiRQtJ7p/vp0yZory8PC1fvlz5+fm67bbbNHjwYO3bt0/BwcEaPny4li1b5vSe7Oxs8+tWUVGh5ORktWzZUv/617/0ySefqEWLFho8eLBOnz59iV9BAADq15IlS+Tr66vPPvtM/9//9//pmWee0d///nfz+LPPPquEhARt375dw4YN0913362xY8fqrrvu0ueff66OHTtq7NixTt+zAPAAA0CT8/333xuSjJ07dxoLFy40Wrdubfz000/m8RdffNGQZGzfvt0wDMN4/PHHjZtuusnpHAcPHjQkGXv37q3P1gEAuGRnz39HjhwxfH19jdzcXPN4fHy88fDDDxuGYRhffvmlIcnYsmWLeXzfvn2GJOPZZ5+94Ge9//77hq+vr3H48GFz7MMPPzQkGStWrDAMwzAKCgqc5tvFixcbNpvN6TwrVqwwzv6WPT4+3khJSanxM7/66itDkvHJJ5+YYz/88IMRFBRkvP7664ZhGEavXr2Mxx57rMb3X+58f8MNNxj333+/YRiGceDAAcNqtRrfffedU82gQYOMGTNmmNfWokUL48SJE4ZhGEZpaakRGBhovP/++4ZhGMYrr7xidO3a1aiqqjLfX15ebgQFBRlr1641DMMwxo0bZ4wYMeKCvQEA4Ak33HCD0b17d6e57OGHHza6d+9uGIZhREdHG3fddZd57PDhw4YkY9asWeZYXl6eIcn8nqKm7xcA1D1WogNNwL59+3THHXeoQ4cOCg4OVvv27SVJhYWF2rt3r+Li4hQYGGjWn72iTZK++OILffTRR2rRooX56NatmyQ5bQsDAEBD8kvzX9u2bXXTTTcpOztbklRQUKC8vDylpKRIkvbu3StfX1/17dvXPF+nTp3UqlWri/rsvXv3KjIyUna73Rw7d369FDt27NCgQYNqPPbll1/K19dX/fv3N8dat26trl276ssvv5Qk3XfffUpPT1dCQoLmzJmj/Px8s9ad8/3OnTtV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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_numeric_boxplots(dataframe):\n", " # Фильтрация числовых столбцов\n", " numeric_columns = ['age', 'avg_glucose_level', 'bmi']\n", " \n", " # Построение графиков\n", " if numeric_columns:\n", " plt.figure(figsize=(15, 5))\n", " \n", " for i, col in enumerate(numeric_columns):\n", " if col != 'id':\n", " plt.subplot(1, len(numeric_columns), i + 1)\n", " sns.boxplot(y=dataframe[col])\n", " plt.title(f'{col}')\n", " plt.ylabel('')\n", " plt.xlabel(col)\n", " \n", " plt.tight_layout()\n", " plt.show()\n", " else:\n", " print(\"Нет подходящих числовых столбцов для построения графиков.\")\n", "\n", "plot_numeric_boxplots(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Видим выбросы в столбцах со средним уровнем глюкозы и в столбце bmi (индекс массы тела). устраним выбросы - поставим верхние и нижние границы

" ] }, { "cell_type": "code", "execution_count": 170, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABcoElEQVR4nO3dfZiVVb0//vcgMIPADIIxAwmI+AAGPhuSZqQk4kOgnJSiNPPIqfCRThpH0SSJ9Fh5NMQ0j2lBmqUezcQUBcpQEUVNjdBQSAVKZUZQRmT2749+7m8j7BIFBobX67ruS/Za6177cw9erJn33HvdZYVCoRAAAAAAAGAtLZq6AAAAAAAA2FwJ0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAAChBiA4AAAAAACUI0QEAYBMoKyvLN7/5zaYuY5OaMWNGysrKMmPGjKYuZbOqBYDm65vf/GbKysryt7/9baO+zxe/+MXsuOOOG/U9gP9HiA4AAAAAACW0bOoCAAAAAID37pprrklDQ0NTlwFbDSE6AAAAAGxBWrVq1dQlwFbFdi7QDL3wwgv56le/mt122y1t2rRJp06d8pnPfCbPP//8WmOfeOKJfOITn0ibNm2yww475KKLLsp1112XsrKytcbfdddd+fjHP562bdumffv2OfLII/PUU09tmosCYKv1Xta1Rx55JGVlZbn++uvXOv/uu+9OWVlZfvWrXxXbZsyYkf322y8VFRXp1atXfvjDHxb3MF1fN998c3bfffdUVFSkb9++ufXWW9/TPqWlxpSq46c//Wk++tGPZtttt812222Xgw8+OL/5zW8ajbnyyivzkY98JOXl5enatWtGjx6d5cuXNxqzYMGCDB8+PDU1NamoqMgOO+yQESNGpLa2dq3323fffdOmTZt07NgxI0aMyOLFi9/T1+Rfeeihh3L44Yenqqoq2267bT7xiU/kgQceKPb/4he/SFlZWWbOnLnWuT/84Q9TVlaWP/zhD8W2P/7xj/m3f/u3dOzYMRUVFdlvv/1y++23b5BaAeD9+Nvf/pbjjjsulZWV6dSpU84444ysWrWq2F9WVpZTTz21+H1EmzZtMmDAgDz55JNJ/r7e7bzzzqmoqMjAgQPX+vncnuiwabkTHZqhOXPm5Pe//31GjBiRHXbYIc8//3wmT56cgQMH5umnn862226bJHnxxRfzyU9+MmVlZRk7dmzatm2bH/3oRykvL19rzp/85Cc58cQTM3jw4Fx88cV54403Mnny5Bx00EF57LHHLN4AbDTvZV3bb7/9stNOO+XnP/95TjzxxEbn33TTTdluu+0yePDgJMljjz2Www8/PF26dMmFF16YNWvWZPz48fnQhz603rXdeeedOf7449OvX79MnDgxr732Wk4++eR8+MMf3iDX/o4LL7ww3/zmN/Oxj30s48ePT+vWrfPQQw/lvvvuy2GHHZbk7+H7hRdemEGDBuUrX/lK5s+fn8mTJ2fOnDl54IEH0qpVq7z11lsZPHhw6uvrc9ppp6WmpiYvvvhifvWrX2X58uWpqqpKkkyYMCHjxo3Lcccdl3//93/PX//611xxxRU5+OCD89hjj6VDhw7v+1ruu+++DBkyJPvuu28uuOCCtGjRItddd10OOeSQ/Pa3v81HP/rRHHnkkWnXrl1+/vOf5xOf+ESj82+66aZ85CMfSd++fZMkTz31VA488MB8+MMfzje+8Y20bds2P//5zzNs2LD88pe/zDHHHPO+awWA9+u4447LjjvumIkTJ+bBBx/M5Zdfntdeey033HBDccxvf/vb3H777Rk9enSSZOLEiTnqqKNy9tln58orr8xXv/rVvPbaa7nkkkvypS99Kffdd19TXQ5QAJqdN954Y6222bNnF5IUbrjhhmLbaaedVigrKys89thjxbZXXnml0LFjx0KSwsKFCwuFQqHw+uuvFzp06FA45ZRTGs25ZMmSQlVV1VrtALAhvdd1bezYsYVWrVoVXn311WJbfX19oUOHDoUvfelLxbajjz66sO222xZefPHFYtuCBQsKLVu2LKzvt8f9+vUr7LDDDoXXX3+92DZjxoxCkkKPHj0ajU1SuOCCC4qvTzzxxLXGFAqFwgUXXNCojgULFhRatGhROOaYYwpr1qxpNLahoaFQKBQKy5YtK7Ru3bpw2GGHNRrzgx/8oJCk8L//+7+FQqFQeOyxxwpJCjfffHPJa3r++ecL22yzTWHChAmN2p988slCy5Yt12r/Z+6///5CksL9999frHeXXXYpDB48uFh7ofD3v+OePXsWPvWpTxXbPvvZzxY6d+5cePvtt4ttL7/8cqFFixaF8ePHF9sOPfTQQr9+/QqrVq1q9HX52Mc+Vthll11K1gIAG8M76/inP/3pRu1f/epXC0kKjz/+eKFQ+Pv3BeXl5cWfuwuFQuGHP/xhIUmhpqamUFdXV2wfO3Zso5/RC4XS30cAG4ftXKAZatOmTfHPq1evziuvvJKdd945HTp0yKOPPlrsmzZtWgYMGJC99tqr2NaxY8eMHDmy0Xz33HNPli9fns9+9rP529/+Vjy22Wab9O/fP/fff/9GvyYAtl7vdV07/vjjs3r16txyyy3Ftt/85jdZvnx5jj/++CTJmjVrcu+992bYsGHp2rVrcdzOO++cIUOGrFddL730Up588smccMIJadeuXbH9E5/4RPr167fe11nKbbfdloaGhpx//vlp0aLxt+/vbPty77335q233sqZZ57ZaMwpp5ySysrK3HnnnUlSvNP87rvvzhtvvLHO97vlllvS0NCQ4447rtG6X1NTk1122eUDrfvz5s3LggUL8rnPfS6vvPJKce6VK1fm0EMPzaxZs4oPSTv++OOzbNmyzJgxo3j+L37xizQ0NBT/Pl999dXcd999Oe644/L6668X53vllVcyePDgLFiwIC+++OL7rhcA3q937i5/x2mnnZYk+fWvf11sO/TQQxt9qrt///5JkuHDh6d9+/Zrtf/5z3/eWOUC/4LtXKAZevPNNzNx4sRcd911efHFF1MoFIp9/7jf6QsvvJABAwasdf7OO+/c6PWCBQuSJIcccsg636+ysnJDlA0A6/Re17U999wzvXv3zk033ZSTTz45yd+3/th+++2La9iyZcvy5ptvrrXWJWuvf//KCy+8UPK8nXfeuVHA/0E899xzadGiRXbfffd/Wctuu+3WqL1169bZaaediv09e/bMmDFj8r3vfS9TpkzJxz/+8Xz605/O5z//+WLAvmDBghQKheyyyy7rfK8P8iCzd76nePeWO/+otrY22223XXHP9JtuuimHHnpokr//fe61117ZddddkyTPPvtsCoVCxo0bl3Hjxq1zvmXLlm3w7XUA4F959zraq1evtGjRotHe5t27d2805p21uFu3butsf+211zZCpcB7IUSHZui0007LddddlzPPPDMDBgxIVVVVysrKMmLEiOLdXevjnXN+8pOfpKamZq3+li39UwLAxrM+69rxxx+fCRMm5G9/+1vat2+f22+/PZ/97Gc3y7Wq1ENM16xZs1Hf97vf/W6++MUv5v/+7//ym9/8Jqeffnpxv9YddtghDQ0NKSsry1133ZVtttlmrfP/8a779fXO39d///d/N/ok3LrmLy8vz7Bhw3LrrbfmyiuvzNKlS/PAAw/k29/+9lrz/ed//mdxz/t3W99fjgDAxrCudX9d6+w/a//HGwmATWvz+2kC+MB+8Ytf5MQTT8x3v/vdYtuqVauyfPnyRuN69OiRZ599dq3z393Wq1evJEnnzp0zaNCgDV8wAPwT73VdS/4eol944YX55S9/merq6tTV1WXEiBHF/s6dO6eiouI9rX//So8ePUqe917m2m677dZ5De/cNf6OXr16paGhIU8//XTJ4PmdWubPn5+ddtqp2P7WW29l4cKFa63f/fr1S79+/XLeeefl97//fQ488MBcddVVueiii9KrV68UCoX07NmzeMf3hvLO9xSVlZXv6XuK448/Ptdff32mT5+eZ555JoVCobiVS5LitbZq1cr3KABsVhYsWJCePXsWXz/77LNpaGhotH0LsOWwJzo0Q9tss81av6G+4oor1rqzbfDgwZk9e3bmzZtXbHv11VczZcqUtcZVVlbm29/+dlavXr3W+/31r3/dcMUDwLu813UtSfr06ZN+/frlpptuyk033ZQuXbrk4IMPbjTXoEGDctttt+Wll14qtj/77LO566671quurl27pm/fvrnhhhuyYsWKYvvMmTPz5JNP/svze/Xqldra2jzxxBPFtpdffjm33npro3HDhg1LixYtMn78+LXuvH/n6zJo0KC0bt06l19+eaOv1bXXXpva2toceeSRSZK6urq8/fbbjebo169fWrRokfr6+iTJsccem2222SYXXnjhWl/3QqGQV1555V9eWyn77rtvevXqlUsvvbTR1+wd7/6eYtCgQenYsWPx7/OjH/1oo0Cic+fOGThwYH74wx/m5Zdf/pfzAcCmMmnSpEavr7jiiiRZ72ewAJsHd6JDM3TUUUflJz/5SaqqqrL77rtn9uzZuffee9OpU6dG484+++z89Kc/zac+9amcdtppadu2bX70ox+le/fuefXVV4sfN6usrMzkyZPzhS98Ifvss09GjBiRD33oQ1m0aFHuvPPOHHjggfnBD37QFJcKwFbgva5r7zj++ONz/vnnp6KiIieffPJaD+P85je/md/85jc58MAD85WvfCVr1qzJD37wg/Tt27fRL5bfi29/+9sZOnRoDjzwwJx00kl57bXXinOtKyT+RyNGjMg555yTY445JqeffnreeOONTJ48Obvuumuj/dR33nnnnHvuufnWt76Vj3/84zn22GNTXl6eOXPmpGvXrpk4cWI+9KEPZezYsbnwwgtz+OGH59Of/nTmz5+fK6+8Mvvvv38+//nPJ0nuu+++nHrqqfnMZz6TXXfdNW+//XZ+8pOfZJtttsnw4cOT/D3cv+iiizJ27Ng8//zzGTZsWNq3b5+FCxfm1ltvzahRo/Kf//mf6/V1ekeLFi3yox/9KEOGDMlHPvKRnHTSSfnwhz+cF198Mffff38qKytzxx13FMe3atUqxx57bG688casXLkyl1566VpzTpo0KQcddFD69euXU045JTvttFOWLl2a2bNn5y9/+Usef/zx91UrAHwQCxcuzKc//ekcfvjhmT17dn7605/mc5/7XPbcc8+mLg14PwpAs/Paa68VTjrppML2229faNeuXWHw4MGFP/7xj4UePXoUTjzxxEZjH3vsscLHP/7xQnl5eWGHHXYoTJw4sXD55ZcXkhSWLFnSaOz9999fGDx4cKGqqqpQUVFR6NWrV+GLX/xi4ZFHHtmEVwfA1mZ91rVCoVBYsGBBIUkhSeF3v/vdOuecPn16Ye+99y60bt260KtXr8KPfvSjwte+9rVCRUXFetd34403Fnr37l0oLy8v9O3bt3D77bcXhg8fXujdu3ejcUkKF1xwQaO23/zmN4W+ffsWWrduXdhtt90KP/3pTwsXXHBBYV3fpv/v//5vYe+99y6Ul5cXtttuu8InPvGJwj333NNozA9+8INC7969C61atSpUV1cXvvKVrxRee+21Yv+f//znwpe+9KVCr169ChUVFYWOHTsWPvnJTxbuvffetd7vl7/8ZeGggw4qtG3bttC2bdtC7969C6NHjy7Mnz//PX9t7r///kKSwv3339+o/bHHHisce+yxhU6dOhXKy8sLPXr0KBx33HGF6dOnrzXHPffcU0hSKCsrKyxevHid7/Pcc88VTjjhhEJNTU2hVatWhQ9/+MOFo446qvCLX/ziX9YCABvSO+v4008/Xfi3f/u3Qvv27Qvbbbdd4dRTTy28+eabxXFJCqNHj2507sKFCwtJCv/93//dqP2dNezmm28utp144omFHj16bNRrAf6fskLBUwmAxs4888z88Ic/zIoVK0o+0AQAmpthw4blqaeeyoIFCz7wXHvttVc+9KEP5Z577tkAlQEAAE3JnuiwlXvzzTcbvX7llVfyk5/8JAcddJAAHYBm693r34IFC/LrX/86AwcOXK95Vq9evdYe4zNmzMjjjz++3nMBAACbJ3eiw1Zur732ysCBA9OnT58sXbo01157bV566aVMnz690YPYAKA56dKlS774xS9mp512ygsvvJDJkyenvr4+jz32WHbZZZfU1tauFbS/W01NTZ5//vkMGjQon//859O1a9f88Y9/zFVXXZWqqqr84Q9/KLlv+5buzTffTG1t7T8d07Fjx7Ru3XoTVQQAABuPB4vCVu6II47IL37xi1x99dUpKyvLPvvsk2uvvVaADkCzdvjhh+dnP/tZlixZkvLy8gwYMCDf/va3s8suuyRJzjjjjFx//fX/dI5CoZDtttsu++67b370ox/lr3/9a9q2bZsjjzwy3/nOd5ptgJ4kN910U0466aR/Oub+++93Nz4AAM2CO9EBAOBdnn766bz00kv/dMygQYM2UTWbn5dffjlPPfXUPx2z7777ZrvttttEFQEAwMYjRAcAAAAAgBI8WBQAAAAAAErY7PZEb2hoyEsvvZT27dunrKysqcsBgI2uUCjk9ddfT9euXdOixZb9+23rOABbG+s4AGy53us6vtmF6C+99FK6devW1GUAwCa3ePHi7LDDDk1dxgdiHQdga2UdB4At179axze7EL19+/ZJ/l54ZWVlE1cDABtfXV1dunXrVlwDt2TWcQC2NtZxANhyvdd1fLML0d/5yFhlZaVFG4CtSnP42LR1HICtlXUcALZc/2od37I3bAMAAAAAgI1IiA4AAAAAACUI0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAAChBiA4AAAAAACUI0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKaNnUBcB7sWrVqixatKipy4ANpnv37qmoqGjqMgA2Ces4zY11HNiaWMdpbqzjvB9CdLYIixYtyqhRo5q6DNhgrr766uy6665NXQbAJmEdp7mxjgNbE+s4zY11nPdDiM4WoXv37rn66qubuoxm74UXXsiECRNy7rnnpkePHk1dTrPWvXv3pi4BYJOxjm8a1vFNxzoObE2s45uGdXzTsY7zfgjR2SJUVFT4LeEm1KNHD19vADYY6/imZR0HYEOyjm9a1nHYPHmwKAAAAAAAlCBEBwAAAACAEtYrRF+zZk3GjRuXnj17pk2bNunVq1e+9a1vpVAoFMcUCoWcf/756dKlS9q0aZNBgwZlwYIFG7xwAAAAAADY2NYrRL/44oszefLk/OAHP8gzzzyTiy++OJdcckmuuOKK4phLLrkkl19+ea666qo89NBDadu2bQYPHpxVq1Zt8OIBAAAAAGBjWq8Hi/7+97/P0KFDc+SRRyZJdtxxx/zsZz/Lww8/nOTvd6FfdtllOe+88zJ06NAkyQ033JDq6urcdtttGTFixAYuHwAAAAAANp71uhP9Yx/7WKZPn54//elPSZLHH388v/vd7zJkyJAkycKFC7NkyZIMGjSoeE5VVVX69++f2bNnb8CyAQAAAABg41uvO9G/8Y1vpK6uLr17984222yTNWvWZMKECRk5cmSSZMmSJUmS6urqRudVV1cX+96tvr4+9fX1xdd1dXXrdQEAAAAAALCxrNed6D//+c8zZcqUTJ06NY8++miuv/76XHrppbn++uvfdwETJ05MVVVV8ejWrdv7ngsAAAC2Bt/5zndSVlaWM888s9g2cODAlJWVNTq+/OUvN12RANBMrNed6F//+tfzjW98o7i3eb9+/fLCCy9k4sSJOfHEE1NTU5MkWbp0abp06VI8b+nSpdlrr73WOefYsWMzZsyY4uu6ujpBOgAAAJQwZ86c/PCHP8wee+yxVt8pp5yS8ePHF19vu+22m7I0AGiW1utO9DfeeCMtWjQ+ZZtttklDQ0OSpGfPnqmpqcn06dOL/XV1dXnooYcyYMCAdc5ZXl6eysrKRgcAAACwthUrVmTkyJG55pprst12263Vv+2226ampqZ4+BkbAD649QrRjz766EyYMCF33nlnnn/++dx666353ve+l2OOOSZJih8lu+iii3L77bfnySefzAknnJCuXbtm2LBhG6N+AAAA2GqMHj06Rx55ZAYNGrTO/ilTpmT77bdP3759M3bs2Lzxxhsl56qvr09dXV2jAwBY23pt53LFFVdk3Lhx+epXv5ply5ala9eu+Y//+I+cf/75xTFnn312Vq5cmVGjRmX58uU56KCDMm3atFRUVGzw4gEAAGBrceONN+bRRx/NnDlz1tn/uc99Lj169EjXrl3zxBNP5Jxzzsn8+fNzyy23rHP8xIkTc+GFF27MkgGgWVivEL19+/a57LLLctlll5UcU1ZWlvHjxzfagw0AAAB4/xYvXpwzzjgj99xzT8mb1EaNGlX8c79+/dKlS5cceuihee6559KrV6+1xntGGQC8N+sVogMAAACb3ty5c7Ns2bLss88+xbY1a9Zk1qxZ+cEPfpD6+vpss802jc7p379/kuTZZ59dZ4heXl6e8vLyjVs4ADQDQnQAAADYzB166KF58sknG7WddNJJ6d27d84555y1AvQkmTdvXpKkS5cum6JEAGi2hOgAAACwmWvfvn369u3bqK1t27bp1KlT+vbtm+eeey5Tp07NEUcckU6dOuWJJ57IWWedlYMPPjh77LFHE1UNAM2DEB0AAAC2cK1bt869996byy67LCtXrky3bt0yfPjwnHfeeU1dGgBs8YToAAAAsAWaMWNG8c/dunXLzJkzm64YAGjGWjR1AQAAAAAAsLkSogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIEQHgGZi1qxZOfroo9O1a9eUlZXltttuW2vMM888k09/+tOpqqpK27Zts//++2fRokXF/lWrVmX06NHp1KlT2rVrl+HDh2fp0qWb8CoAAABg8yJEB4BmYuXKldlzzz0zadKkdfY/99xzOeigg9K7d+/MmDEjTzzxRMaNG5eKiorimLPOOit33HFHbr755sycOTMvvfRSjj322E11CQAAALDZadnUBQAAG8aQIUMyZMiQkv3nnntujjjiiFxyySXFtl69ehX/XFtbm2uvvTZTp07NIYcckiS57rrr0qdPnzz44IM54IADNl7xAAAAsJlyJzoAbAUaGhpy5513Ztddd83gwYPTuXPn9O/fv9GWL3Pnzs3q1aszaNCgYlvv3r3TvXv3zJ49e53z1tfXp66urtEBAAAAzYkQHQC2AsuWLcuKFSvyne98J4cffnh+85vf5Jhjjsmxxx6bmTNnJkmWLFmS1q1bp0OHDo3Ora6uzpIlS9Y578SJE1NVVVU8unXrtrEvBQAAADYpIToAbAUaGhqSJEOHDs1ZZ52VvfbaK9/4xjdy1FFH5aqrrnrf844dOza1tbXFY/HixRuqZAAAANgs2BMdALYC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Ifprr72WAw88MJ/85Cdz11135UMf+lAWLFiQ7bbbrjjmkksuyeWXX57rr78+PXv2zLhx4zJ48OA8/fTTqaio2OAXsDmora3N6rfq8+ZOn0hDRVVTlwOwVWuxqjb588zU1tYK0f/B3Llz8z//8z959NFHU1ZWtsHmHTt2bMaMGVN8XVdXl27dum2w+QEAAKCprVeIfvHFF6dbt2657rrrim09e/Ys/rlQKOSyyy7Leeedl6FDhyZJbrjh73cC3nbbbRkxYsQGKnvz1FBRlYa22zd1GQCwlt/+9rdZtmxZunfvXmxbs2ZNvva1r+Wyyy7L888/n5qamixbtqzReW+//XZeffXV1NTUrHPe8vLylJeXb9TaAQAAoCm1WJ/Bt99+e/bbb7985jOfSefOnbP33nvnmmuuKfYvXLgwS5YsyaBBg4ptVVVV6d+/f2bPnr3OOevr61NXV9foAAA2rC984Qt54oknMm/evOLRtWvXfP3rX8/dd9+dJBkwYECWL1+euXPnFs+777770tDQkP79+zdV6QAAANCk1utO9D//+c+ZPHlyxowZk//6r//KnDlzcvrpp6d169Y58cQTi/ulvvvj89XV1fZSBYCNbMWKFXn22WeLrxcuXJh58+alY8eO6d69ezp16tRofKtWrVJTU5PddtstSdKnT58cfvjhOeWUU3LVVVdl9erVOfXUUzNixIh07dp1k14LAAAAbC7W6070hoaG7LPPPvn2t7+dvffeO6NGjSr+oP1+jR07NrW1tcVj8eLF73suANiaPfLII9l7772z9957J0nGjBmTvffeO+eff/57nmPKlCnp3bt3Dj300BxxxBE56KCDcvXVV2+skgEAAGCzt153onfp0iW77757o7Y+ffrkl7/8ZZIU90tdunRpunTpUhyzdOnS7LXXXuuc016qALBhDBw4MIVC4T2Pf/7559dq69ixY6ZOnboBqwIAAIAt23rdiX7ggQdm/vz5jdr+9Kc/pUePHkn+/pDRmpqaTJ8+vdhfV1eXhx56KAMGDNgA5QIAAAAAwKazXnein3XWWfnYxz6Wb3/72znuuOPy8MMP5+qrry5+zLusrCxnnnlmLrroouyyyy7p2bNnxo0bl65du2bYsGEbo34AAAAAANho1itE33///XPrrbdm7NixGT9+fHr27JnLLrssI0eOLI45++yzs3Llyowa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wIABueuuu4r9q1atyujRo9OpU6e0a9cuw4cPz9KlS5uwYgBoPoToANBMPPLII9l7772z9957J0nGjBmTvffeO+eff35efPHF3H777fnLX/6SvfbaK126dCkev//974tzTJkyJb17986hhx6aI444IgcddFCuvvrqprokAOD/t8MOO+Q73/lO5s6dm0ceeSSHHHJIhg4dmqeeeipJctZZZ+WOO+7IzTffnJkzZ+all17Kscce28RVA0DzYDsXAGgmBg4cmEKhULL/n/W9o2PHjpk6deqGLAsA2ACOPvroRq8nTJiQyZMn58EHH8wOO+yQa6+9NlOnTs0hhxySJLnuuuvSp0+fPPjggznggAOaomQAaDaE6BtQizeXN3UJAFs9/xYDAM3dmjVrcvPNN2flypUZMGBA5s6dm9WrV2fQoEHFMb1790737t0ze/ZsIToAfEBC9A2ozcJZTV0CAAAAzdSTTz6ZAQMGZNWqVWnXrl1uvfXW7L777pk3b15at26dDh06NBpfXV2dJUuWlJyvvr4+9fX1xdd1dXUbq3QA2KIJ0TegN3senIY2HZq6DICtWos3l/ulJgDQLO22226ZN29eamtr84tf/CInnnhiZs6c+b7nmzhxYi688MINWCEANE9C9A2ooU2HNLTdvqnLAAAAoBlq3bp1dt555yTJvvvumzlz5uR//ud/cvzxx+ett97K8uXLG92NvnTp0tTU1JScb+zYsRkzZkzxdV1dXbp167bR6geALVWLpi4AAAAAWH8NDQ2pr6/Pvvvum1atWmX69OnFvvnz52fRokUZMGBAyfPLy8tTWVnZ6AAA1uZOdAAAANjMjR07NkOGDEn37t3z+uuvZ+rUqZkxY0buvvvuVFVV5eSTT86YMWPSsWPHVFZW5rTTTsuAAQM8VBQANgAhOgAAAGzmli1blhNOOCEvv/xyqqqqsscee+Tuu+/Opz71qSTJ97///bRo0SLDhw9PfX19Bg8enCuvvLKJqwaA5kGIDgAAAJu5a6+99p/2V1RUZNKkSZk0adImqggAth72RAcAAAAAgBKE6AAAAAAAUIIQHQAAAAAAShCiAwAAAABACR4sCgBs9ZYuXZra2tqmLgM+kBdeeKHRf2FLVVVVlerq6qYuAwCgSIgOAGzVli5dms9/4YSsfqu+qUuBDWLChAlNXQJ8IK1al+enP7lBkA4A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bPTo0SO77rprU5cBAAAAAE3Og0UBAAAAAKAEIToAAAAAAJQgRAcAAAAAgBKE6AAAAAAAUIIQHQAAAAAAShCiAwAAAABACUJ0AAAA2MxNnDgx+++/f9q3b5/OnTtn2LBhmT9/fqMxq1atyujRo9OpU6e0a9cuw4cPz9KlS5uoYgBoPoToAAAAsJmbOXNmRo8enQcffDD33HNPVq9encMOOywrV64sjjnrrLNyxx135Oabb87MmTPz0ksv5dhjj23CqgGgeWjZ1AUAAAAA/9y0adMavf7xj3+czp07Z+7cuTn44INTW1uba6+9NlOnTs0hhxySJLnuuuvSp0+fPPjggznggAOaomwAaBbciQ4AAABbmNra2iRJx44dkyRz587N6tWrM2jQoOKY3r17p3v37pk9e/Y656ivr09dXV2jAwBYmxAdAAAAtiANDQ0588wzc+CBB6Zv375JkiVLlqR169bp0KFDo7HV1dVZsmTJOueZOHFiqqqqike3bt02dukAsEUSogMAAMAWZPTo0fnDH/6QG2+88QPNM3bs2NTW1haPxYsXb6AKAaB5sSc6AAAAbCFOPfXU/OpXv8qsWbOyww47FNtramry1ltvZfny5Y3uRl+6dGlqamrWOVd5eXnKy8s3dskAsMVzJzoAAABs5gqFQk499dTceuutue+++9KzZ89G/fvuu29atWqV6dOnF9vmz5+fRYsWZcCAAZu6XABoVtyJDgAAAJu50aNHZ+rUqfm///u/tG/fvrjPeVVVVdq0aZOqqqqcfPLJGTNmTDp27JjKysqcdtppGTBgQA444IAmrh4AtmxCdAAAANjMTZ48OUkycODARu3XXXddvvjFLyZJvv/976dFixYZPnx46uvrM3jw4Fx55ZWbuFIAaH7WazuXiRMnZv/990/79u3TuXPnDBs2LPPnz280ZtWqVRk9enQ6deqUdu3aZfjw4Vm6dOkGLRoAAAC2JoVCYZ3HOwF6klRUVGTSpEl59dVXs3Llytxyyy0l90MHAN679QrRZ86cmdGjR+fBBx/MPffck9WrV+ewww7LypUri2POOuus3HHHHbn55pszc+bMvPTSSzn22GM3eOEAAAAAALCxrdd2LtOmTWv0+sc//nE6d+6cuXPn5uCDD05tbW2uvfbaTJ06NYccckiSv3+0rE+fPnnwwQftwwYAAAAAwBZlve5Ef7fa2tokSceOHZMkc+fOzerVqzNo0KDimN69e6d79+6ZPXv2Oueor69PXV1dowMAAAAAADYH7ztEb2hoyJlnnpkDDzwwffv2TZIsWbIkrVu3TocOHRqNra6uLj45/N0mTpyYqqqq4tGtW7f3WxIAAAAAAGxQ7ztEHz16dP7whz/kxhtv/EAFjB07NrW1tcVj8eLFH2g+AAAAAADYUNZrT/R3nHrqqfnVr36VWbNmZYcddii219TU5K233sry5csb3Y2+dOnSkk8ELy8vT3l5+fspAwAAAAAANqr1uhO9UCjk1FNPza233pr77rsvPXv2bNS/7777plWrVpk+fXqxbf78+Vm0aFEGDBiwYSoGAAAAAIBNZL3uRB89enSmTp2a//u//0v79u2L+5xXVVWlTZs2qaqqysknn5wxY8akY8eOqayszGmnnZYBAwbkgAMO2CgXAAAAAAAAG8t63Yk+efLk1NbWZuDAgenSpUvxuOmmm4pjvv/97+eoo47K8OHDc/DBB6empia33HLLBi8cAFg/a9asybhx49KzZ8+0adMmvXr1yre+9a0UCoXimEKhkPPPPz9dunRJmzZtMmjQoCxYsKAJqwYAAICmtV53ov/jD9mlVFRUZNKkSZk0adL7LgoA2PAuvvjiTJ48Oddff30+8pGP5JFHHslJJ52UqqqqnH766UmSSy65JJdffnmuv/769OzZM+PGjcvgwYPz9NNPp6KioomvAAAAADa99/VgUQBgy/P73/8+Q4cOzZFHHpkk2XHHHfOzn/0sDz/8cJK//7L8sssuy3nnnZehQ4cmSW644YZUV1fntttuy4gRI5qsdgAAAGgq67WdCwCw5frYxz6W6dOn509/+lOS5PHHH8/vfve7DBkyJEmycOHCLFmyJIMGDSqeU1VVlf79+2f27NlNUjMAAAA0NXeiA8BW4hvf+Ebq6urSu3fvbLPNNlmzZk0mTJiQkSNHJknxgeHV1dWNzquuri72vVt9fX3q6+uLr+vq6jZS9QAAANA03IkOAFuJn//855kyZUqmTp2aRx99NNdff30uvfTSXH/99e97zokTJ6aqqqp4dOvWbQNWDAAAAE1PiA4AW4mvf/3r+cY3vpERI0akX79++cIXvpCzzjorEydOTJLU1NQkSZYuXdrovKVLlxb73m3s2LGpra0tHosXL964FwEAAACbmBAdALYSb7zxRlq0aLz0b7PNNmloaEiS9OzZMzU1NZk+fXqxv66uLg899FAGDBiwzjnLy8tTWVnZ6AAAAIDmxJ7oALCVOProozNhwoR07949H/nIR/LYY4/le9/7Xr70pS8lScrKynLmmWfmoosuyi677JKePXtm3Lhx6dq1a4YNG9a0xQMAAEATEaIDwFbiiiuuyLhx4/LVr341y5YtS9euXfMf//EfOf/884tjzj777KxcuTKjRo3K8uXLc9BBB2XatGmpqKhowsoBAACg6QjRAWAr0b59+1x22WW57LLLSo4pKyvL+PHjM378+E1XGAAAAGzG7IkOAAAAAAAlCNEBAAAAAKAE27kAACRpsaq2qUsA2Or5txgA2BwJ0QGArVpVVVVatS5P/jyzqUsBIEmr1uWpqqpq6jIAAIqE6ADAVq26ujo//ckNqa119yNbthdeeCETJkzIueeemx49ejR1OfC+VVVVpbq6uqnLAAAoEqIDAFu96upqgQ3NRo8ePbLrrrs2dRkAANBseLAoAAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAAACUIEQHAAAAAIAShOgAAAAAAFCCEB0AAAAAAEoQogMAAAAAQAlCdAAAAAAAKEGIDgAAAAAAJQjRAQAAAACgBCE6AAAAbOZmzZqVo48+Ol27dk1ZWVluu+22Rv1f/OIXU1ZW1ug4/PDDm6ZYAGhmhOgAAACwmVu5cmX23HPPTJo0qeSYww8/PC+//HLx+NnPfrYJKwSA5qtlUxcAAAAA/HNDhgzJkCFD/umY8vLy1NTUbKKKAGDr4U50AAAAaAZmzJiRzp07Z7fddstXvvKVvPLKK01dEgA0C+5EBwAAgC3c4YcfnmOPPTY9e/bMc889l//6r//KkCFDMnv27GyzzTbrPKe+vj719fXF13V1dZuqXADYogjRAQAAYAs3YsSI4p/79euXPfbYI7169cqMGTNy6KGHrvOciRMn5sILL9xUJQLAFst2LgAAANDM7LTTTtl+++3z7LPPlhwzduzY1NbWFo/FixdvwgoBYMvhTnQAAABoZv7yl7/klVdeSZcuXUqOKS8vT3l5+SasCgC2TEJ0AAAA2MytWLGi0V3lCxcuzLx589KxY8d07NgxF154YYYPH56ampo899xzOfvss7Pzzjtn8ODBTVg1ADQPQnQAAADYzD3yyCP55Cc/WXw9ZsyYJMmJJ56YyZMn54knnsj111+f5cuXp2vXrjnssMPyrW99y53mALABCNEBAABgMzdw4MAUCoWS/XffffcmrAYAti4eLAoAAAAAACUI0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAAChBiA4AAAAAACUI0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAAChBiA4AAAAAACUI0QEAAAAAoAQhOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQA2Iq8+OKL+fznP59OnTqlTZs26devXx555JFif6FQyPnnn58uXbqkTZs2GTRoUBYsWNCEFQMAAEDTEqIDwFbitddey4EHHphWrVrlrrvuytNPP53vfve72W677YpjLrnkklx++eW56qqr8tBDD6Vt27YZPHhwVq1a1YSVAwAAQNNp2dQFAACbxsUXX5xu3brluuuuK7b17Nmz+OdCoZDLLrss5513XoYOHZokueGGG1JdXZ3bbrstI0aM2OQ1AwAAQFNzJzoAbCVuv/327LfffvnMZz6Tzp07Z++9984111xT7F+4cGGWLFmSQYMGFduqqqrSv3//zJ49e51z1tfXp66urtEBAAAAzYkQHQC2En/+858zefLk7LLLLrn77rvzla98Jaeffnquv/76JMmSJUuSJNXV1Y3Oq66uLva928SJE1NVVVU8unXrtnEvAgAAADYxIToAbCUaGhqyzz775Nvf/nb23nvvjBo1Kqecckquuuqq9z3n2LFjU1tbWzwWL168ASsGAACApidEB4CtRJcuXbL77rs3auvTp08WLVqUJKmpqUmSLF26tNGYpUuXFvverby8PJWVlY0OAAAAaE6E6ACwlTjwwAMzf/78Rm1/+tOf0qNHjyR/f8hoTU1Npk+fXuyvq6vLQw89lAEDBmzSWgEAAGBz0bKpCwAANo2zzjorH/vYx/Ltb387xx13XB5++OFcffXVufrqq5MkZWVlOfPMM3PRRRdll112Sc+ePTNu3Lh07do1w4YNa9riAQAAoIkI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/f/4xz/moIMOSkVFRXbffffce++9KSsry2233bbO8ev6ePY7a/I/uuOOO7L//vunoqIi22+/fY455phi32uvvZYTTjgh2223XbbddtsMGTIkCxYsKPa/8MILOfroo7Pddtulbdu2+chHPpJf//rXxf4Nud7X19fnP//zP/PhD384bdu2Tf/+/TNjxowkSV1dXdq0aZO77rqr0Tm33npr2rdvnzfeeCNJsnjx4hx33HHp0KFDOnbsmKFDh+b5559/X/UAQFN4++23c+qpp6aqqirbb799xo0bl0KhkCTZcccdc9FFF+WEE05Iu3bt0qNHj9x+++3561//mqFDh6Zdu3bZY4898sgjjxTns50LNA0hOmwFVq5cmTFjxuSRRx7J9OnT06JFixxzzDFpaGhIXV1djj766PTr1y+PPvpovvWtb60VKixfvjyHHHJI9t577zzyyCOZNm1ali5dmuOOO66JrggA/rV/tv6NHDkyN954Y/GH2CS56aab0rVr13z84x9Pkpxwwgl56aWXMmPGjPzyl7/M1VdfnWXLlr2n916zZk2GDRuWbbfdNg899FCuvvrqnHvuuR/4mu68884cc8wxOeKII/LYY49l+vTp+ehHP1rs/+IXv5hHHnkkt99+e2bPnp1CoZAjjjgiq1evTpKMHj069fX1mTVrVp588slcfPHFadeuXZINv96feuqpmT17dm688cY88cQT+cxnPpPDDz88CxYsSGVlZY466qhMnTq10TlTpkwpft1Wr16dwYMHp3379vntb3+bBx54IO3atcvhhx+et956631+BQFg07r++uvTsmXLPPzww/mf//mffO9738uPfvSjYv/3v//9HHjggXnsscdy5JFH5gtf+EJOOOGEfP7zn8+jjz6aXr165YQTTmj0PQvQBArAVuevf/1rIUnhySefLEyePLnQqVOnwptvvlnsv+aaawpJCo899lihUCgUvvWtbxUOO+ywRnMsXry4kKQwf/78TVk6ALxv/7j+LVu2rNCyZcvCrFmziv0DBgwonHPOOYVCoVB45plnCkkKc+bMKfYvWLCgkKTw/e9//1++11133VVo2bJl4eWXXy623XPPPYUkhVtvvbVQKBQKCxcubLTeXnfddYWqqqpG89x6662Ff/yWfcCAAYWRI0eu8z3/9Kc/FZIUHnjggWLb3/72t0KbNm0KP//5zwuFQqHQr1+/wje/+c11nv9B1/tPfOIThTPOOKNQKBQKL7zwQmGbbbYpvPjii43GHHrooYWxY8cWr61du3aFlStXFgqFQqG2trZQUVFRuOuuuwqFQqHwk5/8pLDbbrsVGhoaiufX19cX2rRpU7j77rsLhUKhcOKJJxaGDh36L2sDgKbwiU98otCnT59Ga9k555xT6NOnT6FQKBR69OhR+PznP1/se/nllwtJCuPGjSu2zZ49u5Ck+D3Fur5fADY+d6LDVmDBggX57Gc/m5122imVlZXZcccdkySLFi3K/Pnzs8cee6SioqI4/h/vaEuSxx9/PPfff3/atWtXPHr37p0kjbaFAYDNyT9b/z70oQ/lsMMOy5QpU5IkCxcuzOzZszNy5Mgkyfz589OyZcvss88+xfl23nnnbLfddu/pvefPn59u3bqlpqam2Pbu9fX9mDdvXg499NB19j3zzDNp2bJl+vfvX2zr1KlTdttttzzzzDNJktNPPz0XXXRRDjzwwFxwwQV54oknimM35Hr/5JNPZs2aNdl1110bzTdz5sziXEcccURatWqV22+/PUnyy1/+MpWVlRk0aFCxnmeffTbt27cvnt+xY8esWrXK9x8AbDEOOOCARluzDRgwIAsWLMiaNWuSJHvssUexr7q6OknSr1+/tdre66fhgI3Dg0VhK3D00UenR48eueaaa9K1a9c0NDSkb9++7/mj0CtWrMjRRx+diy++eK2+Ll26bOhyAWCD+Ffr38iRI3P66afniiuuyNSpU9OvX79GP7Ruai1atFjro9rvbMPyjg/6ILF///d/z+DBg3PnnXfmN7/5TSZOnJjvfve7Oe200zboer9ixYpss802mTt3brbZZptGfe9sH9O6dev827/9W6ZOnZoRI0Zk6tSpOf7449OyZcviHPvuu2/xFx3/6EMf+tB61QMAm6tWrVoV//xO2L6utoaGhk1bGNCIO9GhmXvllVcyf/78nHfeeTn00EPTp0+fvPbaa8X+3XbbLU8++WTq6+uLbXPmzGk0xz777JOnnnoqO+64Y3beeedGR9u2bTfZtQDAe/Wv1r8kGTp0aFatWpVp06Zl6tSpxbvQk7+vj2+//XYee+yxYtuzzz671hyl7Lbbblm8eHGWLl1abHv3+vpuH/rQh/L6669n5cqVxbZ/fMh38ve71aZPn77O8/v06ZO33347Dz30ULHtna/D7rvvXmzr1q1bvvzlL+eWW27J1772tVxzzTVJNux6v/fee2fNmjVZtmzZWnP94935I0eOzLRp0/LUU0/lvvvua/R3sM8++2TBggXp3LnzWnNUVVWtVz0A0FT+cV1OkgcffDC77LLLWr9kBjZvQnRo5rbbbrt06tQpV199dZ599tncd999GTNmTLH/c5/7XBoaGjJq1Kg888wzufvuu3PppZcm+X+/8R49enReffXVfPazn82cOXPy3HPP5e67785JJ51U/AgaAGxO/tX6lyRt27bNsGHDMm7cuDzzzDP57Gc/W+zr3bt3Bg0alFGjRuXhhx/OY489llGjRqVNmzaNPpJdyqc+9an06tUrJ554Yp544ok88MADOe+885Kk5Pn9+/fPtttum//6r//Kc889l6lTp+bHP/5xozEXXHBBfvazn+WCCy7IM888U3w4aJLssssuGTp0aE455ZT87ne/y+OPP57Pf/7z+fCHP5yhQ4cmSc4888zcfffdWbhwYR599NHcf//96dOnT5INu97vuuuuGTlyZE444YTccsstWbhwYR5++OFMnDgxd955Z3HcwQcfnJqamowcOTI9e/ZstBXNyJEjs/3222fo0KH57W9/m4ULF2bGjBk5/fTT85e//GW96gGAprJo0aKMGTMm8+fPz89+9rNcccUVOeOMM5q6LGA9CdGhmWvRokVuvPHGzJ07N3379s1ZZ52V//7v/y72V1ZW5o477si8efOy11575dxzz83555+fJMV90rt27ZoHHngga9asyWGHHZZ+/frlzDPPTIcOHdKihX9GANj8/Kv17x0jR47M448/no9//OPp3r17o74bbrgh1dXVOfjgg3PMMcfklFNOSfv27Rs9R6SUbbbZJrfddltWrFiR/fffP//+7/+ec889N0lKnt+xY8f89Kc/za9//ev069cvP/vZz/LNb36z0ZiBAwfm5ptvzu2335699torhxxySB5++OFi/3XXXZd99903Rx11VAYMGJBCoZBf//rXxY+Fr1mzJqNHj06fPn1y+OGHZ9ddd82VV16ZZMOv99ddd11OOOGEfO1rX8tuu+2WYcOGZc6cOY2+zmVlZfnsZz+bxx9/vNFd6Emy7bbbZtasWenevXuOPfbY9OnTJyeffHJWrVqVysrK9a4HAJrCCSeckDfffDMf/ehHM3r06JxxxhkZNWpUU5cFrKeywrs3XgS2elOmTMlJJ52U2traD7z3KgA0F3/5y1/SrVu33HvvvSUf7vnPPPDAAznooIPy7LPPplevXhuhQgAAYGPwYFEgN9xwQ3baaad8+MMfzuOPP55zzjknxx13nAAdgK3afffdlxUrVqRfv355+eWXc/bZZ2fHHXfMwQcf/J7Ov/XWW9OuXbvssssuefbZZ3PGGWfkwAMPFKADAMAWRogOZMmSJTn//POzZMmSdOnSJZ/5zGcyYcKEpi4LAJrU6tWr81//9V/585//nPbt2+djH/tYpkyZklatWmXKlCn5j//4j3We16NHjzz11FN5/fXXc84552TRokXZfvvtM2jQoHz3u9/dxFexYSxatKjRw0nf7emnn15rOxwAAGgubOcCAADr6fXXX8/SpUvX2deqVav06NFjE1e0cb399tt5/vnnS/bvuOOOadnS/TkAADRPQnQAAAAAACihRVMXAAAAAAAAmyshOgAAAAAAlCBEBwAAAACAEoToAAAAAABQghAdAAAAAABKEKIDAAAAAEAJQnQAAAAAAChBiA4AAAAAACX8f+U3LgqAEG6qAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def remove_outliers(df):\n", "\n", " numeric_columns = ['age', 'avg_glucose_level', 'bmi']\n", " for column in numeric_columns:\n", " Q1 = df[column].quantile(0.25)\n", " Q3 = df[column].quantile(0.75)\n", " IQR = Q3 - Q1\n", " lower_bound = Q1 - 1.5 * IQR\n", " upper_bound = Q3 + 1.5 * IQR\n", " df[column] = df[column].apply(lambda x: lower_bound if x < lower_bound else upper_bound if x > upper_bound else x)\n", " return df\n", " \n", "data = remove_outliers(data)\n", "plot_numeric_boxplots(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Так, от выбросов избавились, теперь разобьем на выборки

" ] }, { "cell_type": "code", "execution_count": 171, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Размеры выборок:\n", "Обучающая выборка: (4088, 10)\n", "Тестовая выборка: (511, 10)\n", "Контрольная выборка: (511, 10)\n" ] } ], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "# Определение признаков и целевой переменной\n", "X = data.drop(columns=['id', 'stroke']) \n", "y = data['stroke'] \n", "\n", "# Обучающая выборка\n", "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)\n", "\n", "# Тестовая и контрольная выборки\n", "X_test, X_control, y_test, y_control = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42, stratify=y_temp)\n", "\n", "print(\"\\nРазмеры выборок:\")\n", "print(f\"Обучающая выборка: {X_train.shape}\")\n", "print(f\"Тестовая выборка: {X_test.shape}\")\n", "print(f\"Контрольная выборка: {X_control.shape}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "stroke\n", "0 4861\n", "1 249\n", "Name: count, dtype: int64\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9kUlEQVR4nO3deXyM9/7//2d2IZlEkIRSQmqJpa0oglpDqlFVnFYpqpyWhhYtTs6ptfXVcmorqqeLpaUt1XLKsUQUVSkaja042sahjSRCk0ErieT6/dFP5mckthGZxPW4325zu5n39b7e1+uaTDJP1/W+rnExDMMQAACAibk6uwAAAABnIxABAADTIxABAADTIxABAADTIxABAADTIxABAADTIxABAADTIxABAADTIxABAADTIxABABz2/PPPq3Pnzs4uw2bx4sVycXHRd999d8tj5ebmqkaNGlqwYEExVIbSjkCEO1rBH8eCR7ly5VS3bl0NHz5caWlpzi4PKNOSk5P13nvv6e9///tNrbdz505NmjRJmZmZt6ewYuLh4aHRo0dr6tSpunjxorPLwW1GIIIpTJkyRR9++KHmzZunVq1a6e2331ZERIR+//13Z5cGlFlz5sxRSEiIOnTocFPr7dy5U5MnTy71gUiSBg0apIyMDC1fvtzZpeA2IxDBFLp27aqnnnpKQ4YM0eLFizVy5EglJydrzZo1zi4NKJNyc3O1bNkyPf7447d1O/n5+U49OuPv768uXbpo8eLFTqsBJYNABFPq2LGjpD8P+UvS2bNn9fLLL6tx48by8fGRxWJR165dtW/fvkLrXrx4UZMmTVLdunVVrlw5Va1aVT179tRPP/0kSTp+/LjdaborH+3bt7eNtXXrVrm4uOjTTz/V3//+dwUHB6tChQrq3r27Tp48WWjbu3bt0kMPPSQ/Pz+VL19e7dq10zfffFPkPrZv377I7U+aNKlQ348++kjh4eHy9vZWQECA+vTpU+T2r7Vvl8vPz9fs2bPVsGFDlStXTkFBQXruuef022+/2fWrVauWunXrVmg7w4cPLzRmUbXPmDGj0GsqSdnZ2Zo4caJCQ0Pl5eWlGjVqaOzYscrOzi7ytbpc+/btC403depUubq6FjpKcKOvxz//+U+1atVKlSpVkre3t8LDw/XZZ58Vuf2PPvpIzZs3V/ny5VWxYkW1bdtWmzZtsuuzfv16tWvXTr6+vrJYLHrggQcK1bZy5Urbz7Ry5cp66qmn9Ouvv9r1efrpp+1qrlixotq3b6+vv/76uq/Tjh07lJGRocjIyELL3nrrLTVs2NC2D82aNbPVN2nSJI0ZM0aSFBISYtv28ePHJf35cx4+fLiWLVumhg0bysvLSxs2bJAkff/99+ratassFot8fHzUqVMnffvtt9et9bffflPz5s1VvXp1HT16VNLNvUc6d+6sHTt26OzZs9fdFsoud2cXADhDQXipVKmSJOnnn3/W6tWr9Ze//EUhISFKS0vTO++8o3bt2umHH35QtWrVJEl5eXnq1q2b4uPj1adPH7344os6d+6c4uLidPDgQdWpU8e2jSeffFIPP/yw3XZjY2OLrGfq1KlycXHRuHHjlJ6ertmzZysyMlJJSUny9vaWJG3ZskVdu3ZVeHi4Jk6cKFdXVy1atEgdO3bU119/rebNmxcat3r16po2bZok6fz58xo2bFiR2x4/frwef/xxDRkyRKdPn9Zbb72ltm3b6vvvv5e/v3+hdZ599lk9+OCDkqTPP/9cX3zxhd3y5557TosXL9agQYP0wgsvKDk5WfPmzdP333+vb775Rh4eHkW+DjcjMzPTtm+Xy8/PV/fu3bVjxw49++yzatCggQ4cOKBZs2bpv//9r1avXn1T21m0aJFeeeUVvfnmm+rbt2+Rfa73esyZM0fdu3dXv379lJOTo08++UR/+ctftHbtWkVHR9v6TZ48WZMmTVKrVq00ZcoUeXp6ateuXdqyZYu6dOki6c95cc8884waNmyo2NhY+fv76/vvv9eGDRts9RW89g888ICmTZumtLQ0zZkzR998802hn2nlypU1a9YsSdIvv/yiOXPm6OGHH9bJkyeL/NkX2Llzp1xcXHT//ffbtb/77rt64YUX1Lt3b7344ou6ePGi9u/fr127dqlv377q2bOn/vvf/+rjjz/WrFmzVLlyZUlSlSpVbGNs2bJFK1as0PDhw1W5cmXVqlVLhw4d0oMPPiiLxaKxY8fKw8ND77zzjtq3b69t27apRYsWRdaZkZGhzp076+zZs9q2bZvq1Klz0++R8PBwGYahnTt3FhngcYcwgDvYokWLDEnG5s2bjdOnTxsnT540PvnkE6NSpUqGt7e38csvvxiGYRgXL1408vLy7NZNTk42vLy8jClTptjaPvjgA0OSMXPmzELbys/Pt60nyZgxY0ahPg0bNjTatWtne/7VV18Zkoy77rrLsFqttvYVK1YYkow5c+bYxr7nnnuMqKgo23YMwzB+//13IyQkxOjcuXOhbbVq1cpo1KiR7fnp06cNScbEiRNtbcePHzfc3NyMqVOn2q174MABw93dvVD7sWPHDEnGkiVLbG0TJ040Lv9T8vXXXxuSjGXLltmtu2HDhkLtNWvWNKKjowvVHhMTY1z55+nK2seOHWsEBgYa4eHhdq/phx9+aLi6uhpff/213foLFy40JBnffPNNoe1drl27drbx1q1bZ7i7uxsvvfRSkX1v5PUwjD9/TpfLyckxGjVqZHTs2NFuLFdXV+Oxxx4r9F4s+JlnZmYavr6+RosWLYw//vijyD45OTlGYGCg0ahRI7s+a9euNSQZEyZMsLUNHDjQqFmzpt04//rXvwxJxu7du4vc5wJPPfWUUalSpULtjz76qNGwYcNrrjtjxgxDkpGcnFxomSTD1dXVOHTokF17jx49DE9PT+Onn36ytaWkpBi+vr5G27ZtbW0Fv/N79uwxTp06ZTRs2NCoXbu2cfz4cVufm32PpKSkGJKMN95445r7hbKNU2YwhcjISFWpUkU1atRQnz595OPjoy+++EJ33XWXJMnLy0uurn/+OuTl5enMmTPy8fFRvXr1tHfvXts4q1atUuXKlTVixIhC27jyNMnNGDBggHx9fW3Pe/furapVq+o///mPJCkpKUnHjh1T3759debMGWVkZCgjI0MXLlxQp06dtH37duXn59uNefHiRZUrV+6a2/3888+Vn5+vxx9/3DZmRkaGgoODdc899+irr76y65+TkyPpz9fralauXCk/Pz917tzZbszw8HD5+PgUGjM3N9euX0ZGxnXnjPz666966623NH78ePn4+BTafoMGDVS/fn27MQtOk165/avZvXu3Hn/8cfXq1UszZswoss+NvB6SbEf5pD9P32RlZenBBx+0e2+tXr1a+fn5mjBhgu29WKDgvRUXF6dz587pb3/7W6GfbUGf7777Tunp6Xr++eft+kRHR6t+/fpat26d3Xr5+fm21ygpKUlLly5V1apV1aBBg2vu05kzZ1SxYsVC7f7+/vrll1+0Z8+ea65/Le3atVNYWJjteV5enjZt2qQePXqodu3atvaqVauqb9++2rFjh6xW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kWFb/8SJE9qxY0ehvufOnVOVKlU0b948DRkypHh3EECJ4wgRgDJp+/btys/PV1JSkn788UdNnz69UB+r1aoKFSpcdYzNmzerU6dOuuuuu+Tr66v+/fvrzJkz+v333yX9/0eIinL48GFlZ2dfdTmAsoVABKBMql27tuLj4xUWFqYFCxZo0qRJ2r9/v12flJQUVatWrcj1jx8/rm7duqlJkyZatWqVEhMTNX/+fElSTk6OJMnb2/uq27/WMgBlD4EIQJnUuHFjVa5cWZL0l7/8RT179tSAAQNsYebChQs6fPiw7r///iLXT0xMVH5+vt588021bNlSdevWVUpKil2fJk2aKD4+vsj177nnHnl7e191OYCyhUAE4I4wf/58paena/LkyTpy5IiefPJJ+fv7q2vXrkX2Dw0NVW5urt566y39/PPP+vDDD7Vw4UK7PrGxsdqzZ4+ef/557d+/X0eOHNHbb7+tjIwMlStXTuPGjdPYsWO1dOlS/fTTT/r222/1/vvvl8TuAihmBCIAd4SAgAC9++67euONNzRs2DBdunRJmzdvlo+PT5H97733Xs2cOVNvvPGGGjVqpGXLlmnatGl2ferWratNmzZp3759at68uSIiIrRmzRq5u7tLksaPH6+XXnpJEyZMUIMGDfTEE08oPT39tu8rgOLHVWYAAMD0OEIEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABMj0AEAABM7/8DpNEDZYuGXjoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "# Подсчет количества объектов каждого класса\n", "class_counts = y.value_counts()\n", "print(class_counts)\n", "\n", "# Визуализация\n", "sns.barplot(x=class_counts.index, y=class_counts.values)\n", "plt.title(\"Распределение классов (stroke)\")\n", "plt.xlabel(\"Класс\")\n", "plt.ylabel(\"Количество\")\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Напишем функцию и сделаем аугментацию данных

" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Данные ДО аугментации в ОБУЧАЮЩЕЙ ВЫБОРКЕ (60-80% данных)\n", "\n", "stroke\n", "0 3889\n", "1 199\n", "Name: count, dtype: int64\n", "\n", "После оверсемплинга\n", "\n", "stroke\n", "0 3889\n", "1 1944\n", "Name: count, dtype: int64\n", "\n", "После балансировки данных (андерсемплинга)\n", "\n", "stroke\n", "0 1944\n", "1 1944\n", "Name: count, dtype: int64\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Данные ДО аугментации в ТЕСТОВОЙ ВЫБОРКЕ (10-20% данных)\n", "\n", "stroke\n", "0 486\n", "1 25\n", "Name: count, dtype: int64\n", "\n", "После оверсемплинга\n", "\n", "stroke\n", "0 486\n", "1 243\n", "Name: count, dtype: int64\n", "\n", "После балансировки данных (андерсемплинга)\n", "\n", "stroke\n", "0 243\n", "1 243\n", "Name: count, dtype: int64\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "from imblearn.over_sampling import RandomOverSampler\n", "from imblearn.under_sampling import RandomUnderSampler\n", "\n", "def over_under_sampling(x_selection, y_selection):\n", "\n", " # сначала увеличение меньшинства\n", "\n", " oversampler = RandomOverSampler(sampling_strategy=0.5, random_state=42) \n", " x_over, y_over = oversampler.fit_resample(x_selection, y_selection) \n", "\n", " print(\"\\nПосле оверсемплинга\\n\")\n", " print(y_over.value_counts())\n", "\n", " # потом уменьшение большинства\n", "\n", " undersampler = RandomUnderSampler(sampling_strategy=1.0, random_state=42)\n", " x_balanced, y_balanced = undersampler.fit_resample(x_over, y_over)\n", "\n", " print(\"\\nПосле балансировки данных (андерсемплинга)\\n\")\n", " print(y_balanced.value_counts())\n", "\n", " plt.pie(\n", " y_balanced.value_counts(), \n", " labels=class_counts.index, # Метки классов (0 и 1)\n", " autopct='%1.1f%%', # Отображение процентов\n", " colors=['lightgreen', 'lightcoral'], # Цвета для классов\n", " startangle=45, # Поворот диаграммы\n", " explode=(0, 0.05) # Небольшое смещение для класса 1\n", " )\n", " plt.title(\"Распределение классов (stroke)\")\n", " plt.show()\n", "\n", "print(\"Данные ДО аугментации в ОБУЧАЮЩЕЙ ВЫБОРКЕ (60-80% данных)\\n\")\n", "print(y_train.value_counts())\n", "over_under_sampling(X_train, y_train)\n", "\n", "print(\"Данные ДО аугментации в ТЕСТОВОЙ ВЫБОРКЕ (10-20% данных)\\n\")\n", "print(y_test.value_counts())\n", "over_under_sampling(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Теперь можно и к конструированию признаков приступить) данные ведь сбалансированы (в выборках)

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Унитарное кодирование категориальных признаков

Применяем к категориальным (НЕ числовым) признакам: 'gender', 'ever_married', 'work_type', 'Residence_type', 'smoking_status'

" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Данные после унитарного кодирования:\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agehypertensionheart_diseaseavg_glucose_levelbmigender_Malegender_Otherever_married_Yeswork_type_Never_workedwork_type_Privatework_type_Self-employedwork_type_childrenResidence_type_Urbansmoking_status_formerly smokedsmoking_status_never smokedsmoking_status_smokes
84548.00069.2133.1FalseFalseTrueFalseTrueFalseFalseTrueFalseTrueFalse
374415.000122.2521.0TrueFalseFalseFalseTrueFalseFalseFalseFalseTrueFalse
418367.000110.4224.9FalseFalseTrueFalseFalseTrueFalseFalseFalseTrueFalse
340944.00065.4124.8TrueFalseTrueFalseTrueFalseFalseTrueFalseFalseTrue
28414.00082.3431.6TrueFalseFalseFalseFalseFalseFalseTrueFalseFalseFalse
\n", "
" ], "text/plain": [ " age hypertension heart_disease avg_glucose_level bmi gender_Male \\\n", "845 48.0 0 0 69.21 33.1 False \n", "3744 15.0 0 0 122.25 21.0 True \n", "4183 67.0 0 0 110.42 24.9 False \n", "3409 44.0 0 0 65.41 24.8 True \n", "284 14.0 0 0 82.34 31.6 True \n", "\n", " gender_Other ever_married_Yes work_type_Never_worked \\\n", "845 False True False \n", "3744 False False False \n", "4183 False True False \n", "3409 False True False \n", "284 False False False \n", "\n", " work_type_Private work_type_Self-employed work_type_children \\\n", "845 True False False \n", "3744 True False False \n", "4183 False True False \n", "3409 True False False \n", "284 False False False \n", "\n", " Residence_type_Urban smoking_status_formerly smoked \\\n", "845 True False \n", "3744 False False \n", "4183 False False \n", "3409 True False \n", "284 True False \n", "\n", " smoking_status_never smoked smoking_status_smokes \n", "845 True False \n", "3744 True False \n", "4183 True False \n", "3409 False True \n", "284 False False " ] }, "execution_count": 135, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# One-Hot Encoding\n", "categorical_columns = ['gender', 'ever_married', 'work_type', 'Residence_type', 'smoking_status']\n", "X_encoded = pd.get_dummies(X_train, columns=categorical_columns, drop_first=True)\n", "\n", "print(\"Данные после унитарного кодирования:\")\n", "X_encoded.head()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Дискретизация числовых признаков

Числовые признаки, такие как 'age', 'avg_glucose_level', 'bmi', можно разделить на категории (биннинг).

\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Данные после дискретизации:\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", "
age_binsbmi_bins
845среднийожирение
3744ребенокнорма
4183пожилойнорма
3409среднийнорма
284ребенокожирение
4796пожилойожирение
1283пожилойожирение
3656среднийожирение
2485ребенокнорма
1282пожилойожирение
\n", "
" ], "text/plain": [ " age_bins bmi_bins\n", "845 средний ожирение\n", "3744 ребенок норма\n", "4183 пожилой норма\n", "3409 средний норма\n", "284 ребенок ожирение\n", "4796 пожилой ожирение\n", "1283 пожилой ожирение\n", "3656 средний ожирение\n", "2485 ребенок норма\n", "1282 пожилой ожирение" ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_encoded['age_bins'] = pd.cut(X_encoded['age'], bins=[0, 18, 30, 50, 80], labels=['ребенок', 'молодой', 'средний', 'пожилой'])\n", "X_encoded['bmi_bins'] = pd.cut(X_encoded['bmi'], bins=[0, 18.5, 25, 30, 50], labels=['низкий', 'норма', 'избыток', 'ожирение'])\n", "\n", "print(\"Данные после дискретизации:\")\n", "X_encoded[['age_bins', 'bmi_bins']].head(10)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Ручной синтез новых признаков

\n", "

  • Возрастной индекс глюкозы: age * avg_glucose_level\n", "
  • Индекс массы тела с поправкой на глюкозу: bmi / avg_glucose_level

    \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Данные после синтеза новых признаков:\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", "
    age_glucose_indexbmi_glucose_ratio
    8453322.08000.478255
    37441833.75000.171779
    41837398.14000.225503
    34092878.04000.379147
    2841152.76000.383775
    47965204.17000.528826
    12839478.35000.295779
    36563164.28000.504380
    2485987.56000.345903
    12828975.94750.188949
    \n", "
    " ], "text/plain": [ " age_glucose_index bmi_glucose_ratio\n", "845 3322.0800 0.478255\n", "3744 1833.7500 0.171779\n", "4183 7398.1400 0.225503\n", "3409 2878.0400 0.379147\n", "284 1152.7600 0.383775\n", "4796 5204.1700 0.528826\n", "1283 9478.3500 0.295779\n", "3656 3164.2800 0.504380\n", "2485 987.5600 0.345903\n", "1282 8975.9475 0.188949" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_encoded['age_glucose_index'] = X_encoded['age'] * X_encoded['avg_glucose_level']\n", "X_encoded['bmi_glucose_ratio'] = X_encoded['bmi'] / X_encoded['avg_glucose_level']\n", "\n", "print(\"Данные после синтеза новых признаков:\")\n", "X_encoded[['age_glucose_index', 'bmi_glucose_ratio']].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

    Масштабирование признаков

    Применяем нормализацию (для сжатия в диапазон [0, 1]) и стандартизацию (для приведения к среднему 0 и стандартному отклонению 1)

    " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Данные после нормализации:\n", " age hypertension heart_disease avg_glucose_level bmi \\\n", "845 0.584961 0 0 0.123340 0.633333 \n", "3744 0.182129 0 0 0.587635 0.297222 \n", "4183 0.816895 0 0 0.484079 0.405556 \n", "3409 0.536133 0 0 0.090076 0.402778 \n", "284 0.169922 0 0 0.238276 0.591667 \n", "4796 0.890137 1 0 0.141547 0.761111 \n", "1283 0.768066 1 1 0.834490 0.950000 \n", "3656 0.511719 0 0 0.177000 0.769444 \n", "2485 0.169922 0 0 0.134982 0.391667 \n", "1282 0.645996 0 1 1.000000 0.602778 \n", "\n", " gender_Male gender_Other ever_married_Yes work_type_Never_worked \\\n", "845 False False True False \n", "3744 True False False False \n", "4183 False False True False \n", "3409 True False True False \n", "284 True False False False \n", "4796 True False False False \n", "1283 True False True False \n", "3656 False False True False \n", "2485 False False False False \n", "1282 True False True False \n", "\n", " work_type_Private work_type_Self-employed work_type_children \\\n", "845 True False False \n", "3744 True False False \n", "4183 False True False \n", "3409 True False False \n", "284 False False False \n", "4796 False False False \n", "1283 True False False \n", "3656 False True False \n", "2485 True False False \n", "1282 True False False \n", "\n", " Residence_type_Urban smoking_status_formerly smoked \\\n", "845 True False \n", "3744 False False \n", "4183 False False \n", "3409 True False \n", "284 True False \n", "4796 True False \n", "1283 True True \n", "3656 False False \n", "2485 False True \n", "1282 False False \n", "\n", " smoking_status_never smoked smoking_status_smokes age_bins bmi_bins \\\n", "845 True False средний ожирение \n", "3744 True False ребенок норма \n", "4183 True False пожилой норма \n", "3409 False True средний норма \n", "284 False False ребенок ожирение \n", "4796 True False пожилой ожирение \n", "1283 False False пожилой ожирение \n", "3656 True False средний ожирение \n", "2485 False False ребенок норма \n", "1282 False False пожилой ожирение \n", "\n", " age_glucose_index bmi_glucose_ratio \n", "845 3322.0800 0.478255 \n", "3744 1833.7500 0.171779 \n", "4183 7398.1400 0.225503 \n", "3409 2878.0400 0.379147 \n", "284 1152.7600 0.383775 \n", "4796 5204.1700 0.528826 \n", "1283 9478.3500 0.295779 \n", "3656 3164.2800 0.504380 \n", "2485 987.5600 0.345903 \n", "1282 8975.9475 0.188949 \n" ] } ], "source": [ "import pandas as pd\n", "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n", "\n", "scaler = MinMaxScaler()\n", "standardizer = StandardScaler()\n", "\n", "# Нормализация\n", "X_encoded[['age', 'avg_glucose_level', 'bmi']] = scaler.fit_transform(X_encoded[['age', 'avg_glucose_level', 'bmi']])\n", "print(\"Данные после нормализации:\\n\", X_encoded.head(10))\n", "\n", "# # Стандартизация\n", "# X_encoded[['age', 'avg_glucose_level', 'bmi']] = standardizer.fit_transform(X_encoded[['age', 'avg_glucose_level', 'bmi']])\n", "# print(\"Данные после стандартизации:\\n\", X_encoded.head(10))\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

    Конструирование признаков с применением фреймворка Featuretools

    " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Столбцы в data: ['age', 'hypertension', 'heart_disease', 'avg_glucose_level', 'bmi', 'gender_Male', 'gender_Other', 'ever_married_Yes', 'work_type_Never_worked', 'work_type_Private', 'work_type_Self-employed', 'work_type_children', 'Residence_type_Urban', 'smoking_status_formerly smoked', 'smoking_status_never smoked', 'smoking_status_smokes', 'age_bins', 'bmi_bins', 'age_glucose_index', 'bmi_glucose_ratio']\n", "age 0\n", "hypertension 0\n", "heart_disease 0\n", "avg_glucose_level 0\n", "bmi 0\n", "gender_Male 0\n", "gender_Other 0\n", "ever_married_Yes 0\n", "work_type_Never_worked 0\n", "work_type_Private 0\n", "work_type_Self-employed 0\n", "work_type_children 0\n", "Residence_type_Urban 0\n", "smoking_status_formerly smoked 0\n", "smoking_status_never smoked 0\n", "smoking_status_smokes 0\n", "age_bins 87\n", "bmi_bins 0\n", "age_glucose_index 0\n", "bmi_glucose_ratio 0\n", "dtype: int64\n", "Сгенерированные признаки:\n", " age hypertension heart_disease avg_glucose_level bmi \\\n", "id \n", "0 0.584961 0 0 0.123340 0.633333 \n", "1 0.182129 0 0 0.587635 0.297222 \n", "2 0.816895 0 0 0.484079 0.405556 \n", "3 0.536133 0 0 0.090076 0.402778 \n", "4 0.169922 0 0 0.238276 0.591667 \n", "\n", " gender_Male gender_Other ever_married_Yes work_type_Never_worked \\\n", "id \n", "0 False False True False \n", "1 True False False False \n", "2 False False True False \n", "3 True False True False \n", "4 True False False False \n", "\n", " work_type_Private work_type_Self-employed work_type_children \\\n", "id \n", "0 True False False \n", "1 True False 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", "id \n", "0 True False \n", "1 False False \n", "2 False False \n", "3 True False \n", "4 True False \n", "\n", " smoking_status_never smoked smoking_status_smokes age_bins bmi_bins \\\n", "id \n", "0 True False средний ожирение \n", "1 True False ребенок норма \n", "2 True False пожилой норма \n", "3 False True средний норма \n", "4 False False ребенок ожирение \n", "\n", " age_glucose_index bmi_glucose_ratio \n", "id \n", "0 3322.08 0.478255 \n", "1 1833.75 0.171779 \n", "2 7398.14 0.225503 \n", "3 2878.04 0.379147 \n", "4 1152.76 0.383775 \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:1733: UserWarning: index id not found in dataframe, creating new integer column\n", " warnings.warn(\n", "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\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", "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\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", "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n", " warnings.warn(\n" ] }, { "data": { "text/html": [ "
    \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
    agehypertensionheart_diseaseavg_glucose_levelbmigender_Malegender_Otherever_married_Yeswork_type_Never_workedwork_type_Privatework_type_Self-employedwork_type_childrenResidence_type_Urbansmoking_status_formerly smokedsmoking_status_never smokedsmoking_status_smokesage_binsbmi_binsage_glucose_indexbmi_glucose_ratio
    id
    00.584961000.1233400.633333FalseFalseTrueFalseTrueFalseFalseTrueFalseTrueFalseсреднийожирение3322.080.478255
    10.182129000.5876350.297222TrueFalseFalseFalseTrueFalseFalseFalseFalseTrueFalseребенокнорма1833.750.171779
    20.816895000.4840790.405556FalseFalseTrueFalseFalseTrueFalseFalseFalseTrueFalseпожилойнорма7398.140.225503
    30.536133000.0900760.402778TrueFalseTrueFalseTrueFalseFalseTrueFalseFalseTrueсреднийнорма2878.040.379147
    40.169922000.2382760.591667TrueFalseFalseFalseFalseFalseFalseTrueFalseFalseFalseребенокожирение1152.760.383775
    ...............................................................
    40830.548340000.3303640.688889FalseFalseTrueFalseTrueFalseFalseTrueTrueFalseFalseсреднийожирение4178.700.377988
    40840.194336000.5107780.255556FalseFalseFalseFalseFalseFalseTrueFalseFalseFalseFalseребенокнорма1815.520.171852
    40850.743652000.2059740.719444FalseFalseTrueFalseTrueFalseFalseFalseTrueFalseFalseпожилойожирение4797.650.460267
    40860.377441000.1657070.436111TrueFalseTrueFalseTrueFalseFalseTrueFalseFalseFalseсреднийизбыток2295.550.351114
    40870.072266000.3145200.327778FalseFalseFalseFalseFalseFalseTrueTrueFalseFalseFalseребенокнорма546.300.242724
    \n", "

    4088 rows × 20 columns

    \n", "
    " ], "text/plain": [ " age hypertension heart_disease avg_glucose_level bmi \\\n", "id \n", "0 0.584961 0 0 0.123340 0.633333 \n", "1 0.182129 0 0 0.587635 0.297222 \n", "2 0.816895 0 0 0.484079 0.405556 \n", "3 0.536133 0 0 0.090076 0.402778 \n", "4 0.169922 0 0 0.238276 0.591667 \n", "... ... ... ... ... ... \n", "4083 0.548340 0 0 0.330364 0.688889 \n", "4084 0.194336 0 0 0.510778 0.255556 \n", "4085 0.743652 0 0 0.205974 0.719444 \n", "4086 0.377441 0 0 0.165707 0.436111 \n", "4087 0.072266 0 0 0.314520 0.327778 \n", "\n", " gender_Male gender_Other ever_married_Yes work_type_Never_worked \\\n", "id \n", "0 False False True False \n", "1 True False False False \n", "2 False False True False \n", "3 True False True False \n", "4 True False False False \n", "... ... ... ... ... \n", "4083 False False True False \n", "4084 False False False False \n", "4085 False False True False \n", "4086 True False True False \n", "4087 False False False False \n", "\n", " work_type_Private work_type_Self-employed work_type_children \\\n", "id \n", "0 True False False \n", "1 True False False \n", "2 False True False \n", "3 True False False \n", "4 False False False \n", "... ... ... ... \n", "4083 True False False \n", "4084 False False True \n", "4085 True False False \n", "4086 True False False \n", "4087 False False True \n", "\n", " Residence_type_Urban smoking_status_formerly smoked \\\n", "id \n", "0 True False \n", "1 False False \n", "2 False False \n", "3 True False \n", "4 True False \n", "... ... ... \n", "4083 True True \n", "4084 False False \n", "4085 False True \n", "4086 True False \n", "4087 True False \n", "\n", " smoking_status_never smoked smoking_status_smokes age_bins bmi_bins \\\n", "id \n", "0 True False средний ожирение \n", "1 True False ребенок норма \n", "2 True False пожилой норма \n", "3 False True средний норма \n", "4 False False ребенок ожирение \n", "... ... ... ... ... \n", "4083 False False средний ожирение \n", "4084 False False ребенок норма \n", "4085 False False пожилой ожирение \n", "4086 False False средний избыток \n", "4087 False False ребенок норма \n", "\n", " age_glucose_index bmi_glucose_ratio \n", "id \n", "0 3322.08 0.478255 \n", "1 1833.75 0.171779 \n", "2 7398.14 0.225503 \n", "3 2878.04 0.379147 \n", "4 1152.76 0.383775 \n", "... ... ... \n", "4083 4178.70 0.377988 \n", "4084 1815.52 0.171852 \n", "4085 4797.65 0.460267 \n", "4086 2295.55 0.351114 \n", "4087 546.30 0.242724 \n", "\n", "[4088 rows x 20 columns]" ] }, "execution_count": 145, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import featuretools as ft\n", "\n", "print(\"Столбцы в data:\", X_encoded.columns.tolist())\n", "print(X_encoded.isnull().sum())\n", "\n", "# Создание EntitySet (основная структура для Featuretools)\n", "entity = ft.EntitySet(id=\"stroke_prediction\")\n", "\n", "entity = entity.add_dataframe(\n", " dataframe_name=\"data\", \n", " dataframe=X_encoded, \n", " index=\"id\",\n", ")\n", "\n", "# Генерация новых признаков\n", "feature_matrix, feature_defs = ft.dfs(\n", " entityset=entity,\n", " target_dataframe_name=\"data\", # Основная таблица\n", " max_depth=2 # Уровень вложенности\n", ")\n", "\n", "print(\"Сгенерированные признаки:\")\n", "print(feature_matrix.head())\n", "\n", "# Сохранение результатов\n", "feature_matrix.to_csv(\"./csv/generated_features.csv\", index=False)\n", "feature_matrix" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

    Самое время оценить качество работы модели

    " ] }, { "cell_type": "code", "execution_count": 174, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Время обучения модели: 0.33 секунд\n", "ROC-AUC: 0.84\n", "F1-Score: 0.00\n", "Матрица ошибок:\n", "[[486 0]\n", " [ 25 0]]\n", "Отчет по классификации:\n", " precision recall f1-score support\n", "\n", " 0 0.95 1.00 0.97 486\n", " 1 0.00 0.00 0.00 25\n", "\n", " accuracy 0.95 511\n", " macro avg 0.48 0.50 0.49 511\n", "weighted avg 0.90 0.95 0.93 511\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1531: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1531: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n", "d:\\code\\mai\\labs\\AIM-PIbd-31-Bakalskaya-E-D\\lab_3\\venv\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:1531: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, f\"{metric.capitalize()} is\", len(result))\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAJwCAYAAACZACVsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABU8klEQVR4nO3deVxUZf//8feAbIKAqEDupuZuLmlSbpVludyalpqVoJaZS7mG5JZZYWa5ZFZmoVbm0mbaouaaiksqaWpmLpkpaC4gJoswvz/8Oj8ncIZRmDMwr2ePedzMdc6Z85nxJj+9z3WuMZnNZrMAAACQKw+jCwAAAHBlNEsAAAA20CwBAADYQLMEAABgA80SAACADTRLAAAANtAsAQAA2ECzBAAAYEMxowsAAKNkZGTo7Nmzys7OVtmyZY0uB4CLIlkC4FZ+/vln9ezZU6VLl5aPj49uueUWde3a1eiyALgwmiXgP+bOnSuTySSTyaSNGzfm2G42m1WhQgWZTCZ16NDBgApxo5YuXarmzZtr3759evXVV7Vq1SqtWrVK77//vtGlAXBhXIYDrsPX11cLFixQ8+bNrcbXr1+v48ePy8fHx6DKcCPOnj2rp556Sm3bttWSJUvk7e1tdEkACgmSJeA62rVrpyVLlujy5ctW4wsWLFDjxo0VHh5uUGW4EXFxcUpLS9PcuXNplAA4hGYJuI7HHntMZ86c0apVqyxjGRkZ+vzzz9WzZ89cj5kyZYruuusulSpVSn5+fmrcuLE+//xzq32uXuK73qN169aSpHXr1slkMmnRokV68cUXFR4eLn9/f/3vf//TX3/9ZfWarVu3thx31fbt2y2v+d/zDxo0KEftHTp0UOXKla3Gdu/eraioKN16663y9fVVeHi4+vTpozNnztj66CxOnTqlvn37KiwsTL6+vrr99ts1b948q32OHj0qk8mkKVOmWI3XrVs3x3saM2aMTCaTUlNTrd7PSy+9ZLXfG2+8YfVZStKWLVvUoEEDvfbaa6pQoYJ8fHxUvXp1TZo0SdnZ2VbHX758WRMnTlTVqlXl4+OjypUr68UXX1R6errVfpUrV1ZUVJTVWL9+/eTr66t169bZ/4AAFApchgOuo3LlyoqIiNBnn32mhx56SJL0/fffKzk5WT169NCMGTNyHDN9+nT973//0+OPP66MjAwtXLhQjz76qJYvX6727dtLkj7++GPL/j/99JNmz56tqVOnqnTp0pKksLAwq9d89dVXZTKZFB0drVOnTmnatGlq06aNEhIS5Ofnd936o6Ojb/ozWLVqlQ4fPqzevXsrPDxce/fu1ezZs7V3715t2bIlRyN2rUuXLql169b6448/NGjQIFWpUkVLlixRVFSUzp8/r+eff/6m68vN+fPnFRsbm2P8zJkz2rhxozZu3Kg+ffqocePGWr16tWJiYnT06FG99957ln2feuopzZs3T4888oiGDx+urVu3KjY2Vvv379dXX3113XOPHz9eH374oRYtWpSj0QNQiJkBWImLizNLMm/fvt08c+ZMc4kSJcz//vuv2Ww2mx999FHzPffcYzabzeZKlSqZ27dvb3Xs1f2uysjIMNetW9d877332jzXkSNHcmxbu3atWZK5XLly5pSUFMv44sWLzZLM06dPt4y1atXK3KpVK8vz7777zizJ/OCDD5r/+2suyTxw4MAc52vfvr25UqVKNt+P2Ww2f/bZZ2ZJ5g0bNuT6nq6aNm2aWZL5k08+sYxlZGSYIyIizAEBAZb3dOTIEbMk8xtvvGF1fJ06dazek9lsNo8ePdosyXzhwgWr9zN+/HjL8xdeeMEcGhpqbty4sdXxrVq1Mksyv/TSS1avGRUVZZZk3rNnj9lsNpsTEhLMksxPPfWU1X4jRowwSzKvWbPGMlapUiVzZGSk2Ww2m99//32zJPPbb79t83MBUPhwGQ6woVu3brp06ZKWL1+uCxcuaPny5de9BCfJKuk5d+6ckpOT1aJFC+3cufOGa+jVq5dKlChhef7II4/olltu0XfffZfr/mazWTExMeratavuvPPOGz6vZP1+0tLS9M8//6hZs2aSZPc9fffddwoPD9djjz1mGfPy8tJzzz2n1NRUrV+//qZqy83ff/+tt99+W2PHjlVAQECO7Z6enho6dKjV2PDhwyVJ3377raVuSRo2bJjN/a61dOlSDRgwQCNHjsz1EieAwo1mCbChTJkyatOmjRYsWKAvv/xSWVlZeuSRR667//Lly9WsWTP5+voqJCREZcqU0bvvvqvk5OQbrqF69epWz00mk6pVq6ajR4/muv+nn36qvXv36rXXXrvhc1519uxZPf/88woLC5Ofn5/KlCmjKlWqSJLd9/Tnn3+qevXq8vCw/tdMrVq1LNvz2/jx41W2bFk988wzObaZTCaVLVtWgYGBVuM1atSQh4eH5fP8888/5eHhoWrVqlntFx4eruDg4Bx1JyQk6LHHHlNWVpbOnj2bv28IgEtgzhJgR8+ePfX0008rMTFRDz30kIKDg3Pd76efftL//vc/tWzZUrNmzdItt9wiLy8vxcXFacGCBU6pNSMjQ2PHjlXfvn1122233fTrdevWTZs3b9bIkSPVoEEDBQQEKDs7Ww8++GCOSdFG279/v+bOnatPPvlEXl5eObbbmt+VG1vzsa71yy+/6KGHHtJ9992nkSNH6oknnmC+ElDE0CwBdjz88MN65plntGXLFi1atOi6+33xxRfy9fXVihUrrNZgiouLu6nzHzx40Oq52WzWH3/8ofr16+fYd9asWTp16lSOu8NuxLlz57R69WpNmDBB48aNu24911OpUiXt3r1b2dnZVunSb7/9Ztmen2JiYtSgQQN179491+1VqlTRypUrdeHCBavLmr///ruys7MtdwJWqlRJ2dnZOnjwoCUFk6SkpCSdP38+R9316tXTkiVL5OfnpyVLlqhfv37avXu3fH198/X9ATAOl+EAOwICAvTuu+/qpZdeUseOHa+7n6enp0wmk7KysixjR48e1ddff31T558/f74uXLhgef7555/r5MmTljv0rrpw4YJeffVVDR06NF/WgPL09JR0pTm71rRp0/J0fLt27ZSYmGjVYF6+fFlvv/22AgIC1KpVq5uu8ar4+HgtXbpUkyZNum4i1K5dO2VlZWnmzJlW42+99ZYkWe5WbNeunaSc7/O/+13VqFEj+fv7y8PDQ3PmzNHRo0f18ssv3/R7AuA6SJaAPIiMjLS7T/v27fXWW2/pwQcfVM+ePXXq1Cm98847qlatmnbv3n3D5w4JCVHz5s3Vu3dvJSUladq0aapWrZqefvppq/127typ0qVL64UXXrD7mseOHdMPP/xgNXb69GldunRJP/zwg1q1aqXAwEC1bNlSkydPVmZmpsqVK6eVK1fqyJEjeaq7X79+ev/99xUVFaUdO3aocuXK+vzzz7Vp0yZNmzbNKt2RpAMHDljVlJqaKg8PD6uxw4cP53qulStX6v7771ebNm2uW0+7du3Upk0bjR49WkeOHFGDBg20Zs0affHFF+rfv7/q1q0rSbr99tsVGRmp2bNn6/z582rVqpW2bdumefPmqXPnzrrn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vM7S9u3blZ2drTvvvNNqfOvWrfL09NQdd9zhcBH5jXWWgILFOktAwXLmOkvt3ttmf6d88l3/pk47V35yeM7SwIED9ddff+UY//vvvzVw4MB8KQoAAMBVONy77tu3T40aNcox3rBhQ+3bty9figIAAM7hxJvhCi2HkyUfH58cX1QnSSdPnlSxYkyBAgAARYvDzdIDDzygmJgYJScnW8bOnz+vF1980TLpCgAAoKhwOAqaMmWKWrZsqUqVKqlhw4aSpISEBIWFhenjjz/O9wIBAEDBMYnrcPY43CyVK1dOu3fv1qeffqpffvlFfn5+6t27tx577DF5eXkVRI0AAACGuaFJRv7+/urXr19+1wIAAJzMVReldCUOz1mKjY3VRx99lGP8o48+0uuvv54vRQEAALgKh5ul999/XzVr1swxXqdOHb333nv5UhQAAHAOk8nktEdh5XCzlJiYqFtuuSXHeJkyZXTy5Ml8KQoAAMBVONwsVahQQZs2bcoxvmnTJpUtWzZfigIAAM5hMjnvUVg5PMH76aef1pAhQ5SZmal7771XkrR69Wq98MILGj58eL4XCAAAYCSHm6WRI0fqzJkzGjBggDIyMiRJvr6+io6OVkxMTL4XCAAACo5HYY58nMThZslkMun111/X2LFjtX//fvn5+al69ery8fEpiPoAAAAMdcNf5hYQEKAmTZrkZy0AAMDJCJbsu6Fm6eeff9bixYt17Ngxy6W4q7788st8KQwAAMAVOHw33MKFC3XXXXdp//79+uqrr5SZmam9e/dqzZo1CgoKKogaAQBAAWGdJfscbpZee+01TZ06VcuWLZO3t7emT5+u3377Td26dVPFihULokYAAADDONwsHTp0SO3bt5ckeXt76+LFizKZTBo6dKhmz56d7wUCAICCwzpL9jncLJUsWVIXLlyQJJUrV06//vqrJOn8+fP6999/87c6AAAAgzk8wbtly5ZatWqV6tWrp0cffVTPP/+81qxZo1WrVum+++4riBoBAEABYZ0l+xxulmbOnKm0tDRJ0ujRo+Xl5aXNmzera9euGjNmTL4XCAAAYCSHm6WQkBDLzx4eHho1alS+FgQAAOBKHG6Wdu/ebXN7/fr1b7gYAADgXFyEs8/hZqlBgwYymUwym805tplMJmVlZeVLYQAAAK7ghlbw3rp1q8qUKZPftQAAACcrzItF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lvHs7Gx98803evHFF9WrVy95enraPFdaWpouXbqkHTt2aOPGjapbt26eaqxevbp+/vlnrVixQr///rvGjh2r7du339gbhtv78ccfdfLkScXExNzwaxSG3xugKKBZciP169fX+vXr9fvvv6tFixZq2LChxo0bZzN+z4uLFy9q9OjRVhPEHVWqVCmtWbNGqampatWqlRo3bqwPPvjA6r+WPTw8FBUVpaysLPXq1csyfu7cOQ0YMECRkZF68803bZ4nOTlZfn5+8vf3V4cOHfTwww9r2LBhearxmWeeUZcuXdS9e3fdeeedOnPmjFXKBDgiLS1N0dHRKlmy5A2/RmH4vQGKApP56n2jQCHQt29fnT59Wt98843RpQCFBr83wM1hzhIKheTkZO3Zs0cLFizgX/hAHvF7A+QPmiUUCp06ddK2bdvUv39/3X///UaXAxQK/N4A+YPLcAAAADYwwRsAAMAGmiUAAAAbaJYAAABsoFkCAACwgWYJAADABpolAC4vJSVFDRo0UGpqqo4fP14g328IANdDswS3FBUVJZPJdN3H+fPnjS4R1wgMDFTz5s0VHBysypUr69lnnzW6JABuhHWW4JaioqKUlJSkuLg4q/HNmzera9euOnfunIKDg40pDtd19uxZFStWTIGBgUaXAsCNkCzBbfn4+Cg8PNzq8d8vA547d66Cg4P19ddfq3r16vL19VXbtm31119/We23dOlSNWrUSL6+vrr11ls1YcIEXb582Wqfl156KUeC1blzZ6t9Nm3apNatW6t48eIqWbKk2rZtq3PnzkmSWrdurSFDhlj2nTNnjoKDg7Vz505JUlZWlvr27asqVarIz89PNWrU0PTp061ef9SoUSpbtqy8vb1Vrlw5RUdHKzs7O8/HR0VF5aj56md07fts0KCB1T7r1q2zSuz+e8y1EhISZDKZdPTo0Rz7hoSEKDAwUC1btpTJZFJCQkKuryFJlStX1rRp0yzPx4wZo/Lly1te96rcksWrr3vmzBk99thjKleunIoXL6569erps88+szo+OztbkydPVrVq1eTj46OKFSvq1VdftWw/fvy4HnvsMYWEhMjf31933HGHtm7det26Abgevu4EsOPff//Vq6++qvnz58vb21sDBgxQjx49tGnTJknSTz/9pF69emnGjBlq0aKFDh06pH79+kmSxo8fb/VaderU0Y8//ihJev7555Wenm7ZlpCQoPvuu099+vTR9OnTVaxYMa1du1ZZWVk5alq8eLGGDh2qb7/9Vo0aNZJ05S/t8uXLa8mSJSpVqpQ2b96sfv366ZZbblG3bt0kSQ888IC6deum0qVLa+/everZs6fq1KmjXr165el4V/Dll19q165dDh3z5ptv6v3339eGDRtUuXJly/jVYD0uLk4PPvig/vrrLzVt2tSyPS0tTY0bN1Z0dLQCAwP17bff6sknn1TVqlUt+8XExOiDDz7Q1KlT1bx5c508eVK//fabJCk1NVWtWrVSuXLl9M033yg8PFw7d+60NKgACgeaJcCOzMxMzZw5U3feeackad68eapVq5a2bdumpk2basKECRo1apQiIyMlSbfeeqsmTpyoF154wapZSk9Pl5+fn8LDwyVJfn5+Vs3S5MmTdccdd2jWrFmWsTp16uSo5/vvv1fv3r21ZMkStWzZ0jLu5eWlCRMmWJ5XqVJF8fHxWrx4saXZuffeey3bs7Ky5OfnZ2nG8nK80TIzMxUdHa3o6GiNHTs2T8fMmTNHL7/8stasWaNatWrleD1JKlOmjMLDw5WWlma1vVy5choxYoTl+eDBg7VixQotXrxYTZs21YULFzR9+nTNnDnT8udftWpVNW/eXJK0YMECnT59Wtu3b7eklkxOBwofmiXAjmLFiqlJkyaW5zVr1lRwcLD279+vpk2b6pdfftGmTZusLr1kZWUpLS1N//77r4oXLy7pyiUdW3NtEhIS9Oijj9qsZdu2bZo9e7YCAgIszdu13nnnHX300Uc6duyYLl26pIyMjByXxF577TW98sorunTpkgYNGqRevXo5dPzy5csVEBBgeX758mX5+vpa7bNnzx6rfXJLx5KTkxUQECAPDw+FhYWpU6dOio2Ntfn+33nnHQUFBenxxx/PU7O0dOlSbdiwQbfddpvq1q2bY3tKSookyd/fP9fjs7Ky9Nprr2nx4sX6+++/lZGRofT0dMuf6f79+5Wenq777rsv1+MTEhLUsGHDHJd3ARQuzFkCblJqaqomTJighIQEy2PPnj06ePCgVRNx+PBhValS5bqv4+fnZ/dc8fHxeuutt1S/fn0NGjTIatvChQs1YsQI9e3bVytXrlRCQoJ69+6tjIwMq/369++vnTt36pNPPtHChQu1YcMGh46/5557rN7ryy+/nKPOGjVqWO0zZ86cHPuUKFFCCQkJ2rFjh6ZMmaI5c+bkmCN1rXPnzmnixIl66623ZDKZ7H5W0pU5YIsWLZLJZNJLL72UY/uJEyckSWXLls31+DfeeEPTp09XdHS01q5dq4SEBLVt29bymdj7M8vLnykA10eyBNhx+fJl/fzzz5Y5KgcOHND58+ctl3QaNWqkAwcO2Ly8kpaWpm3btunJJ5+87j7169fX6tWrrS6F/deTTz6p/v3766GHHlLdunX11Vdf6eGHH5Z0pTG46667NGDAAMv+hw4dyvEaISEhCgkJUc2aNfX555/riy++0D333JPn4/39/a3ea2hoaI59vL29rfY5fvx4jn08PDws+1SvXl3333+/EhIS1KZNm1zf+8SJE9WiRQu1bNkyxyTt6xk1apQeeeQRVaxYUS1btlSXLl2sUsLt27erRIkSqlq1aq7Hb9q0SZ06ddITTzwh6cq8sN9//121a9e21O3n56fVq1frqaeeynF8/fr1NWfOHJ09e5Z0CSjESJYAO7y8vDR48GBt3bpVO3bsUFRUlJo1a2ZpnsaNG6f58+drwoQJ2rt3r/bv36+FCxdqzJgxkq4kT+PGjZMkNW/eXImJiUpMTNSlS5eUnp6u5ORkSVcmCm/fvl0DBgzQ7t279dtvv+ndd9/VP//8Y6nl6l+4lSpV0htvvKFnn31WZ86ckXTlL+6ff/5ZK1as0O+//66xY8dq+/btVu9l1qxZ2rt3r44ePapPPvlEq1atUsOGDfN8fH5LS0vTpUuXtGPHDm3cuDHXS2XSlUn2s2fP1uTJkx16/aufV9OmTTVkyBBLUpadna1vvvlGL774onr16iVPT89cj69evbpWrVqlzZs3a//+/XrmmWeUlJRk2e7r66vo6Gi98MILmj9/vg4dOqQtW7boww8/lCQ99thjCg8PV+fOnbVp0yYdPnxYX3zxheLj4x16HwCMRbME2FG8eHFFR0erZ8+euvvuuxUQEKBFixZZtrdt21bLly/XypUr1aRJEzVr1kxTp05VpUqVJElTpkzRG2+8oQsXLqhatWq65ZZbdMstt2jx4sX64Ycf9Pzzz0uSbrvtNq1cuVK//PKLmjZtqoiICC1dulTFiuUeAD/zzDOqW7euBg8ebHnepUsXde/eXXfeeafOnDljlRJJ0rfffqvWrVurZs2amjBhgl588UX16dMnz8fnp+TkZPn5+cnf318dOnTQww8/rGHDhuW6b2Zmpnr37q3bbrvths83YcIEZWdn66WXXtK5c+c0YMAARUZG6s0337zuMWPGjFGjRo3Utm1btW7d2tL4XGvs2LEaPny4xo0bp1q1aql79+46deqUpCsJ28qVKxUaGqp27dqpXr16mjRp0nWbMwCuiUUpARvmzp2rIUOG3NSK3lfnyuQ2Z+brr7/W119/rblz597w6wMAChZzloACdu1dYf/l6+uroKAgJ1YDAHAUyRJgQ34kSwCAwo1mCQAAwAYmeAMAANhAswQAAGADzRIAAIANNEsAAAA20CwBAADYQLMEAABgA80SAACADTRLAAAANvw/4gUAGrzJI8cAAAAASUVORK5CYII=", "text/plain": [ "
    " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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XIwtTkQ57N27d7h27Rr++OMPMWZoaIgdO3agTJkyGQ69T0RERESqxxYnohySnJyMhQsXwt7eHp07d8aLFy/kltetW5dFExEREVEewcKJKAecO3cOVatWxZAhQxAVFYWvX7/C29tb1WkRERERURaxcCLKRq9fv0aPHj3g4uKCe/fuifG+ffti3rx5KsyMiIiIiH4Gr3EiygZJSUlYuHAhJk+ejC9fvojxatWqYfHixahZs6YKsyMiIiKin8XCiegnPX78GG3btkVwcLAYMzU1xYwZM9CvXz+oq6urMDsiIiIiyg4snIh+UokSJRAXFwcAkEgkGDBgAKZPn47ChQurODMiIiIiyi68xolISYIgyN3X09PDggULULNmTVy9ehXLli1j0URERESUz7BwIlLC0aNHUblyZTx+/Fgu3q5dO1y8eBHOzs4qyoyIiIiIchILJ6JMeP78Odq3b4/mzZvj3r17GDJkiFzLk0QigZoa305ERERE+RW/6RGlIz4+HtOmTYODgwP27t0rxqOjo+VGzyMiIiKi/I2FE1EaDh48iAoVKmDixImIj48HAFhYWGD9+vU4f/48DA0NVZwhEREREf0qLJyIfvD06VO0bt0arVu3xrNnzwAA6urq8PLywqNHj9CzZ09IJBIVZ0lEREREvxKHIyf6jiAI6NChA+7evSvGGjZsCH9/f1SoUEGFmRERERGRKrHFieg7EokEs2fPBgAUL14cW7ZswalTp1g0ERERERVwbHGiAi0kJARqamqwtbUVY82bN8fatWvx559/wsDAQIXZEREREVFuwRYnKpC+fPmCMWPGoFKlSvjnn38UJrV1c3Nj0UREREREIhZOVKAIgoDt27fDwcEBs2fPRlJSEk6dOoU9e/aoOjUiIiIiysXYVY8KjKCgIHh4eODUqVNiTEtLCyNHjkSzZs1UmBkRERER5XYsnCjfi46OxpQpU7Bw4UIkJyeL8RYtWsDPz0/u+iYiIiIiotSwcKJ87dChQ+jXrx/evn0rxqytreHn54fWrVtzPiYiIiIiyhQWTpSv6evri0WTjo4OxowZg1GjRkFXV1fFmRERERFRXsLCifK1hg0bomvXroiLi4Ovry9sbGxUnRIREf1fe/ceFlW1vwH8HcABlIsQAV5IVEA9opCQhGDYCaUwk25yiBQVUw8QmZU30vGIpWWRqGjeDlZmkqWmZYaaHE1ATRjTJC4CeQtMJbl4uM76/eGPOU5chiFgc3k/zzPP06xZe/a796yH9te1Zg8RUQfEwok6BZVKhY8//hj79u3DF198AT29/90wctu2bTA0NJQwHRERERF1dLwdOXV4aWlp8Pb2xrRp07Bnzx5s375d43UWTURERET0V7Fwog7r1q1bCAsLg7u7O1JSUtTtqampEqYiIiIios6IS/Wow1GpVNi6dSsWLlyImzdvqtsHDRqEtWvXYuzYsRKmIyIiIqLOiIUTdSinTp1CREQETp8+rW7r0aMHFAoFXnnlFcjlcgnTEREREVFnxcKJOoy8vDx4enpCpVKp24KCgrBq1Sr06dNHwmRERERE1NnxO07UYfTv3x8hISEAgKFDh+Lo0aPYsWMHiyYiIiIianWccaJ268yZM3B1dYW+vr66beXKlXB1dcU///lPdOvWTcJ0RERERNSVcMaJ2p3CwkJMnToV7u7u2LJli8Zr1tbWiIyMZNFERERERG2KhRO1G9XV1YiNjYWTkxM++ugjAMCiRYs07pxHRERERCQFLtWjduHYsWOIiIjAuXPn1G09e/bEsmXLYG5uLmEyIiIiIiLOOJHErl27huDgYPj4+GgUTdOnT0dmZibCw8NhYMD6noiIiIikxStSkswHH3yAJUuWoLS0VN3m5uaGuLg4eHh4SJiMiIiIiEgTZ5xIMjk5OeqiydLSEh9++CFOnjzJoomIiIiI2h0WTiSZ6OhoWFtbY9asWcjKysKsWbM0bj1ORERERNRecKketbqKigrExMTA0tISs2bNUrdbWloiKyuLN38gIiIionaPhRO1qoMHDyIyMhLZ2dkwMzPDxIkTYWtrq36dRRMRERERdQRcqketIj8/H08//TSeeOIJZGdnAwBKS0tx+PBhiZMREREREemOhRO1qPLycixbtgxDhgzB3r171e1eXl44c+YMXnzxRenCERERERE1E5fqUYvZv38/5syZg9zcXHWbjY0NVq1ahRdffBEymUzCdEREREREzcfCiVrE5s2bMXPmTPVzfX19REZGQqFQ8HtMRERERNThcaketYjAwED1TR98fHygVCoRExPDoomIiIiIOgXOOJHOhBC4ePEiHBwc1G1mZmZYv349KioqEBgYyGV5RERERNSpcMaJdJKVlYXHH38cLi4uuHLlisZrTz/9NP7xj3+waCIi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", "text/plain": [ "
    " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import time\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import roc_auc_score, f1_score, confusion_matrix, classification_report\n", "\n", "# Разделение данных на обучающую и тестовую выборки\n", "X = data.drop(columns=['id', 'stroke']) # Признаки\n", "y = data['stroke'] # Целевая переменная\n", "\n", "# Преобразование категориальных признаков с помощью One-Hot Encoding\n", "categorical_columns = ['gender', 'ever_married', 'work_type', 'Residence_type', 'smoking_status']\n", "X = pd.get_dummies(X, columns=categorical_columns, drop_first=True)\n", "\n", "# Заполнение пропущенных значений (например, медианой для числовых данных)\n", "X.fillna(X.median(), inplace=True)\n", "\n", "# Разделение данных на обучающую и тестовую выборки\n", "# Обучающая выборка\n", "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)\n", "\n", "# Тестовая и контрольная выборки\n", "X_test, X_control, y_test, y_control = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42, stratify=y_temp)\n", "\n", "# Обучение модели\n", "model = RandomForestClassifier(random_state=42)\n", "\n", "# Начинаем отсчет времени\n", "start_time = time.time()\n", "model.fit(X_train, y_train)\n", "\n", "# Время обучения модели\n", "train_time = time.time() - start_time\n", "\n", "# Предсказания и оценка модели\n", "y_pred = model.predict(X_test)\n", "y_pred_proba = model.predict_proba(X_test)[:, 1] # Вероятности для ROC-AUC\n", "\n", "# Метрики\n", "roc_auc = roc_auc_score(y_test, y_pred_proba)\n", "f1 = f1_score(y_test, y_pred)\n", "conf_matrix = confusion_matrix(y_test, y_pred)\n", "class_report = classification_report(y_test, y_pred)\n", "\n", "# Вывод результатов\n", "print(f'Время обучения модели: {train_time:.2f} секунд')\n", "print(f'ROC-AUC: {roc_auc:.2f}')\n", "print(f'F1-Score: {f1:.2f}')\n", "print('Матрица ошибок:')\n", "print(conf_matrix)\n", "print('Отчет по классификации:')\n", "print(class_report)\n", "\n", "# Визуализация матрицы ошибок\n", "plt.figure(figsize=(7, 7))\n", "sns.heatmap(conf_matrix, annot=True, fmt='d', cmap='Blues', xticklabels=['Нет инсульта', 'Инсульт'], yticklabels=['Нет инсульта', 'Инсульт'])\n", "plt.title('Матрица ошибок')\n", "plt.xlabel('Предсказанный класс')\n", "plt.ylabel('Истинный класс')\n", "plt.show()\n", "\n", "\n", "plt.figure(figsize=(10, 6))\n", "plt.scatter(y_test, y_pred, alpha=0.5, color='blue', label='Прогнозы модели')\n", "plt.plot([0, 1], [0, 1], 'k--', lw=2, label='Идеальное совпадение')\n", "plt.xlabel('Фактический статус инсульта')\n", "plt.ylabel('Прогнозируемый статус инсульта')\n", "plt.title('Фактический статус инсульта по сравнению с прогнозируемым')\n", "plt.legend()\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

    в общем, вышло так, что пока что моя модель может предсказать ОТСУТСТВИЕ инсульта с высокой точностью, но вообще не может предсказать его наличие... целей пока не достигаем, задачи не решаем(

    " ] } ], "metadata": { "kernelspec": { "display_name": "venv", "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 }