From 688bfe2e9beae86d59743968c3b874c54296c2be Mon Sep 17 00:00:00 2001 From: dex_moth Date: Sat, 21 Dec 2024 00:21:03 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20la?= =?UTF-8?q?b=5F4/Lab4.ipynb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab_4/Lab4.ipynb | 911 ----------------------------------------------- 1 file changed, 911 deletions(-) delete mode 100644 lab_4/Lab4.ipynb diff --git a/lab_4/Lab4.ipynb b/lab_4/Lab4.ipynb deleted file mode 100644 index 0b8116e..0000000 --- a/lab_4/Lab4.ipynb +++ /dev/null @@ -1,911 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Index(['id', 'Gender', 'Age', 'City', 'Profession', 'Academic Pressure',\n", - " 'Work Pressure', 'CGPA', 'Study Satisfaction', 'Job Satisfaction',\n", - " 'Sleep Duration', 'Dietary Habits', 'Degree',\n", - " 'Have you ever had suicidal thoughts ?', 'Work/Study Hours',\n", - " 'Financial Stress', 'Family History of Mental Illness', 'Depression'],\n", - " dtype='object')\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "from matplotlib.ticker import FuncFormatter\n", - "\n", - "df = pd.read_csv(\".//csv//Student Depression Dataset.csv\")\n", - "print(df.columns)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " id Gender Age City Profession Academic Pressure \\\n", - "0 2 Male 33.0 Visakhapatnam Student 5.0 \n", - "1 8 Female 24.0 Bangalore Student 2.0 \n", - "2 26 Male 31.0 Srinagar Student 3.0 \n", - "3 30 Female 28.0 Varanasi Student 3.0 \n", - "4 32 Female 25.0 Jaipur Student 4.0 \n", - "\n", - " Work Pressure CGPA Study Satisfaction Job Satisfaction \\\n", - "0 0.0 8.97 2.0 0.0 \n", - "1 0.0 5.90 5.0 0.0 \n", - "2 0.0 7.03 5.0 0.0 \n", - "3 0.0 5.59 2.0 0.0 \n", - "4 0.0 8.13 3.0 0.0 \n", - "\n", - " Sleep Duration Dietary Habits Degree \\\n", - "0 5-6 hours Healthy B.Pharm \n", - "1 5-6 hours Moderate BSc \n", - "2 Less than 5 hours Healthy BA \n", - "3 7-8 hours Moderate BCA \n", - "4 5-6 hours Moderate M.Tech \n", - "\n", - " Have you ever had suicidal thoughts ? Work/Study Hours Financial Stress \\\n", - "0 Yes 3.0 1.0 \n", - "1 No 3.0 2.0 \n", - "2 No 9.0 1.0 \n", - "3 Yes 4.0 5.0 \n", - "4 Yes 1.0 1.0 \n", - "\n", - " Family History of Mental Illness Depression \n", - "0 No 1 \n", - "1 Yes 0 \n", - "2 Yes 0 \n", - "3 Yes 1 \n", - "4 No 0 \n" - ] - } - ], - "source": [ - "print(df.head())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Бизнес-цель исследования\n", - "Разработать и внедрить систему прогнозирования уровня депрессии среди обучающихся, которая позволит выявить группы риска на ранних этапах. Результаты исследования могут быть полезны психологам, педагогам и администрации учебных заведений.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Описание набора данных для анализа\n", - "Набор данных содержит информацию о психологическом состоянии обучающихся и включает следующие поля:\n", - "- id – идентификатор, число\n", - "- Gender – пол, строка\n", - "- Age – возраст, дробное число\n", - "- City – город, строка\n", - "- Profession – профессия, строка\n", - "- Academic Pressure – академическое давление, дробное число (от 1.00 до 5.00)\n", - "- Work Pressure – рабочее давление, дробное число (от 1.00 до 5.00)\n", - "- CGPA – средний балл (GPA), дробное число\n", - "- Study Satisfaction – удовлетворенность учебой, дробное число (от 1.00 до 5.00)\n", - "- Job Satisfaction – удовлетворенность работой, дробное число (от 1.00 до 5.00)\n", - "- Sleep Duration – продолжительность сна, строка\n", - "- Dietary Habits – пищевые привычки, строка\n", - "- Degree – степень (образование), строка\n", - "- Have you ever had suicidal thoughts? – Были ли у вас когда-либо суицидальные мысли? строка (yes/no)\n", - "- Work/Study Hours – часы работы/учебы, дробное число\n", - "- Financial Stress – финансовый стресс, дробное число (от 1.00 до 5.00)\n", - "- Family History of Mental Illness – семейный анамнез психических заболеваний, строка (yes/no)\n", - "- Depression – депрессия, булевое значение (1/0)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Обработка данных" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "id 0\n", - "Gender 0\n", - "Age 0\n", - "City 0\n", - "Profession 0\n", - "Academic Pressure 0\n", - "Work Pressure 0\n", - "CGPA 0\n", - "Study Satisfaction 0\n", - "Job Satisfaction 0\n", - "Sleep Duration 0\n", - "Dietary Habits 0\n", - "Degree 0\n", - "Have you ever had suicidal thoughts ? 0\n", - "Work/Study Hours 0\n", - "Financial Stress 3\n", - "Family History of Mental Illness 0\n", - "Depression 0\n", - "dtype: int64" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df.isnull().sum()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "df.dropna(subset=['Financial Stress'], inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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5ElJV2vdgAEDNH/+fFvWlStXSsr7798ffPCBatWqpdKlS6ts2bJq2LChvvjiC9v2c+fOafDgwbbzBh8fH7Vv3167d++27ZPbNVjatGlj933KOrdZsGCB3njjDVWqVEmlS5dWamqqJGn79u168MEH5eHhodKlS6t169bZ3gxB8cVMdKAQpKSk6NSpUzIMQydOnNAHH3ygtLQ0u3dpDcNQ586dtX79ekVGRqpevXpatWqVXnnlFf3999+aMmWKSpUqpblz56p58+b673//q/fee0+S1L9/f6WkpCg6OlolSpSwHTMzM1MPPvigmjRpokmTJmnlypUaOXKkrly5ojFjxuSad9++fWrZsqXc3d31n//8R46Ojvroo4/Upk0bxcXFqXHjxmrVqpUGDRqk999/X6+//rruueceSbL9mZM1a9YoLCxMd911l0aNGqWLFy/qgw8+UPPmzbV7924FBAToueeeU6VKlTRu3DgNGjRI9913n3x9fa/7Gs+fP19t27ZVhQoV9Pjjj+u1117Tt99+azshyhIREaGvv/5aTz/9tJo0aaK4uDh17Ngx2/GSkpLUpEkTW5EvX768VqxYocjISKWmpmrw4MHXzQQAxQV17Cqz61hmZqYefvhhrV27Vo8//rheeuklnTt3TrGxsdq7d68CAwMlSdOmTVPnzp315JNPKiMjQwsWLFD37t313Xff2dW8fv36ad68eXriiSfUrFkzrVu3rkBq4vjx41WqVCm99tprOnz4sD744AM5OjrKYrHozJkzGjVqlLZt26bo6GhVq1ZNI0aMyPV1SUtLU8uWLXXgwAH17dtX9957r06dOqVly5bpr7/+Urly5a772v7T5cuXdfToUXl7e9uNz5kzR5cuXdKzzz4rZ2dneXl5ad++fWrevLkqVaqk1157Ta6urvr666/VpUsXLV68WI888ogkadSoURo/frz69eunRo0aKTU1VTt37tTu3bvVvn17SVK3bt20b98+DRw4UAEBATpx4oRiY2P1559/3vDSAS+++KLKly+vESNG6Pz585Kkzz//XL1791aHDh00ceJEXbhwQbNmzVKLFi30008/FegyBQDuPJwPXFUY5wNZzfBNmzapevXqkq42yps0aaLGjRvL0dFRW7ZsUefOnW3bypQpo5CQEElXa9Ho0aMVGhqqF154QQcPHtSsWbO0Y8cObd682W4W+OnTpxUWFqbHH39cTz31VK65Pv74Yz3//PN6/fXXNXbs2FyzX8tvv/2mEiVK2M3GX7dunb7++msNGDBA5cqVU0BAQJ7PNWbPnq1Bgwbp0Ucf1UsvvaRLly7pf//7n7Zv364nnnhCkvT8889r0aJFGjBggIKDg3X69Glt2rRJBw4c0L333ntDz+Ott96Sk5OTXn75ZaWnp8vJyUnr1q1TWFiYGjRooJEjR8pisWjOnDlq166dfvjhBzVq1OiGHgtFiAGgwMyZM8eQlO3L2dnZiI6Ottt36dKlhiRj7NixduOPPvqo4eDgYBw+fNg2Nnz4cMNisRgbN240Fi5caEgypk6dane/3r17G5KMgQMH2sasVqvRsWNHw8nJyTh58qRtXJIxcuRI2+0uXboYTk5ORkJCgm3s2LFjRpkyZYxWrVrZxrIee/369Xl6PerVq2f4+PgYp0+fto3Fx8cbFovF6NWrl21s/fr1hiRj4cKFeTpuUlKSUbJkSWP27Nm2sWbNmhnh4eF2++3atcuQZAwePNhuPCIiIttrEBkZafj5+RmnTp2y2/fxxx83PDw8jAsXLuQpGwAUZdQxe2bXsU8//dSQZLz33nvZjmG1Wm1//3eNysjIMGrXrm20a9fONrZnzx5DkvHiiy/a7fvEE0/ccE3Met61a9c2MjIybPv17NnTcHBwMMLCwuzu37RpU6Nq1ap2Y1WrVjV69+5tuz1ixAhDkvHNN99c8znnpGrVqsYDDzxgnDx50jh58qQRHx9vPP7443Y/V0eOHDEkGe7u7saJEyfs7n///fcbderUMS5dumT3mM2aNTOCgoJsYyEhIUbHjh1zzXHmzBlDkvHOO+9cM++/X/d/Po9/viZZ/y5btGhhXLlyxTZ+7tw5w9PT03jmmWfs7n/8+HHDw8Mj2zgA5BXnA/YK43wgNTXVKFGihBEZGWkbq1GjhjF69GjDMAyjUaNGxiuvvGLbVr58eaN9+/aGYRjGiRMnDCcnJ+OBBx4wMjMzbftMnz7dkGR8+umntrHWrVsbkowPP/wwW4aqVava6tm0adMMBwcH46233rpu9qzj1qxZ01ZzDxw4YAwaNMiQZHTq1Mm2nyTDYrEY+/bts7t/Xs81wsPDjVq1al0zi4eHh9G/f/9r7vPv2vrP59G6dWvb7azv4V133WV3fmW1Wo2goCCjQ4cO2c7BqlWrZvveoHhjORegEMyYMUOxsbGKjY3VvHnz1LZtW/Xr10/ffPONbZ/vv/9eJUqU0KBBg+zuO2zYMBmGYXfV81GjRqlWrVrq3bu3XnzxRbVu3Trb/bIMGDDA9vesd3UzMjK0Zs2aHPfPzMzU6tWr1aVLF9111122cT8/P9tabFkfXcqPxMRE7dmzRxEREfLy8rKN161bV+3bt9f333+f72NmWbBggSwWi7p162Yb69mzp1asWKEzZ87YxrI+Jvbiiy/a3X/gwIF2tw3D0OLFi9WpUycZhqFTp07Zvjp06KCUlBS7j4IBQHFHHbs96tjixYtVrly5bHVLuvraZClVqpTt72fOnFFKSopatmxpV7uy8v77df/3rPIbqYm9evWym/HWuHFjGYahvn372u3XuHFjHT16VFeuXMn1tVm8eLFCQkJss75ze865Wb16tcqXL6/y5csrJCRECxcu1NNPP62JEyfa7detWzeVL1/edjs5OVnr1q1Tjx49dO7cOdtzPn36tDp06KBDhw7p77//lnR1OYN9+/bp0KFDOWYoVaqUnJyctGHDBrvv58165pln7GZqxsbG6uzZs+rZs6fd96lEiRJq3Lix1q9fX2CPDeDOxPlA4Z0PlClTRnXr1rWtfX7q1CkdPHhQzZo1kyQ1b97ctkzIr7/+qpMnT9pmr69Zs0YZGRkaPHiw3TrdzzzzjNzd3bV8+XK7x3J2dra7SOm/TZo0SS+99JImTpyoN954I8/P4ZdffrHV3HvuuUcffPCBOnbsmG1JltatWys4ONh2Oz/nGp6envrrr7+0Y8eOXHN4enpq+/btOnbsWJ6zX0/v3r3tzq/27NmjQ4cO6YknntDp06dtec+fP6/7779fGzdulNVqLbDHx+2J5VyAQtCoUSO7C7D07NlT9evX14ABA/Twww/LyclJf/zxhypWrKgyZcrY3TfrY2R//PGHbczJyUmffvqp7rvvPrm4uGjOnDk5/iJpsVjsThgk6e6775YkuzU4/+nkyZO6cOGCatSokW3bPffcI6vVqqNHj6pWrVp5e/L/X1b+3I67atWqG74o1rx589SoUSOdPn1ap0+fliTVr19fGRkZWrhwoZ599llbBovFomrVqtndP+vjcllOnjyps2fP6uOPP9bHH3+c42NmXSQGAO4E1LHbo44lJCSoRo0a2dae/bfvvvtOY8eO1Z49e+zWHP/na5xVE7OWgMny7+d3IzWxSpUqdrc9PDwkSf7+/tnGrVarUlJSsi2vkiUhIcHuzYX8aty4scaOHSsHBweVLl1a99xzT44XePv3ucHhw4dlGIbefPNNvfnmmzke+8SJE6pUqZLGjBmj8PBw3X333apdu7YefPBBPf3006pbt66kq82KiRMnatiwYfL19VWTJk308MMPq1evXqpQocINP7d/Z85q4rdr1y7H/d3d3W/4sQBA4nzgn/kL43ygRYsW+uCDD3Tq1Clt2bJFJUqUUJMmTSRJzZo108yZM5Wenp5tPfTcMjk5Oemuu+6ye82lqxfdzu3i2XFxcVq+fLleffXVfK+DHhAQoNmzZ8vBwUEuLi4KCgqSj49Ptv3+Xb/yc67x6quvas2aNWrUqJGqV6+uBx54QE888YSaN29u23fSpEnq3bu3/P391aBBAz300EPq1atXtp+h/Mit5vbu3TvX+6SkpKhs2bI3/Ji4/dFEB24Bi8Witm3batq0aTp06FC+C7ckrVq1StLVC4wdOnQo23/qd4pDhw7Z3oUOCgrKtn3+/Pm25kNeZb1j/NRTT+VaFLN+MQaAOxF1rOAUdB374Ycf1LlzZ7Vq1UozZ86Un5+fHB0dNWfOHLuLbuXVjdTEf86Ozsu4kYcLw92ocuXKKTQ09Lr7/XN2mfR/z/vll19Whw4dcrxP1pvwrVq1UkJCgmJiYrR69Wp98sknmjJlij788EP169dP0tUZ/p06ddLSpUu1atUqvfnmmxo/frzWrVun+vXrXzNb1sX18pr5888/z7E5f703XwAgvzgfKFhZTfTNmzdry5YtqlOnjtzc3CRdbaKnp6drx44d2rRpk0qWLGlrsOfXv+vHP9WqVUtnz57V559/rueeey5f3w9XV9ebqrl5Ode45557dPDgQX333XdauXKlFi9erJkzZ2rEiBEaPXq0JKlHjx5q2bKllixZotWrV+udd97RxIkT9c033ygsLExS7p9my8zMzPF8JbfM77zzjurVq5fjsbK+dyi+OLMCbpGsjy6npaVJkqpWrao1a9bo3Llzdu/a//LLL7btWf73v/9pzJgx6tOnj/bs2aN+/frp559/ts30ymK1WvXbb7/Z3qWXrn70S1KuF5YqX768SpcurYMHD2bb9ssvv8hisdhmkuXlY9RZsvLndtxy5crd0Lv18+fPl6Ojoz7//PNsxW7Tpk16//339eeff6pKlSqqWrWqrFarjhw5Yteo+OcV0KWrr0GZMmWUmZmZp5MAALgTUcfsj3sr6lhgYKC2b9+uy5cv2y2X8k+LFy+Wi4uLVq1aJWdnZ9v4nDlzsj0fq9Vqm92e5d/Pz+yaGBgYqL17997yx82arebo6Jin5+3l5aU+ffqoT58+SktLU6tWrTRq1ChbE126+lyGDRumYcOG6dChQ6pXr54mT56sefPmSZLKli2rs2fP2h03IyNDiYmJecqc9akCHx8fzl8A3DKcD9gf90bPByT7i4tu3brVbnZ1xYoVVbVqVW3evFmbN29W/fr1Vbp06WyZ/jnbOiMjQ0eOHMlXTShXrpwWLVqkFi1a6P7779emTZtUsWLFG3o+eZXfcw1XV1c99thjeuyxx5SRkaGuXbvq7bff1vDhw+Xi4iLp6rI9L774ol588UWdOHFC9957r95++21bEz2nmitdndWflxnrWTXX3d2dmnsHY0104Ba4fPmyVq9eLScnJ9vH2h566CFlZmZq+vTpdvtOmTJFDg4Otv/sL1++rIiICFWsWFHTpk1TdHS0kpKSNGTIkBwf65/HMwxD06dPl6Ojo+6///4c9y9RooQeeOABxcTE2H00LikpSV988YVatGhh+zhw1slBTsXn3/z8/FSvXj3NnTvXbv+9e/dq9erVeuihh657jJzMnz9fLVu21GOPPaZHH33U7ivr42dffvmlJNlmks2cOdPuGB988IHd7RIlSqhbt25avHhxjr+4nzx58oayAkBxQR37v/1vZR3r1q2bTp06le01lv5vNneJEiXk4OBgN3v5999/19KlS+32z/p+vP/++3bjU6dOtbttdk3s1q2b4uPjtWTJkmzbCnMGu4+Pj9q0aaOPPvooxyb2P5931hI8Wdzc3FS9enXbUjoXLlzQpUuX7PYJDAxUmTJl7JbbCQwM1MaNG+32+/jjj3Odif5vHTp0kLu7u8aNG6fLly9fMzMAFATOB/5v/5s9H5CuNsqrVaumtWvXaufOnbb10LM0a9ZMS5cu1cGDB20Nd0kKDQ2Vk5OT3n//fbvaGBUVpZSUFHXs2DFfOSpXrqw1a9bo4sWLat++fbY6V9Dyc67x7yxOTk4KDg6WYRi6fPmyMjMzlZKSYrePj4+PKlasmK3mbtu2TRkZGbax7777TkePHs1T5gYNGigwMFDvvvuu7Q2k3DKj+GImOlAIVqxYYXvn/cSJE/riiy906NAhvfbaa7bC3alTJ7Vt21b//e9/9fvvvyskJESrV69WTEyMBg8ebHunM2uN07Vr19ouPjJixAi98cYbevTRR+2KtouLi1auXKnevXurcePGWrFihZYvX67XX3/d7uJZ/zZ27FjFxsaqRYsWevHFF1WyZEl99NFHSk9P16RJk2z71atXTyVKlNDEiROVkpIiZ2dntWvXLsd1z6SrH3UKCwtT06ZNFRkZqYsXL+qDDz6Qh4eHRo0ale/Xdfv27Tp8+LDdRWb+qVKlSrr33ns1f/58vfrqq2rQoIG6deumqVOn6vTp02rSpIni4uJssxj+OQNhwoQJWr9+vRo3bqxnnnlGwcHBSk5O1u7du7VmzRolJyfnOy8AFFXUsavMrmO9evXSZ599pqFDh+rHH39Uy5Ytdf78ea1Zs0YvvviiwsPD1bFjR7333nt68MEH9cQTT+jEiROaMWOGqlevrv/97392z71nz56aOXOmUlJS1KxZM61duzbbp7Mkc2viK6+8okWLFql79+7q27evGjRooOTkZC1btkwffvihQkJCCu2xZ8yYoRYtWqhOnTp65plndNdddykpKUlbt27VX3/9pfj4eElScHCw2rRpowYNGsjLy0s7d+7UokWLbN/XX3/9Vffff7969Oih4OBglSxZUkuWLFFSUpIef/xx2+P169dPzz//vLp166b27dsrPj5eq1atUrly5fKU193dXbNmzdLTTz+te++9V48//rjKly+vP//8U8uXL1fz5s1zfAMGAPKK84GrCvp84J9atGihzz//XJLsZqJLV5voWW+s/7OJXr58eQ0fPlyjR4/Wgw8+qM6dO+vgwYOaOXOm7rvvPj311FP5zlG9enWtXr1abdq0UYcOHbRu3bpCvbZGXs81HnjgAVWoUEHNmzeXr6+vDhw4oOnTp6tjx44qU6aMzp49q8qVK+vRRx9VSEiI3NzctGbNGu3YsUOTJ0+2PV6/fv20aNEiPfjgg+rRo4cSEhI0b968bNeKyY3FYtEnn3yisLAw1apVS3369FGlSpX0999/a/369XJ3d9e3335bKK8VbiMGgAIzZ84cQ5Ldl4uLi1GvXj1j1qxZhtVqtdv/3LlzxpAhQ4yKFSsajo6ORlBQkPHOO+/Y9tu1a5dRsmRJY+DAgXb3u3LlinHfffcZFStWNM6cOWMYhmH07t3bcHV1NRISEowHHnjAKF26tOHr62uMHDnSyMzMtLu/JGPkyJF2Y7t37zY6dOhguLm5GaVLlzbatm1rbNmyJdtznD17tnHXXXcZJUqUMCQZ69evv+ZrsmbNGqN58+ZGqVKlDHd3d6NTp07G/v377fZZv369IclYuHDhNY81cOBAQ5KRkJCQ6z6jRo0yJBnx8fGGYRjG+fPnjf79+xteXl6Gm5ub0aVLF+PgwYOGJGPChAl2901KSjL69+9v+Pv7G46OjkaFChWM+++/3/j444+vmQsAigvqWHZm17ELFy4Y//3vf41q1arZatOjjz5qd4yoqCgjKCjIcHZ2NmrWrGnMmTPHGDlypPHvU/2LFy8agwYNMry9vQ1XV1ejU6dOxtGjR3N8PfNSE3N73lk/Rzt27LAbz8p08uRJ21jVqlWN3r172+13+vRpY8CAAUalSpUMJycno3Llykbv3r2NU6dO5f7i/v9jdezY8Zr7HDlyxJBkvPPOOzluT0hIMHr16mVUqFDBcHR0NCpVqmQ8/PDDxqJFi2z7jB071mjUqJHh6elplCpVyqhZs6bx9ttvGxkZGYZhGMapU6eM/v37GzVr1jRcXV0NDw8Po3HjxsbXX39t91iZmZnGq6++apQrV84oXbq00aFDB+Pw4cPZXpPcXs8s69evNzp06GB4eHgYLi4uRmBgoBEREWHs3Lnzmq8FAOSG84HsCvJ84J8++ugjQ5JRqVKlbNt2795te/2TkpKybZ8+fbpRs2ZNw9HR0fD19TVeeOEF2+uYpXXr1katWrVyfOyc6ub27duNMmXKGK1atTIuXLiQa+5rHfefJBn9+/fPcVtezjU++ugjo1WrVoa3t7fh7OxsBAYGGq+88oqRkpJiGIZhpKenG6+88ooREhJilClTxnB1dTVCQkKMmTNnZnu8yZMnG5UqVTKcnZ2N5s2bGzt37jRat25ttG7d2rbP9b6HP/30k9G1a1dbnqpVqxo9evQw1q5de93XAkWfg2EU4uciAdwyERERWrRoUY4fLYK9PXv2qH79+po3b56efPJJs+MAAEQdAwAAnA8AuH2xJjqAYu3ixYvZxqZOnSqLxaJWrVqZkAgAAAAAAABFCWuiAyjWJk2apF27dqlt27YqWbKkVqxYoRUrVujZZ5+1XZ0dAAAAAAAAyA1NdADFWrNmzRQbG6u33npLaWlpqlKlikaNGqX//ve/ZkcDAAAAAABAEcCa6AAAAAAAAAAA5II10QEAAAAAAAAAyEWxX87FarXq2LFjKlOmjBwcHMyOAwDANRmGoXPnzqlixYqyWO7c97qp3wCAooYafhU1HABQlOS1fhf7JvqxY8e4eCAAoMg5evSoKleubHYM01C/AQBFFTWcGg4AKHquV7+LfRO9TJkykq6+EO7u7ianAQDg2lJTU+Xv72+rX3cq6jcAoKihhl9FDQcAFCV5rd/Fvome9fExd3d3CjgAoMi40z/+TP0GABRV1HBqOACg6Lle/TZ9oba///5bTz31lLy9vVWqVCnVqVNHO3futG03DEMjRoyQn5+fSpUqpdDQUB06dMjExAAAAAAAAACAO4WpTfQzZ86oefPmcnR01IoVK7R//35NnjxZZcuWte0zadIkvf/++/rwww+1fft2ubq6qkOHDrp06ZKJyQEAAAAAAAAAdwJTl3OZOHGi/P39NWfOHNtYtWrVbH83DENTp07VG2+8ofDwcEnSZ599Jl9fXy1dulSPP/74Lc8MAAAAAAAAALhzmDoTfdmyZWrYsKG6d+8uHx8f1a9fX7Nnz7ZtP3LkiI4fP67Q0FDbmIeHhxo3bqytW7fmeMz09HSlpqbafQEAAAAAAAAAcCNMbaL/9ttvmjVrloKCgrRq1Sq98MILGjRokObOnStJOn78uCTJ19fX7n6+vr62bf82fvx4eXh42L78/f0L90kAAAAAAAAAAIotU5dzsVqtatiwocaNGydJql+/vvbu3asPP/xQvXv3vqFjDh8+XEOHDrXdTk1NpZEOFDCr1aqEhASlpqbK3d1dgYGBslhMv04xAAAAAADFzpUrV7Rp0yadOnVK5cqVU4sWLVSypKktPeCOY+q/OD8/PwUHB9uN3XPPPVq8eLEkqUKFCpKkpKQk+fn52fZJSkpSvXr1cjyms7OznJ2dCycwAMXHxysmJkbJycm2MS8vL4WHhyskJMTEZAAAAAAAFC8xMTGKi4uT1Wq1jS1btkytW7e2XT8QQOEzdepo8+bNdfDgQbuxX3/9VVWrVpV09SKjFSpU0Nq1a23bU1NTtX37djVt2vSWZgVwtYEeHR0tPz8/DR48WBMnTtTgwYPl5+en6OhoxcfHmx0RwG1i1KhRcnBwsPuqWbOm2bEAAMA1UL+B20tMTIzWr18vV1dXPfbYYxozZowee+wxubq6av369YqJiTE7InDHMHUm+pAhQ9SsWTONGzdOPXr00I8//qiPP/5YH3/8sSTJwcFBgwcP1tixYxUUFKRq1arpzTffVMWKFdWlSxczowN3HKvVqpiYGAUHBysyMtK2fEtAQIAiIyMVFRWlZcuWqU6dOiztAkCSVKtWLa1Zs8Z2m4+cAgBw+6N+A7eHK1euKC4uTmXKlNHIkSNt/xabNm2q++67T6NHj1ZcXJw6duzIv1PgFjD1X9l9992nJUuWaPjw4RozZoyqVaumqVOn6sknn7Tt85///Efnz5/Xs88+q7Nnz6pFixZauXKlXFxcTEwO3HkSEhKUnJysXr16ZWuSWywWhYaGatq0aUpISFBQUJBJKQHcTkqWLGlbmu160tPTlZ6ebrudmppaWLFQRGRkZCgpKcnsGEC++Pr6ysnJyewYwE3JT/2WqOFAYdm0aZOsVqseeuihbE3ykiVLKiwsTF9//bU2bdqkNm3amBMSuIOY/lbVww8/rIcffjjX7Q4ODhozZozGjBlzC1MB+Lesk+F/Xp/gn7LGOWkGkOXQoUOqWLGiXFxc1LRpU40fP15VqlTJcd/x48dr9OjRtzghbmdJSUmaPHmy2TGAfBk2bJj8/f3NjgHclPzUb4kaDhSWU6dOSbr66ZCcZI1n7QegcJneRAdQNLi7u0uSEhMTFRAQkG17YmKi3X4A7myNGzdWdHS0atSoocTERI0ePVotW7bU3r17VaZMmWz7Dx8+XEOHDrXdTk1NpRF1h/P19dWwYcPMjlHsJCUlad68eXrqqafk6+trdpxih9cURV1+67dEDQcKS7ly5SRJ+/bty/G6gPv27bPbD0DhookOIE8CAwPl5eWl2NhY9enTR0eOHFFqaqrc3d1VrVo1rVmzRt7e3goMDDQ7KoDbQFhYmO3vdevWVePGjVW1alV9/fXXioyMzLa/s7OznJ2db2VE3OacnJxowhQiX19fXl8A2eS3fkvUcKCwtGjRQsuWLdP333+v++67z25JlytXrmjFihWyWCxq0aKFiSmBOwdNdAB5YrFYFB4erjlz5mj48OG6fPmybZujo6MuX76sPn36cFFRADny9PTU3XffrcOHD5sdBQAA5BH1GzBPyZIl1bp1a61fv16jR49WWFiYatWqpX379mnFihU6d+6c2rZty0VFgVuEf2kAAKDQpaWlKSEhQU8//bTZUQAAQB5RvwFzhYeHS5Li4uL09ddf28YtFovatm1r2w6g8NFEB5AnVqtVMTExqlWrVo7LucyZM0fLli1TnTp1mI0OQC+//LI6deqkqlWr6tixYxo5cqRKlCihnj17mh0NAADkgvoN3H7Cw8PVsWNHbdq0SadOnVK5cuXUokULZqADtxj/4gDkSUJCgpKTk9WrVy+VLFlSQUFBdttDQ0M1bdo0JSQkZNsG4M7z119/qWfPnjp9+rTKly+vFi1aaNu2bSpfvrzZ0QAAQC6o38DtqWTJkmrTpo3ZMYA7Gk10AHmSmpoqSfLz88txe9Z41n4A7mwLFiwwOwIAAMgn6jcAADljzQUAeeLu7i5JSkxMzHF71njWfgAAAAAAAEBxQBMdQJ4EBgbKy8tLsbGxslqtdtusVqvWrFkjb29vBQYGmpQQAAAAAAAAKHg00QHkicViUXh4uPbv36+oqCgdOXJEly5d0pEjRxQVFaX9+/erc+fOXFQUAAAAAAAAxQprogPIs5CQEEVERCgmJkbTpk2zjXt7eysiIkIhISEmpgMAAAAAAAAKHk10APkSEhKiOnXqKCEhQampqXJ3d1dgYCAz0AEAAAAAAFAs0UQHkG8Wi0VBQUFmxwAAAAAAAAAKHU10APlmtVqZiQ4AAAAAAIA7Ak10APkSHx+vmJgYJScn28a8vLwUHh7OmugAAAAAAAAodmiiA8iz+Ph4RUdHKzg4WL169ZKfn58SExMVGxur6OhoLi4KAAAAAACAYof1FwDkidVqVUxMjIKDgxUZGamAgAA5OzsrICBAkZGRCg4O1rJly2S1Ws2OCgAAAAAAABQYmugA8iQhIUHJyclq3759tvXPLRaLQkNDdfr0aSUkJJiUEAAAAAAAACh4NNEB5Elqaqokyc/PL8ftWeNZ+wEAAAAAAADFAU10AHni7u4uSUpMTMxxe9Z41n4AAAAAAABAcUATHUCeBAYGysvLS7GxsdnWPbdarVqzZo28vb0VGBhoUkIAAAAAAACg4NFEB5AnFotF4eHh2r9/v6KionTkyBFdunRJR44cUVRUlPbv36/OnTtnWy8dAAAAAAAAKMpKmh0AQNEREhKiiIgIxcTEaNq0abZxb29vRUREKCQkxMR0AAAAAAAAQMGjiQ4gX0JCQlSnTh0lJCQoNTVV7u7uCgwMZAY6AAAAAAAAiiWa6ADyzWKxKCgoyOwYAAAAAAAAQKFj6igAAAAAAAAAALlgJjqAfLNarSznAgAAAAAAgDsCTXQA+RIfH6+YmBglJyfbxry8vBQeHs6FRQEAAAAAAFDs0EQHkGfx8fGKjo5WcHCwevXqJT8/PyUmJio2NlbR0dGKiIigkQ4AAAAAAIBihfUXAOSJ1WpVTEyMgoODFRkZqYCAADk7OysgIECRkZEKDg7WsmXLZLVazY4KAAAAAAAAFBia6ADyJCEhQcnJyWrfvn229c8tFotCQ0N1+vRpJSQkmJQQAAAAAAAAKHg00QHkSWpqqiTJz88vx+1Z41n7AQAAAAAAAMUBTXQAeeLu7i5JSkxMzHF71njWfgAAAAAAAEBxQBMdQJ4EBgbKy8tLsbGx2dY9t1qtWrNmjby9vRUYGGhSQgAAAAAAAKDg0UQHkCcWi0Xh4eHav3+/oqKidOTIEV26dElHjhxRVFSU9u/fr86dO2dbLx0AAAAAAAAoykqaHQBA0RESEqKIiAjFxMRo2rRptnFvb29FREQoJCTExHQAAAAAAABAwaOJDiBfQkJCVKdOHSUkJCg1NVXu7u4KDAxkBjoAAAAAAACKJZroAPLNYrEoKCjI7BgAAAAAAABAoWPqKAAAAAAAAAAAuaCJDgAAAAAAAABALmiiAwAAAAAAAACQC5roAAAAAAAAAADkgiY6AAAAAAAAAAC5oIkOAAAAAAAAAEAuaKIDAAAAAAAAAJCLkmYHAFD0WK1WJSQkKDU1Ve7u7goMDJTFwntyAAAAAAAAKH5oogPIl/j4eMXExCg5Odk25uXlpfDwcIWEhJiYDAAAAAAAACh4NNEB5Fl8fLyio6MVHBysXr16yc/PT4mJiYqNjVV0dLQiIiJopAMAAAAAAKBYYf0FAHlitVoVExOj4OBgRUZGKiAgQM7OzgoICFBkZKSCg4O1bNkyWa1Ws6MCuA1NmDBBDg4OGjx4sNlRAABAHlG/AQC4iiY6gDxJSEhQcnKy2rdvn239c4vFotDQUJ0+fVoJCQkmJQRwu9qxY4c++ugj1a1b1+woAAAgj6jfAAD8H5ZzAZAnqampkiQ/P78ct2eNZ+0HAJKUlpamJ598UrNnz9bYsWNz3S89PV3p6em220Xt/5IzZ84oLS3N7BjAdSUlJdn9CRQFbm5uKlu2rNkx7ih5rd9S0a/hAADkBU10AHni7u4uSUpMTFRAQEC27YmJiXb7AYAk9e/fXx07dlRoaOg1fwkfP368Ro8efQuTFZwzZ85o3Lhxunz5stlRgDybN2+e2RGAPHN0dNTrr79OI/0Wymv9lop2DQcAIK9oogPIk8DAQHl5eSk2NlaRkZF2S7pYrVatWbNG3t7eCgwMNDElgNvJggULtHv3bu3YseO6+w4fPlxDhw613U5NTZW/v39hxiswaWlpunz5snybdpCTh5fZcQCgWMlISVbS1lVKS0ujiX6L5Kd+S0W7hgMAkFemNtFHjRqV7R3rGjVq6JdffpEkXbp0ScOGDdOCBQuUnp6uDh06aObMmfL19TUjLnBHs1gsCg8PV3R0tKKiohQaGio/Pz8lJiZqzZo12r9/vyIiIrKtlw7gznT06FG99NJLio2NlYuLy3X3d3Z2lrOz8y1IVnicPLzk4uVjdgwAAG5Yfuu3VDxqOAAA12P6TPRatWppzZo1ttslS/5fpCFDhmj58uVauHChPDw8NGDAAHXt2lWbN282IypwxwsJCVFERIRiYmI0bdo027i3t7ciIiIUEhJiYjoAt5Ndu3bpxIkTuvfee21jmZmZ2rhxo6ZPn6709HSVKFHCxIQAAODfqN8AAOTM9CZ6yZIlVaFChWzjKSkpioqK0hdffKF27dpJkubMmaN77rlH27ZtU5MmTXI8Hhc1AQpXSEiI6tSpo4SEBKWmpsrd3V2BgYHMQAdg5/7779fPP/9sN9anTx/VrFlTr776Kr+AAwBwG6J+AwCQM9Ob6IcOHVLFihXl4uKipk2bavz48apSpYp27dqly5cvKzQ01LZvzZo1VaVKFW3dujXXJjoXNQEKn8ViUVBQkNkxANzGypQpo9q1a9uNubq6ytvbO9s4AAC4PVC/AQDImalTRxs3bqzo6GitXLlSs2bN0pEjR9SyZUudO3dOx48fl5OTkzw9Pe3u4+vrq+PHj+d6zOHDhyslJcX2dfTo0UJ+FgAAAAAAAACA4srUmehhYWG2v9etW1eNGzdW1apV9fXXX6tUqVI3dEwuagIUPqvVynIuAPJtw4YNZkcAAAD5RP0GAOA2WM7lnzw9PXX33Xfr8OHDat++vTIyMnT27Fm72ehJSUk5rqEO4NaIj49XTEyMkpOTbWNeXl4KDw/nwqIAAAAAAAAodm6rqaNpaWlKSEiQn5+fGjRoIEdHR61du9a2/eDBg/rzzz/VtGlTE1MCd674+HhFR0fLz89PgwcP1sSJEzV48GD5+fkpOjpa8fHxZkcEAAAAAAAACpSpTfSXX35ZcXFx+v3337VlyxY98sgjKlGihHr27CkPDw9FRkZq6NChWr9+vXbt2qU+ffqoadOmuV5UFEDhsVqtiomJUXBwsCIjIxUQECBnZ2cFBAQoMjJSwcHBWrZsmaxWq9lRAQAAAAAAgAJjahP9r7/+Us+ePVWjRg316NFD3t7e2rZtm8qXLy9JmjJlih5++GF169ZNrVq1UoUKFfTNN9+YGRm4YyUkJCg5OVnt27fPtv65xWJRaGioTp8+rYSEBJMSAgAAAAAAAAXP1DXRFyxYcM3tLi4umjFjhmbMmHGLEgHITWpqqiTJz88vx+1Z41n7AQAAAAAAAMXBbXVhUQC3L3d3d0lSYmKiKlasqJiYGJ06dUrlypVTeHi4EhMT7fYDAAAAAAAAigOa6ADyJDAwUF5eXvrkk0+UlpZmGz948KA2b94sNzc3eXt7KzAw0MSUAAAAAAAAQMEydU10AEWHxWKRq6urrYHesGFDvfzyy2rYsKEkKS0tTaVLl862XjqAoiUhIUFvvPGGevbsqRMnTkiSVqxYoX379pmcDAAAAAAAc9DtApAnGRkZOnr0qCwWizw8PLRz5069++672rlzpzw9PWWxWHT06FFlZGSYHRXADYqLi1OdOnW0fft2ffPNN7Y3zeLj4zVy5EiT0wEAAAAAYA6WcwGQJzExMZKktm3bqmPHjkpISFBqaqrc3d0VGBio7777TuvWrVNMTIy6d+9ucloAN+K1117T2LFjNXToUJUpU8Y23q5dO02fPt3EZAAAAAAAmIcmOoA8OXXqlCSpSZMmslgsCgoKstvepEkTrVu3zrYfgKLn559/1hdffJFt3MfHh3/bAAAAAIA7Fsu5AMiTcuXKSZK2bduW4/as8az9ABQ9np6eSkxMzDb+008/qVKlSiYkAgAAAADAfDTRAeRJeHi4JGnDhg3Z1j3PyMhQXFyc3X4Aip7HH39cr776qo4fPy4HBwdZrVZt3rxZL7/8snr16mV2PAAAAAAATEETHUCeODk5qXbt2srMzNTw4cO1bNkynThxQsuWLdPw4cOVmZmp2rVry8nJyeyoAG7QuHHjVLNmTfn7+ystLU3BwcFq1aqVmjVrpjfeeMPseAAAAAAAmII10QHkWb9+/fTJJ59o7969WrdundatW2fbVrt2bfXr18/EdABuhmEYOn78uN5//32NGDFCP//8s9LS0lS/fv1s10AAAAAAAOBOQhMdQL7069dPGRkZiomJ0alTp1SuXDmFh4czAx0o4gzDUPXq1bVv3z4FBQXJ39/f7EgAAAAAANwWaKIDyDcnJyd1797d7BgACpDFYlFQUJBOnz7NzHMAAAAAAP6BNdEBAIAkacKECXrllVe0d+9es6MAAAAAAHDbYCY6gHy7cuWKNm3aZFvOpUWLFipZkv9OgKKuV69eunDhgkJCQuTk5KRSpUrZbU9OTjYpGQAAAAAA5qHrBSBfYmJiFBcXJ6vVahtbtmyZWrdurfDwcBOTAbhZU6dONTsCAAAAAAC3HZroAPIsJiZG69evV5kyZfTQQw+pVq1a2rdvn77//nutX79ekmikA0VY7969zY4AAAAAAMBthyY6gDy5cuWK4uLiVKZMGY0cOdK2fEvTpk113333afTo0YqLi1PHjh1Z2gUoov78889rbq9SpcotSgIAAAAAwO2DTheAPNm0aZOsVqseeuihbE3ykiVLKiwsTF9//bU2bdqkNm3amBMSwE0JCAiQg4NDrtszMzNvYRoAAAAAAG4PNNEB5MmpU6ckSbVq1cpxe9Z41n4Aip6ffvrJ7vbly5f1008/6b333tPbb79tUioAAJBXGRkZOnLkiAIDA/l0KAAABYiqCiBPypUrJ0nat2+fmjZtmm37vn377PYDUPSEhIRkG2vYsKEqVqyod955R127djUhFQAAuJ4LFy5o4MCBmjt3riTp119/1V133aWBAweqUqVKeu2110xOCABA0WYxOwCAoqFFixayWCz6/vvvdeXKFbttV65c0YoVK2SxWNSiRQuTEgIoLDVq1NCOHTvMjgEAAHIxfPhwxcfHa8OGDXJxcbGNh4aG6quvvjIxGQAAxQMz0QHkScmSJdW6dWutX79eo0ePVlhYmGrVqqV9+/ZpxYoVOnfunNq2bcvHRoEiLDU11e62YRhKTEzUqFGjFBQUZFIqAABwPUuXLtVXX32lJk2a2F3fpFatWkpISDAxGQAAxQPdLgB5Fh4eLkmKi4vT119/bRu3WCxq27atbTuAosnT0zPbhUUNw5C/v78WLFhgUioAAHA9J0+elI+PT7bx8+fPX/Oi4QAAIG9oogPIl/DwcHXs2FGbNm3SqVOnVK5cObVo0YIZ6EAxsH79ervbFotF5cuXV/Xq1fk3DgDAbaxhw4Zavny5Bg4cKEm2xvknn3yS4/WMAABA/vAbMYB8K1mypNq0aWN2DAAFrHXr1mZHAAAAN2DcuHEKCwvT/v37deXKFU2bNk379+/Xli1bFBcXZ3Y8AACKPC4sCgAAJElz587V8uXLbbf/85//yNPTU82aNdMff/xhYjIAAHAtLVq0UHx8vK5cuaI6depo9erV8vHx0datW9WgQQOz4wEAUOTRRAeQb1arVYcOHdKuXbt06NAhWa1WsyMBKADjxo1TqVKlJElbt27V9OnTNWnSJJUrV05DhgwxOR0AAMjJ5cuX1bdvXzk4OGj27Nn68ccftX//fs2bN0916tQxOx4AAMUCy7kAyJf4+HjFxMQoOTnZNubl5aXw8HCFhISYmAzAzTp69KiqV68uSVq6dKkeffRRPfvss2revDlLOAEAcJtydHTU4sWL9eabb5odBQCAYouZ6ADyLD4+XtHR0fLz89PgwYM1ceJEDR48WH5+foqOjlZ8fLzZEQHcBDc3N50+fVqStHr1arVv316S5OLioosXL5oZDQAAXEOXLl20dOlSs2MAAFBsMRMdQJ5YrVbFxMQoODhYkZGRsliuvgcXEBCgyMhIRUVFadmyZapTp45tG4CipX379urXr5/q16+vX3/9VQ899JAkad++fQoICDA3HAAAyFVQUJDGjBmjzZs3q0GDBnJ1dbXbPmjQIJOSAQBQPNBEB5AnCQkJSk5OVq9evbI1yS0Wi0JDQzVt2jQlJCQoKCjIpJQAbsaMGTP0xhtv6OjRo1q8eLG8vb0lSbt27VLPnj1NTgcAAHITFRUlT09P7dq1S7t27bLb5uDgQBMdAICbRBMdQJ6kpqZKkvz8/HLcnjWetR+AosfT01PTp0/PNj569GgT0gAAgLw6cuSI2REAACjWWHMBQJ64u7tLkhITE3PcnjWetR+AomflypXatGmT7faMGTNUr149PfHEEzpz5oyJyQAAAAAAMA8z0QHkSWBgoLy8vBQbG2u3Jrp0db30NWvWyNvbW4GBgSamBHAzXnnlFU2cOFGS9PPPP2vYsGEaOnSo1q9fr6FDh2rOnDkmJwQAADnp27fvNbd/+umntygJAADFE010AHlisVgUHh6u6OhoRUVFKTQ0VH5+fkpMTNSaNWu0f/9+RUREcFFRoAg7cuSIgoODJUmLFy/Www8/rHHjxmn37t22i4wCAIDbz78/MXb58mXt3btXZ8+eVbt27UxKBQBA8UETHUCehYSEKCIiQjExMZo2bZpt3NvbWxEREQoJCTExHYCb5eTkpAsXLkiS1qxZo169ekmSvLy8uN4BAAC3sSVLlmQbs1qteuGFF/ikKAAABYAmOoq9jIwMJSUlmR2j2PDy8lLv3r31999/Ky0tTW5ubqpUqZIsFouOHj1qdrxiw9fXV05OTmbHwB2mRYsWGjp0qJo3b64ff/xRX331lSTp119/VeXKlfN1rFmzZmnWrFn6/fffJUm1atXSiBEjFBYWVtCxAQBADiwWi4YOHao2bdroP//5T57uQ/0GACBnNNFR7CUlJWny5MlmxwDyZdiwYfL39zc7Bu4w06dP14svvqhFixZp1qxZqlSpkiRpxYoVevDBB/N1rMqVK2vChAkKCgqSYRiaO3euwsPD9dNPP6lWrVqFER8AAPxLQkKCrly5kuf9qd8AAOSMJjqKPV9fXw0bNszsGMVOUlKS5s2bp6eeekq+vr5mxyl2eE1hhipVqui7777LNj5lypR8H6tTp052t99++23NmjVL27Zty/GX8PT0dKWnp9tuF8XlYzJSks2OAADFDv+35s3QoUPtbhuGocTERC1fvly9e/fO83HyW7+l4lHDAQC4HproKPacnJyY0VuIfH19eX2BYiQhIUFz5sxRQkKCpk2bJh8fH61YsUJVqlS54RlomZmZWrhwoc6fP6+mTZvmuM/48eM1evTom4luuqStq8yOAAC4Q/300092ty0Wi8qXL6/Jkyerb9++N3TMvNRvqXjUcAAArocmOgAAkCTFxcUpLCxMzZs318aNG/X222/Lx8dH8fHxioqK0qJFi/J1vJ9//llNmzbVpUuX5ObmpiVLlig4ODjHfYcPH243iy41NbXIvUHn27SDnDy8zI4BAMVKRkoyb1Lmwfr16wvsWPmp31LxqOEAAFwPTXQAACBJeu211zR27FgNHTpUZcqUsY23a9dO06dPz/fxatSooT179iglJUWLFi1S7969FRcXl+Mv4s7OznJ2dr6p/GZz8vCSi5eP2TEA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YFvRl6Q//vhDFStWzNYQzvoI2T9/2XFyctKnn36qI0eO6Ny5c5ozZ06O//FbLBa7YitJd999tyRlW8sry8mTJ3XhwgXVqFEj27Z77rlHVqtVR48ezfuT//+y8ud23FOnTun8+fP5Pq67u7vOnTuXp32zXtu0tDS78erVq9tOBJ9++ukc79u4cWPFxsZqzZo12rJli06dOqXPPvvMdgKxevVqnTx5Uo0aNdLhw4d1+PBhHTlyRG3bttWXX34pq9Wa7+cGAEUN9a7w6p109Tl9/vnnOnXqlP73v/9p3LhxKlmypJ599tlcGwg3Ius5BAUF2Y2XL19eZcuWtRvz9PRUp06d7K4BMn/+fFWqVOmay85k8fPz06xZs5SYmKiDBw/q/fffV/ny5TVixAhFRUXZ9vvzzz9tzQo3NzeVL1/ets5sSkrKDT3PSZMmae/evfL391ejRo00atSoPP8yu2/fPj3yyCPy8PCQu7u7ypcvb/vlOCtPQkKCJKl27do3lO/fbuRntkqVKna3s75/eVkfFwByQq0v3Fr/TzeS/9+1283NTX5+frm+Rv/UoUMHrVq1SmfPntXGjRvVv39//fHHH3r44YftLi763XffqUmTJnJxcZGXl5fKly+vWbNm3XA9bt26tbp166bRo0erXLlyCg8P15w5c5Senp6n+8+dO1d169aVi4uLvL29Vb58eS1fvtwuT0JCgipWrGj3psfNyO1nwMnJSXfddVe2N6srV66c7ee6bNmy1ONiiiY6UIAsFovatm2rxMREHTp06IaOsWrVKknSpUuXbvgYxUHNmjX166+/2q3Req19JWnv3r12425ubrYTwX+fmGUpV66cQkNDdf/996tp06bZZpRlzcDr0aOHgoKCbF9fffWV/v77b8XFxd3AswOAoo16VzhKlCihOnXqaPjw4VqyZIkk5elTT7nNtMrpYpj50atXL/3222/asmWLzp07p2XLlqlnz552M7Pyku3uu+/WwIEDtXHjRlksFttzyszMVPv27bV8+XK9+uqrWrp0qWJjYxUdHS1JN/xGdY8ePfTbb7/pgw8+UMWKFfXOO++oVq1adjMkc3L27Fm1bt1a8fHxGjNmjL799lvFxsbaPp12O71xnts1YP45yx8Abga1vvgpXbq0WrZsqenTp+uNN97QmTNnbLXxhx9+UOfOneXi4qKZM2fq+++/V2xsrJ544okbri0ODg5atGiRtm7dqgEDBujvv/9W37591aBBg2wT4P5t3rx5ioiIUGBgoKKiorRy5UrFxsaqXbt21GOYhiY6UMCuXLki6f9mRVetWlXHjh3LNqs66yPBVatWtY3973//05gxY9SnTx/Vr19f/fr1y/FdX6vVmm1G1a+//ipJCggIyDFX+fLlVbp0aR08eDDbtl9++UUWi0X+/v6S8vexp6z8uR23XLlycnV1zfPxsnTq1EkXL17U4sWLr7tvy5Yt9f/Yu+/wKKq+jeP3poc0QklIIIQqvQhSEpAiJVJCURCw0H0sKPUBDBYIxQhKR0FQCIqIgBQb0os0pYhUaSKgQOgJQUkgmfcP3uzDkiwQIJmU7+e69jJz5szsvZvImf3tzBkfHx/NmzfvoQ6oV69e1dKlS9WhQwctWLAg1SMgIIApXQDkWox3tvu93/HOnscee0zSzUvLU9jLm3IW8uXLl23abz9bKuU13F7IOHfuXJpnTD355JMqWLCgvvjiCy1evFj//POP3Su77kWJEiXk6+trfU179uzRoUOHNHbsWA0ePFitW7dW48aNFRgYmGrb9F6SHRAQoFdffVVLlizRsWPHlD9/fo0aNeqO26xbt04XLlxQdHS0+vTpo5YtW6px48apztJPuRnZ7V/e32/m9PzNAkBmYqy33e/DGuvv59/928fu+Ph4nT592u57dDe3H2d8/fXXcnNz0/Lly9W9e3c1a9ZMjRs3TnPb9I7JtWvX1qhRo7R9+3Z98cUX2rdvn+bNm3fHbRYuXKgSJUpo0aJFeuGFFxQWFqbGjRvr2rVrNv1KliypU6dO6eLFi3fc371mtvc3kJiYqGPHjtn8jSP3oYgOPETXr1/XihUr5OLiYr2krXnz5kpKStKUKVNs+o4fP14Wi8V6x+br16+ra9euCgwM1MSJExUdHa2YmBj169cvzee6dX+GYWjKlClydnZWo0aN0uzv6Oiopk2baunSpTaXfMXExGju3LmqW7euvL29Jcl6YHD7h/G0BAQEqGrVqpo9e7ZN/71792rFihVq3rz5XfeRlpdfflkBAQEaMGCA9SDqVmfPntXIkSMl3fxGfdCgQdq7d6/eeOONNL/1vZ9vghcvXqyrV6+qV69eateuXapHy5Yt9fXXX9/z5WgAkFMw3v2v/4OOdz/99FOa84SmzHF66+XEHh4eaWZNKepu2LDB2nb16lXNnj3bpl/jxo3l7OysyZMn24yLEyZMSDObk5OTOnXqpPnz5ys6OlqVKlVS5cqV7/qafv755zQvd//ll1904cIF62tKOXvr1iyGYWjixImptr3X31VSUlKqIo2fn58CAwPvOl6nlScxMVEfffSRTb9q1aqpePHimjBhQqo8t257r5nT8zcLAJmFsf5//R90rH+Q/CmmT59uc7wwdepU3bhxw/qe27N69eo0228/znB0dJTFYrG5iu3PP//UkiVLUm1r73jkdpcuXUr1Obxq1aqSdF9j8s8//6wtW7bY9Hv66adlGIYiIyNT7eP2MfleMjdu3FguLi6aNGmSzfaffvqpYmNj1aJFi7vuAzmXk9kBgOxs2bJl1m/dz549q7lz5+rw4cN64403rINeeHi4GjZsqDfffFN//vmnqlSpohUrVmjp0qXq27ev9YPvyJEjtWvXLq1evVpeXl6qXLmy3nnnHb311ltq166dzYDt5uamH3/8UV26dFGtWrW0bNkyff/99xoyZIgKFixoN+/IkSO1cuVK1a1bV6+++qqcnJz08ccfKyEhQWPGjLH2q1q1qhwdHTV69GjFxsbK1dXVejPNtLz//vtq1qyZQkJC1KNHD/3777+aPHmyfHx8NGzYsPt6b319fbV48WI1b95cVatW1fPPP6/q1atLknbu3Kkvv/xSISEh1v5vvPGGDhw4oPfff18rVqzQ008/rSJFiujSpUvauXOnFixYID8/P7m5ud1zhi+++EL58+dXaGhomutbtWqlGTNm6Pvvv9dTTz11X68TALIDxrubMmK8Gz16tHbs2KGnnnrKWqDeuXOnPvvsM+XLl8/mpp/Vq1fX1KlTNXLkSJUqVUp+fn564okn1LRpUxUtWlQ9evTQwIED5ejoqJkzZ6pgwYI6ceKEdfuCBQvqv//9r6KiotSyZUs1b95cv/76q5YtW6YCBQqkma9z586aNGmS1q5da53W5G4+//xzffHFF2rbtq2qV68uFxcXHThwQDNnzpSbm5uGDBki6eZ0bCVLltR///tf/f333/L29tbXX3+d5lnxKccAvXv3VlhYmBwdHdWxY8dU/a5cuaIiRYqoXbt2qlKlijw9PbVq1Spt27ZNY8eOvWPu0NBQ+fr6qkuXLurdu7csFos+//zzVAUABwcHTZ06VeHh4apa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FixYYFIyAABytyxdRA8ICEj1QbtcuXL6+uuv7W7j6up6X3O3AgCQ27377rsaP368evXqJS8vL02cOFHFixfXSy+9pICAgHTvz8XFRaVKlZIkVa9eXdu2bdPEiRP18ccfp+qbE8ZvF598csvnZ3YMAEA2tmHDBg0bNixVe7NmzTR27NjMDwQAACRJDnfvYp46dero4MGDNm2HDh1ScHCwSYkAAMi5jh49qhYtWki6WQC/evWqLBaL+vXrp+nTpz/w/pOTk23mPQcAALbi4+Pl4uKSqt3Z2Tlb3i8EAICcIksX0fv166etW7fq3Xff1ZEjRzR37lxNnz5dvXr1MjsaAAA5jq+vr65cuSJJKly4sPbu3StJunz5sv7555907SsiIkIbNmzQn3/+qT179igiIkLr1q3Tc88999BzAwCQU1SqVElfffVVqvZ58+Zxc08AAEyUpadzqVGjhhYvXqyIiAgNHz5cxYsX14QJE/gADgBABqhXr55WrlypSpUqqX379urTp4/WrFmjlStXqlGjRuna19mzZ9W5c2edPn1aPj4+qly5spYvX64mTZpkUHoAALK/t99+W0899ZSOHj2qJ554QpK0evVqffnll8yHDgCAibJ0EV2SWrZsqZYtW5odAwCAHG/KlCm6du2aJOnNN9+Us7OzNm/erKefflpvvfVWuvb16aefZkREAABytPDwcC1ZskTvvvuuFi5cKHd3d1WuXFmrVq1S/fr1zY4HAECuleWL6AAAIOP0799fI0aMkIeHh/bu3avQ0FBJkoODg9544w2T0wEAkPu0aNHCeo8SAACQNWTpOdEBAEDGmjx5suLj4yVJDRs21MWLF01OBAAAAABA1vLQz0Tfu3evKlas+LB3CwAAMkCxYsU0adIkNW3aVIZhaMuWLfL19U2zb7169TI5HQAAuUtSUpLGjx+v+fPn68SJE0pMTLRZz5fdAACY46EU0a9cuaIvv/xSn3zyiXbs2KGkpKSHsVsAAJDB3n//fb388suKioqSxWJR27Zt0+xnsVgY3wEAyGCRkZH65JNPNGDAAL311lt688039eeff2rJkiV65513zI4HAECu9UDTuWzYsEFdunRRQECAPvjgAz3xxBPaunXrw8oGAAAyWJs2bXTmzBnFxcXJMAwdPHhQly5dSvXgzDcAADLeF198oRkzZmjAgAFycnJSp06d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kfedDUDazp8/L0mqXbt2mutr166tNWvWWPsByFjpns4lLi7OehPRH374QTdu3LCuc3R0tN4ABcgqXFxcOKMXAO5g/Pjxkm6eiT5t2jQ5Ojpa17m4uKhYsWJcwg0AQCb48MMP9dZbb+nkyZP6+uuvlT9/fknSjh071KlTp/veb69evbR3715t3LjxYUW1ioiIsDl7PS4ujs9fwENQoEABHTx4UFu3blV4eHiq9Vu3brX2A5Dx0lVE/+677/T222/r119/lSR16NBBV69eta63WCz66quv1K5du4ebEgAAZJiU6doaNmyoRYsWydfX1+REAADkTnnz5tWUKVNStT/Imd6vvfaavvvuO23YsEFFihS5Y99ChQqluudRTEyMChUqZHcbV1dXubq63nc+AGlr3bq1Nm3apHXr1iksLMxmSpfExEStX7/e2g9AxktXEX369Ol6/fXXbdqOHDmiEiVKSJLGjBmjmTNnUkQHACAbWrt2rdkRAADIdXbv3q2KFSvKwcFBu3fvvmPfypUr3/N+DcPQ66+/rsWLF2vdunUqXrz4XbcJCQnR6tWr1bdvX2vbypUrFRIScs/PC+DhcHFxUcWKFbV3715FRESofv36ql27trZu3ar169crKSlJFStW5N5FQCZJVxF9z549ev/99+2ub9asmT744IMHDgUAAMzx119/6ZtvvtGJEyeUmJhos27cuHEmpQIAIOeqWrWqzpw5Iz8/P1WtWlUWi8XmZt8pyxaLRUlJSfe83169emnu3LlaunSpvLy8rPOa+/j4yN3dXZLUuXNnFS5cWFFRUZKkPn36qH79+ho7dqxatGihefPmafv27Zo+ffpDfMUA7lXPnj31ySefaO/evVqzZo3WrFljXVexYkX17NnTxHRA7pKuIvrp06dtLtNau3atzVxnnp6e1jt+AwCA7GX16tVq1aqVSpQood9//10VK1bUn3/+KcMwVK1aNbPjAQCQIx07dkwFCxa0/vywTJ06VZLUoEEDm/ZZs2apa9eukqQTJ07IwcHBui40NFRz587VW2+9pSFDhqh06dJasmTJHW9GCiBj9ezZU4mJiVq6dKnOnz+vAgUKqHXr1pyBDmSydBXR8+XLpyNHjljvCv7YY4/ZrD98+LDy5cv30MIBAIDMExERof/+97+KjIyUl5eXvv76a/n5+em5557Tk08+aXY8AABypODgYOvPx48fV2hoqJycbD+q37hxQ5s3b7bpeze3ns1uz7p161K1tW/fXu3bt7/n5wGQ8VxcXPj/EjCZw927/E+9evU0adIku+snTZqkevXqPXAoAACQ+Q4cOKDOnTtLkpycnPTvv//K09NTw4cP1+jRo01OBwBAztewYUNdvHgxVXtsbKwaNmxoQiIAACCls4g+ePBgrVixQu3bt9e2bdsUGxur2NhY/fLLL3r66ae1atUqDR48OKOyAgCADOTh4WGdBz0gIEBHjx61rjt//rxZsQAAyDVS5j6/3YULF+Th4WFCIgAAIKVzOpdHH31UX331lXr27KlFixbZrPP19dW8efOYMxUAgGyqdu3a2rhxo8qVK6fmzZtrwIAB2rNnjxYtWqTatWubHQ8AgBzrqaeeknTzJqJdu3a1uRdZUlKSdu/erdDQULPiAQCQ66WriC5JrVu3VpMmTbR8+XIdPnxYklS6dGk1bdqUb8YBAMjGxo0bp/j4eElSZGSk4uPj9dVXX6l06dIaN26cyekAAMi5fHx8JN08E93Ly0vu7u7WdS4uLqpdu7ZefPFFs+IBAJDrpauIvmbNGr322mvaunWr2rZta7MuNjZWFSpU0LRp0/T4448/1JAAACDjlShRwvqzh4eHpk2bZmIaAAByj1mzZkmSihUrpv/+97+coAYAQBaTrjnRJ0yYoBdffFHe3t6p1vn4+Oill17iTDUAAHKAa9euafbs2Zo6daqOHDlidhwAAHKFoUOHUkAHACALSteZ6L/99ptGjx5td33Tpk31wQcfPHAoAACQefr376/r169r8uTJkqTExESFhIRo3759ypMnjwYOHKiVK1cqJCTE5KQAAOR8Cxcu1Pz583XixAnrDb9T7Ny506RUAADkbuk6Ez0mJkbOzs521zs5OencuXMPHAoAAGSeFStWqEmTJtblL774QsePH9fhw4d16dIltW/fXiNHjjQxIQAAucOkSZPUrVs3+fv769dff1XNmjWVP39+/fHHH2rWrJnZ8QAAyLXSVUQvXLiw9u7da3f97t27FRAQ8MChAABA5jlx4oTKly9vXV6xYoXatWun4OBgWSwW9enTR7/++quJCQEAyB0++ugjTZ8+XZMnT5aLi4sGDRqklStXqnfv3oqNjTU7HgAAuVa6iujNmzfX22+/rWvXrqVa9++//2ro0KFq2bLl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iomJ0YQJE1SqVCm9+OKLd831wgsvaP78+Xr55Ze1du1a1alTR0lJSfr99981f/58LV++XI899piGDx+uDRs2qEWLFgoODtbZs2f10UcfqUiRItY6RdOmTVWoUCHVqVNH/v7+OnDggKZMmaIWLVqkmks/RUbUNQAbBpAJZs2aZUiyebi5uRlVq1Y1pk6daiQnJ9v0v3LlitGvXz8jMDDQcHZ2NkqXLm28//771n47duwwnJycjNdff91muxs3bhg1atQwAgMDjUuXLhmGYRhdunQxPDw8jKNHjxpNmzY18uTJY/j7+xtDhw41kpKSbLaXZAwdOtSmbefOnUZYWJjh6elp5MmTx2jYsKGxefPmVK9xxowZRokSJQxHR0dDkrF27do7vierVq0y6tSpY7i7uxve3t5GeHi4sX//fps+a9euNSQZCxYsuOO+bvXxxx8bkozChQunWrdz507r+x8TE5Nq/ZQpU4yyZcsazs7Ohr+/v/HKK69Y38cU9evXNypUqJDmcwcHBxstWrSwafv5558NLy8vo169esbly5cNJycnY/78+am2XbZsmdG9e3ejbNmyhqenp+Hi4mKUKlXKeP3111Nl/f3334169eoZ7u7uhiSjS5cu1nUrVqwwKlasaLi4uBhlypQx5syZYwwdOtS4/Z+7f//91+jdu7eRP39+w8PDwwgPDzdOnjyZ5t+AYRhGQkKC4evra/j4+Bj//vtvmq//dnf7/aX8bd7uXn4PhmEYY8eONQoXLmy4uroaderUMbZv327Ur1/fqF+//j1lGDlypFGzZk0jb968hru7u1G2bFlj1KhRRmJi4j29PgBIwTif2sMe5++l7+2vL2X8O3funE2/lN/XsWPHrG3ffPONUblyZcPNzc0oVqyYMXr0aGPmzJmp+qU11huGkWr8MQzDuHDhgvHaa68ZhQsXNlxcXIwiRYoYXbp0Mc6fP28YhmEcO3bMkGTMmjXLus1ff/1ltG3b1sibN6/h4+NjtG/f3jh16lSq15bWa0jLl19+aXTs2NEoWbKk4e7ubri5uRnly5c33nzzTSMuLs6m7+bNm43q1asbLi4uNs9nb7xOMX36dKN69eqGu7u74eXlZVSqVMkYNGiQcerUKcMwbv6NderUyShatKjh6upq+Pn5GS1btjS2b99u3cfChQuNpk2bGn5+foaLi4tRtGhR46WX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s9i1nEtubq6aNGmiatWq6b777pOnp6flWt++fdW1a1eHBwQAAAAAAAAAwFnsKqK7ubnpypUrJZUFAACUkLy8PCUnJ+vixYvOjgIAAAAAQLli98aikZGRmjt3rq5evVoSeQAAgANMmDBBb775pqTfC+jdunVThw4dFBgYqISEBOeGAwAAAACgHLF7TfQDBw4oPj5e27dvV3BwsKpXr251fcOGDQ4LBwAAbsz69ev18MMPS5L+9a9/6eTJk/r+++/17rvv6oUXXtCXX37p5IQAAAAAAJQPdhfRa9asqQceeKAksgAAAAc5f/68AgICJElbtmzRwIED9be//U0jR47UkiVLnJwOAAAAAIDyw+4i+ltvvVUSOQAAgAP5+/vrP//5j+rWrautW7dq+fLlkqTffvtNrq6uTk4HAAAAAED5Yfea6KUpLy9PU6ZMUVBQkKpWraomTZpo5syZKigocHY0AADKtBEjRujBBx9UmzZtZDAY1LNnT0nSV199pRYtWjg5HQAAAAAA5YfdT6IHBQXJYDDYvH7ixImbCvRnc+fO1fLly/X222+rdevWOnjwoEaMGCFvb2+NGzfOYa8DAEBF89JLL6lNmzY6ffq0Bg4cKKPRKElydXXV888/7+R0AAAAAACUH3YX0SdMmGB1npubq8OHD2vr1q2aNGmSo3JJkvbt26d7771Xffv2lSQ1btxYH3zwgb7++muHvg4AABXRP//5T6vzS5cuadiwYU5KAwAAAABA+WR3EX38+PGFti9btkwHDx686UB/FhYWppUrV+qHH37Q3/72N/373//W3r17tXDhQptjsrOzlZ2dbTk3m80OzVQacjIuODsCAFQolfHv1blz56px48YaNGiQJOnBBx/URx99pLp162rLli0KCQlxckIAAAAAAMoHu4votvTp00fR0dEO3Xj0+eefl9lsVosWLeTq6qq8vDzNnj1bQ4cOtTnGZDJp+vTpDsvgDOmJ25wdAQBQzsXExOj999+XJO3YsUM7duzQZ599pg8//FDPPPOMtm/f7uSEAAAAAACUDw4roq9fv16+vr6Oup0k6cMPP9T777+vuLg4tW7dWsnJyZowYYLq1atn8+vo0dHRioqKspybzWYFBgY6NFdJ8w8Nl7u3Y/8sAaAyy8m4UOl+QZmWlmaZ/zZt2qQHH3xQvXr1UuPGjdWlSxcnpwMAAAAA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GqRly5ZZLa8KAABKnktxOyYmJmrTpk1Wbe+8846CgoLk5+enRx99VNnZ2Q4PCAAA7Ddp0iSNGjVKTz75pG655RbdcssteuqppzRu3DhFR0c7Ox4AACjCmDFj9NVXX2nTpk26dOmSLl26pE2bNungwYN67LHHnB0PAIBKp9hPos+YMUPdu3fXPffcI0k6cuSIRo0apeHDh6tly5aaN2+e6tWrp5deeqmksgIAgGIyGAyaO3eupkyZou+++05Vq1ZVs2bNZDQanR0NAABcx6ZNm7Rt2zb9/e9/t7SFh4dr1apV6t27txOTAQBQORW7iJ6cnKyZM2daztesWaMuXbpo1apVkn5fe3XatGkU0QEAKEM8PT116623OjsGAACwQ61atQpdssXb21s+Pj5OSAQAQOVW7CL6xYsX5e/vbznfvXu3+vTpYzm/9dZbdfr0acemAwAANyQrK0tz5sxRfHy8zp49a9kg/A8nTpxwUjIAAHA9L774oqKiovTuu+8qICBAkpSWlqZJkyZpypQpTk4HAEDlU+wiur+/v06ePKnAwEDl5OQoKSlJ06dPt1y/fPmy3NzcSiQkAACwz+jRo7V792498sgjqlu3rgwGg7MjAQCAYlq+fLmOHz+uhg0bqmHDhpKklJQUGY1GnTt3TitWrLD0TUpKclZMAAAqjWIX0e+++249//zzmjt3rjZu3Khq1arp9ttvt1z/5ptv1KRJkxIJCQAA7PPZZ59p8+bN6tq1q7OjAAAAOw0YMMDZEQAAwJ8Uu4g+c+ZM3X///erWrZs8PT319ttvy93d3XJ99erV6tWrV4mEBAAA9vHx8ZGvr6+zYwAAgBswbdo0h91r2bJlmjdvntLS0tS2bVu99tpr6ty583XHrVmzRoMHD9a9996rjRs3OiwPAADlkUtxO9auXVt79uzRxYsXdfHiRd13331W19etW+fQiR4AANy4mTNnaurUqfrtt9+cHQUAANyAS5cu6Y033lB0dLQuXLgg6felW86cOVPse6xdu1ZRUVGaNm2akpKS1LZtW4WHh+vs2bNFjvv555/1zDPPWH37HACAyqzYT6I3bNhQ9957r/r3768ePXpcc52n3QAAKDsWLFign376Sf7+/mrcuPE1+5awfioAAGXXN998o549e8rb21s///yzxowZI19fX23YsEEpKSl65513inWfhQsXasyY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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "features = ['Age', 'Academic Pressure', 'Work Pressure', 'CGPA', 'Study Satisfaction', \n", - " 'Job Satisfaction', 'Work/Study Hours', 'Financial Stress', 'Depression']\n", - "\n", - "plt.figure(figsize=(15, 10))\n", - "for i, feature in enumerate(features, 1):\n", - " plt.subplot(3, 3, i)\n", - " sns.boxplot(y=df[feature], color='skyblue')\n", - " plt.title(f'Boxplot of {feature}')\n", - " plt.ylabel(feature)\n", - "\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "В Age много выбросов. Сбалансируем данные" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq4AAAH9CAYAAADbDf7CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmsklEQVR4nO3dfZTWdZ3/8ddwM4MKDKIywDqYqes9aWzJaJEISWjenNBy0xLD7AZ1FbZ1UXe92QqyDKzILVfFo5AdS3OtUMEU16O0huFNbqxQJid0RNEZQBkQrt8fu87PWUEhgYsPPh7nXOd0fa7v9bneA53j83z5Xt+pqVQqlQAAwDauU7UHAACAjSFcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAbaimpqaXHrppdUeo4OHH344hx9+eHbaaafU1NRk/vz51R4JYL2EK7BdmDZtWmpqajo8+vTpk6FDh2bmzJnVHu8de/LJJ3PppZfm6aef3qz7rlmzJieffHKWLVuWyZMn58Ybb8wee+zxtu/75S9/mZqamvTv3z/r1q3brDMBbEiXag8AsDldfvnl2XPPPVOpVNLc3Jxp06blmGOOyR133JGPf/zj1R7vL/bkk0/msssuy5FHHpn3vOc9m23fRYsW5U9/+lOuueaanHnmmRv9vunTp+c973lPnn766fzqV7/K8OHDN9tMABvijCuwXRk5cmROO+20fOYzn8nf//3f5z/+4z/StWvX/OhHP6r2aNuk559/PknSq1evjX7PypUrc/vtt2fcuHE59NBDM3369C00HUBHwhXYrvXq1Ss77LBDunTp+A9MK1euzPjx49PY2Ji6urrsu++++da3vpVKpZIkefXVV7Pffvtlv/32y6uvvtr+vmXLlqVfv345/PDDs3bt2iTJ6NGj07179/zhD3/IiBEjstNOO6V///65/PLL2/d7K7/97W8zcuTI9OzZM927d8+wYcMyd+7c9tenTZuWk08+OUkydOjQ9ksh7rvvvrfc91e/+lU+/OEPZ6eddkqvXr1ywgkn5L/+67/aXx89enQ+8pGPJElOPvnk1NTU5Mgjj3zbeW+77ba8+uqrOfnkk3PKKafk1ltvzapVq9503Kuvvppzzz03u+66a3r06JHjjz8+f/7zn9d7ne+f//znfO5zn0tDQ0Pq6upy4IEH5rrrrnvbWYB3F+EKbFdaWlrywgsvZOnSpfnd736XL33pS1mxYkVOO+209mMqlUqOP/74TJ48OR/72Mfy7W9/O/vuu2++8pWvZNy4cUmSHXbYITfccEMWLlyYiy66qP29Y8eOTUtLS6ZNm5bOnTu3r69duzYf+9jH0tDQkCuuuCKDBg3KJZdckksuueQt5/3d736XD3/4w3n00UfzD//wD/mnf/qn/PGPf8yRRx6ZX//610mSIUOG5Nxzz02SXHjhhbnxxhtz4403Zv/999/gvrNnz86IESPy/PPP59JLL824cePy4IMP5ogjjmi/TvYLX/hCLrzwwiTJueeemxtvvLHDz7oh06dPz9ChQ9O3b9+ccsopWb58ee644443HTd69Oh897vfzTHHHJNvfOMb2WGHHXLssce+6bjm5uYMHjw4s2fPztlnn52rrroqe++9d8aMGZMpU6a87TzAu0gFYDtw/fXXV5K86VFXV1eZNm1ah2N/9rOfVZJUvvrVr3ZYP+mkkyo1NTWVhQsXtq9NmDCh0qlTp8r9999fueWWWypJKlOmTOnwvtNPP72SpHLOOee0r61bt65y7LHHVmpraytLly5tX09SueSSS9qfn3jiiZXa2trKokWL2teWLFlS6dGjR2XIkCHta69/9r333rtRfx6HHHJIpU+fPpUXX3yxfe3RRx+tdOrUqfLZz362fe3ee++tJKnccsstG7Vvc3NzpUuXLpVrrrmmfe3www+vnHDCCR2OmzdvXiVJ5bzzzuuwPnr06Df9GYwZM6bSr1+/ygsvvNDh2FNOOaVSX19feeWVVzZqNmD754wrsF2ZOnVqZs2alVmzZuWmm27K0KFDc+aZZ+bWW29tP+aXv/xlOnfu3H4W83Xjx49PpVLpcBeCSy+9NAceeGBOP/30fPnLX85HPvKRN73vdWeffXb7/66pqcnZZ5+d1atXZ/bs2es9fu3atbn77rtz4okn5r3vfW/7er9+/fLpT386DzzwQFpbWzf5z+DZZ5/N/PnzM3r06PTu3bt9feDAgfnoRz+aX/7yl5u85+tuvvnmdOrUKaNGjWpf+9u//dvMnDkzL730UvvanXfemST58pe/3OH955xzTofnlUolP/3pT3PcccelUqnkhRdeaH+MGDEiLS0teeSRR/7ieYHti3AFtisf/OAHM3z48AwfPjynnnpqfvGLX+SAAw5oj8gk+dOf/pT+/funR48eHd77+j+9/+lPf2pfq62tzXXXXZc//vGPWb58ea6//vrU1NS86XM7derUIT6T5K//+q+TZIO3sFq6dGleeeWV7Lvvvm96bf/998+6deuyePHijf/h/9fr829o3xdeeCErV67c5H2T5KabbsoHP/jBvPjii1m4cGEWLlyYQw89NKtXr84tt9zSYYZOnTplzz337PD+vffeu8PzpUuX5uWXX84Pf/jD7Lbbbh0eZ5xxRpL//wUyALfDArZrnTp1ytChQ3PVVVflqaeeyoEHHrjJe9x1111JklWrVuWpp556U4y9Wzz11FN5+OGHkyT77LPPm16fPn16zjrrrE3a8/V7wJ522mk5/fTT13vMwIEDN3FSYHslXIHt3muvvZYkWbFiRZJkjz32yOzZs7N8+fIOZ11///vft7/+usceeyyXX355zjjjjMyfPz9nnnlmHn/88dTX13f4jHXr1uUPf/hD+1nWJPnv//7vJNngfVd322237LjjjlmwYMGbXvv973+fTp06pbGxMUnWe5Z3Q16ff0P77rrrrtlpp502er/XTZ8+PV27ds2NN97Y4YtpSfLAAw/kO9/5Tp555pkMGDAge+yxR9atW5c//vGPHSJ34cKFHd632267pUePHlm7dq17wQJvy6UCwHZtzZo1ufvuu1NbW9t+KcAxxxyTtWvX5nvf+16HYydPnpyampqMHDmy/b2jR49O//79c9VVV2XatGlpbm7O+eefv97PeuN+lUol3/ve99K1a9cMGzZsvcd37tw5Rx99dG6//fYOlxM0NzdnxowZ+dCHPpSePXsmSXtovvzyy2/7M/fr1y+HHHJIbrjhhg7HP/HEE7n77rtzzDHHvO0e6zN9+vR8+MMfzqc+9amcdNJJHR5f+cpXkqT9frkjRoxIknz/+9/vsMd3v/vdDs87d+6cUaNG5ac//WmeeOKJN33m0qVL/6JZge2TM67AdmXmzJntZ06ff/75zJgxI0899VT+8R//sT0CjzvuuAwdOjQXXXRRnn766bzvfe/L3Xffndtvvz3nnXde9tprryTJV7/61cyfPz/33HNPevTokYEDB+af//mfc/HFF+ekk07qEIDdunXLnXfemdNPPz2HHXZYZs6cmV/84he58MILs9tuu21w3q9+9auZNWtWPvShD+XLX/5yunTpkh/84Adpa2vLFVdc0X7cIYccks6dO+cb3/hGWlpaUldXl6OOOip9+vRZ777f/OY3M3LkyDQ1NWXMmDF59dVX893vfjf19fVvuofqxvj1r3+dhQsXdvgC2hv91V/9Vd7//vdn+vTpueCCCzJo0KCMGjUqU6ZMyYsvvpjBgwdnzpw57Weh33gGedKkSbn33ntz2GGH5fOf/3wOOOCALFu2LI888khmz56dZcuWbfK8wHaqujc1ANg81nc7rG7dulUOOeSQytVXX11Zt25dh+OXL19eOf/88yv9+/evdO3atbLPPvtUvvnNb7YfN2/evEqXLl063OKqUqlUXnvttcoHPvCBSv/+/SsvvfRSpVL5n9th7bTTTpVFixZVjj766MqOO+5YaWhoqFxyySWVtWvXdnh//s+toCqVSuWRRx6pjBgxotK9e/fKjjvuWBk6dGjlwQcffNPPeM0111Te+973Vjp37rxRt8aaPXt25YgjjqjssMMOlZ49e1aOO+64ypNPPtnhmI29HdY555xTSdLhtl3/16WXXlpJUnn00UcrlUqlsnLlysrYsWMrvXv3rnTv3r1y4oknVhYsWFBJUpk0aVKH9zY3N1fGjh1baWxsrHTt2rXSt2/fyrBhwyo//OEP33Iu4N2lplLZiF/rAsAGjR49Oj/5yU/ar6Flw+bPn59DDz00N910U0499dRqjwMUxjWuAGwRb/xVua+bMmVKOnXqlCFDhlRhIqB0rnEFYIu44oorMm/evAwdOjRdunTJzJkzM3PmzJx11lntd0sA2BTCFYAt4vDDD8+sWbPyL//yL1mxYkUGDBiQSy+9NBdddFG1RwMK5RpXAACK4BpXAACKIFwBACjCdn+N67p167JkyZL06NFjk35lIgAAW0elUsny5cvTv3//dOq04fOq2324LlmyxLdXAQAKsHjx4uy+++4bfH27D9cePXok+Z8/iNd/3SMAANuO1tbWNDY2tnfbhmz34fr65QE9e/YUrgAA27C3u6zTl7MAACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBAChCl2oPALxzq1evTnNzc7XHALaghoaG1NbWVnsMqCrhCtuB5ubmXHnlldUeA9iCxo8fn8bGxmqPAVUlXGE70NDQkPHjx1d7DLaS5ubm3HTTTTnttNPS0NBQ7XHYSvxdg3CF7UJtba0zMe9CDQ0N/t6BdxVfzgIAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKsM2E66RJk1JTU5PzzjuvfW3VqlUZO3Zsdtlll3Tv3j2jRo1Kc3Nz9YYEAKBqtolwffjhh/ODH/wgAwcO7LB+/vnn54477sgtt9ySOXPmZMmSJfnEJz5RpSkBAKimqofrihUrcuqpp+aaa67Jzjvv3L7e0tKSa6+9Nt/+9rdz1FFHZdCgQbn++uvz4IMPZu7cuVWcGACAaqh6uI4dOzbHHntshg8f3mF93rx5WbNmTYf1/fbbLwMGDMhDDz20tccEAKDKulTzw2+++eY88sgjefjhh9/02nPPPZfa2tr06tWrw3pDQ0Oee+65De7Z1taWtra29uetra2bbV4AAKqnamdcFy9enL/7u7/L9OnT061bt82278SJE1NfX9/+aGxs3Gx7AwBQPVUL13nz5uX555/P+9///nTp0iVdunTJnDlz8p3vfCddunRJQ0NDVq9enZdffrnD+5qbm9O3b98N7jthwoS0tLS0PxYvXryFfxIAALaGql0qMGzYsDz++OMd1s4444zst99+ueCCC9LY2JiuXbvmnnvuyahRo5IkCxYsyDPPPJOmpqYN7ltXV5e6urotOjsAAFtf1cK1R48eOeiggzqs7bTTTtlll13a18eMGZNx48ald+/e6dmzZ84555w0NTVl8ODB1RgZAIAqquqXs97O5MmT06lTp4waNSptbW0ZMWJEvv/971d7LAAAqmCbCtf77ruvw/Nu3bpl6tSpmTp1anUGAgBgm1H1+7gCAMDGEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFqGq4Xn311Rk4cGB69uyZnj17pqmpKTNnzmx//cgjj0xNTU2Hxxe/+MUqTgwAQLV0qeaH77777pk0aVL22WefVCqV3HDDDTnhhBPy29/+NgceeGCS5POf/3wuv/zy9vfsuOOO1RoXAIAqqmq4HnfccR2ef+1rX8vVV1+duXPntofrjjvumL59+1ZjPAAAtiHbzDWua9euzc0335yVK1emqampfX369OnZddddc9BBB2XChAl55ZVXqjglAADVUtUzrkny+OOPp6mpKatWrUr37t1z22235YADDkiSfPrTn84ee+yR/v3757HHHssFF1yQBQsW5NZbb93gfm1tbWlra2t/3trausV/BgAAtryqh+u+++6b+fPnp6WlJT/5yU9y+umnZ86cOTnggANy1llntR938MEHp1+/fhk2bFgWLVqUvfbaa737TZw4MZdddtnWGh8AgK2k6pcK1NbWZu+9986gQYMyceLEvO9978tVV1213mMPO+ywJMnChQs3uN+ECRPS0tLS/li8ePEWmRsAgK2r6mdc/69169Z1+Kf+N5o/f36SpF+/fht8f11dXerq6rbEaAAAVFFVw3XChAkZOXJkBgwYkOXLl2fGjBm57777ctddd2XRokWZMWNGjjnmmOyyyy557LHHcv7552fIkCEZOHBgNccGAKAKqhquzz//fD772c/m2WefTX19fQYOHJi77rorH/3oR7N48eLMnj07U6ZMycqVK9PY2JhRo0bl4osvrubIAABUSVXD9dprr93ga42NjZkzZ85WnAYAgG1Z1b+cBQAAG0O4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQhL84XFevXp0FCxbktdde25zzAADAem1yuL7yyisZM2ZMdtxxxxx44IF55plnkiTnnHNOJk2atNkHBACA5C8I1wkTJuTRRx/Nfffdl27durWvDx8+PD/+8Y8363AAAPC6Lpv6hp/97Gf58Y9/nMGDB6empqZ9/cADD8yiRYs263AAAPC6TT7junTp0vTp0+dN6ytXruwQsgAAsDltcrj+zd/8TX7xi1+0P389Vv/t3/4tTU1Nm28yAAB4g02+VODrX/96Ro4cmSeffDKvvfZarrrqqjz55JN58MEHM2fOnC0xIwAAbPoZ1w996EOZP39+XnvttRx88MG5++6706dPnzz00EMZNGjQlpgRAAA2/Yxrkuy111655pprNvcsAACwQZscrq2tretdr6mpSV1dXWpra9/xUAAA8H9tcrj26tXrLe8esPvuu2f06NG55JJL0qmT3ygLAMDmscnhOm3atFx00UUZPXp0PvjBDyZJ/vM//zM33HBDLr744ixdujTf+ta3UldXlwsvvHCzDwwAwLvTJofrDTfckCuvvDKf/OQn29eOO+64HHzwwfnBD36Qe+65JwMGDMjXvvY14QoAwGazyf+W/+CDD+bQQw990/qhhx6ahx56KMn/3HngmWeeeefTAQDA/9rkcG1sbMy11177pvVrr702jY2NSZIXX3wxO++88zufDgAA/tcmh+u3vvWtTJ48Oe973/ty5pln5swzz8whhxySyZMn58orr0ySPPzww/nUpz71tntdffXVGThwYHr27JmePXumqakpM2fObH991apVGTt2bHbZZZd07949o0aNSnNz86aODADAdmCTw/X444/PggULMnLkyCxbtizLli3LyJEjs2DBgrznPe9JknzpS1/Kt7/97bfda/fdd8+kSZMyb968/OY3v8lRRx2VE044Ib/73e+SJOeff37uuOOO3HLLLZkzZ06WLFmST3ziE5s6MgAA24GaSqVSeScbtLa25kc/+lGuu+66/OY3v8natWvf0UC9e/fON7/5zZx00knZbbfdMmPGjJx00klJkt///vfZf//989BDD2Xw4MEbPV99fX1aWlrSs2fPdzQbwLZg8eLFufLKKzN+/Pj2S7QASraxvfYX32j1/vvvz+mnn57+/fvnyiuvzNChQzN37ty/dLusXbs2N998c1auXJmmpqbMmzcva9asyfDhw9uP2W+//TJgwID2L4EBAPDusUm3w3ruuecybdq0XHvttWltbc0nP/nJtLW15Wc/+1kOOOCAv2iAxx9/PE1NTVm1alW6d++e2267LQcccEDmz5+f2tra9OrVq8PxDQ0Nee655za4X1tbW9ra2tqfb+g3fb0bvPTSS1mxYkW1xwA2s9ev9XfNP2yfunfv7kvuG7DR4Xrcccfl/vvvz7HHHpspU6bkYx/7WDp37px//dd/fUcD7Lvvvpk/f35aWlryk5/8JKeffnrmzJnzF+83ceLEXHbZZe9opu3BSy+9lK9//etZs2ZNtUcBtpCbbrqp2iMAW0DXrl1z4YUXitf12OhwnTlzZs4999x86Utfyj777LPZBqitrc3ee++dJBk0aFAefvjhXHXVVfnUpz6V1atX5+WXX+5w1rW5uTl9+/bd4H4TJkzIuHHj2p+3tra+K68BW7FiRdasWZOGphGpre9d7XEAgI2wumVZmh+6KytWrBCu67HR4frAAw/k2muvzaBBg7L//vvnM5/5TE455ZTNPtC6devS1taWQYMGpWvXrrnnnnsyatSoJMmCBQvyzDPPpKmpaYPvr6urS11d3Wafq1S19b3TrXefao8BAPCObfSXswYPHpxrrrkmzz77bL7whS/k5ptvTv/+/bNu3brMmjUry5cv3+QPnzBhQu6///48/fTTefzxxzNhwoTcd999OfXUU1NfX58xY8Zk3LhxuffeezNv3rycccYZaWpq2ug7CgAAsP3Y5LsK7LTTTvnc5z6XBx54II8//njGjx+fSZMmpU+fPjn++OM3aa/nn38+n/3sZ7Pvvvtm2LBhefjhh3PXXXflox/9aJJk8uTJ+fjHP55Ro0ZlyJAh6du3b2699dZNHRkAgO3AJt1V4P/ad999c8UVV2TixIm54447ct11123S+9f3q2PfqFu3bpk6dWqmTp36TsYEAGA78Bffx/WNOnfunBNPPDH//u//vjm2AwCAN9ks4QoAAFuacAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKUNVwnThxYj7wgQ+kR48e6dOnT0488cQsWLCgwzFHHnlkampqOjy++MUvVmliAACqparhOmfOnIwdOzZz587NrFmzsmbNmhx99NFZuXJlh+M+//nP59lnn21/XHHFFVWaGACAaulSzQ+/8847OzyfNm1a+vTpk3nz5mXIkCHt6zvuuGP69u27tccDAGAbsk1d49rS0pIk6d27d4f16dOnZ9ddd81BBx2UCRMm5JVXXqnGeAAAVFFVz7i+0bp163LeeefliCOOyEEHHdS+/ulPfzp77LFH+vfvn8ceeywXXHBBFixYkFtvvXW9+7S1taWtra39eWtr6xaffVu2umVZtUcAADaS/26/tW0mXMeOHZsnnngiDzzwQIf1s846q/1/H3zwwenXr1+GDRuWRYsWZa+99nrTPhMnTsxll122xectRfNDd1V7BACAzWKbCNezzz47P//5z3P//fdn9913f8tjDzvssCTJwoUL1xuuEyZMyLhx49qft7a2prGxcfMOXJCGphGpre/99gcCAFW3umWZk05voarhWqlUcs455+S2227Lfffdlz333PNt3zN//vwkSb9+/db7el1dXerq6jbnmEWrre+dbr37VHsMAIB3rKrhOnbs2MyYMSO33357evTokeeeey5JUl9fnx122CGLFi3KjBkzcswxx2SXXXbJY489lvPPPz9DhgzJwIEDqzk6AABbWVXD9eqrr07yP79k4I2uv/76jB49OrW1tZk9e3amTJmSlStXprGxMaNGjcrFF19chWkBAKimql8q8FYaGxszZ86crTQNAADbsm3qPq4AALAhwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAognAFAKAIwhUAgCIIVwAAiiBcAQAoQpdqD8CWtbplWbVHAAA2kv9uvzXhup3q3r17unbtmuaH7qr2KADAJujatWu6d+9e7TG2STWVSqVS7SG2pNbW1tTX16elpSU9e/as9jhb1UsvvZQVK1ZUewxgM2tubs5NN92U0047LQ0NDdUeB9jMunfvnp133rnaY2xVG9trzrhux3beeed33f/x4d2koaEhjY2N1R4DYKvx5SwAAIogXAEAKIJwBQCgCMIVAIAiCFcAAIogXAEAKIJwBQCgCMIVAIAiCFcAAIpQ1XCdOHFiPvCBD6RHjx7p06dPTjzxxCxYsKDDMatWrcrYsWOzyy67pHv37hk1alSam5urNDEAANVS1XCdM2dOxo4dm7lz52bWrFlZs2ZNjj766KxcubL9mPPPPz933HFHbrnllsyZMydLlizJJz7xiSpODQBANXSp5offeeedHZ5PmzYtffr0ybx58zJkyJC0tLTk2muvzYwZM3LUUUclSa6//vrsv//+mTt3bgYPHlyNsQEAqIJt6hrXlpaWJEnv3r2TJPPmzcuaNWsyfPjw9mP222+/DBgwIA899FBVZgQAoDqqesb1jdatW5fzzjsvRxxxRA466KAkyXPPPZfa2tr06tWrw7ENDQ157rnn1rtPW1tb2tra2p+3trZusZkBANh6tpkzrmPHjs0TTzyRm2+++R3tM3HixNTX17c/GhsbN9OEAABU0zYRrmeffXZ+/vOf5957783uu+/evt63b9+sXr06L7/8cofjm5ub07dv3/XuNWHChLS0tLQ/Fi9evCVHBwBgK6lquFYqlZx99tm57bbb8qtf/Sp77rlnh9cHDRqUrl275p577mlfW7BgQZ555pk0NTWtd8+6urr07NmzwwMAgPJV9RrXsWPHZsaMGbn99tvTo0eP9utW6+vrs8MOO6S+vj5jxozJuHHj0rt37/Ts2TPnnHNOmpqa3FEAAOBdpqrhevXVVydJjjzyyA7r119/fUaPHp0kmTx5cjp16pRRo0alra0tI0aMyPe///2tPCkAANVW1XCtVCpve0y3bt0yderUTJ06dStMBADAtmqb+HIWAAC8HeEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARhCsAAEUQrgAAFEG4AgBQBOEKAEARulR7AOCdW716dZqbm6s9BlvJ63/X/s7fXRoaGlJbW1vtMaCqhCtsB5qbm3PllVdWewy2sptuuqnaI7AVjR8/Po2NjdUeA6pKuMJ2oKGhIePHj6/2GMAW1NDQUO0RoOqEK2wHamtrnYkBYLvny1kAABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABRBuAIAUAThCgBAEYQrAABFEK4AABShS7UH2NIqlUqSpLW1tcqTAACwPq932uvdtiHbfbguX748SdLY2FjlSQAAeCvLly9PfX39Bl+vqbxd2hZu3bp1WbJkSXr06JGamppqjwPwjrW2tqaxsTGLFy9Oz549qz0OwDtWqVSyfPny9O/fP506bfhK1u0+XAG2N62tramvr09LS4twBd5VfDkLAIAiCFcAAIogXAEKU1dXl0suuSR1dXXVHgVgq3KNKwAARXDGFQCAIghXAACKIFwBACiCcAUAoAjCFQCAIghXAACKIFwBACiCcAUAoAj/D8WK0MNJFcEaAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Q1 = df['Age'].quantile(0.25)\n", - "Q3 = df['Age'].quantile(0.75)\n", - "IQR = Q3 - Q1\n", - "\n", - "threshold = 1.5 * IQR\n", - "outliers = (df['Age'] < (Q1 - threshold)) | (df['Age'] > (Q3 + threshold))\n", - "\n", - "median_rating = df['Age'].median()\n", - "df.loc[outliers, 'Age'] = median_rating\n", - "\n", - "plt.figure(figsize=(8, 6))\n", - "sns.boxplot(y=df['Age'], color='skyblue')\n", - "plt.title('Boxplot of Age')\n", - "plt.ylabel('Age')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Конструирование признаков с помощью меток" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.preprocessing import LabelEncoder\n", - "\n", - "le = LabelEncoder()\n", - "df['Gender'] = le.fit_transform(df['Gender'])\n", - "df['City'] = le.fit_transform(df['City'])\n", - "df['Dietary Habits'] = le.fit_transform(df['Dietary Habits'])\n", - "df['Degree'] = le.fit_transform(df['Degree'])\n", - "df['Have you ever had suicidal thoughts ?'] = le.fit_transform(df['Have you ever had suicidal thoughts ?'])\n", - "df['Sleep Duration'] = le.fit_transform(df['Sleep Duration'])\n", - "df['Profession'] = le.fit_transform(df['Profession'])\n", - "df['Study Satisfaction'] = le.fit_transform(df['Study Satisfaction'])\n", - "df['Family History of Mental Illness'] = le.fit_transform(df['Family History of Mental Illness'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "разделение на признаки и целевую переменную" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "x = df.drop('Depression', axis=1)\n", - "y = df['Depression']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.model_selection import train_test_split\n", - "\n", - "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 1) Метод регрессии Лассо\n" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Лучшие гиперпараметры для Lasso:\n", - "{'alpha': 0.01, 'fit_intercept': False}\n" - ] - } - ], - "source": [ - "from sklearn.linear_model import Lasso\n", - "\n", - "param_grid_lasso = {\n", - " 'alpha': [0.01, 0.1, 1.0, 10.0],\n", - " 'fit_intercept': [True, False],\n", - "}\n", - "\n", - "# Создание объекта GridSearchCV\n", - "grid_search_lasso = GridSearchCV(\n", - " estimator=Lasso(), \n", - " param_grid=param_grid_lasso, \n", - " cv=5, \n", - " scoring='neg_mean_squared_error', \n", - " n_jobs=-1 \n", - ")\n", - "\n", - "grid_search_lasso.fit(x_train, y_train)\n", - "\n", - "# Вывод лучших гиперпараметров\n", - "print(\"Лучшие гиперпараметры для Lasso:\")\n", - "print(grid_search_lasso.best_params_)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 2) Метод градиентного бустинга" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\model_selection\\_validation.py:540: FitFailedWarning: \n", - "1215 fits failed out of a total of 3645.\n", - "The score on these train-test partitions for these parameters will be set to nan.\n", - "If these failures are not expected, you can try to debug them by setting error_score='raise'.\n", - "\n", - "Below are more details about the failures:\n", - "--------------------------------------------------------------------------------\n", - "978 fits failed with the following error:\n", - "Traceback (most recent call last):\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 888, in _fit_and_score\n", - " estimator.fit(X_train, y_train, **fit_params)\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\base.py\", line 1466, in wrapper\n", - " estimator._validate_params()\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\base.py\", line 666, in _validate_params\n", - " validate_parameter_constraints(\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\utils\\_param_validation.py\", line 95, in validate_parameter_constraints\n", - " raise InvalidParameterError(\n", - "sklearn.utils._param_validation.InvalidParameterError: The 'max_features' parameter of GradientBoostingRegressor must be an int in the range [1, inf), a float in the range (0.0, 1.0], a str among {'sqrt', 'log2'} or None. Got 'auto' instead.\n", - "\n", - "--------------------------------------------------------------------------------\n", - "237 fits failed with the following error:\n", - "Traceback (most recent call last):\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\model_selection\\_validation.py\", line 888, in _fit_and_score\n", - " estimator.fit(X_train, y_train, **fit_params)\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\base.py\", line 1466, in wrapper\n", - " estimator._validate_params()\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\base.py\", line 666, in _validate_params\n", - " validate_parameter_constraints(\n", - " File \"e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\utils\\_param_validation.py\", line 95, in validate_parameter_constraints\n", - " raise InvalidParameterError(\n", - "sklearn.utils._param_validation.InvalidParameterError: The 'max_features' parameter of GradientBoostingRegressor must be an int in the range [1, inf), a float in the range (0.0, 1.0], a str among {'log2', 'sqrt'} or None. Got 'auto' instead.\n", - "\n", - " warnings.warn(some_fits_failed_message, FitFailedWarning)\n", - "e:\\AIM1.5\\Scripts\\Lib\\site-packages\\numpy\\ma\\core.py:2881: RuntimeWarning: invalid value encountered in cast\n", - " _data = np.array(data, dtype=dtype, copy=copy,\n", - "e:\\AIM1.5\\Scripts\\Lib\\site-packages\\sklearn\\model_selection\\_search.py:1103: UserWarning: One or more of the test scores are non-finite: [ nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan -0.18767441 -0.15799837 -0.13080278\n", - " -0.18762913 -0.15792709 -0.13056114 -0.18792038 -0.15737146 -0.130218\n", - " -0.18725961 -0.157967 -0.13047453 -0.18766583 -0.15779565 -0.13094863\n", - " -0.18798705 -0.15693978 -0.13061215 -0.18766317 -0.15746848 -0.13072918\n", - " -0.18864158 -0.15666133 -0.13095037 -0.18817206 -0.15805489 -0.13086126\n", - " -0.18707465 -0.15864932 -0.13104947 -0.18818902 -0.15828572 -0.13063871\n", - " -0.18701628 -0.15853864 -0.13019458 -0.18740927 -0.15836397 -0.13065455\n", - " -0.18768748 -0.15828297 -0.1309458 -0.18845004 -0.15696395 -0.13023062\n", - " -0.18754854 -0.15899615 -0.13061707 -0.18831427 -0.15819939 -0.13096524\n", - " -0.18662963 -0.15815869 -0.13089186 nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " -0.1758914 -0.1442684 -0.12093344 -0.1758927 -0.14423731 -0.12084543\n", - " -0.17573339 -0.14419842 -0.12076166 -0.17512045 -0.14435454 -0.1207299\n", - " -0.17669645 -0.14397965 -0.12087019 -0.17605424 -0.1438664 -0.12091068\n", - " -0.17582192 -0.1443651 -0.12097165 -0.17588422 -0.14421003 -0.12081764\n", - " -0.17522742 -0.14424357 -0.12086484 -0.17530986 -0.14433713 -0.12091757\n", - " -0.17565647 -0.14408902 -0.12075918 -0.17561884 -0.14426355 -0.12094066\n", - " -0.17522371 -0.1439869 -0.12099023 -0.17619772 -0.14396131 -0.12079667\n", - " -0.17710789 -0.1448419 -0.12087822 -0.17608534 -0.14416684 -0.12087865\n", - " -0.1754675 -0.1442258 -0.12068226 -0.17611334 -0.14433552 -0.12093556\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan -0.16938321 -0.13763002 -0.11703902\n", - " -0.16953091 -0.13736586 -0.11695779 -0.16881837 -0.1375676 -0.11694438\n", - " -0.16927898 -0.13748177 -0.11689982 -0.16921265 -0.13757375 -0.11682524\n", - " -0.16915872 -0.13727377 -0.11694336 -0.16939766 -0.13734972 -0.1167447\n", - " -0.16924214 -0.1373768 -0.11674816 -0.16918278 -0.13746085 -0.1169816\n", - " -0.16927003 -0.13740063 -0.1169564 -0.16916501 -0.13752074 -0.11687641\n", - " -0.16928973 -0.13751536 -0.11697948 -0.16934836 -0.13727436 -0.11693615\n", - " -0.16912453 -0.13748699 -0.11693425 -0.1692788 -0.13750784 -0.11694655\n", - " -0.16919354 -0.13747437 -0.11708782 -0.16940009 -0.13757749 -0.11700586\n", - " -0.1692801 -0.13725384 -0.11684394 nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " -0.11606052 -0.1140225 -0.11403709 -0.11627212 -0.1139982 -0.11402075\n", - " -0.11613561 -0.11407941 -0.11420487 -0.11666225 -0.11462523 -0.11431901\n", - " -0.11604817 -0.11456211 -0.11392092 -0.11609343 -0.11394228 -0.11414071\n", - " -0.11611685 -0.11420178 -0.11405459 -0.11594404 -0.11408614 -0.11391662\n", - " -0.11590886 -0.11396465 -0.11389125 -0.11616694 -0.11441846 -0.11417015\n", - " -0.11617368 -0.11429765 -0.1139636 -0.11616763 -0.11433984 -0.11412121\n", - " -0.11625618 -0.11402999 -0.11419791 -0.11613603 -0.114206 -0.11423922\n", - " -0.1160801 -0.11431896 -0.11416734 -0.11608923 -0.11455498 -0.11417448\n", - " -0.11605165 -0.11427773 -0.11392205 -0.11606243 -0.11408421 -0.11395292\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan -0.11281447 -0.11245904 -0.11308822\n", - " -0.11256366 -0.11230094 -0.1130767 -0.11282651 -0.1121034 -0.11283479\n", - " -0.11260704 -0.1125136 -0.11288977 -0.11278304 -0.11242278 -0.11268564\n", - " -0.11263359 -0.11236227 -0.11329411 -0.11231603 -0.1124533 -0.11278826\n", - " -0.11291545 -0.11241223 -0.11250702 -0.11246481 -0.11228665 -0.11348916\n", - " -0.11250694 -0.11250274 -0.11298019 -0.11277323 -0.11248601 -0.11301753\n", - " -0.11259486 -0.1124685 -0.11285441 -0.11274424 -0.11232891 -0.11316456\n", - " -0.11274575 -0.11256149 -0.11252293 -0.11293524 -0.11261757 -0.11305628\n", - " -0.11253063 -0.11237109 -0.11278518 -0.1124074 -0.11276905 -0.11296684\n", - " -0.11258689 -0.11228467 -0.11331342 nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " -0.11292265 -0.11395193 -0.11564599 -0.11244356 -0.11338947 -0.1148266\n", - " -0.11295702 -0.11353862 -0.11510521 -0.11244347 -0.11387967 -0.11512396\n", - " -0.11269802 -0.11364442 -0.1151339 -0.11238356 -0.11364301 -0.11496543\n", - " -0.11229193 -0.11340926 -0.11550744 -0.11215818 -0.11367944 -0.11552889\n", - " -0.11240305 -0.11352309 -0.115412 -0.1128402 -0.11338749 -0.1153551\n", - " -0.11250042 -0.11347275 -0.11548445 -0.11271132 -0.11377527 -0.11558066\n", - " -0.11318598 -0.11325792 -0.11499103 -0.11253099 -0.1129829 -0.11530949\n", - " -0.11239074 -0.11329625 -0.11544761 -0.11262484 -0.11323392 -0.1151936\n", - " -0.11253889 -0.11382403 -0.11511129 -0.11250854 -0.11339898 -0.11536332\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan -0.11542253 -0.11498664 -0.11428517\n", - " -0.11503783 -0.11473447 -0.11458687 -0.11483866 -0.1154254 -0.11479037\n", - " -0.11533015 -0.11515195 -0.11460571 -0.11563491 -0.11433835 -0.11437413\n", - " -0.11510849 -0.11472156 -0.11516494 -0.11545009 -0.115001 -0.11479743\n", - " -0.11461761 -0.11537461 -0.11497109 -0.1155148 -0.11567353 -0.11431184\n", - " -0.11546067 -0.11462564 -0.11450721 -0.11511 -0.11487988 -0.11466523\n", - " -0.11585756 -0.11462611 -0.11433121 -0.11538152 -0.11463425 -0.11527088\n", - " -0.11509145 -0.11493588 -0.11484324 -0.11528905 -0.11426327 -0.11476508\n", - " -0.11499562 -0.11451299 -0.11466765 -0.11525918 -0.11469718 -0.11476983\n", - " -0.11467865 -0.1145067 -0.11479425 nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " -0.11352917 -0.1145882 -0.11643688 -0.11418115 -0.11442858 -0.11635549\n", - " -0.11408502 -0.11458383 -0.1163013 -0.1135842 -0.11453566 -0.11575264\n", - " -0.11341863 -0.11481638 -0.11635685 -0.1132144 -0.11438018 -0.11666005\n", - " -0.11311482 -0.11500883 -0.11594984 -0.11409228 -0.11464061 -0.1158012\n", - " -0.11389399 -0.11454081 -0.1157428 -0.11333869 -0.11438896 -0.11676006\n", - " -0.11382523 -0.11443669 -0.11606569 -0.11424726 -0.11464652 -0.11608159\n", - " -0.11396605 -0.11473188 -0.1167532 -0.1136805 -0.11455875 -0.11615814\n", - " -0.11372286 -0.11442829 -0.11590895 -0.1136509 -0.11368863 -0.11660073\n", - " -0.1136605 -0.1141187 -0.11613806 -0.11326355 -0.11427399 -0.11676148\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan nan nan nan\n", - " nan nan nan -0.11573534 -0.11897501 -0.1226239\n", - " -0.1162633 -0.11939573 -0.12255715 -0.11636411 -0.11878021 -0.12306277\n", - " -0.11535113 -0.11813967 -0.1230085 -0.11594119 -0.11812955 -0.12217928\n", - " -0.11523023 -0.11843291 -0.12228252 -0.1159457 -0.11840108 -0.12181337\n", - " -0.11600134 -0.11790484 -0.12203724 -0.11579998 -0.11787918 -0.12317219\n", - " -0.11578704 -0.11837798 -0.12379234 -0.1155279 -0.11865384 -0.12319867\n", - " -0.11597008 -0.11886814 -0.12291788 -0.1162282 -0.11918752 -0.12363613\n", - " -0.11571473 -0.11805225 -0.12250506 -0.11640247 -0.11823175 -0.1226976\n", - " -0.11571549 -0.11813327 -0.12229009 -0.11621545 -0.11793769 -0.1229533\n", - " -0.11528287 -0.1183919 -0.12121653]\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Лучшие гиперпараметры для Gradient Boosting:\n", - "{'learning_rate': 0.1, 'max_depth': 5, 'max_features': 'sqrt', 'min_samples_leaf': 1, 'min_samples_split': 10, 'n_estimators': 100}\n" - ] - } - ], - "source": [ - "\n", - "from sklearn.ensemble import GradientBoostingRegressor\n", - "\n", - "param_grid_gb = {\n", - " 'n_estimators': [50, 100, 200],\n", - " 'learning_rate': [0.01, 0.1, 0.2],\n", - " 'max_depth': [3, 5, 7],\n", - " 'min_samples_split': [2, 5, 10],\n", - " 'min_samples_leaf': [1, 2, 4],\n", - " 'max_features': ['auto', 'sqrt', 'log2']\n", - "}\n", - "\n", - "grid_search_gb = GridSearchCV(\n", - " estimator=GradientBoostingRegressor(),\n", - " param_grid=param_grid_gb,\n", - " cv=5,\n", - " scoring='neg_mean_squared_error',\n", - " n_jobs=-1\n", - ")\n", - "\n", - "grid_search_gb.fit(x_train, y_train)\n", - "\n", - "# Вывод лучших гиперпараметров\n", - "print(\"Лучшие гиперпараметры для Gradient Boosting:\")\n", - "print(grid_search_gb.best_params_)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 3) Метод k-ближайших соседей" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Лучшие гиперпараметры для k-Nearest Neighbors:\n", - "{'algorithm': 'ball_tree', 'n_neighbors': 10, 'p': 1, 'weights': 'distance'}\n" - ] - } - ], - "source": [ - "from sklearn.neighbors import KNeighborsRegressor\n", - "from sklearn.model_selection import GridSearchCV\n", - "\n", - "param_grid_knn = {\n", - " 'n_neighbors': [3, 5, 7, 10],\n", - " 'weights': ['uniform', 'distance'],\n", - " 'algorithm': ['auto', 'ball_tree', 'kd_tree', 'brute'],\n", - " 'p': [1, 2]\n", - "}\n", - "\n", - "grid_search_knn = GridSearchCV(\n", - " estimator=KNeighborsRegressor(),\n", - " param_grid=param_grid_knn,\n", - " cv=5,\n", - " scoring='neg_mean_squared_error',\n", - " n_jobs=-1\n", - ")\n", - "\n", - "grid_search_knn.fit(x_train, y_train)\n", - "\n", - "# Вывод лучших гиперпараметров\n", - "print(\"Лучшие гиперпараметры для k-Nearest Neighbors:\")\n", - "print(grid_search_knn.best_params_)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Предсказание на тестовой выборке" - ] - }, - { - "cell_type": "code", - "execution_count": 128, - "metadata": {}, - "outputs": [], - "source": [ - "y_pred = model.predict(x_test)\n", - "y_pred_forest = model_forest.predict(x_test)\n", - "y_pred_lasso = model_lasso.predict(x_test)\n", - "y_pred_gb = model_gb.predict(x_test)\n", - "y_pred_neighbors = model_knn.predict(x_test)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Оценка качества модели" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1.\tMSE (Mean Squared Error)\n", - "Среднее значение квадратов разностей между предсказанными и фактическими значениями. Чем меньше значение, тем лучше модель." - ] - }, - { - "cell_type": "code", - "execution_count": 156, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Mean Squared Error (MSE):\n", - "k-NN: \t\t\t0.213\n", - "Random Forest: \t\t0.118\n", - "Lasso: \t\t\t0.166\n", - "Gradient Boosting: \t0.113\n", - "k-Nearest Neighbors: \t0.326\n" - ] - } - ], - "source": [ - "from sklearn.metrics import mean_squared_error\n", - "import numpy as np\n", - "\n", - "mse1 = mean_squared_error(y_test, y_pred)\n", - "mse2 = mean_squared_error(y_test, y_pred_forest)\n", - "mse3 = mean_squared_error(y_test, y_pred_lasso)\n", - "mse4 = mean_squared_error(y_test, y_pred_gb)\n", - "mse5 = mean_squared_error(y_test, y_pred_neighbors)\n", - "\n", - "mse1_rounded = round(mse1, 3)\n", - "mse2_rounded = round(mse2, 3)\n", - "mse3_rounded = round(mse3, 3)\n", - "mse4_rounded = round(mse4, 3)\n", - "mse5_rounded = round(mse5, 3)\n", - "\n", - "print(\"Mean Squared Error (MSE):\")\n", - "print(f\"k-NN: \\t\\t\\t{mse1_rounded}\")\n", - "print(f\"Random Forest: \\t\\t{mse2_rounded}\")\n", - "print(f\"Lasso: \\t\\t\\t{mse3_rounded}\")\n", - "print(f\"Gradient Boosting: \\t{mse4_rounded}\")\n", - "print(f\"k-Nearest Neighbors: \\t{mse5_rounded}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2.\tMAE\n", - "Среднее значение абсолютных разностей между предсказанными и фактическими значениями. Чем меньше значение, тем лучше модель." - ] - }, - { - "cell_type": "code", - "execution_count": 155, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Mean Absolute Error (MAE):\n", - "k-NN: \t\t\t0.213\n", - "Random Forest: \t\t0.238\n", - "Lasso: \t\t\t0.366\n", - "Gradient Boosting: \t0.246\n", - "k-Nearest Neighbors: \t0.485\n" - ] - } - ], - "source": [ - "from sklearn.metrics import mean_absolute_error\n", - "\n", - "mae1 = round(mean_absolute_error(y_test, y_pred),3)\n", - "mae2 = round(mean_absolute_error(y_test, y_pred_forest),3)\n", - "mae3 = round(mean_absolute_error(y_test, y_pred_lasso),3)\n", - "mae4 = round(mean_absolute_error(y_test, y_pred_gb),3)\n", - "mae5 = round(mean_absolute_error(y_test, y_pred_neighbors),3)\n", - "print(\"Mean Absolute Error (MAE):\")\n", - "print(f\"k-NN: \\t\\t\\t{mae1}\")\n", - "print(f\"Random Forest: \\t\\t{mae2}\")\n", - "print(f\"Lasso: \\t\\t\\t{mae3}\")\n", - "print(f\"Gradient Boosting: \\t{mae4}\")\n", - "print(f\"k-Nearest Neighbors: \\t{mae5}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "3.\tR-squared\n", - "Мера, показывающая, насколько хорошо модель объясняет изменчивость данных. Значение находится в диапазоне от 0 до 1, где 1 — идеальное соответствие, а 0 — модель не объясняет данные." - ] - }, - { - "cell_type": "code", - "execution_count": 153, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "R² (R-squared): 0.127933821917115\n", - "\n", - "R² (R-squared):\n", - "k-NN: \t\t\t0.128\n", - "Random Forest: \t\t0.515\n", - "Lasso: \t\t\t0.319\n", - "Gradient Boosting: \t0.537\n", - "k-Nearest Neighbors: \t-0.337\n" - ] - } - ], - "source": [ - "from sklearn.metrics import r2_score\n", - "r2 = r2_score(y_test, y_pred)\n", - "print(f\"R² (R-squared): {r2}\")\n", - "\n", - "r2_1 = r2_score(y_test, y_pred)\n", - "r2_2 = r2_score(y_test, y_pred_forest)\n", - "r2_3 = r2_score(y_test, y_pred_lasso)\n", - "r2_4 = r2_score(y_test, y_pred_gb)\n", - "r2_5 = r2_score(y_test, y_pred_neighbors)\n", - "\n", - "r2_1_rounded = round(r2_1, 3)\n", - "r2_2_rounded = round(r2_2, 3)\n", - "r2_3_rounded = round(r2_3, 3)\n", - "r2_4_rounded = round(r2_4, 3)\n", - "r2_5_rounded = round(r2_5, 3)\n", - "\n", - "print(\"\\nR² (R-squared):\")\n", - "print(f\"k-NN: \\t\\t\\t{r2_1_rounded}\")\n", - "print(f\"Random Forest: \\t\\t{r2_2_rounded}\")\n", - "print(f\"Lasso: \\t\\t\\t{r2_3_rounded}\")\n", - "print(f\"Gradient Boosting: \\t{r2_4_rounded}\")\n", - "print(f\"k-Nearest Neighbors: \\t{r2_5_rounded}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "4.\tRMSE\n", - " Среднее отклонение предсказаний от реальных данных. Чем меньше модуль, тем лучше модель." - ] - }, - { - "cell_type": "code", - "execution_count": 151, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Root Mean Squared Error (RMSE):\n", - "k-NN: \t\t\t0.461\n", - "Random Forest: \t\t0.344\n", - "Lasso: \t\t\t0.407\n", - "Gradient Boosting: \t0.336\n", - "k-Nearest Neighbors: \t0.571\n" - ] - } - ], - "source": [ - "rmse1 = np.sqrt(mse1)\n", - "rmse2 = np.sqrt(mse2)\n", - "rmse3 = np.sqrt(mse3)\n", - "rmse4 = np.sqrt(mse4)\n", - "rmse5 = np.sqrt(mse5)\n", - "\n", - "rmse1_rounded = round(rmse1, 3)\n", - "rmse2_rounded = round(rmse2, 3)\n", - "rmse3_rounded = round(rmse3, 3)\n", - "rmse4_rounded = round(rmse4, 3)\n", - "rmse5_rounded = round(rmse5, 3)\n", - "\n", - "print(\"Root Mean Squared Error (RMSE):\")\n", - "print(f\"k-NN: \\t\\t\\t{rmse1_rounded}\")\n", - "print(f\"Random Forest: \\t\\t{rmse2_rounded}\")\n", - "print(f\"Lasso: \\t\\t\\t{rmse3_rounded}\")\n", - "print(f\"Gradient Boosting: \\t{rmse4_rounded}\")\n", - "print(f\"k-Nearest Neighbors: \\t{rmse5_rounded}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Лучший результат – градиентный бустинг и случайный лес.\n", - "Положительные результаты по всем критериям получил случайный лес. Три из четырех положительных результата у градиентного бустинга. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Значит, случайный лес – наиболее точная и устойчивая стратегия обучения модели. Итоговая модель – model_forest." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Также, с помощью применение важности признаков (feature importance) на Случайном лесе, мы вывели основные факторы, вызывающие депрессию:" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Feature Importance\n", - "13 Have you ever had suicidal thoughts ? 0.300542\n", - "5 Academic Pressure 0.134276\n", - "0 id 0.087970\n", - "7 CGPA 0.079078\n", - "2 Age 0.066613\n", - "15 Financial Stress 0.066330\n", - "3 City 0.059293\n", - "14 Work/Study Hours 0.052275\n", - "12 Degree 0.049539\n", - "8 Study Satisfaction 0.032944\n", - "11 Dietary Habits 0.026140\n", - "10 Sleep Duration 0.024435\n", - "16 Family History of Mental Illness 0.010547\n", - "1 Gender 0.009627\n", - "4 Profession 0.000372\n", - "9 Job Satisfaction 0.000017\n", - "6 Work Pressure 0.000003\n" - ] - } - ], - "source": [ - "from sklearn.ensemble import RandomForestRegressor\n", - "\n", - "model_rf = RandomForestRegressor(n_estimators=100, random_state=42)\n", - "model_rf.fit(x_train, y_train)\n", - "\n", - "feature_importances = model_rf.feature_importances_\n", - "\n", - "import pandas as pd\n", - "feature_importance_df = pd.DataFrame({\n", - " 'Feature': x.columns,\n", - " 'Importance': feature_importances\n", - "}).sort_values(by='Importance', ascending=False)\n", - "\n", - "print(feature_importance_df)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Scripts", - "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.0" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}