{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9e19f76e-e242-4009-9b36-1e3767074d81",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>bp</th>\n",
       "      <th>sg</th>\n",
       "      <th>al</th>\n",
       "      <th>su</th>\n",
       "      <th>pc</th>\n",
       "      <th>pcc</th>\n",
       "      <th>ba</th>\n",
       "      <th>bgr</th>\n",
       "      <th>bu</th>\n",
       "      <th>...</th>\n",
       "      <th>hemo</th>\n",
       "      <th>pcv</th>\n",
       "      <th>wc</th>\n",
       "      <th>htn</th>\n",
       "      <th>dm</th>\n",
       "      <th>cad</th>\n",
       "      <th>appet</th>\n",
       "      <th>pe</th>\n",
       "      <th>ane</th>\n",
       "      <th>classification</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>48.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>1.020</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>121.000000</td>\n",
       "      <td>36.0</td>\n",
       "      <td>...</td>\n",
       "      <td>15.4</td>\n",
       "      <td>32</td>\n",
       "      <td>72</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>7.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>1.020</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>147.943503</td>\n",
       "      <td>18.0</td>\n",
       "      <td>...</td>\n",
       "      <td>11.3</td>\n",
       "      <td>26</td>\n",
       "      <td>56</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>62.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>1.010</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>423.000000</td>\n",
       "      <td>53.0</td>\n",
       "      <td>...</td>\n",
       "      <td>9.6</td>\n",
       "      <td>19</td>\n",
       "      <td>70</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>48.0</td>\n",
       "      <td>70.0</td>\n",
       "      <td>1.005</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>56.0</td>\n",
       "      <td>...</td>\n",
       "      <td>11.2</td>\n",
       "      <td>20</td>\n",
       "      <td>62</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>51.0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>1.010</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>106.000000</td>\n",
       "      <td>26.0</td>\n",
       "      <td>...</td>\n",
       "      <td>11.6</td>\n",
       "      <td>23</td>\n",
       "      <td>68</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "    age    bp     sg   al   su  pc  pcc  ba         bgr    bu  ...  hemo  pcv  \\\n",
       "0  48.0  80.0  1.020  1.0  0.0   1    0   0  121.000000  36.0  ...  15.4   32   \n",
       "1   7.0  50.0  1.020  4.0  0.0   1    0   0  147.943503  18.0  ...  11.3   26   \n",
       "2  62.0  80.0  1.010  2.0  3.0   1    0   0  423.000000  53.0  ...   9.6   19   \n",
       "3  48.0  70.0  1.005  4.0  0.0   0    1   0  117.000000  56.0  ...  11.2   20   \n",
       "4  51.0  80.0  1.010  2.0  0.0   1    0   0  106.000000  26.0  ...  11.6   23   \n",
       "\n",
       "   wc  htn  dm  cad  appet  pe  ane  classification  \n",
       "0  72    1   4    1      0   0    0               0  \n",
       "1  56    0   3    1      0   0    0               0  \n",
       "2  70    0   4    1      1   0    1               0  \n",
       "3  62    1   3    1      1   1    1               0  \n",
       "4  68    0   3    1      0   0    0               0  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    " # Load your dataset into a DataFrame\n",
    "df = pd.read_csv('kidney_disease_clean_final.csv')\n",
    " # Preview the first 5 rows\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3ed04245-a0be-4307-b49a-c85a1db52b66",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>bp</th>\n",
       "      <th>sg</th>\n",
       "      <th>al</th>\n",
       "      <th>su</th>\n",
       "      <th>pc</th>\n",
       "      <th>pcc</th>\n",
       "      <th>ba</th>\n",
       "      <th>bgr</th>\n",
       "      <th>bu</th>\n",
       "      <th>...</th>\n",
       "      <th>hemo</th>\n",
       "      <th>pcv</th>\n",
       "      <th>wc</th>\n",
       "      <th>htn</th>\n",
       "      <th>dm</th>\n",
       "      <th>cad</th>\n",
       "      <th>appet</th>\n",
       "      <th>pe</th>\n",
       "      <th>ane</th>\n",
       "      <th>classification</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "      <td>398.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>51.395887</td>\n",
       "      <td>76.502591</td>\n",
       "      <td>1.017429</td>\n",
       "      <td>1.014164</td>\n",
       "      <td>0.451429</td>\n",
       "      <td>0.972362</td>\n",
       "      <td>0.123116</td>\n",
       "      <td>0.075377</td>\n",
       "      <td>147.943503</td>\n",
       "      <td>57.512401</td>\n",
       "      <td>...</td>\n",
       "      <td>12.534582</td>\n",
       "      <td>29.851759</td>\n",
       "      <td>64.374372</td>\n",
       "      <td>0.374372</td>\n",
       "      <td>3.306533</td>\n",
       "      <td>1.090452</td>\n",
       "      <td>0.206030</td>\n",
       "      <td>0.195980</td>\n",
       "      <td>0.153266</td>\n",
       "      <td>0.376884</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>16.972717</td>\n",
       "      <td>13.483687</td>\n",
       "      <td>0.005370</td>\n",
       "      <td>1.274561</td>\n",
       "      <td>1.031829</td>\n",
       "      <td>0.591067</td>\n",
       "      <td>0.358303</td>\n",
       "      <td>0.300036</td>\n",
       "      <td>74.936192</td>\n",
       "      <td>49.366667</td>\n",
       "      <td>...</td>\n",
       "      <td>2.719296</td>\n",
       "      <td>10.508753</td>\n",
       "      <td>28.197630</td>\n",
       "      <td>0.494857</td>\n",
       "      <td>0.590869</td>\n",
       "      <td>0.320358</td>\n",
       "      <td>0.411134</td>\n",
       "      <td>0.403741</td>\n",
       "      <td>0.367615</td>\n",
       "      <td>0.485216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>50.000000</td>\n",
       "      <td>1.005000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>1.500000</td>\n",
       "      <td>...</td>\n",
       "      <td>3.100000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>42.000000</td>\n",
       "      <td>70.000000</td>\n",
       "      <td>1.015000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>101.000000</td>\n",
       "      <td>27.250000</td>\n",
       "      <td>...</td>\n",
       "      <td>10.900000</td>\n",
       "      <td>22.000000</td>\n",
       "      <td>49.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>54.000000</td>\n",
       "      <td>78.251295</td>\n",
       "      <td>1.017429</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>125.000000</td>\n",
       "      <td>44.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>12.534582</td>\n",
       "      <td>30.000000</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>64.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>1.020000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.451429</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>60.750000</td>\n",
       "      <td>...</td>\n",
       "      <td>14.675000</td>\n",
       "      <td>39.000000</td>\n",
       "      <td>92.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>90.000000</td>\n",
       "      <td>180.000000</td>\n",
       "      <td>1.025000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>490.000000</td>\n",
       "      <td>391.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>17.800000</td>\n",
       "      <td>44.000000</td>\n",
       "      <td>92.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              age          bp          sg          al          su          pc  \\\n",
       "count  398.000000  398.000000  398.000000  398.000000  398.000000  398.000000   \n",
       "mean    51.395887   76.502591    1.017429    1.014164    0.451429    0.972362   \n",
       "std     16.972717   13.483687    0.005370    1.274561    1.031829    0.591067   \n",
       "min      2.000000   50.000000    1.005000    0.000000    0.000000    0.000000   \n",
       "25%     42.000000   70.000000    1.015000    0.000000    0.000000    1.000000   \n",
       "50%     54.000000   78.251295    1.017429    0.500000    0.000000    1.000000   \n",
       "75%     64.000000   80.000000    1.020000    2.000000    0.451429    1.000000   \n",
       "max     90.000000  180.000000    1.025000    5.000000    5.000000    2.000000   \n",
       "\n",
       "              pcc          ba         bgr          bu  ...        hemo  \\\n",
       "count  398.000000  398.000000  398.000000  398.000000  ...  398.000000   \n",
       "mean     0.123116    0.075377  147.943503   57.512401  ...   12.534582   \n",
       "std      0.358303    0.300036   74.936192   49.366667  ...    2.719296   \n",
       "min      0.000000    0.000000   22.000000    1.500000  ...    3.100000   \n",
       "25%      0.000000    0.000000  101.000000   27.250000  ...   10.900000   \n",
       "50%      0.000000    0.000000  125.000000   44.000000  ...   12.534582   \n",
       "75%      0.000000    0.000000  150.000000   60.750000  ...   14.675000   \n",
       "max      2.000000    2.000000  490.000000  391.000000  ...   17.800000   \n",
       "\n",
       "              pcv          wc         htn          dm         cad       appet  \\\n",
       "count  398.000000  398.000000  398.000000  398.000000  398.000000  398.000000   \n",
       "mean    29.851759   64.374372    0.374372    3.306533    1.090452    0.206030   \n",
       "std     10.508753   28.197630    0.494857    0.590869    0.320358    0.411134   \n",
       "min      0.000000    0.000000    0.000000    0.000000    0.000000    0.000000   \n",
       "25%     22.000000   49.000000    0.000000    3.000000    1.000000    0.000000   \n",
       "50%     30.000000   71.000000    0.000000    3.000000    1.000000    0.000000   \n",
       "75%     39.000000   92.000000    1.000000    4.000000    1.000000    0.000000   \n",
       "max     44.000000   92.000000    2.000000    5.000000    3.000000    2.000000   \n",
       "\n",
       "               pe         ane  classification  \n",
       "count  398.000000  398.000000      398.000000  \n",
       "mean     0.195980    0.153266        0.376884  \n",
       "std      0.403741    0.367615        0.485216  \n",
       "min      0.000000    0.000000        0.000000  \n",
       "25%      0.000000    0.000000        0.000000  \n",
       "50%      0.000000    0.000000        0.000000  \n",
       "75%      0.000000    0.000000        1.000000  \n",
       "max      2.000000    2.000000        1.000000  \n",
       "\n",
       "[8 rows x 23 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "62d28860-6054-4a28-8580-9978950c7966",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age               0\n",
       "bp                0\n",
       "sg                0\n",
       "al                0\n",
       "su                0\n",
       "pc                0\n",
       "pcc               0\n",
       "ba                0\n",
       "bgr               0\n",
       "bu                0\n",
       "sc                0\n",
       "sod               0\n",
       "pot               0\n",
       "hemo              0\n",
       "pcv               0\n",
       "wc                0\n",
       "htn               0\n",
       "dm                0\n",
       "cad               0\n",
       "appet             0\n",
       "pe                0\n",
       "ane               0\n",
       "classification    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Check for missing values\n",
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "8879efcc-152d-4947-b105-3ea0e9103914",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "398"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "59299b59-7831-4d71-9b0f-dd5171c59b38",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Columns with more than 30% missing values:\n",
      "Series([], dtype: float64)\n"
     ]
    }
   ],
   "source": [
    "missing_percentage = df.isnull().mean() * 100\n",
    "# Filter columns with more than 30% (or 50%) missing values\n",
    "columns_with_missing_30 = missing_percentage[missing_percentage > 30]\n",
    "# Display the columns with more than 30% missing values\n",
    "print(\"Columns with more than 30% missing values:\")\n",
    "print(columns_with_missing_30)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "49ed4ff9-3361-4592-a7ba-2b24599d621c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Columns dropped: []\n",
      "Remaining columns: Index(['age', 'bp', 'sg', 'al', 'su', 'pc', 'pcc', 'ba', 'bgr', 'bu', 'sc',\n",
      "       'sod', 'pot', 'hemo', 'pcv', 'wc', 'htn', 'dm', 'cad', 'appet', 'pe',\n",
      "       'ane', 'classification'],\n",
      "      dtype='object')\n"
     ]
    }
   ],
   "source": [
    "missing_percentage = df.isnull().mean() * 100\n",
    "threshold = 30 \n",
    "# Filter columns with more than the threshold percentage of missing values\n",
    "columns_to_drop = missing_percentage[missing_percentage > threshold].index\n",
    "# Drop the columns\n",
    "df_cleaned = df.drop(columns=columns_to_drop)\n",
    "# Display the resulting dataframe after removing columns with too many missing valu\n",
    "print(f\"Columns dropped: {list(columns_to_drop)}\")\n",
    "print(f\"Remaining columns: {df_cleaned.columns}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "3d780a00-43b1-451f-9170-a92b43513384",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split, GridSearchCV\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.impute import SimpleImputer\n",
    "from sklearn.feature_selection import SelectKBest, f_classif, RFE\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, classification_report\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "6a7dff42-f696-4312-b3c2-ee1b03661511",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset shape: (398, 23)\n",
      "\n",
      "First few rows:\n",
      "    age    bp     sg   al   su  pc  pcc  ba         bgr    bu  ...  hemo  pcv  \\\n",
      "0  48.0  80.0  1.020  1.0  0.0   1    0   0  121.000000  36.0  ...  15.4   32   \n",
      "1   7.0  50.0  1.020  4.0  0.0   1    0   0  147.943503  18.0  ...  11.3   26   \n",
      "2  62.0  80.0  1.010  2.0  3.0   1    0   0  423.000000  53.0  ...   9.6   19   \n",
      "3  48.0  70.0  1.005  4.0  0.0   0    1   0  117.000000  56.0  ...  11.2   20   \n",
      "4  51.0  80.0  1.010  2.0  0.0   1    0   0  106.000000  26.0  ...  11.6   23   \n",
      "\n",
      "   wc  htn  dm  cad  appet  pe  ane  classification  \n",
      "0  72    1   4    1      0   0    0               0  \n",
      "1  56    0   3    1      0   0    0               0  \n",
      "2  70    0   4    1      1   0    1               0  \n",
      "3  62    1   3    1      1   1    1               0  \n",
      "4  68    0   3    1      0   0    0               0  \n",
      "\n",
      "[5 rows x 23 columns]\n",
      "\n",
      "Dataset info:\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 398 entries, 0 to 397\n",
      "Data columns (total 23 columns):\n",
      " #   Column          Non-Null Count  Dtype  \n",
      "---  ------          --------------  -----  \n",
      " 0   age             398 non-null    float64\n",
      " 1   bp              398 non-null    float64\n",
      " 2   sg              398 non-null    float64\n",
      " 3   al              398 non-null    float64\n",
      " 4   su              398 non-null    float64\n",
      " 5   pc              398 non-null    int64  \n",
      " 6   pcc             398 non-null    int64  \n",
      " 7   ba              398 non-null    int64  \n",
      " 8   bgr             398 non-null    float64\n",
      " 9   bu              398 non-null    float64\n",
      " 10  sc              398 non-null    float64\n",
      " 11  sod             398 non-null    float64\n",
      " 12  pot             398 non-null    float64\n",
      " 13  hemo            398 non-null    float64\n",
      " 14  pcv             398 non-null    int64  \n",
      " 15  wc              398 non-null    int64  \n",
      " 16  htn             398 non-null    int64  \n",
      " 17  dm              398 non-null    int64  \n",
      " 18  cad             398 non-null    int64  \n",
      " 19  appet           398 non-null    int64  \n",
      " 20  pe              398 non-null    int64  \n",
      " 21  ane             398 non-null    int64  \n",
      " 22  classification  398 non-null    int64  \n",
      "dtypes: float64(11), int64(12)\n",
      "memory usage: 71.6 KB\n",
      "None\n",
      "\n",
      "Missing values:\n",
      "age               0\n",
      "bp                0\n",
      "sg                0\n",
      "al                0\n",
      "su                0\n",
      "pc                0\n",
      "pcc               0\n",
      "ba                0\n",
      "bgr               0\n",
      "bu                0\n",
      "sc                0\n",
      "sod               0\n",
      "pot               0\n",
      "hemo              0\n",
      "pcv               0\n",
      "wc                0\n",
      "htn               0\n",
      "dm                0\n",
      "cad               0\n",
      "appet             0\n",
      "pe                0\n",
      "ane               0\n",
      "classification    0\n",
      "dtype: int64\n",
      "\n",
      "Target variable distribution:\n",
      "classification\n",
      "0    248\n",
      "1    150\n",
      "Name: count, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# Load the dataset\n",
    "data = pd.read_csv('kidney_disease_clean_final.csv')\n",
    "\n",
    "# Display basic information about the dataset\n",
    "print(\"Dataset shape:\", data.shape)\n",
    "print(\"\\nFirst few rows:\")\n",
    "print(data.head())\n",
    "print(\"\\nDataset info:\")\n",
    "print(data.info())\n",
    "print(\"\\nMissing values:\")\n",
    "print(data.isnull().sum())\n",
    "print(\"\\nTarget variable distribution:\")\n",
    "print(data['classification'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "25795cfa-f64a-4e33-a9b1-0f3067be55a7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Missing values after replacing suspicious values:\n",
      "age                 6\n",
      "bp                 12\n",
      "sg                 46\n",
      "al                 45\n",
      "su                 48\n",
      "pc                  0\n",
      "pcc                 0\n",
      "ba                  0\n",
      "bgr                50\n",
      "bu                 27\n",
      "sc                 17\n",
      "sod                87\n",
      "pot                88\n",
      "hemo               51\n",
      "pcv                69\n",
      "wc                109\n",
      "htn                 0\n",
      "dm                  0\n",
      "cad                 0\n",
      "appet               0\n",
      "pe                  0\n",
      "ane                 0\n",
      "classification      0\n",
      "dtype: int64\n",
      "Numerical columns: ['age', 'bp', 'sg', 'al', 'su', 'pc', 'pcc', 'ba', 'bgr', 'bu', 'sc', 'sod', 'pot', 'hemo', 'pcv', 'wc', 'htn', 'dm', 'cad', 'appet', 'pe', 'ane']\n",
      "Categorical columns: []\n",
      "Missing values after imputation:\n",
      "0\n",
      "==================================================\n",
      "MODEL TRAINING WITH GRID SEARCH\n",
      "==================================================\n",
      "\n",
      "Random Forest Classifier:\n",
      "Best parameters: {'max_depth': None, 'min_samples_leaf': 2, 'min_samples_split': 2, 'n_estimators': 100}\n",
      "Best cross-validation score: 0.9938\n",
      "Accuracy: 0.9500\n",
      "Precision: 0.9537\n",
      "Recall: 0.9500\n",
      "F1-Score: 0.9492\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOZtJREFUeJzt3XtcVWXe///3EmGDCqioHAwNj2nmCYugTM20yNvJ22bSdErzUKYdyNKGmAI7iPFrlEZT08pTmjWpjTblTyfLLLTQtNQxJ0c8VBKeUVREWN8/erjv2eEBdG/2dl+v5zzW445rrb3WZ/uYvD/zvq51Ydm2bQsAAADGqObtAgAAAFC1aAABAAAMQwMIAABgGBpAAAAAw9AAAgAAGIYGEAAAwDA0gAAAAIahAQQAADAMDSAAAIBhaACBK8B3332nBx54QHFxcQoODlatWrXUsWNHZWVl6dChQx599saNG9WlSxeFh4fLsixlZ2e7/RmWZSkjI8Pt972Y2bNny7IsWZalzz77rNx527bVrFkzWZalrl27XtIzpk6dqtmzZ1fqM5999tl5awIAd6ju7QIAXNjMmTM1cuRItWzZUmPGjFHr1q1VUlKi9evXa/r06Vq7dq2WLFnisecPGTJERUVFWrhwoerUqaOrr77a7c9Yu3atrrrqKrfft6JCQ0P15ptvlmvyVq9erf/85z8KDQ295HtPnTpV9erV0+DBgyv8mY4dO2rt2rVq3br1JT8XAC6EBhDwYWvXrtXDDz+sHj166IMPPpDD4XCe69Gjh5588kktX77cozVs2bJFw4cPV3JysseeceONN3rs3hXRr18/zZ8/X6+99prCwsKc42+++aYSExNVWFhYJXWUlJTIsiyFhYV5/c8EgH9jChjwYePHj5dlWZoxY4ZL83dWUFCQfve73zl/LisrU1ZWlq655ho5HA41aNBA999/v3788UeXz3Xt2lVt2rRRbm6uOnfurBo1aqhJkyaaMGGCysrKJP3f9OiZM2c0bdo051SpJGVkZDj/+b+d/cyuXbucY6tWrVLXrl0VERGhkJAQNWrUSHfffbdOnDjhvOZcU8BbtmzRXXfdpTp16ig4OFjt27fXnDlzXK45O1X6zjvvKC0tTTExMQoLC9Ntt92m7du3V+wPWdK9994rSXrnnXecY0ePHtWiRYs0ZMiQc35m3LhxSkhIUN26dRUWFqaOHTvqzTfflG3bzmuuvvpqbd26VatXr3b++Z1NUM/WPm/ePD355JNq2LChHA6HduzYUW4K+MCBA4qNjVVSUpJKSkqc9//Xv/6lmjVr6r777qvwdwUAiQYQ8FmlpaVatWqV4uPjFRsbW6HPPPzww3r66afVo0cPLV26VC+88IKWL1+upKQkHThwwOXa/Px8DRw4UH/84x+1dOlSJScnKzU1VW+//bYkqVevXlq7dq0k6fe//73Wrl3r/Lmidu3apV69eikoKEhvvfWWli9frgkTJqhmzZo6ffr0eT+3fft2JSUlaevWrfrrX/+qxYsXq3Xr1ho8eLCysrLKXf/MM89o9+7deuONNzRjxgz98MMP6t27t0pLSytUZ1hYmH7/+9/rrbfeco698847qlatmvr163fe7/bQQw/pvffe0+LFi9W3b189+uijeuGFF5zXLFmyRE2aNFGHDh2cf36/na5PTU3Vnj17NH36dC1btkwNGjQo96x69epp4cKFys3N1dNPPy1JOnHihP7whz+oUaNGmj59eoW+JwA42QB8Un5+vi3J7t+/f4Wu37Ztmy3JHjlypMv4V199ZUuyn3nmGedYly5dbEn2V1995XJt69at7dtvv91lTJI9atQol7H09HT7XH99zJo1y5Zk5+Xl2bZt2++//74tyd60adMFa5dkp6enO3/u37+/7XA47D179rhcl5ycbNeoUcM+cuSIbdu2/emnn9qS7DvvvNPluvfee8+WZK9du/aCzz1bb25urvNeW7ZssW3btq+//np78ODBtm3b9rXXXmt36dLlvPcpLS21S0pK7Oeff96OiIiwy8rKnOfO99mzz7vlllvOe+7TTz91GX/55ZdtSfaSJUvsQYMG2SEhIfZ33313we8IAOdCAgj4iU8//VSSyr1scMMNN6hVq1b65JNPXMajoqJ0ww03uIy1bdtWu3fvdltN7du3V1BQkB588EHNmTNHO3furNDnVq1ape7du5dLPgcPHqwTJ06USyL/expc+vV7SKrUd+nSpYuaNm2qt956S5s3b1Zubu55p3/P1njbbbcpPDxcAQEBCgwM1HPPPaeDBw+qoKCgws+9++67K3ztmDFj1KtXL917772aM2eOJk+erOuuu67CnweAs2gAAR9Vr1491ahRQ3l5eRW6/uDBg5Kk6OjocudiYmKc58+KiIgod53D4dDJkycvodpza9q0qf75z3+qQYMGGjVqlJo2baqmTZvq1VdfveDnDh48eN7vcfb8f/vtdzm7XrIy38WyLD3wwAN6++23NX36dLVo0UKdO3c+57Vff/21evbsKenXt7S//PJL5ebmKi0trdLPPdf3vFCNgwcP1qlTpxQVFcXaPwCXjAYQ8FEBAQHq3r27NmzYUO4ljnM52wTt27ev3Lmff/5Z9erVc1ttwcHBkqTi4mKX8d+uM5Skzp07a9myZTp69KjWrVunxMREpaSkaOHChee9f0RExHm/hyS3fpf/NnjwYB04cEDTp0/XAw88cN7rFi5cqMDAQH344Ye65557lJSUpE6dOl3SM8/1Ms357Nu3T6NGjVL79u118OBBPfXUU5f0TACgAQR8WGpqqmzb1vDhw8/50kRJSYmWLVsmSbr11lslyfkSx1m5ubnatm2bunfv7ra6zr7J+t1337mMn63lXAICApSQkKDXXntNkvTNN9+c99ru3btr1apVzobvrLlz56pGjRoe2yKlYcOGGjNmjHr37q1Bgwad9zrLslS9enUFBAQ4x06ePKl58+aVu9ZdqWppaanuvfdeWZaljz/+WJmZmZo8ebIWL1582fcGYB72AQR8WGJioqZNm6aRI0cqPj5eDz/8sK699lqVlJRo48aNmjFjhtq0aaPevXurZcuWevDBBzV58mRVq1ZNycnJ2rVrl5599lnFxsbqiSeecFtdd955p+rWrauhQ4fq+eefV/Xq1TV79mzt3bvX5brp06dr1apV6tWrlxo1aqRTp04537S97bbbznv/9PR0ffjhh+rWrZuee+451a1bV/Pnz9c//vEPZWVlKTw83G3f5bcmTJhw0Wt69eqliRMnasCAAXrwwQd18OBBvfLKK+fcque6667TwoUL9e6776pJkyYKDg6+pHV76enpWrNmjVasWKGoqCg9+eSTWr16tYYOHaoOHTooLi6u0vcEYC4aQMDHDR8+XDfccIMmTZqkl19+Wfn5+QoMDFSLFi00YMAAPfLII85rp02bpqZNm+rNN9/Ua6+9pvDwcN1xxx3KzMw855q/SxUWFqbly5crJSVFf/zjH1W7dm0NGzZMycnJGjZsmPO69u3ba8WKFUpPT1d+fr5q1aqlNm3aaOnSpc41dOfSsmVL5eTk6JlnntGoUaN08uRJtWrVSrNm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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Logistic Regression:\n",
      "Best parameters: {'C': 1, 'solver': 'liblinear'}\n",
      "Best cross-validation score: 0.9812\n",
      "Accuracy: 0.9750\n",
      "Precision: 0.9750\n",
      "Recall: 0.9750\n",
      "F1-Score: 0.9750\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANZRJREFUeJzt3Xl0VFW6/vHnJCSVBJJAwCQECIZRBoEImgZFggx2pFEu2g6gMjuACqLgxVwNtFcCaRtQRkFlUBC5AjY48AMFQQU0ILSKgW4kCChpZAyEEDKc3x8uqi3DkIKqVFL7+3HVamufU+e8laXy9rP32bFs27YFAAAAYwT4ugAAAACULxpAAAAAw9AAAgAAGIYGEAAAwDA0gAAAAIahAQQAADAMDSAAAIBhaAABAAAMQwMIAABgGBpAoBL45ptvNGDAACUkJCgkJETVqlXTddddp4yMDB09etSr9962bZs6deqkyMhIWZalKVOmePwelmVp7NixHr/upcybN0+WZcmyLH366aeljtu2rUaNGsmyLCUnJ1/WPWbMmKF58+a59ZlPP/30gjUBgCdU8XUBAC5uzpw5Gjp0qJo2bapRo0apefPmKiws1JYtWzRr1ixt2rRJy5cv99r9Bw4cqLy8PC1evFg1atTQ1Vdf7fF7bNq0SXXr1vX4dcsqPDxcr7/+eqkmb/369frhhx8UHh5+2deeMWOGatWqpf79+5f5M9ddd502bdqk5s2bX/Z9AeBiaACBCmzTpk169NFH1a1bN7333ntyOBzOY926ddNTTz2lVatWebWG7777TkOGDFFKSorX7vGHP/zBa9cui3vuuUcLFy7U9OnTFRER4Rx//fXX1b59e+Xm5pZLHYWFhbIsSxERET7/mQDwb0wBAxXY+PHjZVmWZs+e7dL8nRMcHKzbb7/d+b6kpEQZGRm65ppr5HA4FB0drQcffFAHDhxw+VxycrJatmypzMxMdezYUWFhYWrQoIEmTJigkpISSf+ZHi0qKtLMmTOdU6WSNHbsWOff/9a5z+zdu9c5tnbtWiUnJ6tmzZoKDQ1VfHy87rzzTp0+fdp5zvmmgL/77jvdcccdqlGjhkJCQtSmTRvNnz/f5ZxzU6Vvv/22UlNTFRcXp4iICHXt2lW7du0q2w9Z0n333SdJevvtt51jJ06c0NKlSzVw4MDzfmbcuHFKSkpSVFSUIiIidN111+n111+XbdvOc66++mrt2LFD69evd/78ziWo52p/88039dRTT6lOnTpyOBzavXt3qSngw4cPq169eurQoYMKCwud1//+++9VtWpVPfDAA2X+rgAg0QACFVZxcbHWrl2rtm3bql69emX6zKOPPqpnnnlG3bp104oVK/TCCy9o1apV6tChgw4fPuxybk5Ojvr27av7779fK1asUEpKisaMGaO33npLktSjRw9t2rRJknTXXXdp06ZNzvdltXfvXvXo0UPBwcF64403tGrVKk2YMEFVq1bV2bNnL/i5Xbt2qUOHDtqxY4deeeUVLVu2TM2bN1f//v2VkZFR6vxnn31WP/74o1577TXNnj1b//rXv9SzZ08VFxeXqc6IiAjdddddeuONN5xjb7/9tgICAnTPPfdc8Ls9/PDDWrJkiZYtW6bevXvr8ccf1wsvvOA8Z/ny5WrQoIESExOdP7/fT9ePGTNG+/bt06xZs7Ry5UpFR0eXuletWrW0ePFiZWZm6plnnpEknT59Wn/+858VHx+vWbNmlel7AoCTDaBCysnJsSXZ9957b5nOz8rKsiXZQ4cOdRn/8ssvbUn2s88+6xzr1KmTLcn+8ssvXc5t3ry5feutt7qMSbKHDRvmMpaWlmaf7z8fc+fOtSXZ2dnZtm3b9rvvvmtLsrdv337R2iXZaWlpzvf33nuv7XA47H379rmcl5KSYoeFhdnHjx+3bdu2161bZ0uyb7vtNpfzlixZYkuyN23adNH7nqs3MzPTea3vvvvOtm3bvv766+3+/fvbtm3bLVq0sDt16nTB6xQXF9uFhYX2X/7yF7tmzZp2SUmJ89iFPnvufjfffPMFj61bt85lfOLEibYke/ny5Xa/fv3s0NBQ+5tvvrnodwSA8yEBBPzEunXrJKnUwwY33HCDmjVrpk8++cRlPDY2VjfccIPLWKtWrfTjjz96rKY2bdooODhYDz30kObPn689e/aU6XNr165Vly5dSiWf/fv31+nTp0slkb+dBpd+/R6S3PounTp1UsOGDfXGG2/o22+/VWZm5gWnf8/V2LVrV0VGRiowMFBBQUF6/vnndeTIER06dKjM973zzjvLfO6oUaPUo0cP3XfffZo/f76mTp2qa6+9tsyfB4BzaACBCqpWrVoKCwtTdnZ2mc4/cuSIJKl27dqljsXFxTmPn1OzZs1S5zkcDuXn519GtefXsGFDffzxx4qOjtawYcPUsGFDNWzYUC+//PJFP3fkyJELfo9zx3/r99/l3HpJd76LZVkaMGCA3nrrLc2aNUtNmjRRx44dz3vuV199pe7du0v69SntL774QpmZmUpNTXX7vuf7nhersX///jpz5oxiY2NZ+wfgstEAAhVUYGCgunTpoq1bt5Z6iON8zjVBBw8eLHXs559/Vq1atTxWW0hIiCSpoKDAZfz36wwlqWPHjlq5cqVOnDihzZs3q3379hoxYoQWL158wevXrFnzgt9Dkke/y2/1799fhw8f1qxZszRgwIALnrd48WIFBQXp/fff1913360OHTqoXbt2l3XP8z1McyEHDx7UsGHD1KZNGx05ckRPP/30Zd0TAGgAgQpszJgxsm1bQ4YMOe9DE4WFhVq5cqUk6ZZbbpEk50Mc52RmZiorK0tdunTxWF3nnmT95ptvXMbP1XI+gYGBSkpK0vTp0yVJX3/99QXP7dKli9auXets+M5ZsGCBwsLCvLZFSp06dTRq1Cj17NlT/fr1u+B5lmWpSpUqCgwMdI7l5+frzTffLHWup1LV4uJi3XfffbIsSx999JHS09M1depULVu27IqvDcA87AMIVGDt27fXzJkzNXToULVt21aPPvqoWrRoocLCQm3btk2zZ89Wy5Yt1bNnTzVt2lQPPfSQpk6dqoCAAKWkpGjv3r167rnnVK9ePT355JMeq+u2225TVFSUBg0apL/85S+qUqWK5s2bp/3797ucN2vWLK1du1Y9evRQfHy8zpw543zStmvXrhe8flpamt5//3117txZzz//vKKiorRw4UJ98MEHysjIUGRkpMe+y+9NmDDhkuf06NFDkyZNUp8+ffTQQw/pyJEjeumll867Vc+1116rxYsX65133lGDBg0UEhJyWev20tLS9Nlnn2n16tWKjY3VU089pfXr12vQoEFKTExUQkKC29cEYC4aQKCCGzJkiG644QZNnjxZEydOVE5OjoKCgtSkSRP16dNHjz32mPPcmTNnqmHDhnr99dc1ffp0RUZG6o9//KPS09PPu+bvckVERGjVqlUaMWKE7r//flWvXl2DBw9WSkqKBg8e7DyvTZs2Wr16tdLS0pSTk6Nq1aqpZcuWWrFihXMN3fk0bdpUGzdu1LPPPqthw4YpPz9fzZo109y5c936jRre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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Support Vector Machine:\n",
      "Best parameters: {'C': 1, 'gamma': 'scale', 'kernel': 'rbf'}\n",
      "Best cross-validation score: 0.9906\n",
      "Accuracy: 0.9625\n",
      "Precision: 0.9646\n",
      "Recall: 0.9625\n",
      "F1-Score: 0.9621\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOVpJREFUeJzt3XtYVWXe//HPAmEDCnhKEAXDY5p5CIuBMi3TIsfJx2aydErzUKYdyNKGeArsIMXVGI3HtPKUZk1qo03507LMQgtNSx1zMvFQyeAZRUWE9fujy/3MDlTQvdnbfb9fc61r3Pdae63v8ppmvvO577W2Zdu2LQAAABgjwNsFAAAAoGbRAAIAABiGBhAAAMAwNIAAAACGoQEEAAAwDA0gAACAYWgAAQAADEMDCAAAYBgaQAAAAMPQAAKXgO+++0733Xef4uPjFRISojp16ujqq69Wdna2Dh486NFrb9iwQd26dVNkZKQsy1JOTo7br2FZljIzM91+3vOZNWuWLMuSZVn67LPPKuy3bVstW7aUZVnq3r37BV1jypQpmjVrVrW+89lnn521JgBwh1reLgDAuc2YMUMjR45UmzZtNGbMGLVr106lpaVat26dpk2bpjVr1mjx4sUeu/6QIUNUXFysBQsWqF69err88svdfo01a9aoadOmbj9vVYWHh+uNN96o0OStWrVKP/74o8LDwy/43FOmTFHDhg01ePDgKn/n6quv1po1a9SuXbsLvi4AnAsNIODD1qxZowcffFA9e/bU+++/L4fD4dzXs2dPPf7441q2bJlHa9i8ebOGDx+ulJQUj13jd7/7ncfOXRX9+/fXvHnzNHnyZEVERDjH33jjDSUlJamoqKhG6igtLZVlWYqIiPD63wkA/8YUMODDxo8fL8uyNH36dJfm74zg4GD94Q9/cH4uLy9Xdna2rrjiCjkcDjVq1Ej33nuvfvrpJ5fvde/eXe3bt1deXp66du2qsLAwNW/eXC+++KLKy8sl/d/06OnTpzV16lTnVKkkZWZmOv/83858Z+fOnc6xlStXqnv37mrQoIFCQ0MVFxenO+64Q8ePH3ceU9kU8ObNm3X77berXr16CgkJUadOnTR79myXY85Mlb799ttKT09XTEyMIiIidPPNN2vbtm1V+0uWdPfdd0uS3n77befYkSNHtHDhQg0ZMqTS74wbN06JiYmqX7++IiIidPXVV+uNN96QbdvOYy6//HJt2bJFq1atcv79nUlQz9Q+d+5cPf7442rSpIkcDoe2b99eYQp4//79io2NVXJyskpLS53n/9e//qXatWvrnnvuqfK9AoBEAwj4rLKyMq1cuVIJCQmKjY2t0ncefPBBPfnkk+rZs6eWLFmi5557TsuWLVNycrL279/vcmxBQYEGDhyoP//5z1qyZIlSUlKUlpamt956S5LUu3dvrVmzRpL0xz/+UWvWrHF+rqqdO3eqd+/eCg4O1ptvvqlly5bpxRdfVO3atXXq1Kmzfm/btm1KTk7Wli1b9Le//U2LFi1Su3btNHjwYGVnZ1c4/qmnntKuXbv0+uuva/r06frhhx/Up08flZWVVanOiIgI/fGPf9Sbb77pHHv77bcVEBCg/v37n/XeHnjgAb377rtatGiR+vXrp4cffljPPfec85jFixerefPm6ty5s/Pv77fT9Wlpadq9e7emTZumpUuXqlGjRhWu1bBhQy1YsEB5eXl68sknJUnHjx/Xn/70J8XFxWnatGlVuk8AcLIB+KSCggJbkn3XXXdV6fitW7fakuyRI0e6jH/11Ve2JPupp55yjnXr1s2WZH/11Vcux7Zr186+5ZZbXMYk2aNGjXIZy8jIsCv7r4+ZM2fakuz8/Hzbtm37vffesyXZGzduPGftkuyMjAzn57vuust2OBz27t27XY5LSUmxw8LC7MOHD9u2bduffvqpLcm+7bbbXI579913bUn2mjVrznndM/Xm5eU5z7V582bbtm37mmuusQcPHmzbtm1feeWVdrdu3c56nrKyMru0tNR+9tln7QYNGtjl5eXOfWf77pnr3XDDDWfd9+mnn7qMv/TSS7Yke/HixfagQYPs0NBQ+7vvvjvnPQJAZUgAAT/x6aefSlKFhw2uvfZatW3bVp988onLeHR0tK699lqXsQ4dOmjXrl1uq6lTp04KDg7W/fffr9mzZ2vHjh1V+t7KlSvVo0ePCsnn4MGDdfz48QpJ5H9Pg0u/3oekat1Lt27d1KJFC7355pvatGmT8vLyzjr9e6bGm2++WZGRkQoMDFRQUJCeeeYZHThwQIWFhVW+7h133FHlY8eMGaPevXvr7rvv1uzZszVx4kRdddVVVf4+AJxBAwj4qIYNGyosLEz5+flVOv7AgQOSpMaNG1fYFxMT49x/RoMGDSoc53A4dOLEiQuotnItWrTQxx9/rEaNGmnUqFFq0aKFWrRooVdfffWc3ztw4MBZ7+PM/v/223s5s16yOvdiWZbuu+8+vfXWW5o2bZpat26trl27Vnrs119/rV69ekn69SntL7/8Unl5eUpPT6/2dSu7z3PVOHjwYJ08eVLR0dGs/QNwwWgAAR8VGBioHj16aP369RUe4qjMmSZo7969Ffb98ssvatiwodtqCwkJkSSVlJS4jP92naEkde3aVUuXLtWRI0e0du1aJSUlKTU1VQsWLDjr+Rs0aHDW+5Dk1nv5b4MHD9b+/fs1bdo03XfffWc9bsGCBQoKCtIHH3ygO++8U8nJyerSpcsFXbOyh2nOZu/evRo1apQ6deqkAwcO6IknnrigawIADSDgw9LS0mTbtoYPH17pQxOlpaVaunSpJOmmm26SJOdDHGfk5eVp69at6tGjh9vqOvMk63fffecyfqaWygQGBioxMVGTJ0+WJH3zzTdnPbZHjx5auXKls+E7Y86cOQoLC/PYK1KaNGmiMWPGqE+fPho0aNBZj7MsS7Vq1VJgYKBz7MSJE5o7d26FY92VqpaVlenuu++WZVn66KOPlJWVpYkTJ2rRokUXfW4A5uE9gIAPS0pK0tSpUzVy5EglJCTowQcf1JVXXqnS0lJt2LBB06dPV/v27dWnTx+1adNG999/vyZOnKiAgAClpKRo586devrppxUbG6vHHnvMbXXddtttql+/voYOHapnn31WtWrV0qxZs7Rnzx6X46ZNm6aVK1eqd+/eiouL08mTJ51P2t58881nPX9GRoY++OAD3XjjjXrmmWdUv359zZs3T//85z+VnZ2tyMhIt93Lb7344ovnPaZ3796aMGGCBgwYoPvvv18HDhzQyy+/XOmreq666iotWLBA77zzjpo3b66QkJALWreXkZGh1atXa/ny5YqOjtbjjz+uVatWaejQoercubPi4+OrfU4A5qIBBHzc8OHDde211+qVV17RSy+9pIKCAgUFBal169YaMGCAHnroIeexU6dOVYsWLfTGG29o8uTJioyM1K233qqsrKxK1/xdqIiICC1btkypqan685//rLp162rYsGFKSUnRsGHDnMd16tRJy5cvV0ZGhgoKClSnTh21b99eS5Ysca6hq0ybNm2Um5urp556SqNGjdKJEyfUtm1bzZw5s1q/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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==================================================\n",
      "FEATURE SELECTION\n",
      "==================================================\n",
      "\n",
      "Feature Selection Method 1: SelectKBest (ANOVA F-value)\n",
      "Top 10 features by ANOVA F-value:\n",
      "   Feature       Score\n",
      "13    hemo  368.048868\n",
      "14     pcv  264.071735\n",
      "2       sg  238.515916\n",
      "16     htn  168.688449\n",
      "3       al  121.625717\n",
      "17      dm   70.973705\n",
      "11     sod   69.342076\n",
      "19   appet   50.600309\n",
      "8      bgr   48.466894\n",
      "9       bu   47.199716\n",
      "\n",
      "Feature Selection Method 2: Recursive Feature Elimination (RFE)\n",
      "Top 10 features by RFE:\n",
      "Index(['sg', 'al', 'bgr', 'bu', 'sc', 'sod', 'hemo', 'pcv', 'htn', 'dm'], dtype='object')\n",
      "==================================================\n",
      "MODEL EVALUATION WITH SELECTED FEATURES\n",
      "==================================================\n",
      "\n",
      "SelectKBest Features:\n",
      "Accuracy: 0.9375\n",
      "Precision: 0.9432\n",
      "Recall: 0.9375\n",
      "F1-Score: 0.9361\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOXhJREFUeJzt3XtcVXW+//H3EmEDCiiYIIaG17zkJSyCMi3TIo+T48xk6TSalzLtQpZ2yFNgpRi/Rmm8ppm3NOukNtrFn85Y5oQWmpYy1skRL6WEdxQVEdbvj37uMzu8gO7N3u7v6zmP9TjxXWuv9dk8TvP4zPv7XV8s27ZtAQAAwBg1vF0AAAAAqhcNIAAAgGFoAAEAAAxDAwgAAGAYGkAAAADD0AACAAAYhgYQAADAMDSAAAAAhqEBBAAAMAwNIHAV+Pbbb/Xwww8rPj5ewcHBql27tm688UZlZWXp8OHDHn325s2b1aVLF0VERMiyLGVnZ7v9GZZlKSMjw+33vZS5c+fKsixZlqXPPvuswnnbttWsWTNZlqWuXbte1jOmTZumuXPnVukzn3322QVrAgB3qOntAgBc3KxZszR8+HC1bNlSo0aNUuvWrVVaWqqNGzdqxowZWr9+vZYtW+ax5w8aNEjFxcVavHix6tatq+uuu87tz1i/fr2uvfZat9+3ssLCwjR79uwKTd7atWv1r3/9S2FhYZd972nTpqlevXoaOHBgpT9z4403av369WrduvVlPxcALoYGEPBh69ev12OPPabu3bvrgw8+kMPhcJ7r3r27nnnmGa1cudKjNWzbtk1Dhw5VSkqKx55xyy23eOzeldG3b18tXLhQU6dOVXh4uHN89uzZSkpKUlFRUbXUUVpaKsuyFB4e7vXfCQD/xhQw4MPGjx8vy7I0c+ZMl+bvnKCgIP3mN79x/lxeXq6srCxdf/31cjgcql+/vv70pz/pxx9/dPlc165d1bZtW+Xm5qpz584KDQ1VkyZNNGHCBJWXl0v63+nRs2fPavr06c6pUknKyMhw/vO/O/eZXbt2OcfWrFmjrl27KioqSiEhIWrUqJF+97vf6eTJk85rzjcFvG3bNt13332qW7eugoOD1aFDB82bN8/lmnNTpe+8847GjBmj2NhYhYeH66677tL3339fuV+ypAcffFCS9M477zjHjh07piVLlmjQoEHn/czYsWOVmJioyMhIhYeH68Ybb9Ts2bNl27bzmuuuu055eXlau3at8/d3LkE9V/uCBQv0zDPPqGHDhnI4HNqxY0eFKeCDBw8qLi5OycnJKi0tdd7/n//8p2rVqqWHHnqo0t8VACQaQMBnlZWVac2aNUpISFBcXFylPvPYY4/pueeeU/fu3bV8+XK9/PLLWrlypZKTk3Xw4EGXawsKCtS/f3/98Y9/1PLly5WSkqK0tDS9/fbbkqSePXtq/fr1kqTf//73Wr9+vfPnytq1a5d69uypoKAgvfXWW1q5cqUmTJigWrVq6cyZMxf83Pfff6/k5GTl5eXpL3/5i5YuXarWrVtr4MCBysrKqnD9888/r927d+vNN9/UzJkz9cMPP6hXr14qKyurVJ3h4eH6/e9/r7feess59s4776hGjRrq27fvBb/bo48+qvfee09Lly5Vnz599MQTT+jll192XrNs2TI1adJEHTt2dP7+fj1dn5aWpj179mjGjBlasWKF6tevX+FZ9erV0+LFi5Wbm6vnnntOknTy5En94Q9/UKNGjTRjxoxKfU8AcLIB+KSCggJbkv3AAw9U6vrt27fbkuzhw4e7jH/55Ze2JPv55593jnXp0sWWZH/55Zcu17Zu3dq+++67XcYk2SNGjHAZS09Pt8/3Xx9z5syxJdn5+fm2bdv2+++/b0uyt2zZctHaJdnp6enOnx944AHb4XDYe/bscbkuJSXFDg0NtY8ePWrbtm1/+umntiT73nvvdbnuvffesyXZ69evv+hzz9Wbm5vrvNe2bdts27btm266yR44cKBt27bdpk0bu0uXLhe8T1lZmV1aWmq/9NJLdlRUlF1eXu48d6HPnnve7bfffsFzn376qcv4q6++akuyly1bZg8YMMAOCQmxv/3224t+RwA4HxJAwE98+umnklThZYObb75ZrVq10t///neX8ZiYGN18880uY+3atdPu3bvdVlOHDh0UFBSkRx55RPPmzdPOnTsr9bk1a9aoW7duFZLPgQMH6uTJkxWSyH+fBpd++R6SqvRdunTpoqZNm+qtt97S1q1blZube8Hp33M13nXXXYqIiFBAQIACAwP14osv6tChQyosLKz0c3/3u99V+tpRo0apZ8+eevDBBzVv3jxNnjxZN9xwQ6U/DwDn0AACPqpevXoKDQ1Vfn5+pa4/dOiQJKlBgwYVzsXGxjrP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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9875\n",
      "Precision: 0.9879\n",
      "Recall: 0.9875\n",
      "F1-Score: 0.9875\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAN31JREFUeJzt3XtcVWXe///3AmGDCigaIJ7CY5p5wuKGMvFY5Fj+7GBppXko00qytJ9xN2hNYk630nhMy2OWOamNNuWtk2WWWmg6laPOlHioZDyLIiKH9f2j2z3tQGXr3mzc1+s5j/WY4Vprr/XZPO7u+cz7utaFZdu2LQAAABgjwNcFAAAAoGLRAAIAABiGBhAAAMAwNIAAAACGoQEEAAAwDA0gAACAYWgAAQAADEMDCAAAYBgaQAAAAMPQAAJXgW+++UaPPPKI4uLiFBISourVq6t9+/aaNGmSjh075tVnb9u2TZ06dVJERIQsy1JmZqbHn2FZlsaNG+fx+17K/PnzZVmWLMvSp59+Wuq8bdtq0qSJLMtScnLyZT1jxowZmj9/vluf+fTTTy9YEwB4QhVfFwDg4ubMmaPhw4erefPmGj16tFq2bKnCwkJt2bJFs2bN0qZNm7RixQqvPX/QoEHKy8vTkiVLVLNmTV177bUef8amTZtUr149j9+3vMLCwvTmm2+WavLWr1+vH374QWFhYZd97xkzZqh27doaOHBguT/Tvn17bdq0SS1btrzs5wLAxdAAApXYpk2b9Pjjj6t79+56//335XA4nOe6d++uZ555RqtXr/ZqDd99952GDh2qlJQUrz3jv/7rv7x27/Lo27evFi9erOnTpys8PNw5/uabbyoxMVG5ubkVUkdhYaEsy1J4eLjPfycA/BtTwEAlNmHCBFmWpdmzZ7s0f+cFBwfrzjvvdP5cUlKiSZMm6brrrpPD4VBUVJQefvhh/fjjjy6fS05OVqtWrZSVlaWOHTuqatWqatSokSZOnKiSkhJJ/5keLSoq0syZM51TpZI0btw453/+tfOf2bt3r3Ns3bp1Sk5OVq1atRQaGqoGDRro7rvv1pkzZ5zXlDUF/N133+muu+5SzZo1FRISorZt22rBggUu15yfKn3nnXeUlpam2NhYhYeHq1u3btq9e3f5fsmSHnjgAUnSO++84xw7efKkli1bpkGDBpX5mfHjxyshIUGRkZEKDw9X+/bt9eabb8q2bec11157rXbs2KH169c7f3/nE9TztS9atEjPPPOM6tatK4fDoe+//77UFPCRI0dUv359JSUlqbCw0Hn/f/zjH6pWrZoeeuihcn9XAJBoAIFKq7i4WOvWrVN8fLzq169frs88/vjjeu6559S9e3etXLlSL730klavXq2kpCQdOXLE5dqcnBz1799fDz74oFauXKmUlBSNHTtWb731liSpZ8+e2rRpkyTpnnvu0aZNm5w/l9fevXvVs2dPBQcHa+7cuVq9erUmTpyoatWq6dy5cxf83O7du5WUlKQdO3boT3/6k5YvX66WLVtq4MCBmjRpUqnrn3/+ee3bt09vvPGGZs+erX/961/q1auXiouLy1VneHi47rnnHs2dO9c59s477yggIEB9+/a94Hd77LHHtHTpUi1fvlx9+vTRk08+qZdeesl5zYoVK9SoUSO1a9fO+fv77XT92LFjtX//fs2aNUurVq1SVFRUqWfVrl1bS5YsUVZWlp577jlJ0pkzZ3TvvfeqQYMGmjVrVrm+JwA42QAqpZycHFuSff/995fr+p07d9qS7OHDh7uMf/nll7Yk+/nnn3eOderUyZZkf/nlly7XtmzZ0r7ttttcxiTZI0aMcBlLT0+3y/p/H/PmzbMl2dnZ2bZt2/Z7771nS7K3b99+0dol2enp6c6f77//ftvhcNj79+93uS4lJcWuWrWqfeLECdu2bfuTTz6xJdl33HGHy3VLly61JdmbNm266HPP15uVleW813fffWfbtm3feOON9sCBA23btu3rr7/e7tSp0wXvU1xcbBcWFtovvviiXatWLbukpMR57kKfPf+8W2+99YLnPvnkE5fxV155xZZkr1ixwh4wYIAdGhpqf/PNNxf9jgBQFhJAwE988sknklTqZYObbrpJLVq00Mcff+wyHhMTo5tuusllrHXr1tq3b5/Hamrbtq2Cg4P16KOPasGCBdqzZ0+5Prdu3Tp17dq1VPI5cOBAnTlzplQS+etpcOmX7yHJre/SqVMnNW7cWHPnztW3336rrKysC07/nq+xW7duioiIUGBgoIKCgvT73/9eR48e1aFDh8r93Lvvvrvc144ePVo9e/bUAw88oAULFmjq1Km64YYbyv15ADiPBhCopGrXrq2qVasqOzu7XNcfPXpUklSnTp1S52JjY53nz6tVq1ap6xwOh/Lz8y+j2rI1btxYf/vb3xQVFaURI0aocePGaty4sV577bWLfu7o0aMX/B7nz//ab7/L+fWS7nwXy7L0yCOP6K233tKsWbPUrFkzdezYscxrv/rqK/Xo0UPSL29pf/HFF8rKylJaWprbzy3re16sxoEDB+rs2bOKiYlh7R+Ay0YDCFRSgYGB6tq1q7Zu3VrqJY6ynG+CDh48WOrczz//rNq1a3ustpCQEElSQUGBy/hv1xlKUseOHbVq1SqdPHlSmzdvVmJiolJTU7VkyZIL3r9WrVoX/B6SPPpdfm3gwIE6cuSIZs2apUceeeSC1y1ZskRBQUH64IMPdN999ykpKUkdOnS4rGeW9TLNhRw8eFAjRoxQ27ZtdfToUT377LOX9UwAoAEEKrGxY8fKtm0NHTq0zJcmCgsLtWrVKklSly5dJMn5Esd5WVlZ2rlzp7p27eqxus6/yfrNN9+4jJ+vpSyBgYFKSEjQ9OnTJUlff/31Ba/t2rWr1q1b52z4zlu4cKGqVq3qtS1S6tatq9GjR6tXr14aMGDABa+zLEtVqlRRYGCgcyw/P1+LFi0qda2nUtXi4mI98MADsixLH330kTIyMjR16lQtX778iu8NwDzsAwhUYomJiZo5c6aGDx+u+Ph4Pf7447r++utVWFiobdu2afbs2WrVqpV69eql5s2b69FHH9XUqVMVEBCglJQU7d27Vy+88ILq16+vp59+2mN13XHHHYqMjNTgwYP14osvqkqVKpo/f74OHDjgct2sWbO0bt069ezZUw0aNNDZs2edb9p269btgvdPT0/XBx98oM6dO+v3v/+9IiMjtXjxYv31r3/VpEmTFBER4bHv8lsTJ0685DU9e/bU5MmT1a9fPz366KM6evSoXn311TK36rnhhhu0ZMkSvfvuu2rUqJFCQkIua91eenq6NmzYoDVr1igmJkbPPPOM1q9fr8GDB6tdu3aKi4tz+54AzEUDCFRyQ4cO1U033aQpU6bolVdeUU5OjoKCgtSsWTP169dPTzzxhPPamTNnqnHjxnrzzTc1ffp0RURE6Pbbb1dGRkaZa/4uV3h4uFavXq3U1FQ9+OCDqlGjhoYMGaKUlBQNGTLEeV3btm21Zs0apaenKycnR9WrV1erVq20cuVK5xq6sjRv3lwbN27U888/rxEjRig/P18tWrTQvHnz3PqLGt7SpUsXzZ07V6+88op69eqlunXraujQoYqKitLgwYNdrh0/frwOHjyooUOH6tSpU2rYsKHLPonlsXbtWmVkZOiFF15wSXLnz5+vdu3aqW/fvvr8888VHBzsia8HwACWbf9q11IAAAD4PdYAAgAAGIYGEAAAwDA0gAAAAIahAQQAADAMDSAAAIBhaAABAAAMQwMIAABgGL/cCDq03ROXvgjAVenw5qm+LgGAl1R3lP9vY3uaN3uH/G3TvHbvy0UCCAAAYBi/TAABAADcYpmVidEAAgAAWL6bfvYFs9pdAAAAkAACAACYNgVs1rcFAAAACSAAAABrAAEAAODXSAABAABYAwgAAAB/RgIIAABg2BpAGkAAAACmgAEAAODPSAABAAAMmwImAQQAADAMCSAAAABrAAEAAODPSAABAABYAwgAAAB/RgIIAABg2BpAGkAAAACmgAEAAODPSAABAAAMmwI269sCAACABBAAAIAEEAAAAH6NBBAAACCAt4ABAADgx0gAAQAADFsDSAMIAADARtAAAADwZySAAAAAhk0Bm/VtAQAAQAIIAADAGkAAAAD4NRJAAAAA1gACAADAn5EAAgAAGLYGkAYQAACAKWAAAAD4MxJAAAAAw6aASQABAAAMQwIIAADAGkAAAAD4MxJAAAAA1gACAADAn5EAAgAAGLYGkAYQAADAsAbQrG8LAAAAEkAAAABeAgEAAIBfIwEEAABgDSAAAAD8GQkgAAAAawABAADgz0gAAQAADFsDSAMIAADAFDAAAAD8GQkgAAAwnkUCCAAAAH9GAggAAIxHAggAAAC/RgIIAABgVgBIAggAAGAaEkAAAGA809YA0gACAADjmdYAMgUMAABgGBJAAABgPBJAAAAA+DUSQAAAYDwSQAAAAPg1EkAAAACzAkASQAAAANOQAAIAAOOxBhAAAAB+jQQQAAAYz7QEkAYQAAAYz7QGkClgAAAAw5AAAgAA45EAAgAAwK/RAAIAAFhePK5ARkaGLMtSamqqc8y2bY0bN06xsbEKDQ1VcnKyduzY4dZ9aQABAAAqoaysLM2ePVutW7d2GZ80aZImT56sadOmKSsrSzExMerevbtOnTpV7nvTAAIAAONZluW143KcPn1a/fv315w5c1SzZk3nuG3byszMVFpamvr06aNWrVppwYIFOnPmjN5+++1y358GEAAAwIsK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gPEMCwBpAAEAAEzbBqZcDeDKlSvLfcM777zzsosBAACA95WrAezdu3e5bmZZloqLi6+kHgAAgApnWABYvgawpKTE23UAAACgglzRGsCzZ88qJCTEU7UAAAD4BNvAXEJxcbFeeukl1a1bV9WrV9eePXskSS+88ILefPNNjxcIAAAAz3K7AXz55Zc1f/58TZo0ScHBwc7xG264QW+88YZHiwMAAKgIlhePysjtBnDhwoWaPXu2+vfvr8DAQOd469attWvXLo8WBwAAAM9zew3gTz/9pCZNmpQaLykpUWFhoUeKAgAAqEim7QPodgJ4/fXXa8OGDaXG//znP6tdu3YeKQoAAKAiBVjeOyojtxPA9PR0PfTQQ/rpp59UUlKi5cuXa/fu3Vq4cKE++OADb9QIAAAAD3I7AezVq5feffddffjhh7IsS7///e+1c+dOrVq1St27d/dGjQAAAF5lWZbXjsrosvYBvO2223Tbbbd5uhYAAABUgMveCHrLli3auXOnLMtSixYtFB8f78m6AAAAKkwlDeq8xu0G8Mcff9QDDzygL774QjVq1JAknThxQklJSXrnnXdUv359T9cIAAAAD3J7DeCgQYNUWFionTt36tixYzp27Jh27twp27Y1ePBgb9QIAADgVawBvIQNGzZo48aNat68uXOsefPmmjp1qm6++WaPFgcAAADPc7sBbNCgQZkbPhcVFalu3boeKQoAAKAiVdb9+rzF7SngSZMm6cknn9SWLVtk27akX14IGTlypF599VWPFwgAAOBtTAGXoWbNmi5fIC8vTwkJCapS5ZePFxUVqUqVKho0aJB69+7tlUIBAADgGeVqADMzM71cBgAAgO9UzpzOe8rVAA4YMMDbdQAAAKCCXPZG0JKUn59f6oWQ8PDwKyoIAACgogVU0rV63uL2SyB5eXl64oknFBUVperVq6tmzZouBwAAACo3txvAMWPGaN26dZoxY4YcDofeeOMNjR8/XrGxsVq4cKE3agQAAPAqy/LeURm5PQW8atUqLVy4UMnJyRo0aJA6duyoJk2aqGHDhlq8eLH69+/vjToBAADgIW4ngMeOHVNcXJykX9b7HTt2TJJ0yy236LPPPvNsdQAAABXAtH0A3W4AGzVqpL1790qSWrZsqaVLl0r6JRmsUaOGJ2sDAACAF7jdAD7yyCP6+9//LkkaO3ascy3g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tUKeBQCVTRVfFwDA+26//XbNmzdPhYWF2rBhg4YMGaK8vDzNnDmz1LWFhYUKCgryyHMjIiI8ch8AgGeRAAIGcDgciomJUf369dWvXz/1799f77//vqT/TGXOnTtXjRo1ksPhkG3bOnnypB599FFFRUUpPDxcXbp00d///neX+06cOFHR0dEKCwvT4MGDdfbsWZfzv50CLikp0SuvvKImTZrI4XCoQYMGevnllyVJcXFxkqR27drJsiwlJyc7Pzdv3jy1aNFCISEhuu666zRjxgyX53z11Vdq166dQkJC1KFDB23btu2Kf2fPPfecmjVrpqpVq6pRo0Z64YUXVFhYWOq6119/XfXr11fVqlV177336sSJEy7nL1U7APgCCSBgoNDQUJdm5vvvv9fSpUu1bNkyBQYGSpJ69uypyMhIffjhh4qIiNDrr7+url276p///KciIyO1dOlSpaena/r06erYsaMWLVqkP/3pT2rUqNEFnzt27FjNmTNHU6ZM0S233KKDBw9q165dkn5p4m666Sb97W9/0/XXX6/g4GBJ0pw5c5Senq5p06apXbt22rZtm4YOHapq1appwIABysvL0+9+9zt16dJFb731lrKzszVy5Mgr/h2FhYVp/vz5io2N1bfffquhQ4cqLCxMY8aMKfV7W7VqlXJzczV48GCNGDFCixcvLlftAOAzNgC/NmDAAPuuu+5y/vzll1/atWrVsu+77z7btm07PT3dDgoKsg8dOuS85uOPP7bDw8Pts2fPutyrcePG9uuvv27btm0nJibaw4YNczmfkJBgt2nTpsxn5+bm2g6Hw54zZ06ZdWZnZ9uS7G3btrmM169f33777bddxl566SU7MTHRtm3bfv311+3IyEg7Ly/PeX7mzJll3uvXOnXqZI8cOfKC539r0qRJdnx8vPPn9PR0OzAw0D5w4IBz7KOPPrIDAgLsgwcPlqv2C31nAPA2EkDAAB988IGqV6+uoqIiFRYW6q677tLUqVOd5xs2bKhrrrnG+fPWrVt1+vRp1apVy+U++fn5+uGHHyRJO3fu1LBhw1zOJyYm6pNPPimzhp07d6qgoEBdu3Ytd92HDx/WgQMHNHjwYA0dOtQ5XlRU5FxfuHPnTrVp00ZVq1Z1qeNKvffee8rMzNT333+v06dPq6ioSOHh4S7XNGjQQPXq1XN5bklJiXbv3q3AwMBL1g4AvkIDCBigc+fOmjlzpoKCghQbG1vqJY9q1aq5/FxSUqI6dero008/LXWvGjVqXFYNoaGhbn+mpKRE0i9TqQkJCS7nzk9V27Z9WfVczObNm3X//fdr/Pjxuu222xQREaElS5bof/7nfy76OcuynP9entoBwFdoAAEDVKtWTU2aNCn39e3bt1dOTo6qVKmia6+9tsxrWrRooc2bN+vhhx92jm3evPmC92zatKlCQ0P18ccfa8iQIaXOn1/zV1xc7ByLjo5W3bp1tWfPHvXv37/M+7Zs2VKLFi1Sfn6+s8m8WB3l8cUXX6hhw4ZKS0tzju3bt6/Udfv379fPP/+s2NhYSdKmTZsUEBCgZs2alat2APAVGkAApXTr1k2JiYnq3bu3XnnlFTVv3lw///yzPvzwQ/Xu3VsdOnTQyJEjNWDAAHXo0EG33HKLFi9erB07dlzwJZCQkBA999xzGjNmjIKDg3XzzTfr8OHD2rFjhwYPHqyoqCiFhoZq9erVqlevnkJCQhQREaFx48bpqaeeUnh4uFJSUlRQUKAtW7bo+PHjGjVqlPr166e0tDQNHjxY//3f/629e/fq1VdfLdf3PHz4cKl9B2NiYtSkSRPt379fS5Ys0Y033qi//vWvWrFiRZnfacCAAXr11VeVm5urp556Svfdd59iYmIk6ZK1A4DP+HoRIgDv+u1LIL+Vnp7u8uLGebm5ufaTTz5px8bG2kFBQXb9+vXt/v372/v373de8/LLL9u1a9e2q1evbg8YMMAeM2bMBV8CsW3bLi4utv/whz/YDRs2tIOCguwGDRrYEyZMcJ6fM2eOXb9+fTsgIMDu1KmTc3zx4sV227Zt7eDgYLtmzZr2rbfeai9fvtx5ftOmTXabNm3s4OBgu23btvayZcvK9RKIpFJHenq6bdu2PXr0aLtWrVp29erV7b59+9pTpkyxIyIiSv3eZsyYYcfGxtohISF2nz597GPHjrk852K18xIIAF+xbNsLC2gAAABQabERNAAAgGFoAAEAAAxDAwgAAGAYGkAAAADD0AACAAAYhgYQAADAMDSAAAAAhqEBBAAAMAwNIAAAgGFoAAEAAAxDAwgAAGCY/weDummvosi5ggAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9750\n",
      "Precision: 0.9760\n",
      "Recall: 0.9750\n",
      "F1-Score: 0.9748\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAIhCAYAAADejQtoAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOc1JREFUeJzt3XtcVXW+//H3AmEDCngHUTS8ppmXsAjKtEyLHCePM5OmU5iXMu1ClnbI04CVYpxGbTQ1rbylWZPWaBd/WpZZaKFpqamTidpFwjuKiAjr90cP95kdXkD3Zm/39/Wcx3oc93etvdZn+ZhOn3l/v2tty7ZtWwAAADBGgLcLAAAAQNWiAQQAADAMDSAAAIBhaAABAAAMQwMIAABgGBpAAAAAw9AAAgAAGIYGEAAAwDA0gAAAAIahAQQuA99++63uu+8+xcXFKSQkRDVq1NA111yjrKwsHTp0yKPX3rhxo7p06aLIyEhZlqXJkye7/RqWZSkjI8Pt572QOXPmyLIsWZalTz/9tNx+27bVvHlzWZalrl27XtQ1pk2bpjlz5lTqO59++uk5awIAd6jm7QIAnN+sWbM0fPhwtWrVSqNGjVKbNm1UUlKi9evXa8aMGVq7dq3eeecdj11/0KBBKiws1KJFi1SrVi1dccUVbr/G2rVr1ahRI7eft6LCw8P16quvlmvyVq9erR9++EHh4eEXfe5p06apbt26GjhwYIW/c80112jt2rVq06bNRV8XAM6HBhDwYWvXrtWDDz6o7t27691335XD4XDu6969ux5//HEtX77cozVs2bJFQ4cOVXJysseucf3113vs3BXRt29fLViwQC+99JIiIiKc46+++qoSExNVUFBQJXWUlJTIsixFRER4/e8EgH9jChjwYePHj5dlWZo5c6ZL83dGcHCw/vjHPzo/l5WVKSsrS1deeaUcDofq16+ve++9Vz/99JPL97p27aq2bdsqJydHnTt3VlhYmJo2baoJEyaorKxM0v9Nj54+fVrTp093TpVKUkZGhvPP/+nMd3bv3u0cW7Vqlbp27ao6deooNDRUjRs31p/+9CedOHHCeczZpoC3bNmiO++8U7Vq1VJISIg6dOiguXPnuhxzZqr0jTfe0JgxYxQTE6OIiAjdeuut2rFjR8X+kiXdfffdkqQ33njDOXb06FEtXrxYgwYNOut3xo4dq4SEBNWuXVsRERG65ppr9Oqrr8q2becxV1xxhbZu3arVq1c7//7OJKhnap8/f74ef/xxNWzYUA6HQzt37iw3BXzgwAHFxsYqKSlJJSUlzvN/9913ql69uu65554K3ysASDSAgM8qLS3VqlWrFB8fr9jY2Ap958EHH9STTz6p7t27a+nSpXr22We1fPlyJSUl6cCBAy7H5uXlacCAAfrrX/+qpUuXKjk5WWlpaXr99dclST179tTatWslSX/+85+1du1a5+eK2r17t3r27Kng4GC99tprWr58uSZMmKDq1avr1KlT5/zejh07lJSUpK1bt+of//iHlixZojZt2mjgwIHKysoqd/xTTz2lPXv26JVXXtHMmTP1/fffq1evXiotLa1QnREREfrzn/+s1157zTn2xhtvKCAgQH379j3nvT3wwAN66623tGTJEvXp00cPP/ywnn32Wecx77zzjpo2baqOHTs6//5+P12flpamvXv3asaMGVq2bJnq169f7lp169bVokWLlJOToyeffFKSdOLECf3lL39R48aNNWPGjArdJwA42QB8Ul5eni3J7tevX4WO37Ztmy3JHj58uMv4l19+aUuyn3rqKedYly5dbEn2l19+6XJsmzZt7Ntuu81lTJI9YsQIl7H09HT7bP/vY/bs2bYkOzc317Zt23777bdtSfamTZvOW7skOz093fm5X79+tsPhsPfu3etyXHJysh0WFmYfOXLEtm3b/uSTT2xJ9h133OFy3FtvvWVLsteuXXve656pNycnx3muLVu22LZt29dee609cOBA27Zt+6qrrrK7dOlyzvOUlpbaJSUl9jPPPGPXqVPHLisrc+4713fPXO+mm246575PPvnEZfz555+3JdnvvPOOnZKSYoeGhtrffvvtee8RAM6GBBDwE5988okklXvY4LrrrlPr1q318ccfu4xHR0fruuuucxlr166d9uzZ47aaOnTooODgYN1///2aO3eudu3aVaHvrVq1St26dSuXfA4cOFAnTpwol0T+5zS49Nt9SKrUvXTp0kXNmjXTa6+9ps2bNysnJ+ec079narz11lsVGRmpwMBABQUF6W9/+5sOHjyo/Pz8Cl/3T3/6U4WPHTVqlHr27Km7775bc+fO1ZQpU3T11VdX+PsAcAYNIOCj6tatq7CwMOXm5lbo+IMHD0qSGjRoUG5fTEyMc/8ZderUKXecw+FQUVHRRVR7ds2aNdNHH32k+vXra8SIEWrWrJmaNWumF1988bzfO3jw4Dnv48z+//T7ezmzXrIy92JZlu677z69/vrrmjFjhlq2bKnOnTuf9divvvpKPXr0kPTbU9pffPGFcnJyNGbMmEpf92z3eb4aBw4cqJMnTyo6Opq1fwAuGg0g4KMCAwPVrVs3bdiwodxDHGdzpgnat29fuX2//PKL6tat67baQkJCJEnFxcUu479fZyhJnTt31rJly3T06FGtW7dOiYmJSk1N1aJFi855/jp16pzzPiS59V7+08CBA3XgwAHNmDFD99133zmPW7RokYKCgvTee+/prrvuUlJSkjp16nRR1zzbwzTnsm/fPo0YMUIdOnTQwYMH9cQTT1zUNQGABhDwYWlpabJtW0OHDj3rQxMlJSVatmyZJOmWW26RJOdDHGfk5ORo27Zt6tatm9vqOvMk67fffusyfqaWswkMDFRCQoJeeuklSdLXX399zmO7deumVatWORu+M+bNm6ewsDCPvSKlYcOGGjVqlHr16qWUlJRzHmdZlqpVq6bAwEDnWFFRkebPn1/uWHelqqWlpbr77rtlWZY+/PBDZWZmasqUKVqyZMklnxuAeXgPIODDEhMTNX36dA0fPlzx8fF68MEHddVVV6mkpEQbN27UzJkz1bZtW/Xq1UutWrXS/fffrylTpiggIEDJycnavXu3nn76acXGxuqxxx5zW1133HGHateurcGDB+uZZ55RtWrVNGfOHP34448ux82YMUOrVq1Sz5491bhxY508edL5pO2tt956zvOnp6frvffe080336y//e1vql27thYsWKD3339fWVlZioyMdNu9/N6ECRMueEzPnj01ceJE9e/fX/fff78OHjyoF1544ayv6rn66qu1aNEivfnmm2ratKlCQkIuat1eenq61qxZoxUrVig6OlqPP/64Vq9ercGDB6tjx46Ki4ur9DkBmIsGEPBxQ4cO1XXXXadJkybp+eefV15enoKCgtSyZUv1799fDz30kPPY6dOnq1mzZnr11Vf10ksvKTIyUrfffrsyMzPPuubvYkVERGj58uVKTU3VX//6V9WsWVNDhgxRcnKyhgwZ4jyuQ4cOWrFihdLT05WXl6caNWqobdu2Wrp0qXMN3dm0atVK2dnZeuqppzRixAgVFRWpdevWmj17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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "RFE Features:\n",
      "Accuracy: 0.9625\n",
      "Precision: 0.9646\n",
      "Recall: 0.9625\n",
      "F1-Score: 0.9621\n"
     ]
    },
    {
     "data": {
      "image/png": "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DSoc53A4dOLEiQuotnItWrTQxx9/rEaNGmnUqFFq0aKFWrRooVdfffWc3ztw4MBZ7+PM/v/223s5s16yOvdiWZbuu+8+vfXWW5o2bZpat26trl27Vnrs119/rV69ekn69SntL7/8Unl5eUpPT6/2dSu7z3PVOHjwYJ08eVLR0dGs/QNwwWgAAR8VGBioHj16aP369RUe4qjMmSZo7969Ffb98ssvatiwodtqCwkJkSSVlJS4jP92naEkde3aVUuXLtWRI0e0du1aJSUlKTU1VQsWLDjr+Rs0aHDW+5Dk1nv5b4MHD9b+/fs1bdo03XfffWc9bsGCBQoKCtIHH3ygO++8U8nJyerSpcsFXbOyh2nOZu/evRo1apQ6deqkAwcO6IknnrigawIADSDgw9LS0mTbtoYPH17pQxOlpaVaunSpJOmmm26SJOdDHGfk5eVp69at6tGjh9vqOvMk63fffecyfqaWygQGBioxMVGTJ0+WJH3zzTdnPbZHjx5auXKls+E7Y86cOQoLC/PYK1KaNGmiMWPGqE+fPho0aNBZj7MsS7Vq1VJgYKBz7MSJE5o7d26FY92VqpaVlenuu++WZVn66KOPlJWVpYkTJ2rRokUXfW4A5uE9gIAPS0pK0tSpUzVy5EglJCTowQcf1JVXXqnS0lJt2LBB06dPV/v27dWnTx+1adNG999/vyZOnKiAgAClpKRo586devrppxUbG6vHHnvMbXXddtttql+/voYOHapnn31WtWrV0qxZs7Rnzx6X46ZNm6aVK1eqd+/eiouL08mTJ51P2t58881nPX9GRoY++OAD3XjjjXrmmWdUv359zZs3T//85z+VnZ2tyMhIt93Lb7344ovnPaZ3796aMGGCBgwYoPvvv18HDhzQyy+/XOmreq666iotWLBA77zzjpo3b66QkJALWreXkZGh1atXa/ny5YqOjtbjjz+uVatWaejQoercubPi4+OrfU4A5qIBBHzc8OHDde211+qVV17RSy+9pIKCAgUFBal169YaMGCAHnroIeexU6dOVYsWLfTGG29o8uTJioyM1K233qqsrKxK1/xdqIiICC1btkypqan685//rLp162rYsGFKSUnRsGHDnMd16tRJy5cvV0ZGhgoKClSnTh21b99eS5Ysca6hq0ybNm2Um5urp556SqNGjdKJEyfUtm1bzZw5s1q/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",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9750\n",
      "Precision: 0.9766\n",
      "Recall: 0.9750\n",
      "F1-Score: 0.9751\n"
     ]
    },
    {
     "data": {
      "image/png": "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AIahAQTgNmPGjFHr1q2dP/fr1089evQo9zr2798vy7K0Y8cOj93j0s96LcqjTgAoCQ0g4OP69esny7JkWZYCAgJUv359vfjii8rNzfX4vadOnVrqr+4q72aoU6dOGj58eLncCwAqmkreLgCA5917772aP3++CgoKtGnTJg0cOFC5ubmaNWtWsXMLCgoUEBDglvuGh4e75ToAAPciAQQM4HA4FBkZqejoaPXu3Vt9+vTR+++/L+n/pjLnzZun+vXry+FwyLZtnTx5Uk8++aRq1aqlsLAw3XXXXfrnP//pct0JEyYoIiJCoaGhGjBggM6dO+dy/NIp4KKiIk2cOFENGzaUw+FQ3bp1NW7cOElSTEyMJKlNmzayLEudOnVyvm/+/Plq2rSpgoKCdMstt2jmzJku9/nqq6/Upk0bBQUFqV27dtq+fft1/85Gjx6txo0bKyQkRPXr19fLL7+sgoKCYue98cYbio6OVkhIiB566CGdOHHC5fjVagcAbyABBAwUHBzs0szs3btX7777rlasWCF/f39JUrdu3VS9enV9+OGHCg8P1xtvvKEuXbroX//6l6pXr653331XKSkpmjFjhjp06KDFixfrL3/5i+rXr3/Z+yYlJWnu3LmaPHmy7rjjDmVlZen777+X9EsTd9ttt+kf//iHmjdvrsDAQEnS3LlzlZKSounTp6tNmzbavn27Bg0apMqVK6tv377Kzc3V7373O9111116++23lZmZqWHDhl337yg0NFQLFixQVFSUdu7cqUGDBik0NFSjRo0q9ntbs2aNTp06pQEDBmjo0KFasmRJqWoHAK+xAfi0vn372vfff7/z5y+//NKuUaOG/fDDD9u2bdspKSl2QECAffjwYec5H3/8sR0WFmafO3fO5VoNGjSw33jjDdu2bTsuLs5++umnXY63b9/ebtWqVYn3PnXqlO1wOOy5c+eWWGdmZqYtyd6+fbvLeHR0tL106VKXsddee82Oi4uzbdu233jjDbt69ep2bm6u8/isWbNKvNavdezY0R42bNhlj18qLS3Njo2Ndf6ckpJi+/v724cOHXKOffTRR7afn5+dlZVVqtov95kBwNNIAAEDfPDBB6pSpYouXLiggoIC3X///Zo2bZrzeL169fSb3/zG+fO2bdt05swZ1ahRw+U6eXl5+uGHHyRJu3fv1tNPP+1yPC4uTp988kmJNezevVv5+fnq0qVLqes+cuSIDh06pAEDBmjQoEHO8QsXLjjXF+7evVutWrVSSEiISx3X67333tOUKVO0d+9enTlzRhcuXFBYWJjLOXXr1tVNN93kct+ioiLt2bNH/v7+V60dALyFBhAwQOfOnTVr1iwFBAQoKiqq2EMelStXdvm5qKhItWvX1qefflrsWlWrVr2mGoKDg8v8nqKiIkm/TKW2b9/e5djFqWrbtq+pnivZsmWLHnnkEY0dO1b33HOPwsPDtXz5cv35z3++4vssy3L+f2lqBwBvoQEEDFC5cmU1bNiw1Oe3bdtW2dnZqlSpkm6++eYSz2natKm2bNmixx9/3Dm2ZcuWy16zUaNGCg4O1scff6yBAwcWO35xzV9hYaFzLCIiQnXq1NG+ffvUp0+fEq/brFkzLV68WHl5ec4m80p1lMYXX3yhevXqKTk52Tl24MCBYucdPHhQP//8s6KioiRJmzdvlp+fnxo3blyq2gHAW2gAARRz9913Ky4uTj169NDEiRPVpEkT/fzzz/rwww/Vo0cPtWvXTsOGDVPfvn3Vrl073XHHHVqyZIl27dp12YdAgoKCNHr0aI0aNUqBgYG6/fbbdeTIEe3atUsDBgxQrVq1FBwcrLVr1+qmm25SUFCQwsPDNWbMGD333HMKCwtTYmKi8vPztXXrVh0/flwjRoxQ7969lZycrAEDBuh///d/tX//fr3++uul+pxHjhwptu9gZGSkGjZsqIMHD2r58uX67W9/q7///e9atWpViZ+pb9++ev3113Xq1Ck999xzevjhhxUZGSlJV60dALzG24sQAXjWpQ+BXColJcXlwY2LTp06ZT/77LN2VFSUHRAQYEdHR9t9+vSxDx486Dxn3Lhxds2aNe0qVarYffv2tUeNGnXZh0Bs27YLCwvtP/7xj3a9evXsgIAAu27duvb48eOdx+fOnWtHR0fbfn5+dseOHZ3jS5YssVu3bm0HBgba1apVs++880575cqVzuObN2+2W7VqZQcGBtqtW7e2V6xYUaqHQCQVe6WkpNi2bdsjR460a9SoYVepUsXu1auXPXnyZDs8PLzY723mzJl2VFSUHRQUZPfs2dPOyclxuc+VauchEADeYtm2BxbQAAAAoMJiI2gAAADD0AACAAAYhgYQAADAMDSAAAAAhqEBBAAAMAwNIAAAgGFoAAEAAAxDAwgAAGAYGkAAAADD0AACAAAYhgYQAADAMP8fcXSX/KDS75oAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9625\n",
      "Precision: 0.9626\n",
      "Recall: 0.9625\n",
      "F1-Score: 0.9624\n"
     ]
    },
    {
     "data": {
      "image/png": "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WeI8h8OhvLy8clR7YQ0aNNBHH32kyMhIDRkyRA0aNFCDBg306quvXvLnjh07dtHnOH/89/74LOfXS5blWSzLUv/+/fXmm29q5syZaty4sdq3b3/Bc7/88kt17dpV0m9vaX/++efKzMxUampqme97oee8VI39+vXT2bNnFR0dzdo/AOVGAwhUUoGBgerUqZO2b99e4iWOCznfBB06dKjEsV9++UW1atXyWG0hISGSpPz8fLfxP64zlKT27dtr9erV+vXXX7V161a1bdtWw4YN09KlSy96/Zo1a170OSR59Fl+r1+/fjp69Khmzpyp/v37X/S8pUuXKigoSO+//77uu+8+tWvXTm3atCnXPS/0Ms3FHDp0SEOGDFHr1q117NgxPffcc+W6JwDQAAKV2KhRo2TbtgYNGnTBlyYKCgq0evVqSdLtt98uSa6XOM7LzMzU7t271alTJ4/Vdf5N1q+//tpt/HwtFxIYGKikpCRNmzZNkvTVV19d9NxOnTpp/fr1robvvEWLFiksLMxrW6TUqVNHI0aMUI8ePZSSknLR8yzLUpUqVRQYGOgay8vL0xtvvFHiXE+lqkVFRXrggQdkWZY+/PBDpaena8qUKVqxYsUVXxuAedgHEKjE2rZtqxkzZmjw4MFKTEzUE088oebNm6ugoEA7duzQ7Nmz1aJFC/Xo0UNNmjTRo48+qilTpiggIEDdunXT/v379eKLLyo2NlbPPPOMx+q68847VaNGDQ0cOFB//etfVaVKFS1YsEAHDx50O2/mzJlav369unfvrri4OJ09e9b1pm3nzp0vev20tDS9//776tixo1566SXVqFFDixcv1t///ndlZGTI6XR67Fn+aPz48Zc9p3v37po4caL69OmjRx99VMeOHdMrr7xywa16brjhBi1dulRvv/226tevr5CQkHKt20tLS9Onn36qtWvXKjo6Ws8++6w2btyogQMHKiEhQfHx8WW+JgBz0QACldygQYN08803a9KkSZowYYKys7MVFBSkxo0bq0+fPnryySdd586YMUMNGjTQ66+/rmnTpsnpdOrPf/6z0tPTL7jmr7wiIiK0Zs0aDRs2TA8++KCuueYaPfLII+rWrZseeeQR13mtW7fW2rVrlZaWpuzsbFWrVk0tWrTQqlWrXGvoLqRJkybavHmzXnjhBQ0ZMkR5eXlq2rSp5s+fX6a/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W3TkyBHt2rVLAwcOVGRkpEJDQ7VmzRrVrVtXISEhcjqdGj16tJ5++mlFRESoW7duys/P17Zt23TixAkNHz5cffr0UWpqqgYOHKj//M//1P79+/XKK6+U6jmPHDlSYt/B6OhoNWzYUAcOHNDSpUt100036e9//7tWrlx5wWdKSUnRK6+8opycHD399NO67777FB0dLUmXrR0AfMbXixABeNcfXwL5o7S0NLcXN87Lycmxn3rqKTsmJsYOCgqyY2Nj7b59+9oHDhxwnfPyyy/btWrVsqtVq2anpKTYI0eOvOhLILZt20VFRfZ//dd/2fXq1bODgoLsuLg4e9y4ca7jc+bMsWNjY+2AgAC7Q4cOrvHFixfbrVu3toODg+3q1avbt912m71ixQrX8S1bttitWrWyg4OD7datW9vLly8v1Usgkkp80tLSbNu27REjRtg1a9a0q1WrZvfu3dueNGmS7XQ6S/zepk+fbsfExNghISF2r1697OPHj7vd51K18xIIAF+xbNsLC2gAAABQabERNAAAgGFoAAEAAAxDAwgAAGAYGkAAAADD0AACAAAYhgYQAADAMDSAAAAAhqEBBAAAMAwNIAAAgGFoAAEAAAxDAwgAAGCY/wc0pu7q6z6q8wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==================================================\n",
      "COMPARISON OF RESULTS\n",
      "==================================================\n"
     ]
    },
    {
     "ename": "KeyError",
     "evalue": "'Ra'",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mKeyError\u001b[39m                                  Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[11]\u001b[39m\u001b[32m, line 225\u001b[39m\n\u001b[32m    219\u001b[39m models = [\u001b[33m'\u001b[39m\u001b[33mRandom Forest\u001b[39m\u001b[33m'\u001b[39m, \u001b[33m'\u001b[39m\u001b[33mLogistic Regression\u001b[39m\u001b[33m'\u001b[39m, \u001b[33m'\u001b[39m\u001b[33mSVM\u001b[39m\u001b[33m'\u001b[39m]\n\u001b[32m    221\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i, model \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(models):\n\u001b[32m    222\u001b[39m     comparison_data.append({\n\u001b[32m    223\u001b[39m         \u001b[33m'\u001b[39m\u001b[33mModel\u001b[39m\u001b[33m'\u001b[39m: model,\n\u001b[32m    224\u001b[39m         \u001b[33m'\u001b[39m\u001b[33mAll Features - Accuracy\u001b[39m\u001b[33m'\u001b[39m: [rf_metrics, lr_metrics, svm_metrics][i][\u001b[32m0\u001b[39m],\n\u001b[32m--> \u001b[39m\u001b[32m225\u001b[39m         \u001b[33m'\u001b[39m\u001b[33mSelectKBest - Accuracy\u001b[39m\u001b[33m'\u001b[39m: kbest_results[model[:\u001b[32m2\u001b[39m]][\u001b[32m0\u001b[39m],\n\u001b[32m    226\u001b[39m         \u001b[33m'\u001b[39m\u001b[33mRFE - Accuracy\u001b[39m\u001b[33m'\u001b[39m: rfe_results[model[:\u001b[32m2\u001b[39m]][\u001b[32m0\u001b[39m]\n\u001b[32m    227\u001b[39m     })\n\u001b[32m    229\u001b[39m comparison_df = pd.DataFrame(comparison_data)\n\u001b[32m    230\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33m\"\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33mAccuracy Comparison:\u001b[39m\u001b[33m\"\u001b[39m)\n",
      "\u001b[31mKeyError\u001b[39m: 'Ra'"
     ]
    }
   ],
   "source": [
    "# Define suspicious values that likely represent missing data\n",
    "suspicious_values = [76.50259067, 1.017428977, 1.014164306, 0.451428571, \n",
    "                    147.9435028, 57.51240106, 3.07519685, 137.5418006, \n",
    "                    4.628064516, 12.53458213, 44, 92]\n",
    "\n",
    "# Replace suspicious values with NaN\n",
    "for col in data.columns:\n",
    "    if data[col].dtype in ['float64', 'int64']:\n",
    "        data[col] = data[col].apply(lambda x: np.nan if x in suspicious_values else x)\n",
    "\n",
    "# Check missing values after replacement\n",
    "print(\"Missing values after replacing suspicious values:\")\n",
    "print(data.isnull().sum())\n",
    "\n",
    "# Handle remaining missing values\n",
    "# Separate features and target\n",
    "X = data.drop('classification', axis=1)\n",
    "y = data['classification']\n",
    "\n",
    "# Identify numerical and categorical columns\n",
    "numerical_cols = X.select_dtypes(include=['float64', 'int64']).columns\n",
    "categorical_cols = X.select_dtypes(include=['object']).columns\n",
    "\n",
    "print(f\"Numerical columns: {list(numerical_cols)}\")\n",
    "print(f\"Categorical columns: {list(categorical_cols)}\")\n",
    "\n",
    "# Impute missing values\n",
    "# For numerical features, use median imputation\n",
    "num_imputer = SimpleImputer(strategy='median')\n",
    "X_numerical = pd.DataFrame(num_imputer.fit_transform(X[numerical_cols]), \n",
    "                          columns=numerical_cols)\n",
    "\n",
    "# For categorical features, use most frequent imputation\n",
    "if len(categorical_cols) > 0:\n",
    "    cat_imputer = SimpleImputer(strategy='most_frequent')\n",
    "    X_categorical = pd.DataFrame(cat_imputer.fit_transform(X[categorical_cols]), \n",
    "                               columns=categorical_cols)\n",
    "    X_imputed = pd.concat([X_numerical, X_categorical], axis=1)\n",
    "else:\n",
    "    X_imputed = X_numerical\n",
    "\n",
    "print(\"Missing values after imputation:\")\n",
    "print(X_imputed.isnull().sum().sum())  # Should be 0\n",
    "\n",
    "# Split the data\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_imputed, y, test_size=0.2, \n",
    "                                                    random_state=42, stratify=y)\n",
    "\n",
    "# Scale the features\n",
    "scaler = StandardScaler()\n",
    "X_train_scaled = scaler.fit_transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)\n",
    "\n",
    "# Function to evaluate models\n",
    "def evaluate_model(model, X_test, y_test):\n",
    "    y_pred = model.predict(X_test)\n",
    "    \n",
    "    accuracy = accuracy_score(y_test, y_pred)\n",
    "    precision = precision_score(y_test, y_pred, average='weighted')\n",
    "    recall = recall_score(y_test, y_pred, average='weighted')\n",
    "    f1 = f1_score(y_test, y_pred, average='weighted')\n",
    "    \n",
    "    print(f\"Accuracy: {accuracy:.4f}\")\n",
    "    print(f\"Precision: {precision:.4f}\")\n",
    "    print(f\"Recall: {recall:.4f}\")\n",
    "    print(f\"F1-Score: {f1:.4f}\")\n",
    "    \n",
    "    # Confusion matrix\n",
    "    cm = confusion_matrix(y_test, y_pred)\n",
    "    plt.figure(figsize=(8, 6))\n",
    "    sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')\n",
    "    plt.title('Confusion Matrix')\n",
    "    plt.ylabel('True Label')\n",
    "    plt.xlabel('Predicted Label')\n",
    "    plt.show()\n",
    "    \n",
    "    return accuracy, precision, recall, f1\n",
    "\n",
    "# 1. Apply machine learning models with grid search\n",
    "print(\"=\"*50)\n",
    "print(\"MODEL TRAINING WITH GRID SEARCH\")\n",
    "print(\"=\"*50)\n",
    "\n",
    "# Random Forest with Grid Search\n",
    "print(\"\\nRandom Forest Classifier:\")\n",
    "rf = RandomForestClassifier(random_state=42)\n",
    "rf_param_grid = {\n",
    "    'n_estimators': [100, 200],\n",
    "    'max_depth': [None, 10, 20],\n",
    "    'min_samples_split': [2, 5],\n",
    "    'min_samples_leaf': [1, 2]\n",
    "}\n",
    "\n",
    "rf_grid = GridSearchCV(rf, rf_param_grid, cv=5, scoring='accuracy', n_jobs=-1)\n",
    "rf_grid.fit(X_train_scaled, y_train)\n",
    "\n",
    "print(f\"Best parameters: {rf_grid.best_params_}\")\n",
    "print(f\"Best cross-validation score: {rf_grid.best_score_:.4f}\")\n",
    "\n",
    "rf_best = rf_grid.best_estimator_\n",
    "rf_metrics = evaluate_model(rf_best, X_test_scaled, y_test)\n",
    "\n",
    "# Logistic Regression with Grid Search\n",
    "print(\"\\nLogistic Regression:\")\n",
    "lr = LogisticRegression(random_state=42, max_iter=1000)\n",
    "lr_param_grid = {\n",
    "    'C': [0.1, 1, 10],\n",
    "    'solver': ['liblinear', 'saga']\n",
    "}\n",
    "\n",
    "lr_grid = GridSearchCV(lr, lr_param_grid, cv=5, scoring='accuracy', n_jobs=-1)\n",
    "lr_grid.fit(X_train_scaled, y_train)\n",
    "\n",
    "print(f\"Best parameters: {lr_grid.best_params_}\")\n",
    "print(f\"Best cross-validation score: {lr_grid.best_score_:.4f}\")\n",
    "\n",
    "lr_best = lr_grid.best_estimator_\n",
    "lr_metrics = evaluate_model(lr_best, X_test_scaled, y_test)\n",
    "\n",
    "# SVM with Grid Search\n",
    "print(\"\\nSupport Vector Machine:\")\n",
    "svm = SVC(random_state=42)\n",
    "svm_param_grid = {\n",
    "    'C': [0.1, 1, 10],\n",
    "    'kernel': ['linear', 'rbf'],\n",
    "    'gamma': ['scale', 'auto']\n",
    "}\n",
    "\n",
    "svm_grid = GridSearchCV(svm, svm_param_grid, cv=5, scoring='accuracy', n_jobs=-1)\n",
    "svm_grid.fit(X_train_scaled, y_train)\n",
    "\n",
    "print(f\"Best parameters: {svm_grid.best_params_}\")\n",
    "print(f\"Best cross-validation score: {svm_grid.best_score_:.4f}\")\n",
    "\n",
    "svm_best = svm_grid.best_estimator_\n",
    "svm_metrics = evaluate_model(svm_best, X_test_scaled, y_test)\n",
    "\n",
    "# 2. Feature Selection Methods\n",
    "print(\"=\"*50)\n",
    "print(\"FEATURE SELECTION\")\n",
    "print(\"=\"*50)\n",
    "\n",
    "# Method 1: SelectKBest with ANOVA F-value\n",
    "print(\"\\nFeature Selection Method 1: SelectKBest (ANOVA F-value)\")\n",
    "selector_kbest = SelectKBest(score_func=f_classif, k='all')\n",
    "selector_kbest.fit(X_train_scaled, y_train)\n",
    "\n",
    "# Get feature scores\n",
    "feature_scores = pd.DataFrame({\n",
    "    'Feature': X_train.columns,\n",
    "    'Score': selector_kbest.scores_\n",
    "}).sort_values('Score', ascending=False)\n",
    "\n",
    "print(\"Top 10 features by ANOVA F-value:\")\n",
    "print(feature_scores.head(10))\n",
    "\n",
    "# Select top 10 features\n",
    "top_k_features = feature_scores.head(10)['Feature'].values\n",
    "X_train_kbest = X_train_scaled[:, [list(X_train.columns).index(f) for f in top_k_features]]\n",
    "X_test_kbest = X_test_scaled[:, [list(X_train.columns).index(f) for f in top_k_features]]\n",
    "\n",
    "# Method 2: Recursive Feature Elimination with Random Forest\n",
    "print(\"\\nFeature Selection Method 2: Recursive Feature Elimination (RFE)\")\n",
    "rfe_selector = RFE(estimator=RandomForestClassifier(n_estimators=100, random_state=42), \n",
    "                   n_features_to_select=10, step=1)\n",
    "rfe_selector.fit(X_train_scaled, y_train)\n",
    "\n",
    "# Get selected features\n",
    "rfe_features = X_train.columns[rfe_selector.support_]\n",
    "print(\"Top 10 features by RFE:\")\n",
    "print(rfe_features)\n",
    "\n",
    "X_train_rfe = X_train_scaled[:, rfe_selector.support_]\n",
    "X_test_rfe = X_test_scaled[:, rfe_selector.support_]\n",
    "\n",
    "# 3. Apply models to selected features and evaluate\n",
    "print(\"=\"*50)\n",
    "print(\"MODEL EVALUATION WITH SELECTED FEATURES\")\n",
    "print(\"=\"*50)\n",
    "\n",
    "# Function to train and evaluate on selected features\n",
    "def evaluate_with_selected_features(X_train_sel, X_test_sel, method_name):\n",
    "    print(f\"\\n{method_name}:\")\n",
    "    \n",
    "    # Random Forest\n",
    "    rf_sel = RandomForestClassifier(**rf_grid.best_params_, random_state=42)\n",
    "    rf_sel.fit(X_train_sel, y_train)\n",
    "    rf_sel_metrics = evaluate_model(rf_sel, X_test_sel, y_test)\n",
    "    \n",
    "    # Logistic Regression\n",
    "    lr_sel = LogisticRegression(**lr_grid.best_params_, random_state=42, max_iter=1000)\n",
    "    lr_sel.fit(X_train_sel, y_train)\n",
    "    lr_sel_metrics = evaluate_model(lr_sel, X_test_sel, y_test)\n",
    "    \n",
    "    # SVM\n",
    "    svm_sel = SVC(**svm_grid.best_params_, random_state=42)\n",
    "    svm_sel.fit(X_train_sel, y_train)\n",
    "    svm_sel_metrics = evaluate_model(svm_sel, X_test_sel, y_test)\n",
    "    \n",
    "    return {\n",
    "        'RF': rf_sel_metrics,\n",
    "        'LR': lr_sel_metrics,\n",
    "        'SVM': svm_sel_metrics\n",
    "    }\n",
    "\n",
    "# Evaluate with SelectKBest features\n",
    "kbest_results = evaluate_with_selected_features(X_train_kbest, X_test_kbest, \"SelectKBest Features\")\n",
    "\n",
    "# Evaluate with RFE features\n",
    "rfe_results = evaluate_with_selected_features(X_train_rfe, X_test_rfe, \"RFE Features\")\n",
    "\n",
    "# Compare results\n",
    "print(\"=\"*50)\n",
    "print(\"COMPARISON OF RESULTS\")\n",
    "print(\"=\"*50)\n",
    "\n",
    "# Create comparison table\n",
    "comparison_data = []\n",
    "models = ['Random Forest', 'Logistic Regression', 'SVM']\n",
    "\n",
    "for i, model in enumerate(models):\n",
    "    comparison_data.append({\n",
    "        'Model': model,\n",
    "        'All Features - Accuracy': [rf_metrics, lr_metrics, svm_metrics][i][0],\n",
    "        'SelectKBest - Accuracy': kbest_results[model[:2]][0],\n",
    "        'RFE - Accuracy': rfe_results[model[:2]][0]\n",
    "    })\n",
    "\n",
    "comparison_df = pd.DataFrame(comparison_data)\n",
    "print(\"\\nAccuracy Comparison:\")\n",
    "print(comparison_df)\n",
    "\n",
    "# Plot feature importance from Random Forest\n",
    "plt.figure(figsize=(12, 8))\n",
    "feature_importances = pd.DataFrame({\n",
    "    'Feature': X_train.columns,\n",
    "    'Importance': rf_best.feature_importances_\n",
    "}).sort_values('Importance', ascending=False)\n",
    "\n",
    "plt.barh(feature_importances['Feature'][:15], feature_importances['Importance'][:15])\n",
    "plt.xlabel('Importance')\n",
    "plt.title('Top 15 Feature Importances from Random Forest')\n",
    "plt.gca().invert_yaxis()\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "# Summary\n",
    "print(\"=\"*50)\n",
    "print(\"SUMMARY\")\n",
    "print(\"=\"*50)\n",
    "print(\"1. Missing values were handled by replacing suspicious values with NaN and then imputing\")\n",
    "print(\"2. Three machine learning models were trained with grid search optimization\")\n",
    "print(\"3. Two feature selection methods were applied: SelectKBest and RFE\")\n",
    "print(\"4. Models were evaluated on both full feature set and selected features\")\n",
    "print(\"5. The best performing model and feature set can be identified from the comparison table\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "10013eda-aed9-4a3b-a1c2-fd6f6195e420",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
