{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e9b96709-f443-4cdb-ac5b-e40d636ce4d5",
   "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>id</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>ever_married</th>\n",
       "      <th>work_type</th>\n",
       "      <th>Residence_type</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>smoking_status</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9046</td>\n",
       "      <td>Male</td>\n",
       "      <td>67.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Private</td>\n",
       "      <td>Urban</td>\n",
       "      <td>228.69</td>\n",
       "      <td>36.6</td>\n",
       "      <td>formerly smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51676</td>\n",
       "      <td>Female</td>\n",
       "      <td>61.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Self-employed</td>\n",
       "      <td>Rural</td>\n",
       "      <td>202.21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>never smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>31112</td>\n",
       "      <td>Male</td>\n",
       "      <td>80.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Private</td>\n",
       "      <td>Rural</td>\n",
       "      <td>105.92</td>\n",
       "      <td>32.5</td>\n",
       "      <td>never smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60182</td>\n",
       "      <td>Female</td>\n",
       "      <td>49.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Private</td>\n",
       "      <td>Urban</td>\n",
       "      <td>171.23</td>\n",
       "      <td>34.4</td>\n",
       "      <td>smokes</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1665</td>\n",
       "      <td>Female</td>\n",
       "      <td>79.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Self-employed</td>\n",
       "      <td>Rural</td>\n",
       "      <td>174.12</td>\n",
       "      <td>24.0</td>\n",
       "      <td>never smoked</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      id  gender   age  hypertension  heart_disease ever_married  \\\n",
       "0   9046    Male  67.0             0              1          Yes   \n",
       "1  51676  Female  61.0             0              0          Yes   \n",
       "2  31112    Male  80.0             0              1          Yes   \n",
       "3  60182  Female  49.0             0              0          Yes   \n",
       "4   1665  Female  79.0             1              0          Yes   \n",
       "\n",
       "       work_type Residence_type  avg_glucose_level   bmi   smoking_status  \\\n",
       "0        Private          Urban             228.69  36.6  formerly smoked   \n",
       "1  Self-employed          Rural             202.21   NaN     never smoked   \n",
       "2        Private          Rural             105.92  32.5     never smoked   \n",
       "3        Private          Urban             171.23  34.4           smokes   \n",
       "4  Self-employed          Rural             174.12  24.0     never smoked   \n",
       "\n",
       "   stroke  \n",
       "0       1  \n",
       "1       1  \n",
       "2       1  \n",
       "3       1  \n",
       "4       1  "
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "df = pd.read_csv('healthcare-dataset-stroke-data.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "58d28e2c-4644-40f9-aefc-27582b13231a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                     int64\n",
       "gender                object\n",
       "age                  float64\n",
       "hypertension           int64\n",
       "heart_disease          int64\n",
       "ever_married          object\n",
       "work_type             object\n",
       "Residence_type        object\n",
       "avg_glucose_level    float64\n",
       "bmi                  float64\n",
       "smoking_status        object\n",
       "stroke                 int64\n",
       "dtype: object"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e5470454-0e77-472e-ba4b-7d5982668816",
   "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>id</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "      <td>4909.000000</td>\n",
       "      <td>5110.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>36517.829354</td>\n",
       "      <td>43.226614</td>\n",
       "      <td>0.097456</td>\n",
       "      <td>0.054012</td>\n",
       "      <td>106.147677</td>\n",
       "      <td>28.893237</td>\n",
       "      <td>0.048728</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>21161.721625</td>\n",
       "      <td>22.612647</td>\n",
       "      <td>0.296607</td>\n",
       "      <td>0.226063</td>\n",
       "      <td>45.283560</td>\n",
       "      <td>7.854067</td>\n",
       "      <td>0.215320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>67.000000</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>55.120000</td>\n",
       "      <td>10.300000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>17741.250000</td>\n",
       "      <td>25.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>77.245000</td>\n",
       "      <td>23.500000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>36932.000000</td>\n",
       "      <td>45.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>91.885000</td>\n",
       "      <td>28.100000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>54682.000000</td>\n",
       "      <td>61.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>114.090000</td>\n",
       "      <td>33.100000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>72940.000000</td>\n",
       "      <td>82.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>271.740000</td>\n",
       "      <td>97.600000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 id          age  hypertension  heart_disease  \\\n",
       "count   5110.000000  5110.000000   5110.000000    5110.000000   \n",
       "mean   36517.829354    43.226614      0.097456       0.054012   \n",
       "std    21161.721625    22.612647      0.296607       0.226063   \n",
       "min       67.000000     0.080000      0.000000       0.000000   \n",
       "25%    17741.250000    25.000000      0.000000       0.000000   \n",
       "50%    36932.000000    45.000000      0.000000       0.000000   \n",
       "75%    54682.000000    61.000000      0.000000       0.000000   \n",
       "max    72940.000000    82.000000      1.000000       1.000000   \n",
       "\n",
       "       avg_glucose_level          bmi       stroke  \n",
       "count        5110.000000  4909.000000  5110.000000  \n",
       "mean          106.147677    28.893237     0.048728  \n",
       "std            45.283560     7.854067     0.215320  \n",
       "min            55.120000    10.300000     0.000000  \n",
       "25%            77.245000    23.500000     0.000000  \n",
       "50%            91.885000    28.100000     0.000000  \n",
       "75%           114.090000    33.100000     0.000000  \n",
       "max           271.740000    97.600000     1.000000  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9ffe7d0e-774b-452a-aca6-db556740ac66",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                     0\n",
       "gender                 0\n",
       "age                    0\n",
       "hypertension           0\n",
       "heart_disease          0\n",
       "ever_married           0\n",
       "work_type              0\n",
       "Residence_type         0\n",
       "avg_glucose_level      0\n",
       "bmi                  201\n",
       "smoking_status         0\n",
       "stroke                 0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "62f39967-1ecc-41c2-889a-c15057496b5c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Columns dropped: []\n",
      "Remaining columns: Index(['id', 'gender', 'age', 'hypertension', 'heart_disease', 'ever_married',\n",
      "       'work_type', 'Residence_type', 'avg_glucose_level', 'bmi',\n",
      "       'smoking_status', 'stroke'],\n",
      "      dtype='object')\n"
     ]
    }
   ],
   "source": [
    "missing_percentage = df.isnull().mean() * 100\n",
    "threshold = 30\n",
    "columns_to_drop = missing_percentage[missing_percentage > threshold].index\n",
    "df = df.drop(columns=columns_to_drop)\n",
    "print(f\"Columns dropped: {list(columns_to_drop)}\")\n",
    "print(f\"Remaining columns: {df.columns}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e1791865-1bd3-4bfb-b5ae-394a07d45282",
   "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>id</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>ever_married</th>\n",
       "      <th>work_type</th>\n",
       "      <th>Residence_type</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>smoking_status</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9046</td>\n",
       "      <td>1</td>\n",
       "      <td>67.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>228.69</td>\n",
       "      <td>36.6</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51676</td>\n",
       "      <td>0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>202.21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>31112</td>\n",
       "      <td>1</td>\n",
       "      <td>80.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>105.92</td>\n",
       "      <td>32.5</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60182</td>\n",
       "      <td>0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>171.23</td>\n",
       "      <td>34.4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1665</td>\n",
       "      <td>0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>174.12</td>\n",
       "      <td>24.0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      id  gender   age  hypertension  heart_disease  ever_married  work_type  \\\n",
       "0   9046       1  67.0             0              1             1          2   \n",
       "1  51676       0  61.0             0              0             1          3   \n",
       "2  31112       1  80.0             0              1             1          2   \n",
       "3  60182       0  49.0             0              0             1          2   \n",
       "4   1665       0  79.0             1              0             1          3   \n",
       "\n",
       "   Residence_type  avg_glucose_level   bmi  smoking_status  stroke  \n",
       "0               1             228.69  36.6               1       1  \n",
       "1               0             202.21   NaN               2       1  \n",
       "2               0             105.92  32.5               2       1  \n",
       "3               1             171.23  34.4               3       1  \n",
       "4               0             174.12  24.0               2       1  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import LabelEncoder\n",
    "label_encoder = LabelEncoder()\n",
    "\n",
    "for column in df.select_dtypes(include=['object']).columns:\n",
    "    df[column] = label_encoder.fit_transform(df[column])\n",
    "\n",
    "(df.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d3dcd026-ce83-4633-af97-5e61387e99f2",
   "metadata": {},
   "outputs": [],
   "source": [
    "for column in df.select_dtypes(include=['object']).columns:\n",
    "    mode_value = df[column].mode()[0]  \n",
    "    df[column] = df[column].fillna(mode_value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ee3e65a4-03df-49bb-a21d-3f7a2f5e4d4a",
   "metadata": {},
   "outputs": [],
   "source": [
    "for column in df.select_dtypes(include=['float64']).columns:\n",
    "    mean_value = df[column].mean() \n",
    "    df[column] = df[column].fillna(mean_value) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "e3932600-b30b-4799-b130-c0a5751dba2f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                   0\n",
       "gender               0\n",
       "age                  0\n",
       "hypertension         0\n",
       "heart_disease        0\n",
       "ever_married         0\n",
       "work_type            0\n",
       "Residence_type       0\n",
       "avg_glucose_level    0\n",
       "bmi                  0\n",
       "smoking_status       0\n",
       "stroke               0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "56b86a5b-eac8-4828-9839-9020986d951e",
   "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>id</th>\n",
       "      <th>gender</th>\n",
       "      <th>age</th>\n",
       "      <th>hypertension</th>\n",
       "      <th>heart_disease</th>\n",
       "      <th>ever_married</th>\n",
       "      <th>work_type</th>\n",
       "      <th>Residence_type</th>\n",
       "      <th>avg_glucose_level</th>\n",
       "      <th>bmi</th>\n",
       "      <th>smoking_status</th>\n",
       "      <th>stroke</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9046</td>\n",
       "      <td>1</td>\n",
       "      <td>67.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>228.69</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51676</td>\n",
       "      <td>0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>202.21</td>\n",
       "      <td>28.893237</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>31112</td>\n",
       "      <td>1</td>\n",
       "      <td>80.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>105.92</td>\n",
       "      <td>32.500000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60182</td>\n",
       "      <td>0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>171.23</td>\n",
       "      <td>34.400000</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1665</td>\n",
       "      <td>0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>174.12</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5105</th>\n",
       "      <td>18234</td>\n",
       "      <td>0</td>\n",
       "      <td>80.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>83.75</td>\n",
       "      <td>28.893237</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5106</th>\n",
       "      <td>44873</td>\n",
       "      <td>0</td>\n",
       "      <td>81.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>125.20</td>\n",
       "      <td>40.000000</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5107</th>\n",
       "      <td>19723</td>\n",
       "      <td>0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>82.99</td>\n",
       "      <td>30.600000</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5108</th>\n",
       "      <td>37544</td>\n",
       "      <td>1</td>\n",
       "      <td>51.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>166.29</td>\n",
       "      <td>25.600000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5109</th>\n",
       "      <td>44679</td>\n",
       "      <td>0</td>\n",
       "      <td>44.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>85.28</td>\n",
       "      <td>26.200000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5110 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         id  gender   age  hypertension  heart_disease  ever_married  \\\n",
       "0      9046       1  67.0             0              1             1   \n",
       "1     51676       0  61.0             0              0             1   \n",
       "2     31112       1  80.0             0              1             1   \n",
       "3     60182       0  49.0             0              0             1   \n",
       "4      1665       0  79.0             1              0             1   \n",
       "...     ...     ...   ...           ...            ...           ...   \n",
       "5105  18234       0  80.0             1              0             1   \n",
       "5106  44873       0  81.0             0              0             1   \n",
       "5107  19723       0  35.0             0              0             1   \n",
       "5108  37544       1  51.0             0              0             1   \n",
       "5109  44679       0  44.0             0              0             1   \n",
       "\n",
       "      work_type  Residence_type  avg_glucose_level        bmi  smoking_status  \\\n",
       "0             2               1             228.69  36.600000               1   \n",
       "1             3               0             202.21  28.893237               2   \n",
       "2             2               0             105.92  32.500000               2   \n",
       "3             2               1             171.23  34.400000               3   \n",
       "4             3               0             174.12  24.000000               2   \n",
       "...         ...             ...                ...        ...             ...   \n",
       "5105          2               1              83.75  28.893237               2   \n",
       "5106          3               1             125.20  40.000000               2   \n",
       "5107          3               0              82.99  30.600000               2   \n",
       "5108          2               0             166.29  25.600000               1   \n",
       "5109          0               1              85.28  26.200000               0   \n",
       "\n",
       "      stroke  \n",
       "0          1  \n",
       "1          1  \n",
       "2          1  \n",
       "3          1  \n",
       "4          1  \n",
       "...      ...  \n",
       "5105       0  \n",
       "5106       0  \n",
       "5107       0  \n",
       "5108       0  \n",
       "5109       0  \n",
       "\n",
       "[5110 rows x 12 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "9de907ee-856c-47ac-bf17-00cffa6d2d0f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "def replace_outliers_with_nan(column):\n",
    "    Q1 = column.quantile(0.25)  \n",
    "    Q3 = column.quantile(0.75)  \n",
    "    IQR = Q3 - Q1              \n",
    "    lower_bound = Q1 - 1.5 * IQR\n",
    "    upper_bound = Q3 + 1.5 * IQR\n",
    "    \n",
    "    return column.where((column >= lower_bound) & (column <= upper_bound), np.nan)\n",
    "\n",
    "for col in df.columns:\n",
    "    df[col] = replace_outliers_with_nan(df[col])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "37492408-3373-41f7-a4a1-85c5870b03d0",
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8e8cef6f-cd06-442e-8ab3-81d1cbdb7d1a",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\changeme\\AppData\\Local\\Temp\\ipykernel_9700\\4012145287.py:1: FutureWarning: \n",
      "\n",
      "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n",
      "\n",
      "  sns.countplot(x='gender', data=df, palette='viridis')\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHFCAYAAAAT5Oa6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1yElEQVR4nO3de1hVZf7//9cWEBFxKxKnJCUPDIZ20EKcyjNKIWN2jTUWaR9TG0+ZWteYTWGXHy2btM+MpdY0Wh7COWTTlEOSp3I8U2Q45uSMliZbzHAjpqB4//6YL+vXFjUlZIP383Fd67pY93rvtd5rS8Nr1rrX3i5jjBEAAIDFGvi7AQAAAH8jEAEAAOsRiAAAgPUIRAAAwHoEIgAAYD0CEQAAsB6BCAAAWI9ABAAArEcgAgAA1iMQAVeQHTt2aPjw4WrTpo1CQkIUEhKidu3aadSoUdq+fbvf+mrdurWGDRtWa8dyuVxyuVxq0KCB3G63EhMT9cADD2jVqlXnfI3L5VJWVtYlHWflypWX/JpzHWvRokVyuVw1+u9z8OBBZWVlKT8/v8q2rKwsuVyuGjsWcKUI9HcDAGrGggULNHbsWCUkJOiRRx7RddddJ5fLpV27dunNN9/UzTffrD179qhNmzb+bvWy++lPf6rf/OY3kqTS0lLt3r1b2dnZ6tevn+6++269+eabCgoKcuo3bdqkli1bXtIxVq5cqZdeeumSQ1F1jnWpDh48qGnTpql169a64YYbfLY99NBD6t+//2U9PlAfEYiAK8A//vEPjR49Wnfeeaf+/Oc/q2HDhs62Xr16acyYMfrTn/6kkJAQP3ZZMyoqKnT69GkFBweft6ZZs2bq2rWrs96nTx+NGTNGWVlZmjZtmp588kk999xzzvbv114OxhidPHlSISEhl/1YP6Rly5aXPZAB9RG3zIArwIwZMxQQEKAFCxb4hKHv+/nPf67Y2Fifse3btysjI0Ph4eFq1KiRbrzxRv3xj3/0qam8pbN27Vr98pe/VEREhFq0aKFBgwbp4MGDPrWnTp3S448/rujoaDVu3Fi33nqrtm7des5+PB6PRo0apZYtW6phw4aKj4/XtGnTdPr0aadm3759crlcmjVrlqZPn674+HgFBwdr7dq11XmblJWVpeuuu05z587VyZMnnfGzb2N99913mjx5suLj49WoUSOFh4erS5cuevPNNyVJw4YN00svveS8tnLZt2+fMzZ27FjNnz9fiYmJCg4O1uuvv37OY1UqLi7Wgw8+qPDwcIWGhmrAgAH6z3/+41NzvluPPXr0UI8ePSRJ69at08033yxJevDBB53eKo95rltmZ86c0axZs/STn/xEwcHBioyM1AMPPKADBw5UOU5SUpK2bdum2267TY0bN9a1116rZ599VmfOnDn/Gw/UA1whAuq5iooKrV27Vl26dFFMTMxFv27t2rXq37+/kpOTNX/+fLndbmVnZ+uee+7Rd999V+UP70MPPaQ777xTy5Yt0/79+/XYY4/p/vvv15o1a5yaESNG6I033tDkyZPVt29fFRQUaNCgQTp27JjPvjwej2655RY1aNBATz31lNq0aaNNmzZp+vTp2rdvnxYuXOhT/9vf/lbt27fXb37zGzVt2lTt2rW79Dfq/xkwYICeffZZbd++Xbfeeus5ayZOnKjFixdr+vTpuvHGG3X8+HEVFBToyJEjkqRf//rXOn78uP785z9r06ZNzuu+//6//fbb+uijj/TUU08pOjpakZGRF+xr+PDh6tu3r/P+Pvnkk+rRo4d27NihZs2aXfT53XTTTVq4cKEefPBBPfnkk7rzzjsl6YJXhX75y1/qlVde0dixY5Wenq59+/bp17/+tdatW6ePP/5YERERTq3H49F9992nSZMm6emnn9aKFSs0ZcoUxcbG6oEHHrjoPoE6xwCo1zwej5Fk7r333irbTp8+bU6dOuUsZ86ccbb95Cc/MTfeeKM5deqUz2vS09NNTEyMqaioMMYYs3DhQiPJjB492qdu1qxZRpIpLCw0xhiza9cuI8k8+uijPnVLly41kszQoUOdsVGjRpkmTZqYL7/80qf2N7/5jZFkdu7caYwxZu/evUaSadOmjSkvL7+o96NVq1bmzjvvPO/2efPmGUlm+fLlzpgk8/TTTzvrSUlJZuDAgRc8zpgxY8z5/idUknG73ebbb78957bvH6vy/b3rrrt86v7xj38YSWb69Ok+5/b997FS9+7dTffu3Z31bdu2GUlm4cKFVWqffvppn74r/93O/vfdsmWLkWSeeOIJn+NIMlu2bPGp7dChg+nXr1+VYwH1CbfMgCtY586dFRQU5CwvvPCCJGnPnj36/PPPdd9990mSTp8+7Sx33HGHCgsLtXv3bp99ZWRk+Kx36tRJkvTll19KknMbq3KflQYPHqzAQN+L0e+++6569uyp2NhYn2OnpaVJktavX1/l2N+fBP1jGGN+sOaWW27R3//+d/3qV7/SunXrdOLEiUs+Tq9evdS8efOLrj/7fevWrZtatWpV7duDF6ty/2dfEbzllluUmJio1atX+4xHR0frlltu8Rnr1KmT83sA1FfcMgPquYiICIWEhJzzD9KyZcv03XffqbCw0CfQHDp0SJI0efJkTZ48+Zz7/eabb3zWW7Ro4bNeOam5MixU3k6Kjo72qQsMDKzy2kOHDulvf/vbeUPO2ce+lFuBP6TyfTp7PtX3/fa3v1XLli21fPlyPffcc2rUqJH69eun559//qJv111qz2e/b5Vjle/r5VK5/3P1GxsbW+X36ux/S+m/vwvVCY1AXUIgAuq5gIAA9erVS6tWrVJhYaHPH7YOHTpIkjPZt1LlnJApU6Zo0KBB59xvQkLCJfVR+YfS4/Ho6quvdsZPnz5d5Y96RESEOnXqpP/93/89577ODis19bk5xhj97W9/U2hoqLp06XLeutDQUE2bNk3Tpk3ToUOHnKtFAwYM0Oeff35Rx7rUnj0ezznH2rZt66w3atRIZWVlVeq++eYbn3k+l6Ly362wsLDKPKODBw9We79AfcMtM+AKMGXKFFVUVOjhhx/WqVOnfrA+ISFB7dq106effqouXbqccwkLC7ukHiqfclq6dKnP+B//+EefJ8ckKT09XQUFBWrTps05j32hqzc/xrRp0/TPf/5TjzzyiBo1anRRr4mKitKwYcP0i1/8Qrt379Z3330nqeoVsh/r7Pdt48aN+vLLL533VfrvU2Y7duzwqfvXv/5V5fbmpfTWq1cvSdKSJUt8xrdt26Zdu3apd+/eF30OQH3GFSLgCvDTn/5UL730ksaNG6ebbrpJI0eO1HXXXacGDRqosLBQf/nLXyRJTZs2dV6zYMECpaWlqV+/fho2bJiuvvpqffvtt9q1a5c+/vhj/elPf7qkHhITE3X//ffrxRdfVFBQkPr06aOCggLnybDve+aZZ5Sbm6tu3bpp/PjxSkhI0MmTJ7Vv3z6tXLlS8+fP/1GflXP06FFt3rxZknT8+HHngxk/+ugjDR48WNOmTbvg65OTk5Wenq5OnTqpefPm2rVrlxYvXqyUlBQ1btxYktSxY0dJ0nPPPae0tDQFBASoU6dO5/3Ygx+yfft2PfTQQ/r5z3+u/fv3a+rUqbr66qs1evRopyYzM1P333+/Ro8erbvvvltffvmlZs2apauuuspnX5WfVL506VIlJiaqSZMmio2NPWfQTEhI0MiRI/W73/1ODRo0UFpamvOUWVxcnB599NFqnQ9Q7/h7VjeAmpOfn28efPBBEx8fb4KDg02jRo1M27ZtzQMPPGBWr15dpf7TTz81gwcPNpGRkSYoKMhER0ebXr16mfnz5zs1lU9Bbdu2zee1a9euNZLM2rVrnbGysjIzadIkExkZaRo1amS6du1qNm3adM6now4fPmzGjx9v4uPjTVBQkAkPDzedO3c2U6dONaWlpcaY//8ps+eff/6i34NWrVoZSUaScblcpkmTJiYhIcFkZmaa999//5yv0VlPfv3qV78yXbp0Mc2bNzfBwcHm2muvNY8++qj55ptvfM71oYceMldddZVxuVxGktm7d6+zvzFjxlzUsSrf31WrVpnMzEzTrFkzExISYu644w7zxRdf+Lz2zJkzZtasWebaa681jRo1Ml26dDFr1qyp8pSZMca8+eab5ic/+YkJCgryOebZT5kZY0xFRYV57rnnTPv27U1QUJCJiIgw999/v9m/f79PXffu3c11111X5ZyGDh1qWrVqdc7zBeoLlzEX8cgFAADAFYw5RAAAwHoEIgAAYD0CEQAAsB6BCAAAWI9ABAAArEcgAgAA1uODGS/SmTNndPDgQYWFhdXY1wgAAIDLyxijY8eOKTY2Vg0anP86EIHoIh08eFBxcXH+bgMAAFTD/v37L/gJ+ASii1T5vU779++v8jUEAACgbiopKVFcXNwPfj8jgegiVd4ma9q0KYEIAIB65oemuzCpGgAAWI9ABAAArEcgAgAA1iMQAQAA6xGIAACA9QhEAADAegQiAABgPQIRAACwHoEIAABYj0AEAACs59dANG/ePHXq1Mn5OoyUlBT9/e9/d7YbY5SVlaXY2FiFhISoR48e2rlzp88+ysrKNG7cOEVERCg0NFQZGRk6cOCAT01xcbEyMzPldrvldruVmZmpo0eP1sYpAgCAesCvgahly5Z69tlntX37dm3fvl29evXSz372Myf0zJo1S7Nnz9bcuXO1bds2RUdHq2/fvjp27JizjwkTJmjFihXKzs7Whg0bVFpaqvT0dFVUVDg1Q4YMUX5+vnJycpST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TJLk8XjUsGFDNW/e3Od1UVFR8ng8Tk1kZGSVfUdGRjo15zJz5kxnzpHb7VZcXFyNnRcAAKhbqnXL7MyZMwoKCqoyHhQUpDNnzvzopirdc889zs9JSUnq0qWLWrVqpffee6/Ko//fZ4zx+a61c33v2tk1Z5syZYomTpzorJeUlBCKAAC4QlXrClGvXr30yCOP6ODBg87Y119/rUcffVS9e/eusebOFhMTo1atWumLL76QJEVHR6u8vFzFxcU+dUVFRYqKinJqDh06VGVfhw8fdmrOJTg4WE2bNvVZAADAlalagWju3Lk6duyYWrdurTZt2qht27aKj4/XsWPH9Lvf/a6me3QcOXJE+/fvV0xMjCSpc+fOCgoKUm5urlNTWFiogoICdevWTZKUkpIir9errVu3OjVbtmyR1+t1agAAgN2qdcssLi5OH3/8sXJzc/X555/LGKMOHTo4T3pdrNLSUu3Zs8dZ37t3r/Lz8xUeHq7w8HBlZWXp7rvvVkxMjPbt26cnnnhCERERuuuuuyT99wMihw8frkmTJqlFixYKDw/X5MmT1bFjR6eXxMRE9e/fXyNGjNCCBQskSSNHjlR6ejpPmAEAAEmXGIjWrFmjsWPHavPmzWratKn69u2rvn37SvrvI/DXXXed5s+fr9tuu+2i9rd9+3b17NnTWa+cszN06FDNmzdPn332md544w0dPXpUMTEx6tmzp5YvX66wsDDnNXPmzFFgYKAGDx6sEydOqHfv3lq0aJECAgKcmqVLl2r8+PHO02gZGRkX/OwjAABgl0sKRC+++KJGjBhxzvk0brdbo0aN0uzZsy86EPXo0UPGmPNuf//9939wH40aNdLvfve7C96qCw8P15IlSy6qJwAAYJ9LmkP06aefqn///ufdnpqaqry8vB/dFAAAQG26pEB06NChcz5uXykwMFCHDx/+0U0BAADUpksKRFdffbU+++yz827fsWOH8wQYAABAfXFJgeiOO+7QU089pZMnT1bZduLECT399NNKT0+vseYAAABqwyVNqn7yySf11ltvqX379ho7dqwSEhLkcrm0a9cuvfTSS6qoqNDUqVMvV68AAACXxSUFoqioKG3cuFG//OUvNWXKFOcJMZfLpX79+unll1++4Kc/AwAA1EWX/MGMrVq10sqVK1VcXKw9e/bIGKN27dpV+YJVAACA+qJan1Qt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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x='gender', data=df, palette='viridis')\n",
    "plt.title('Gender Distribution')\n",
    "plt.xlabel('Gender')\n",
    "plt.ylabel('Count')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "6375dd88-b3f7-4c89-a369-d1ff5b800f36",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DmXlypUX3W6++eZc15yamsqCBQuoVKkSFStWvORxQUFBjB07lj179rB3715GjRrFzJkzL2j9uJyzHZav1vn/LTIzMzl8+HCOcOHj43NBHxrgugJR2bJlyczMvKAztGVZJCYmOj8TEbk0hR0RN5SVlcWUKVOoVKkSixcvvmAbNGgQCQkJzJs3D4BmzZpx4sQJ5/2zpk+fnuN+1apViY6OZt26ddSrV++iW0BAQK5rfvbZZzl8+DBDhgy56udFRETw7LPP0rp1a9asWePcn9etGZ9++mmO+1988QWZmZk0b97cue+GG25g/fr1OY5btGgRJ0+ezLHPx8cH4Krqa9myJQDTpk3Lsf/rr7/m1KlTzsdF5NI0z46IG5o3bx4HDhzgjTfeyPHH+KyYmBjGjx/PxIkT6dChA7169WLMmDF0796dESNGULlyZebNm8f3338PQLFi574XffTRR7Rr1462bdvSu3dvKlSowJEjR9iyZQtr1qy5YKTXxRw8eJAVK1ZgWRYnTpxg48aNTJ06lXXr1jFgwAAef/zxSz732LFjtGjRgoceeohq1aoREBDAypUrmT9/Pl26dHEeV6tWLWbOnMmECROoW7cuxYoVo169etfwXzGnmTNn4unpSevWrdm0aRMvv/wyN910E127dnUe06NHD15++WVeeeUVmjVrxubNmxk/fjyBgYE5znV2Juv//Oc/BAQE4OvrS1RU1EUvQbVu3Zq2bdsyZMgQjh8/zm233cb69esZPnw4derUoUePHrl+TyJFhq3do0UkX3Tq1Mny9va2kpKSLnnMAw88YHl6elqJiYmWZVlWfHy81aVLF6tEiRJWQECAde+991rfffedBVizZ8/O8dx169ZZXbt2tcqXL295eXlZISEh1h133OEc9XU5gHMrVqyYVbJkSatWrVrWE088Yf3yyy8XHH/+CKkzZ85YTz75pFW7dm2rZMmSlp+fn1W1alVr+PDh1qlTp5zPO3LkiHXfffdZpUqVshwOh3X2193Z87311ltXfC3LOjcaa/Xq1VbHjh2d/30efPBB6+DBgzmen5aWZr3wwgtWeHi45efnZzVr1sxau3btBaOxLMuyxo4da0VFRVkeHh45XvP80ViWZUZUDRkyxIqMjLS8vLys0NBQ66mnnrJSUlJyHBcZGWm1b9/+gvfVrFkzq1mzZhfsFykqHJZ1FUMf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RETck8uGnaioKEJCQoiLi3PuS09PZ+nSpTRu3BiAunXr4uXlleOYhIQENm7c6DxGREREijZbR2OdPHmSnTt3Ou/v3r2btWvXUqZMGSIiIujfvz8jR44kOjqa6OhoRo4cib+/Pw899BAAgYGB9OnTh0GDBlG2bFnKlCnD4MGDqVWrlnN0loiIiBRttoadVatW0aJFC+f9gQMHAtCrVy8mT57MCy+8QGpqKk8//TQpKSk0aNCAH374gYCAAOdzxowZg6enJ127diU1NZWWLVsyefJkPDw8Cvz9iIiIiOuxNew0b94cy7Iu+bjD4SA2NpbY2NhLHuPr68u4ceMYN25cPlQoIiIihZ3L9tkRERERyQsKOyIiIuLWFHZERETErSnsiIiIiFtT2BERERG3prAjIiIibk1hR0RERNyawo6IiIi4NYUdERERcWsKOyIiIuLWFHZERETErSnsiIiIiFtT2BERERG3prAjIiIibk1hR0RERNyawo6IiIi4NYUdERERcWsKOyIiIuLWFHZERETErSnsiIiIiFtT2BERERG3prAjIiIibk1hR0RERNyawo6IiIi4NYUdERERcWsKOyIiIuLWFHZERETErSnsiIiIiFtT2BERERG3prAjIiIibk1hR0RERNyawo6IiIi4NYUdERERcWsKOyIiIuLWFHZERETErSnsiIiIiFtz6bATGxuLw+HIsYWEhDgftyyL2NhYwsLC8PPzo3nz5mzatMnGikVERMTVuHTYAahZsyYJCQnObcOGDc7H3nzzTUaPHs348eNZuXIlISEhtG7dmhMnTthYsYiIiLgSlw87np6ehISEOLdy5coBplVn7NixDBs2jC5duhATE8OUKVM4ffo0n332mc1Vi4iIiKtw+bCzY8cOwsLCiIqK4oEHHmDXrl0A7N69m8TERNq0aeM81sfHh2bNmrF8+XK7yhUREREX42l3AZfToEEDpk6dSpUqVTh48CAjRoygcePGbNq0icTERACCg4NzPCc4OJi9e/de9rxpaWmkpaU57x8/fjzvixcRERGX4NJhp127ds7btWrVolGjRlSqVIkpU6bQsGFDABwOR47nWJZ1wb7zjRo1ildffTXvCxYRERGX4/KXsf6uePHi1KpVix07djhHZZ1t4TkrKSnpgtae8w0dOpRjx445t3379uVbzSIiImKvQhV20tLS2LJl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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.histplot(df['age'], bins=20, kde=True, color='blue')\n",
    "plt.title('Age Distribution')\n",
    "plt.xlabel('Age')\n",
    "plt.ylabel('Frequency')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "5622b423-c370-4b06-9cc5-67e3e5905770",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\changeme\\AppData\\Local\\Temp\\ipykernel_9700\\3005590715.py:1: FutureWarning: \n",
      "\n",
      "Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n",
      "\n",
      "  sns.boxplot(x='stroke', y='bmi', data=df, palette='pastel')\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3/klEQVR4nO3deXgUVb7/8U9DSCeELCwhC4YAsgiGHUSQJWyBgMgmMgMquKAMiyIX4QdRCC6JMhdkfFBUhIALBh2WQZFtBhNwCGMAGVEZVCZI5koMhCUJSyBwfn9w05cmCbIl1QXv1/PUI3XqVNW3Opj+cOpUt8MYYwQAAGBTFawuAAAA4HoQZgAAgK0RZgAAgK0RZgAAgK0RZgAAgK0RZgAAgK0RZgAAgK0RZgAAgK0RZgAAgK0RZoBysnjxYjkcDrclODhY0dHR+uyzz4r1L+ozcuTIEo/3wgsvuPrs37/f1T5y5EhVqVLlN+u50n7X6+zZs3r77bfVtm1bVatWTZUrV1ZkZKT69++vlStXuvr98ssvio+P165du8qkDofDoXHjxpXJsYvs2bNHDz30kOrVqycfHx/VqFFDrVq10rhx45Sbm+vqt3TpUs2dO/e6zvXmm29q8eLF11cwcJMgzADlLCkpSWlpadq6daveeecdVaxYUf369dOnn35arK+/v78++eQT5eXlubUbY7R48WIFBASUV9nX7KGHHtL48ePVtWtXffDBB/r000/13HPPycvLS+vXr3f1++WXXzRz5swyCzNl7euvv1br1q31/fffa/r06Vq3bp3eeust9e3bV+vXr9eRI0dcfQkzwI3lZXUBwK0mKipKbdq0ca337t1bVatW1UcffaR+/fq59e3fv7+WL1+u5ORkjRo1ytW+adMmZWRkaNSoUVqwYEG51X61MjIytGzZMk2fPl0zZ850tXfv3l2jRo3S+fPnr/nYJ0+eVOXKlW9EmTfE3LlzVaFCBaWkpMjf39/Vfv/99+vFF18UX4MHlB1GZgCL+fj4yNvbW5UqVSq2LTAwUAMHDtSiRYvc2hctWqR77rlHDRs2vO7zf/fdd+revbv8/PwUHByscePG6eTJk67t3bt31x133FHszdgYo/r166tv376lHjsnJ0eSFBYWVuL2ChUu/ApKSUlR27ZtJUmPPPKI6/ZZfHy8pP+7JbZ7927FxMTI399f3bt3lyQdOXJEY8aMUa1ateTt7a169eopLi5OBQUFl71uY4ymTZumSpUquQXCZcuWqX379vLz81OVKlXUq1cvff3115c9VtG1BgQElHrrzuFwSJKio6O1Zs0a/fzzz263HIvMnDlT7dq1U7Vq1RQQEKBWrVpp4cKFbq9/nTp19N133yk1NdW1f506dST93+3Mi289Fr3GDodDKSkprravv/5a9957r2rWrCmn06nw8HD17dtX//nPf37zegFPQpgBytm5c+dUWFios2fP6j//+Y8mTJigEydOaNiwYSX2f+yxx7Rt2zbt2bNHknTs2DGtWLFCjz322HXXcvbsWfXp00fdu3fXqlWrNG7cOL399tsaOnSoq8/TTz+tvXv36m9/+5vbvmvXrtW+ffs0duzYUo/fuHFjBQUFaebMmXrnnXeKvcEWadWqlZKSkiRJzz33nNLS0pSWlqbHH3/c1efMmTO677771K1bN/3lL3/RzJkzdfr0aXXt2lXvvfeeJk6cqDVr1ujBBx/UrFmzNGjQoFLrKigo0LBhwzRv3jx9+umnrlGvhIQE/f73v1eTJk308ccf6/3331deXp46deqk77///rKvZfv27XXw4EENHz5cqampOnXqVIn93nzzTd1zzz0KDQ11XWdaWppr+/79+/Xkk0/q448/1ooVKzRo0CCNHz9eL774oqvPypUrVa9ePbVs2dK1/8Xzj67EiRMn1LNnT/3666964403tHHjRs2dO1e1a9cudlsT8HgGQLlISkoykootTqfTvPnmm8X6SzJjx44158+fN3Xr1jWTJk0yxhjzxhtvmCpVqpi8vDzzxz/+0UgyGRkZrv1GjBhh/Pz8frOeESNGGEnmT3/6k1v7yy+/bCSZL7/80hhjzLlz50y9evVM//793frFxsaa22+/3Zw/f/6y51mzZo2pUaOG63qrV69uhgwZYlavXu3WLz093UgySUlJpda6aNEit/a33nrLSDIff/yxW/urr75qJJkNGza42opez5ycHNOxY0dTq1Yts2vXLtf2AwcOGC8vLzN+/Hi3Y+Xl5ZnQ0FDzwAMPXPY6T58+bQYMGOC6zooVK5qWLVuauLg4k52d7da3b9++JjIy8rLHM+bCa3/27FnzwgsvmOrVq7u91nfeeafp0qVLsX2K/p5d/HfCGGO++OILI8l88cUXxhhjtm/fbiSZVatW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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(x='stroke', y='bmi', data=df, palette='pastel')\n",
    "plt.title('BMI by Stroke Status')\n",
    "plt.xlabel('Stroke (0 = No, 1 = Yes)')\n",
    "plt.ylabel('BMI')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "200ea933-d191-41a6-a8f3-8c5e831a6470",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:base] *",
   "language": "python",
   "name": "conda-base-py"
  },
  "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.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
