{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4a8cf18e-c15f-44a0-bd39-36aac17aa524",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "0487dad4-eb54-46e1-91b3-daa4f4d2064e",
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('~/diabetes_binary.csv')\n",
"pd.set_option('display.max_columns', 50) # this is to show all the columns"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "cfcb7969-4e9a-4ccf-ad0f-5fc8fc50901e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Diabetes_binary \n",
" HighBP \n",
" HighChol \n",
" CholCheck \n",
" BMI \n",
" Smoker \n",
" Stroke \n",
" HeartDiseaseorAttack \n",
" PhysActivity \n",
" Fruits \n",
" Veggies \n",
" HvyAlcoholConsump \n",
" AnyHealthcare \n",
" NoDocbcCost \n",
" GenHlth \n",
" MentHlth \n",
" PhysHlth \n",
" DiffWalk \n",
" Sex \n",
" Age \n",
" Education \n",
" Income \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 26.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 3.0 \n",
" 5.0 \n",
" 30.0 \n",
" 0.0 \n",
" 1.0 \n",
" 4.0 \n",
" 6.0 \n",
" 8.0 \n",
" \n",
" \n",
" 1 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 26.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 3.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 12.0 \n",
" 6.0 \n",
" 8.0 \n",
" \n",
" \n",
" 2 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 26.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 10.0 \n",
" 0.0 \n",
" 1.0 \n",
" 13.0 \n",
" 6.0 \n",
" 8.0 \n",
" \n",
" \n",
" 3 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 28.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 3.0 \n",
" 0.0 \n",
" 3.0 \n",
" 0.0 \n",
" 1.0 \n",
" 11.0 \n",
" 6.0 \n",
" 8.0 \n",
" \n",
" \n",
" 4 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 29.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 2.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 8.0 \n",
" 5.0 \n",
" 8.0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 70687 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 37.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 4.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 6.0 \n",
" 4.0 \n",
" 1.0 \n",
" \n",
" \n",
" 70688 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 29.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 2.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 10.0 \n",
" 3.0 \n",
" 6.0 \n",
" \n",
" \n",
" 70689 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 25.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 5.0 \n",
" 15.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 13.0 \n",
" 6.0 \n",
" 4.0 \n",
" \n",
" \n",
" 70690 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 18.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 4.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 11.0 \n",
" 2.0 \n",
" 4.0 \n",
" \n",
" \n",
" 70691 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 25.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 2.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 9.0 \n",
" 6.0 \n",
" 2.0 \n",
" \n",
" \n",
"
\n",
"
70692 rows × 22 columns
\n",
"
"
],
"text/plain": [
" Diabetes_binary HighBP HighChol CholCheck BMI Smoker Stroke \\\n",
"0 0.0 1.0 0.0 1.0 26.0 0.0 0.0 \n",
"1 0.0 1.0 1.0 1.0 26.0 1.0 1.0 \n",
"2 0.0 0.0 0.0 1.0 26.0 0.0 0.0 \n",
"3 0.0 1.0 1.0 1.0 28.0 1.0 0.0 \n",
"4 0.0 0.0 0.0 1.0 29.0 1.0 0.0 \n",
"... ... ... ... ... ... ... ... \n",
"70687 1.0 0.0 1.0 1.0 37.0 0.0 0.0 \n",
"70688 1.0 0.0 1.0 1.0 29.0 1.0 0.0 \n",
"70689 1.0 1.0 1.0 1.0 25.0 0.0 0.0 \n",
"70690 1.0 1.0 1.0 1.0 18.0 0.0 0.0 \n",
"70691 1.0 1.0 1.0 1.0 25.0 0.0 0.0 \n",
"\n",
" HeartDiseaseorAttack PhysActivity Fruits Veggies HvyAlcoholConsump \\\n",
"0 0.0 1.0 0.0 1.0 0.0 \n",
"1 0.0 0.0 1.0 0.0 0.0 \n",
"2 0.0 1.0 1.0 1.0 0.0 \n",
"3 0.0 1.0 1.0 1.0 0.0 \n",
"4 0.0 1.0 1.0 1.0 0.0 \n",
"... ... ... ... ... ... \n",
"70687 0.0 0.0 0.0 1.0 0.0 \n",
"70688 1.0 0.0 1.0 1.0 0.0 \n",
"70689 1.0 0.0 1.0 0.0 0.0 \n",
"70690 0.0 0.0 0.0 0.0 0.0 \n",
"70691 1.0 1.0 1.0 0.0 0.0 \n",
"\n",
" AnyHealthcare NoDocbcCost GenHlth MentHlth PhysHlth DiffWalk Sex \\\n",
"0 1.0 0.0 3.0 5.0 30.0 0.0 1.0 \n",
"1 1.0 0.0 3.0 0.0 0.0 0.0 1.0 \n",
"2 1.0 0.0 1.0 0.0 10.0 0.0 1.0 \n",
"3 1.0 0.0 3.0 0.0 3.0 0.0 1.0 \n",
"4 1.0 0.0 2.0 0.0 0.0 0.0 0.0 \n",
"... ... ... ... ... ... ... ... \n",
"70687 1.0 0.0 4.0 0.0 0.0 0.0 0.0 \n",
"70688 1.0 0.0 2.0 0.0 0.0 1.0 1.0 \n",
"70689 1.0 0.0 5.0 15.0 0.0 1.0 0.0 \n",
"70690 1.0 0.0 4.0 0.0 0.0 1.0 0.0 \n",
"70691 1.0 0.0 2.0 0.0 0.0 0.0 0.0 \n",
"\n",
" Age Education Income \n",
"0 4.0 6.0 8.0 \n",
"1 12.0 6.0 8.0 \n",
"2 13.0 6.0 8.0 \n",
"3 11.0 6.0 8.0 \n",
"4 8.0 5.0 8.0 \n",
"... ... ... ... \n",
"70687 6.0 4.0 1.0 \n",
"70688 10.0 3.0 6.0 \n",
"70689 13.0 6.0 4.0 \n",
"70690 11.0 2.0 4.0 \n",
"70691 9.0 6.0 2.0 \n",
"\n",
"[70692 rows x 22 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c3b7f023-db0e-42c5-a9bb-94d1872bd912",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(70692, 22)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "069930e8-d2d9-4c9a-9d9e-66cb2e44c9f7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAHFCAYAAAD/kYOsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGnklEQVR4nO3df3zN9f//8fvZb+wHNsYYpgmZ38uvkaiW39EvJUahvFNCCRXiXS2836U3UVJJeWvpTUmSJb9NIT8KnyJjfmwxPzY/x7bX9w/fnRznnNnOxpmX2/VyOZfLzvM8X8/X4/V6befc9/p1LIZhGAIAADARD3cXAAAAUNwIOAAAwHQIOAAAwHQIOAAAwHQIOAAAwHQIOAAAwHQIOAAAwHQIOAAAwHQIOAAAwHQIODCNn376ST169FC1atXk6+ur0NBQtWzZUs8///w1m+f69ev16quv6uTJk3avTZ8+XbNnz75m8y6o2bNny2KxaN++fYWedsmSJXr11VeLvSZJmjp1qiIjI+Xj4yOLxeJwHUp/13/5o0KFCrrzzju1ePFiu/55ffr16+dwvAkTJlj7XL5O+vXrJ39//2JYsuJTo0YNp8txucvXjaenp8qVK6eGDRvqqaee0oYNG+z679u3TxaLxaXfz5UrV8pisejLL78s9LTO7Ny5U6+++qpLv6OAMwQcmMK3336rVq1aKTMzU5MmTdKyZcv0zjvvKCYmRgkJCddsvuvXr9f48eNLdMApiiVLlmj8+PHFPu7WrVs1ZMgQtWvXTj/++KOSkpIUEBCQ7zQff/yxkpKStH79es2cOVOenp7q2rWrvvnmG7u+AQEBmj9/vk6dOmXTbhiGZs+ercDAwGJdnpLgwQcfVFJSktauXavPP/9ccXFx2rBhg1q2bKnnnnvOpm/lypWVlJSkzp07u6laWzt37tT48eMJOChWXu4uACgOkyZNUkREhL7//nt5ef39a/3II49o0qRJbqyseBmGofPnz6tUqVLuLqVIduzYIUkaOHCgmjVrVqBpoqKiFB0dbX3eoUMHlStXTvPmzVPXrl1t+t5333363//+p88//1wDBw60tv/4449KTk7WwIED9cEHHxTDkpQcoaGhatGihfX5vffeq6FDh+rJJ5/Uf/7zH9WpU0f/+Mc/JEm+vr42fQEzYg8OTOHYsWMKCQmxCTd5PDzsf83/+9//qmXLlvL395e/v78aNWqkDz/80Pp6YmKi7rvvPlWtWlV+fn6KjIzUU089pfT0dGufV199VSNGjJAkRUREWA8RrFy5UjVq1NCOHTu0atUqa3uNGjWs02ZmZuqFF15QRESEfHx8VKVKFQ0dOlRnzpyxqdNiseiZZ57Re++9p7p168rX11effPKJ9RDDpEmT9Prrr6tatWry8/NTdHS0li9fXqB19tFHH6lhw4by8/NT+fLl1aNHD+3atcv6er9+/fTuu+9a63B0WMeVce+880717t1bktS8efN8Dyflx8/PTz4+PvL29rZ7LSgoSD169NBHH31kV1tMTIxuvfXWQs8vz6ZNm/TII4+oRo0aKlWqlGrUqKFHH31U+/fvt+mXd2htxYoV+sc//qGQkBAFBwfr/vvv1+HDh236Xrx4US+++KIqVaqk0qVLq3Xr1vr5559drjGPp6enpk2bppCQEE2ePNna7ugQ1Z49e/T444+rVq1aKl26tKpUqaKuXbvq119/dTj2+fPnNXz4cFWqVEmlSpVS27ZttWXLFrt+mzZtUrdu3VS+fHn5+fmpcePG+uKLL6yvz549Ww899JAkqV27dtbfs8tr++GHH3TXXXcpMDBQpUuXVkxMjN3v+dGjR/Xkk08qPDxcvr6+qlChgmJiYvTDDz+4supgAgQcmELLli31008/aciQIfrpp5908eJFp33Hjh2rxx57TGFhYZo9e7YWLlyovn372nxA/fnnn2rZsqVmzJihZcuWaezYsfrpp5/UunVr69gDBgzQs88+K0lasGCBkpKSlJSUpCZNmmjhwoWqWbOmGjdubG1fuHChJOns2bNq27atPvnkEw0ZMkTfffedRo4cqdmzZ6tbt24yDMOm3q+++kozZszQ2LFj9f3336tNmzbW16ZNm6alS5dqypQp+uyzz+Th4aGOHTsqKSkp3/UVHx+v/v37q169elqwYIHeeecdbd++XS1bttTu3bslSWPGjNGDDz4oSdZlSEpKUuXKlYs07vTp0/XKK69I+vuw05gxY/KtV5JycnKUnZ2tixcv6uDBg9ZA2KtXL4f9+/fvrw0bNljD1cmTJ7VgwQL179//qvPKz759+1S7dm1NmTJF33//vSZOnKjU1FTdfvvtNgE4z4ABA+Tt7a3//ve/mjRpklauXGkNeHkGDhyof/3rX4qLi9PXX3+tBx54QPfff79OnDhRpFolqVSpUrr77ruVnJysgwcPOu13+PBhBQcH680339TSpUv17rvvysvLS82bN9fvv/9u1/+ll17S3r17NWvWLM2aNUuHDx/WnXfeqb1791r7rFixQjExMTp58qTee+89ff3112rUqJF69uxpDTCdO3fWG2+8IUl69913rb9neYfPPvvsM8XGxiowMFCffPKJvvjiC5UvX1733nuvTcjp06ePvvrqK40dO1bLli3TrFmzdPfdd+vYsWNFXoe4QRmACaSnpxutW7c2JBmSDG9vb6NVq1ZGfHy8cerUKWu/vXv3Gp6ensZjjz1W4LFzc3ONixcvGvv37zckGV9//bX1tcmTJxuSjOTkZLvp6tWrZ7Rt29auPT4+3vDw8DA2btxo0/7ll18akowlS5ZY2yQZQUFBxvHjx236JicnG5KMsLAw49y5c9b2zMxMo3z58sbdd99tbfv4449tajxx4oRRqlQpo1OnTjZjpqSkGL6+vkavXr2sbYMHDzYK+jZRmHHzarpyHTiS1/fKh6+vrzF9+nS7/pKMwYMHG7m5uUZERITxwgsvGIZhGO+++67h7+9vnDp1yuF269u3r1GmTJkCLevlsrOzjdOnTxtlypQx3nnnHbu6n376aZv+kyZNMiQZqamphmEYxq5duwxJxrBhw2z6zZ0715Bk9O3b96o15C2zMyNHjjQkGT/99JNhGH///nz88cf5LteFCxeMWrVq2dS2YsUKQ5LRpEkTIzc319q+b98+w9vb2xgwYIC1rU6dOkbjxo2Nixcv2ozdpUsXo3LlykZOTo5hGIYxf/58Q5KxYsUKm35nzpwxypcvb3Tt2tWmPScnx2jYsKHRrFkza5u/v78xdOhQp8uDmw97cGAKwcHBWrNmjTZu3Kg333xT9913n/744w+NHj1a9evXt/5nnZiYqJycHA0ePDjf8Y4cOaJBgwYpPDxcXl5e8vb2VvXq1SXJ5nCLKxYvXqyoqCg1atRI2dnZ1se9995rPcR1ufbt26tcuXIOx7r//vvl5+dnfR4QEKCuXbtq9erVysnJcThNUlKSzp07Z3dYKDw8XO3bty/wIa7rNW6eOXPmaOPGjdq4caO+++479e3bV4MHD9a0adMc9s879PXpp58qOztbH374oR5++OEiXyl1+vRpjRw5UpGRkfLy8pKXl5f8/f115swZh78b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UqU0derUYikOAADAFYUOOMnJyTIMQzVr1tTPP/+sChUqWF/z8fFRxYoVbe5sDAAAcL0VOuBUr15dkpSbm1vsxQAAABSHIn+beExMjM23ib/99tt8mzgAAHCrIn+beKdOnWy+TbxcuXJ8mzgAAHArvk0cAACYDt8mDgAATIdvEwcAAKbDt4kDAADT4dvEAQCA6fBt4nybOAAAN4TCfH67vAcnz5EjR/T7779bv77h8jsbAwAAuIPLJxlnZmaqT58+CgsLU9u2bXXHHXcoLCxMvXv3VkZGRqHGmj59uiIiIuTn56emTZsW+NvI161bJy8vLzVq1MiFJQAAAGblcsAZMGCAfvrpJ3377bc6efKkMjIytHjxYm3atEkDBw4s8DgJCQkaOnSoXn75ZW3ZskVt2rRRx44dlZKSku90GRkZiouL01133eXqIgAAAJNy+RycMmXK6Pvvv1fr1q1t2tesWaMOHToU+F44zZs3V5MmTTRjxgxrW926ddW9e3fFx8c7ne6RRx5RrVq15Onpqa+++srhJevOcA4OAAA3nsJ8fru8Byc4OFhBQUF27UFBQSpXrlyBxrhw4YI2b96s2NhYm/bY2FitX7/e6XQff/yx/vzzT40bN65wRQMAgJuCywHnlVde0fDhw5WammptS0tL04gRIzRmzJgCjZGenq6cnByFhobatIeGhiotLc3hNLt379aoUaM0d+5ceXkV7BzprKwsZWZm2jwAAIB5FeoqqsaNG8tisVif7969W9WrV1e1atUkSSkpKfL19dXRo0f11FNPFXjcy8eUJMMw7NokKScnR7169dL48eN16623Fnj8+Ph4jR8/vsD9AQDAja1QAad79+7FOvOQkBB5enra7a05cuSI3V4dSTp16pQ2bdqkLVu26JlnnpEk5ebmyjAMeXl5admyZWrfvr3ddKNHj9bw4cOtzzMzMxUeHl6sywIAAEqOQgWc4j7nxcfHR02bNlViYqJ69OhhbU9MTNR9991n1z8wMNDum8qnT5+uH3/8UV9++aUiIiIczsfX11e+vr7FWjsAACi5inyjv6IaPny4+vTpo+joaLVs2VIzZ85USkqKBg0aJOnS3pdDhw5pzpw58vDwUFRUlM30FStWlJ+fn107AAC4ebkccHJycvT222/riy++UEpKii5cuGDz+vHjxws0Ts+ePXXs2DFNmDBBqampioqK0pIlS1S9enVJUmpq6lXviQMAAHA5l++DM3bsWM2aNUvDhw/XmDFj9PLLL2vfvn366quvNHbsWA0ZMqS4ay023AcHAIAbz3W5D87cuXP1wQcf6IUXXpCXl5ceffRRzZo1S2PHjtWGDRtcHRYAAKDIXA44aWlpql+/viTJ39/f+v1TXbp00bfffls81QEAALjA5YBTtWpV603+IiMjtWzZMknSxo0buWIJAAC4lcsBp0ePHlq+fLkk6bnnntOYMWNUq1YtxcXF6Yknnii2AgEAAArL5ZOMr7RhwwatX79ekZGR6tatW3EMec1wkjEAADeewnx+F9t9cFq0aKEWLVoU13AAAAAuK1TAWbRokTp27Chvb28tWrQo374lfS8OAAAwr0IdovLw8FBaWpoqVqwoDw/np+9YLBbl5OQUS4HXAoeoAAC48VyzQ1S5ubkOfwYAAChJXDoHJzc3V7Nnz9aCBQu0b98+WSwW1axZUw888ID69Okji8VS3HUCAAAUWKEvEzcMQ926ddOAAQN06NAh1a9fX/Xq1dO+ffvUr18/m28FBwAAcIdC78GZPXu2Vq9ereXLl6tdu3Y2r/3444/q3r275syZo7i4uGIrEgAAoDAKvQdn3rx5eumll+zCjSS1b99eo0aN0ty5c4ulOAAAAFcUOuBs375dHTp0cPp6x44dtW3btiIVBQAAUBSFDjjHjx9XaGio09dDQ0N14sSJIhUFAABQFIUOODk5OfLycn7qjqenp7Kzs4tUFAAAQFEU+iRjwzDUr18/p98YnpWVVeSiAAAAiqLQAadv375X7cMVVAAAwJ0KHXA+/vjja1EHAABAsSn0OTgAAAAlHQEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYDgEHAACYTokIONOnT1dERIT8/PzUtGlTrVmzxmnfBQsW6J577lGFChUUGBioli1b6vvv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2rBhgxITE5Wdna3Y2FidOXPG2mfSpEl66623NG3aNG3cuFGVKlXSPffcY/2uLlw/Gzdu1MyZM9WgQQObdraRe504cUIxMTHy9vbWd999p507d+rf//63ypYta+3DNnKviRMn6r333tO0adO0a9cuTZo0SZMnT9bUqVOtfdhG19eZM2fUsGFDTZs2zeHrBdkeQ4cO1cKFC/X5559r7dq1On36tLp06aKcnJyCF2LgpnDkyBFDkrFq1SrDMAwjNzfXqFSpkvHmm29a+5w/f94ICgoy3nvvPXeVeVM6deqUUatWLSMxMdFo27at8dxzzxmGwTYqCUaOHGm0bt3a6etsI/fr3Lmz8cQTT9i03X///Ubv3r0Nw2AbuZskY+HChdbnBdkeJ0+eNLy9vY3PP//c2ufQoUOGh4eHsXTp0gLPmz04N4mMjAxJUvny5SVJycnJSktLU2xsrLWPr6+v2rZtq/Xr17ulxpvV4MGD1blzZ91999027Wwj91u0aJGio6P10EMPqWLFimrcuLE++OAD6+tsI/dr3bq1li9frj/++EOStG3bNq1du1adOnWSxDYqaQqyPTZv3qyLFy/a9AkLC1NUVFShttlN+WWbNxvDMDR8+HC1bt1aUVFRkqS0tDRJUmhoqE3f0NBQ7d+//7rXeLP6/PPP9csvv2jjxo12r7GN3G/v3r2aMWOGhg8frpdeekk///yzhgwZIl9fX8XFxbGNSoCRI0cqIyNDderUkaenp3JycvT666/r0UcflcTfUUlTkO2RlpYmHx8flStXzq5P3vQFQcC5CTzzzDPavn271q5da/eaxWKxeW4Yhl0bro0DBw7oueee07Jly+Tn5+e0H9vIfXJzcxUdHa033nhDktS4cWPt2LFDM2bMUFxcnLUf28h9EhIS9Nlnn+m///2v6tWrp61bt2ro0KEKCwtT3759rf3YRiWLK9ujsNuMQ1Qm9+yzz2rRokVasWKFqlatam2vVKmSJNml4SNHjtgla1wbmzdv1pEjR9S0aVN5eXnJy8tLq1at0n/+8x95eXlZtwPbyH0qV66s2267zaatbt26SklJkcTfUUkwYsQIjRo1So888ojq16+vPn36aNiwYYqPj5fENippCrI9KlWqpAsXLujEiRNO+xQEAcekDMPQM888owULFujHH39URESEzesRERGqVKmSEhMTrW0XLlzQqlWr1KpVq+td7k3prrvu0q+//qqtW7daH9HR0Xrssce0detW1axZk23kZjExMXa3V/jjjz9UvXp1SfwdlQRnz56Vh4ftR5mnp6f1MnG2UclSkO3RtGlTeXt72/RJTU3Vb7/9Vrht5vq50SjJ/vGPfxhBQUHGypUrjdTUVOvj7Nmz1j5vvvmmERQUZCxYsMD49ddfjUcffdSoXLmykZmZ6cbKb26XX0VlGGwjd/v5558NLy8v4/XXXzd2795tzJ071yhdurTx2WefWfuwjdyrb9++RpUqVYzFixcbycnJxoIFC4yQkBDjxRdftPZhG11fp06dMrZs2WJs2bLFkGS89dZbxpYtW4z9+/cbhlGw7TFo0CCjatWqxg8//GD88ssvRvv27Y2GDRsa2dnZBa6DgGNSkhw+Pv74Y2uf3NxcY9y4cUalSpUMX19f44477jB+/fVX9xUNu4DDNnK/b775xoiKijJ8fX2NOnXqGDNnzrR5nW3kXpmZmcZzzz1nVKtWzfDz8zNq1qxpvPzyy0ZWVpa1D9vo+lqxYoXDz5++ffsahlGw7XHu3DnjmWeeMcqXL2+UKlXK6NKli5GSklKoOiyGYRhF2t8EAABQwnAODgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDgAAMB0CDoASr1+/frJYLNZHcHCwOnTooO3bt1v75L22YcMGm2mzsrIUHBwsi8WilStX2vT/6quvrtMSALjeCDgAbggdOnRQamqqUlNTtXz5cnl5ealLly42fcLDw/Xxxx/btC1cuFD+/v7Xs1QAJQABB8ANwdfXV5UqVVKlSpXUqFEjjRw5UgcOHNDRo0etffr27avPP/9c586ds7Z99NFH6tu3rztKBuBGBBwAN5zTp09r7ty5ioyMVHBwsLW9adOmioiI0P/+9z9J0oEDB7R69Wr16dPHXaUCcBMCDoAbwuLFi+Xv7y9/f38FBARo0aJFSkhIkIeH7dvY448/ro8++kiS9PHHH6tTp06qUKGCO0oG4EYEHAA3hHbt2mnr1q3aunWrfvrpJ8XGxqpjx47av3+/Tb/evXsrKSlJe/fu1ezZs/XEE0+4qWIA7kTAAXBDKFOmjCIjIxUZGalmzZrpww8/1JkzZ/TBBx/Y9AsODlaXLl3Uv39/nT9/Xh07dnRTxQDciYAD4IZksVjk4eFhc0JxnieeeEIrV65UXFycPD093VAdAHfzcncBAFAQWVlZSktLkySdOHFC06ZN0+nTp9W1a1e7vh06dNDRo0cVGBh4vcsEUEIQcADcEJYuXarKlStLkgICAlSnTh3Nnz9fd955p11fi8WikJCQ61whgJLEYhiG4e4iAAAAihPn4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANMh4AAAANP5f1ixI/XGa6GAAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot.scatter(x='BMI', y='Diabetes_binary', title='Scatterplot of BMI and Diabetes') # Binary response"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "efb7daab-6b7e-45e1-8189-9ecd5ccd422c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGwCAYAAACkfh/eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTVklEQVR4nO3deVhUZf8G8PvMyj4KyCaIKLniCrmbaUa5lWVpmVtqb5ZlSm+Z2Wr10qr2Wlpa2s83Myu1TM0ic99FEbc0VxBBRIRhnfX8/kCOjgw6rGcY7s91zZXPwzlnvnBizs1ZnkcQRVEEERERkQtRyF0AERERUXVjwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyVHIXIAer1YqLFy/C29sbgiDIXQ4RERE5QBRF5OXlISQkBArFrc/R1MuAc/HiRYSFhcldBhEREVVCamoqQkNDb7lMvQw43t7eAEp+QD4+PjJXQ0RERI7Q6/UICwuTjuO3Ui8DTullKR8fHwYcIiKiOsaR20t4kzERERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5nHo5knFtMZut+DU5HWk5hWjcwAND2gdDpVKguNiMd9Yfx7nsAjT19cTrA1sjp6gY987dgUKjGR4aFRKm9kROcTHu/3SPtL0NL3TF7gsX8NbKNKnvrWGNMe7Ojnjt+3X4Nun6e4/qCOxPAv6+oZ5WsG3fyrn3B6HpK+sq/83L+D7cpnzbdAdQdFPbF0DaDX2NAex4fxCe/3Idfj17vX9IBODlBSw/fL3v8XaAIADfJV/vG9keaHFHY7u/B7P/2IT//lUo9U/p54HQgAC8/P05qe/Dx5oi0tcXD88/IPWterYzsgoL8a9vrv+GLBzXCrGtmuNIWiYGz9sn9a99/k4YLZYy6wd4eqL/nB0wmK3QqhT4c1pPmK1W9J+zA2YroFJA6oudswtWlPyF+ce07ogM9EVOXjEeWbgHl/OK0cjbDT/9qyvMVisGztuJ3CIjdO4arH++BxSCgAfm70J2gQG+nlqsebY7NEolnlp2QPqsWfREZ3h5apBfYCzTr1Er8cXWMzifXYBwX09MuqsZzGYr4lYmIyW7AE18PTF7WHsAKNPn4aGGPt+AJ5bsQ0ZuEYJ07lj25J1w06jKbFOlUuDoRT2yC43w9dCgbYgPCotMduu0x977eHloymzTaLSU+Tx1c1PBahXLLJtfaCyzTYUglKnJw11dZl2FQkBhoanMz8TNTWV32Ztl64vK7DdfH3e737vRaCnz89RolHaXtcdenR4eaofWtfdzs/f9lKeqtVcnQRRFUZZ3BrB161Z89NFHSExMRHp6OlavXo2hQ4fecp0tW7YgLi4OR48eRUhICF5++WVMmjSpQu+r1+uh0+mQm5tbY1M1LNp6Gp9vPo28IpP0Qebtroa/pwanLhfUyHsSEZVSKwCTVZ5tKgQgwFsLhSDAZBGhVgq4WmhEkZ2VIxt54s8X77bp6xG/ERdzi8ssq1Eq4O+lkbZZbLIgu9BUZrlOYTp4ualxOjNfWjYr3wCjxbHDnbtagYYe19+neYAX0nOK7H52e2mV8HFT2yz7TJ/m6BHpLy3T/q0N0Bdbyqzr46ZE8lv32/TNXJWMFfsvwGy9XqtKIWBETCjee7j9bWt/6PPtOJiaW6a/U5gOqyf3uuW6O09lYcGW0zY/N3vfT3mqWrsjKnL8lvUSVUFBATp06IDPPvvMoeXPnj2LgQMHonfv3jh48CBeffVVTJkyBStXrqzhSitm0dbT+GDDCeQWmqBQCNAoBSgUAnIKTQw3RFQrqjvcVGSbVhHI0BuQbzAjwFuLy/kGu+EGAE5dLkD/TzZL7fLCDQAYLVZk5hUjwFuLnCKT3XADAAdTc7HnzBV4alUI8NbiUl6xw+EGAIpMVlzONyDAWwtPrQq7TmeV+9mdb7Dgyg3LHk/Pw6urD2PnqSwA5YcbANAXW9D+rQ1Se+aqZCzbm2oTEADAbBWxbG8qZq5KvnkTNsoLN0DJz+Shz7eXu+7OU1l4dfVhHE/XSz83e99Peapae02Q9RLVgAEDMGDAAIeX/+KLL9CkSRPMnTsXANC6dWvs378fH3/8MYYNG1ZDVVaM2WzF55tPw2IVoVEJUAglGVIQRJgq8AtGRFTX6YvNsIq3/+w7dbkA+QVGWEWx3HBTymwFLKIVhUb7oaGU0SJCo1TAKlphqUTYM1lEiBChVggw32Z9g0WExWKGm1qNIB8FMvQGLNhyGi0aeZQbbkrpiy3I1hfBy02DFfsvSP03ziVZep1lxf4LeHNw2zKXfERRRH6BqdxwU+pgai7+uaiHm5sKFqsIq1jyMltEfPzHCeQUGuHnqYVVFFFstkAUAW+tEtmFJsT/9jdeub8VIABWUYQoXv+v0WTB8n2pt3zv8mqvSbJeorqRIAi3vUR11113oVOnTvj000+lvtWrV2P48OEoLCyEWm3/GqPBYIDBYJDapdOt18QlqtUH0vDvH5OgUAhQKa6fIDNarLBYneJHTURUa9RKwaE/7ro380O+wYzDabc+SAOAUhBgceDQ5euhQaHRjOLbJZRyuKkUJffe3CZMASWXzxp6qCGi5PPeZLbCKorlnrm6eV0/Lw3SbxPuAECrUkCtVMBiFUteoujUxxZBuB7Q4vq3wJT+d1Rpe3XmElVFZWRkIDAw0KYvMDAQZrMZWVnlnz6Lj4+HTqeTXmFhYTVWY1pOYck9Nzfdk+UkOZKIqFY5evBNyylERm7R7RcEHAo3AJBbbIKhkuEGAIrNtz9TVMposeJSngGZeQbkFJpQYLQ4FG5K13Uk3ACAwWxFvsGMIpOlzv3hfD67dm/RqHNPUQmCbXIoDQ43999oxowZiIuLk9qlZ3BqQuMGHlCg5Br0jSFHuDHGEhHVEwqh5PPwdvINFhirEEbsqUsH/9qmEACFUHJ/qADAaLZCEAABAnDt2HXjUVUURfh5aaFVK0rWEwQI17ZxtcCIKwXG275nuK9njXwv5alTAScoKAgZGRk2fZmZmVCpVPDz8yt3Pa1WC61WW9PlAQCGtA/G22uPltxgLFile3DUSoG/bERU7ziaWbIdOEDWNoVQ8sepI5/d3lollNduSyg2WdDQU4O+Lfzx3b4Lt1kTmDWkNby0avx7ZfItw6BSAH58uju0GiVUCgWUCqHkJQgwGs3o/+m2277XkdfvLfNovtUqYuySvTienocgH63NCQNRFJGhN6B1sDf+78kudh8ZNxotaPPW79INxvbuH1IpBEy6q9lt66tOdeoSVffu3ZGQkGDT98cffyAmJqbc+29qm0qlwOS7m0OpEGA0izBbrdducmO4ISKqDqprZx1uRSEAfp6aawfsir+HWimgdZAPIvw9obrNkVKrFNDE1xP+3lqolAoE6dzwyaMd8J9hHeDjduuban3clBjTsxkejgnD43fe+srCY3eGoXNTX7QN0aFlkDciA7wQ4e+JJn4eiAz2Qacw3S3X7xSmszvukEIh4Jk+zeGlVSJDb0CRyQKrVUSRyYIMvQFeWiWe6dO83PFwNBolRsSESm1RvP4qNSImtNbHw5H1JuP8/HycOnUKANCpUyfMnj0bffv2ha+vL5o0aYIZM2YgLS0NS5cuBVDymHhUVBSefvppPPXUU9i1axcmTZqE5cuXV+gpqtoeB0dEyak+joNDRLWlJsbBqQk6NxWe6BYObzc1vN1U8HZT4e01R+0+Aq5WCGjkrYXJWvJ0k0Pj4FxbtlLj4Fxb16FxcG5Y1iXGwbnF91MeZxsHR9aAs3nzZvTt27dM/9ixY/HNN99g3LhxOHfuHDZv3ix9bcuWLZg2bZo00N/06dOdcqA/gCMZy/U+3CZHMi5VX0YyLjJaMem7g7iYWwgPjQrRTRoiXV+MlOxCh29erYjSP+S1KiW6NG2IRt5anLtSiGKzBSE+7hjaMQR+3lpk5RthtloR1tADHcMacCRjjmRcZXUm4MiltgIOEVF1MVusOJ9diFOZ+TiVmY+zWQXSqzruX1EqBAR6axHg44YAby0CfLQI8C75dyNvLfy9tPDz0sDfSws3tTxD7xNV5Phdp24yJiJydVariJTsQvydkYcTGXk4eankde5KQZUGCw300aJxA3eElL50bghu4I5gnRuCfNzg56WFsgJ/qRM5OwYcIiKZFJssOJGRh2Ppehy9mIujF/X4Oz0PRSbHxl65kadGiSZ+ngj39UC4nwea+HkgrKEHQhuWBBqedaH6hgGHiKgWmC1WnLyUj+QLOTh0IQeHUnNx8lJembl7bkUhAOF+nmjeyAvNG3kiwv/aq5EnGnlpbzkeGFF9w4BDRFQDcgqNOJiSg8TzV5F4/iqSUnMqdGamia8HWgZ5o1WQN1oEeuOOQC809fPkmRgiBzHgEBFVg8y8Yuw9m429Z7Ox50w2TlzKc2g9jUqB1kHeaBOiQ9sQH7QJ8UHLQG94avnxTFQV/A0iIqoEfbEJu09fwY5TWdh+KgunHRjfSqUQ0DLIG+1DG6BDqA7tQxugRaAXVMo6NeYqUZ3AgENE5ACrVURyWi42/Z2JLScvI/lCzm3nWPLz1KBzeENEhzdE5yYN0T5Ux0tMRLWEAYeIqBz6YhM2n7iMTX9nYuvJy7edUDBY54auEb7o2swPXSJ80czfkzf+EsmEAYeI6AYZucVIOH4JfxzNwO4zV2459oyvpwbdm/uhV6Q/ejb3R5ivOwMNkZNgwCGiei89twjrD2dgXfJFHEjJKXc5pUJAdHhD9G0ZgN53+KNNcMWGsSei2sOAQ0T1Ula+AWsPXcTa5HTsP3+13OV8PTXo1yoA/VoFoGekP3Tujs3pQ0TyYsAhonqj2GTBn8cvYdWBNGw5eRmWcu4SbuLrgdg2gYhtG4To8IacwoCoDmLAISKXJooiki/k4vt9qVh76CLyDGa7yzXx9cDg9sEY1D4YbYJ9eC8NUR3HgENELim3yIRfktKwfG8qjqfr7S4T5OOGBzuGYHD7EEQ1ZqghciUMOETkUo5d1GPprnP4OSkNxSZrma97aJQYEBWMhzs3Rrdmfrz8ROSiGHCIqM4zWaz44+gl/N/Oc9h7LtvuMnc2bYjH7myCAe2C4KHhRx+Rq+NvORHVWfkGM77fm4LF28/iYm5xma839FBjWOdQPNYlDJEB3jJUSERyYcAhojonU1+MJTvP4dvd55FXXPam4fahOozt3hSD2gdzagSieooBh4jqjLScIszfdAo/7r8Ao8X2/hq1UsCgdsEY06MpOoU14A3DRPUcAw4ROb3U7ELM33wKPyVeKDN1grdWhZFdm+DJnhEI0rnJVCERORsGHCJyWmk5Rfjvn/9g5YELMN80KF+gjxYTekXgsS5N4OPG0YWJyBYDDhE5newCI+ZvOoWlu8/DaLa9FNW4gTue7dscj0SHQqvi/TVEZB8DDhE5jQKDGV9vP4uFW88g/6YRh0MbuuO5vpF4uHMoNCqFTBUSUV3BgENEsrNaRaw8cAEf/n4Cl/MMNl8L9NHihXta4NGYUKiVDDZE5BgGHCKS1b5z2Zj16zEcTsu16de5q/Hs3c0xtkdTPupNRBXGgENEskjPLcK7645jXXK6Tb9WpcCEXhF4uk9z6Nx58zARVQ4DDhHVKrPFim92nsPshJMoNFpsvjakQwim398SoQ09ZKqOiFwFAw4R1ZrE89mYufoI/s7Is+lvH6rDG4PbIKapr0yVEZGrYcAhohqnLzYhfv3fWL43xaa/oYcaMwa0xiPRoVBwVm8iqkYMOERUo/76+xJeXXUEGXrbyTAfuzMM0+9vhYaeGpkqIyJXxoBDRDUip9CIWb8ew6qDaTb9rYK88d5DUYgO5+UoIqo5DDhEVO02Hr+E6SsPIyv/+pg2GqUCU+6JxNN9mnM8GyKqcQw4RFRtCo1mvLvuOL7bY3uvTYewBvjokfZoEegtU2VEVN8w4BBRtTiUmoOpK5JwNqtA6tOqFHgxtgUm9GoGJW8iJqJaxIBDRFVisYpYsPkU5vz5Dyw3zPjdNsQHnz7WEZEBPGtDRLWPAYeIKu1yngHTViRh+6ksqU8QgEl9mmNa/xacFJOIZMOAQ0SVsuv0FUz5/qDN5JiNG7hj9vAO6NrMT8bKiIgYcIiogixWEfM3ncKcP0/ihitSGBAVhPeHtef8UUTkFBhwiMhhuUUmvPD9QWw+cVnq0ygVmDmoNcZ0D4cg8EZiInIODDhE5JCTl/Lwr6X7ce5KodQX5uuOz0d2RvvQBvIVRkRkBwMOEd3Wb4fT8eKPh2xm/763TSA+frQDL0kRkVNiwCGiclmtImYnnMRnm05JfYIATOvfAs/1jeQEmUTktBhwiMiuIqMF01YkYcPRDKnPW6vC3Mc64p7WgTJWRkR0eww4RFRGpr4YE5fuR/KFXKkvMsALC0dHo1kjLxkrIyJyDAMOEdk4nq7HhG/24WJusdR3d8tGmPd4J3i78X4bIqobGHCISLL5RCYmLzuAghtuJh7bPRyvD24DFWcAJ6I6hAGHiAAAKxMvYPrKZJivjd6nEIA3BrfBuJ4RMldGRFRxDDhE9Zwoili49Qzif/tb6vPUKDFvZCf0a8WbiYmobmLAIarHrFYR760/jq+3n5X6/L00+ObJLohqrJOxMiKiqmHAIaqnjGYrXvrpEH5Juij1hft5YOn4Lgj385SxMiKiqmPAIaqHik0WTF52ABv/zpT6ohr7YMm4LmjkrZWxMiKi6sGAQ1TPFBrN+NfSRGw/lSX19Yz0w5ejY+Cl5UcCEbkGfpoR1SN5xSaM/2Yf9p27KvXFtgnEvJGdoFUpZayMiKh6MeAQ1RM5hUaMWbzXZnTiBzqE4JPhHaDmGDdE5GIYcIjqgasFRjzx1R4cS9dLfSNiwvCfh9tByQkzicgFMeAQubicQiNGfW0bbsb1aIo3BrfhbOBE5LIYcIhcWG6hCaO/3oujF6+Hm3/d1QwzBrSCIDDcEJHrcooL7/Pnz0dERATc3NwQHR2Nbdu23XL5ZcuWoUOHDvDw8EBwcDCefPJJXLlypZaqJaobcotMGLN4Dw6nXb/nZkKvCIYbIqoXZA84K1aswNSpUzFz5kwcPHgQvXv3xoABA5CSkmJ3+e3bt2PMmDGYMGECjh49ih9//BH79u3DxIkTa7lyIueVV2zC2MV7ceiGG4qf7NkUrw1qzXBDRPWC7AFn9uzZmDBhAiZOnIjWrVtj7ty5CAsLw4IFC+wuv3v3bjRt2hRTpkxBREQEevXqhaeffhr79+8v9z0MBgP0er3Ni8hVFZssmPh/+5GUmiP1je0ejjcGt2G4IaJ6Q9aAYzQakZiYiNjYWJv+2NhY7Ny50+46PXr0wIULF7B+/XqIoohLly7hp59+wqBBg8p9n/j4eOh0OukVFhZWrd8HkbMwWax4dtkB7DmbLfWN6tYEbz3QluGGiOoVWQNOVlYWLBYLAgNtZywODAxERkaG3XV69OiBZcuWYcSIEdBoNAgKCkKDBg0wb968ct9nxowZyM3NlV6pqanV+n0QOQOLVUTcD4fw1w3TLwzrHIpZD0Qx3BBRvSP7JSoAZT58RVEs9wP52LFjmDJlCt544w0kJiZiw4YNOHv2LCZNmlTu9rVaLXx8fGxeRK5EFEW8/ssR/Hro+sSZ97UNxAfD2vFRcCKql2R9TNzf3x9KpbLM2ZrMzMwyZ3VKxcfHo2fPnnjppZcAAO3bt4enpyd69+6Nd999F8HBwTVeN5Gz+fD3E/huz/Ub83vf4Y//Pt4JKo5QTET1lKyffhqNBtHR0UhISLDpT0hIQI8ePeyuU1hYCIXCtmylsmQOHVEUa6ZQIie2ZMdZLNh8Wmp3atIAX4yK5txSRFSvyf7nXVxcHL766issXrwYx48fx7Rp05CSkiJdcpoxYwbGjBkjLT9kyBCsWrUKCxYswJkzZ7Bjxw5MmTIFXbp0QUhIiFzfBpEs1h9Ox6y1x6R2qyBvfDOuCzw5KzgR1XOyfwqOGDECV65cwaxZs5Ceno6oqCisX78e4eHhAID09HSbMXHGjRuHvLw8fPbZZ3jxxRfRoEED9OvXDx988IFc3wKRLPacuYKpK5JQeuKycQN3/N/4LtB5qOUtjIjICQhiPbyuo9frodPpkJubyxuOqU46eSkPjyzYCX2xGQCgc1dj5TPdERngLXNlREQ1pyLHb9kvURFRxWTkFmPs4r1SuNGqFPhqbAzDDRHRDRhwiOqQAoMZ47/Zh/TcYgCAIACfPtYJdzb1lbkyIiLnwoBDVEdYrCJe+D4Jx9KvTzXy9gNtcX9UkIxVERE5JwYcojri/d+O48/jl6T2hF4RGNO9qXwFERE5MQYcojrguz0pWLTtrNTu3zoArw5sLWNFRETOjQGHyMlt/ycLr/9yRGq3CfbBp491gpJTMBARlYsBh8iJnbmcj2eWJcJiLRnNIcBbi6/HxXAgPyKi22DAIXJSecUmPLV0P/KuPQ7urlbi67F3IljnLnNlRETOjwGHyAlZrSKmfp+E05cLpL5PhndAu1CdjFUREdUdDDhETmh2wkls/DtTak/pF4mB7YJlrIiIqG5hwCFyMmuTL+KzTaekdv/WgZjav4WMFRER1T0MOERO5NhFPV76MVlqRwZ4Yc6IDlDwiSkiogphwCFyErmFJjz97X4UmSwAAB83FRaNiYG3G2cHJyKqKAYcIidgtYqYuuIgUrOLAJTMMTVvZGdE+HvKXBkRUd3EgEPkBD7bdAqbTlyW2v+ObYk+LRrJWBERUd3GgEMksy0nL2POnyeldv/WAXimT3MZKyIiqvsYcIhkdOFqIV74/iDEkoGKEe7ngU+Gd+RNxUREVcSAQyQTg9mCZ5cdQE6hCQDgplZgwRPR0LnzpmIioqpiwCGSyX/WHUfyhdzr7YfaoU2Ij4wVERG5DgYcIhmsP5yO/9t1Xmo/0bUJHu4cKmNFRESuhQGHqJalXCnE9J+uD+bXNsQHrw9uI2NFRESuhwGHqBYZzBZM/u4A8gwlM4R7aVX4fGRnuKmVMldGRORaGHCIalH8+r9xOO36fTfxD7dDUw7mR0RU7RhwiGrJhiMZ+GbnOan9RNcmGNIhRL6CiIhcGAMOUS1IyynCyz8dktqtg3nfDRFRTWLAIaphFquIad8nQV9cct+Nh0aJz0d24n03REQ1iAGHqIZ9vukU9p7LltqzHoxCs0ZeMlZEROT6GHCIalDi+Wx8uvEfqf1AhxAM69xYxoqIiOoHBhyiGpJbZMKU5UmwWEsmmgpt6I53H4qCIHCeKSKimsaAQ1QDRFHEzNWHkZZTBABQKgT89/FO8HHjPFNERLWBAYeoBqw8kIa1yelSe1r/O9C5SUMZKyIiql8YcIiqWWp2Id5ac1Rqd2vmi2fujpSxIiKi+ocBh6gaWawiXvzhEPKvTcXg46bC7OEdoVTwvhsiotrEgENUjRZuPWPzSPg7Q6MQ0sBdxoqIiOonBhyianIkLRezE05I7Qc6hODBjnwknIhIDgw4RNWg2GTBtBVJMFlKHgkP1rnhnQejZK6KiKj+YsAhqgYfbjiBfzLzpfbHj3aAzoOPhBMRyYUBh6iKdp7OwuIdZ6X2hF4R6BnpL2NFRETEgENUBfkGM176MVlq3xHghZfuayljRUREBDDgEFXJe+uO2YxWPHt4R84STkTkBCodcDZv3lyNZRDVPZtOZGL53lSp/VzfSLQL1clYERERlap0wLn//vvRvHlzvPvuu0hNTb39CkQuJLfQhFdWXr801TbEB8/142jFRETOotIB5+LFi3jhhRewatUqRERE4L777sMPP/wAo9FYnfUROaW3fj2KS3oDAECjVGD28I5QK3nFl4jIWVT6E9nX1xdTpkzBgQMHsH//frRs2RKTJ09GcHAwpkyZgkOHDlVnnURO4/ejGVh9ME1qT7u3BVoGectYERER3axa/uTs2LEjXnnlFUyePBkFBQVYvHgxoqOj0bt3bxw9evT2GyCqI64WGDFz9RGp3alJA/zrrmYyVkRERPZUKeCYTCb89NNPGDhwIMLDw/H777/js88+w6VLl3D27FmEhYXh0Ucfra5aiWQ3a+0xZOWXXJrSqhT4+NEOnEiTiMgJqSq74vPPP4/ly5cDAEaNGoUPP/wQUVHXh6b39PTE+++/j6ZNm1a5SCJn8OexSzaXpl6MbYHmjbxkrIiIiMpT6YBz7NgxzJs3D8OGDYNGo7G7TEhICDZt2lTp4oicRW6hCa+uPiy1OzVpgAm9eGmKiMhZVeoSlclkQpMmTdC1a9dyww0AqFQq9OnTp9LFETmLd9YdQ2betaemVAp89Eh7XpoiInJilQo4arUaq1evru5aiJzSphOZ+CnxgtSe1r8FIgP41BQRkTOr9E3GDz30EH7++edqLIXI+eQVm/DqquuXpjqE6vBU7wgZKyIiIkdU+h6cyMhIvPPOO9i5cyeio6Ph6elp8/UpU6ZUuTgiub3/299Izy0GAKiVAj58pANUHNCPiMjpCaIoipVZMSKi/L9iBUHAmTNnKl1UTdPr9dDpdMjNzYWPj4/c5ZCT2nPmCkYs3C21X7y3BZ6/5w4ZKyIiqt8qcvyu9Bmcs2fPVnZVIqdXbLLglRsuTbUK8sbTfZrLWBEREVUEz7UT2TH3z39wNqsAAKAQgA+GtYdGxV8XIqK6otJncADgwoULWLNmDVJSUspMsjl79uwqFUYklyNpuVi07fol1om9m6FDWAP5CiIiogqr9J+kGzduRMuWLTF//nx88skn2LRpE5YsWYLFixcjKSmpQtuaP38+IiIi4ObmhujoaGzbtu2WyxsMBsycORPh4eHQarVo3rw5Fi9eXNlvhUhisljx8k/JsFhLbk0L9/PAtP4tZK6KiIgqqtIBZ8aMGXjxxRdx5MgRuLm5YeXKlUhNTUWfPn0qNP/UihUrMHXqVMycORMHDx5E7969MWDAAKSkpJS7zvDhw7Fx40Z8/fXXOHHiBJYvX45WrVpV9lshkizadgbH0vVSO/7hdnDXKGWsiIiIKqPST1F5e3sjKSkJzZs3R8OGDbF9+3a0bdsWhw4dwoMPPohz5845tJ2uXbuic+fOWLBggdTXunVrDB06FPHx8WWW37BhAx577DGcOXMGvr6+Dr2HwWCAwWCQ2nq9HmFhYXyKimycyyrAfXO3wmC2AgAe7xKG+Ifby1wVERGVqshTVJU+g+Pp6SmFhpCQEJw+fVr6WlZWlkPbMBqNSExMRGxsrE1/bGwsdu7caXedNWvWICYmBh9++CEaN26MFi1a4N///jeKiorKfZ/4+HjodDrpFRYW5lB9VH+IoohXVx+Wwk0jby1eGdBa5qqIiKiyKn2Tcbdu3bBjxw60adMGgwYNwosvvojDhw9j1apV6Natm0PbyMrKgsViQWBgoE1/YGAgMjIy7K5z5swZbN++HW5ubli9ejWysrLw7LPPIjs7u9z7cGbMmIG4uDipXXoGh6jUj4kXsPP0Fak964G20LmrZayIiIiqotIBZ/bs2cjPzwcAvPXWW8jPz8eKFSsQGRmJOXPmVGhbgmA7aaEoimX6SlmtVgiCgGXLlkGn00m1PPLII/j888/h7u5eZh2tVgutVluhmqj+yMo34L11x6V2/9aBuD8qSMaKiIioqiodcJo1ayb928PDA/Pnz6/wNvz9/aFUKsucrcnMzCxzVqdUcHAwGjduLIUboOSeHVEUceHCBdxxB0eapYqZ9esx5BaZAACeGiXeGdq23IBNRER1Q5VHLjMajbhw4QJSUlJsXo7QaDSIjo5GQkKCTX9CQgJ69Ohhd52ePXvi4sWL0tkjADh58iQUCgVCQ0Mr/41QvbTpRCbWHLootV++vxWCdWXPAhIRUd1S6YBz8uRJ9O7dG+7u7ggPD0dERAQiIiLQtGnTW85TdbO4uDh89dVXWLx4MY4fP45p06YhJSUFkyZNAlBy/8yYMWOk5UeOHAk/Pz88+eSTOHbsGLZu3YqXXnoJ48ePt3t5iqg8hUYzXlt9RGp3atIAo7qFy1gRERFVl0pfonryySehUqmwdu1aBAcHV/qU/ogRI3DlyhXMmjUL6enpiIqKwvr16xEeXnKgSU9Ptzkj5OXlhYSEBDz//POIiYmBn58fhg8fjnfffbey3wrVU3MSTiItp+TpO5VCQPzD7aBU8NIUEZErqPQ4OJ6enkhMTKyTA+xxNnE6kpaLBz/fIY1YPLlvc7x0X937f5mIqD6plXFw2rRp4/B4N0TOxGItGfPmxukYnu/Hm9OJiFxJpQPOBx98gJdffhmbN2/GlStXoNfrbV5Ezup/u84h+UKu1H5vaDu4qTkdAxGRK6n0PTj9+/cHANxzzz02/aVj2FgslqpVRlQD0nOL8PEfJ6X2Q50ao9cd/jJWRERENaHSAWfTpk3VWQdRrXhrzVHkG8wAAJ27GjMHcToGIiJXVOmA06dPn+qsg6jGJRy7hN+PXpLarw5sBX8vjnBNROSKKhRwkpOTERUVBYVCgeTk5Fsu2749Z2Em51FgMOPNX66PedMlwhfDYzgfGRGRq6pQwOnYsSMyMjIQEBCAjh07QhAE2HvKnPfgkLOZ++dJXMwtBgColQL+81AUp2MgInJhFQo4Z8+eRaNGjaR/E9UFxy7qsXjHOak9qU9zRAZ4y1cQERHVuAoFnNLRhW/+N5GzstoZ82Zy30iZqyIioppW6ZuMAeDEiROYN28ejh8/DkEQ0KpVKzz//PNo2bJlddVHVCXf7U1BUmqO1H7nwSiOeUNEVA9UeqC/n376CVFRUUhMTESHDh3Qvn17HDhwAFFRUfjxxx+rs0aiSsnMK8YHG/6W2kM6hOCuFo1krIiIiGpLpeeiatasGUaNGoVZs2bZ9L/55pv43//+hzNnzlRLgTWBc1HVDy98fxC/JF0EAHhrVdj4Yh8E+LjJXBUREVVWrcxFlZGRgTFjxpTpHzVqFDIyMiq7WaJqsf2fLCncAMDL97dkuCEiqkcqHXDuvvtubNu2rUz/9u3b0bt37yoVRVQVxSYLXr9hzJsOoTqM7Mqb4omI6pMK3WS8Zs0a6d8PPPAApk+fjsTERHTr1g0AsHv3bvz44494++23q7dKogr4cssZnM0qAAAoBOC9h9pBqeCYN0RE9UmF7sFRKBw74ePsA/3xHhzXdS6rALFzt8JotgIAnuzZFG8OaStzVUREVB0qcvyu0Bkcq9VapcKIapIoinj9lyNSuAn00SLu3hYyV0VERHKo9D04jmrXrh1SU1Nr+m2IsDY5Hdv+yZLabwxuC283tYwVERGRXGo84Jw7dw4mk6mm34bqOX2xCe+sPSa1+7RohIHtgmSsiIiI5FTjAYeoNsz+4yQy8wwAAK1KgVkPtuVkmkRE9RgDDtV5R9JysXTXOan9XN9IhPt5ylcQERHJjgGH6jSLVcTM1YdxbS5NNGvkiX/1aSZvUUREJDsGHKrTvttzHocu5Ertdx+MglbFyTSJiOo7BhyqszLzivHh7yek9tCOIegR6S9jRURE5CyqNeDk5OSU6fvyyy8RGBhYnW9DBAD4z7rjyCs2AwC83VSYOaiNzBUREZGzqHTA+eCDD7BixQqpPXz4cPj5+aFx48Y4dOiQ1D9y5Eh4evKGT6peO09l4ecbJ9O8ryUaeWtlrIiIiJxJpQPOl19+ibCwMABAQkICEhIS8Ntvv2HAgAF46aWXqq1AopsZzBa8dsNkmu05mSYREd2kQlM13Cg9PV0KOGvXrsXw4cMRGxuLpk2bomvXrtVWINHNFm09gzOXb5hMcygn0yQiIluVPoPTsGFDaQqGDRs2oH///gBK5gNy5ok2qW5LuVKIeX+dktpjujdFu1CdjBUREZEzqvQZnIcffhgjR47EHXfcgStXrmDAgAEAgKSkJERGRlZbgUSlRFHEG2uOwHBtMs1G3lrExXIyTSIiKqvSAWfOnDlo2rQpUlNT8eGHH8LLywtAyaWrZ599ttoKJCq14UgGNp+4LLVfH9wGPpxMk4iI7BBEURTlLqK26fV66HQ65ObmwsfHR+5yyAH5BjP6f7IFGfpiAECvSH/8b0IXzjdFRFSPVOT4XaVxcP73v/+hV69eCAkJwfnz5wEAc+fOxS+//FKVzRKVMSfhpBRuNEpOpklERLdW6YCzYMECxMXFYcCAAcjJyZFuLG7QoAHmzp1bXfUR4dhFPb7ZeU5qP3N3czRr5CVfQURE5PQqHXDmzZuHRYsWYebMmVAqr8/9ExMTg8OHD1dLcURWq4iZPx+G5dpsmk39PPDM3c1lroqIiJxdpQPO2bNn0alTpzL9Wq0WBQUFVSqKqNT3+1JxMCVHas96MApuak6mSUREt1bpgBMREYGkpKQy/b/99hvatOGcQFR1WfkGvP/bcak9qH0w7mrRSMaKiIiorqj0Y+IvvfQSJk+ejOLiYoiiiL1792L58uWIj4/HV199VZ01Uj31n3XHoS+dTFOrwhuDGZyJiMgxlQ44Tz75JMxmM15++WUUFhZi5MiRaNy4MT799FM89thj1Vkj1UM7T2dh1cE0qf3v+1oi0MdNxoqIiKguqZZxcLKysmC1WhEQEFAdNdU4joPj3AxmCwZ8uk2ab6p9qA6rn+3J+aaIiOq5WhkHp1+/fsjJyQEA+Pv7S+FGr9ejX79+ld0sERZu4WSaRERUNZUOOJs3b4bRaCzTX1xcjG3btlWpKKq/zl8pwLxNnEyTiIiqpsL34CQnJ0v/PnbsGDIyMqS2xWLBhg0b0Lhx4+qpjuoVURTx2s9HYLw2mWaAtxYvcjJNIiKqhAoHnI4dO0IQBAiCYPdSlLu7O+bNm1ctxVH9subQRWz7J0tqvzmkLbw5mSYREVVChQPO2bNnIYoimjVrhr1796JRo+vjkmg0GgQEBNiMbEzkiNxCE95Ze33Mm7tbNsLAdkEyVkRERHVZhQNOeHg4AMBqtVZ7MVR/ffD738jKNwAA3NQKvPNgFCfTJCKiSqvybOI9e/a0mU18zpw5nE2cKiTx/FV8tydFar9wTwuE+XrIWBEREdV1VZ5NfODAgTaziTds2JCziZPDTBYrXl11fXLWloHemNg7QsaKiIjIFXA2cZLV19vP4sSlPKn9n4ejoFZW6cQiERERZxMn+aRmF2Lunyel9siuTRAd7itjRURE5Co4mzjJQhRFzPz5CIpNJTer+3tpMP2+VjJXRUREroKziZMs1hy6iK0nL0vtN4a0hc6DY94QEVH14GziVOtyCo2Y9esxqd2nRSMMaR8sY0VERORqOJs4ZxOvdS//dAg/7L8AAHBXK/HHtLv4WDgREd1WRY7flT6DUyozMxMnTpyQpm+4cWRjopvtOn1FCjcAMO3eOxhuiIio2lX6JmO9Xo/Ro0cjJCQEffr0wV133YWQkBCMGjUKubm51VkjuYhikwUzV18fQqBNsA/G9+SYN0REVP0qHXAmTpyIPXv2YN26dcjJyUFubi7Wrl2L/fv346mnnqrQtubPn4+IiAi4ubkhOjoa27Ztc2i9HTt2QKVSoWPHjpX4Dqi2zd90CmeySoYQUAjA+8PaQcUxb4iIqAZU+uiybt06LF68GPfddx98fHzg7e2N++67D4sWLcK6desc3s6KFSswdepUzJw5EwcPHkTv3r0xYMAApKSk3HK93NxcjBkzBvfcc09lvwWqRScy8rBgy2mpPbZHU7QPbSBfQURE5NIqHXD8/Pyg0+nK9Ot0OjRs2NDh7cyePRsTJkzAxIkT0bp1a8ydOxdhYWFYsGDBLdd7+umnMXLkSHTv3r3CtVPtslhFTF+ZDJOl5H72xg3c8e/YljJXRURErqzSAee1115DXFwc0tPTpb6MjAy89NJLeP311x3ahtFoRGJiImJjY236Y2NjsXPnznLXW7JkCU6fPo0333zTofcxGAzQ6/U2L6o9S3edQ1JqjtR+96EoeGqrfH87ERFRuSp0lOnUqRMEQZDa//zzD8LDw9GkSRMAQEpKCrRaLS5fvoynn376ttvLysqCxWJBYGCgTX9gYCAyMjLsrvPPP//glVdewbZt26BSOVZ+fHw83n77bYeWpep14WohPvr9hNQe2jEEfVvWjeEEiIio7qpQwBk6dGiNFHFjaAJKhvG/uQ8ALBYLRo4cibfffhstWrRwePszZsxAXFyc1Nbr9QgLC6t8weQQURTx2s9HUGi8NtO8hxqvD+Y0HkREVPMqFHAcvSTkKH9/fyiVyjJnazIzM8uc1QGAvLw87N+/HwcPHsRzzz0HALBarRBFESqVCn/88Qf69etXZj2tVgutVluttdPtrTl0EZtP3DgdQxv4eXE/EBFRzZP1GV2NRoPo6GgkJCTY9CckJKBHjx5llvfx8cHhw4eRlJQkvSZNmoSWLVsiKSkJXbt2ra3S6Tau5Bvw9g3TMdzVohGGdmwsY0VERFSfVPpOT4vFgjlz5uCHH35ASkoKjEajzdezs7Md2k5cXBxGjx6NmJgYdO/eHQsXLkRKSgomTZoEoOTyUlpaGpYuXQqFQoGoqCib9QMCAuDm5lamn+T19q/HkF1Q8v+Eu1qJ94ZG2b3sSEREVBMqfQbn7bffxuzZszF8+HDk5uYiLi4ODz/8MBQKBd566y2HtzNixAjMnTsXs2bNQseOHbF161asX78e4eHhAID09PTbjolDziXh2CWsOXRRar90X0tOx0BERLWq0pNtNm/eHP/9738xaNAgeHt7IykpSerbvXs3vvvuu+qutdpwss2ak1tkwr2ztyAzzwAAiA5viB+e7g6lgmdviIioaipy/K70GZyMjAy0a9cOAODl5SXNPzV48OAKjWRMruW9dcekcKNRKfDBsPYMN0REVOsqHXBCQ0OlQf4iIyPxxx9/AAD27dvHJ5bqqW3/XLaZKXxq/zsQGeAlY0VERFRfVTrgPPTQQ9i4cSMA4IUXXsDrr7+OO+64A2PGjMH48eOrrUCqGwoMZryy8vpM4VGNffCv3s1krIiIiOqzSj9F9f7770v/fuSRRxAaGoqdO3ciMjISDzzwQLUUR3XHBxv+RlpOEQBApRDw4bAOnCmciIhkU20TAnXr1g3dunWrrs1RHbLzdBaW7jovtZ+9uznahPDmbSIikk+FAs6aNWswYMAAqNVqrFmz5pbL8ixO/VBgMOPln5KldstAb0zuFyljRURERJWYiyojIwMBAQG3nJdKEARYLJaq1kZ1QPxvx3HhasmlKaVCwCfDO0CrUspcFRER1XcVCjhWq9Xuv6l+2nEqC9/uvj4I4+S+kYhqrJOxIiIiohKVugfHarXim2++wapVq3Du3DkIgoBmzZph2LBhGD16NIfkrwfyb7o01TrYB8/15aUpIiJyDhV+zEUURTzwwAOYOHEi0tLS0K5dO7Rt2xbnzp3DuHHj8NBDD9VEneRk/rP+uM1TUx8/2h4aFZ+aIiIi51DhMzjffPMNtm7dio0bN6Jv3742X/vrr78wdOhQLF26FGPGjKm2Ism5bDl5Gd/tuX5p6rl+kWgbwktTRETkPCr8J/fy5cvx6quvlgk3ANCvXz+88sorWLZsWbUUR84np9CIl386JLXbBPtgMi9NERGRk6lwwElOTsb9999f7tcHDBiAQ4cOlft1qtve+OUoLumvzTWlVGDOiI5Qc0A/IiJyMhU+MmVnZyMwMLDcrwcGBuLq1atVKoqc06+HLmLNoYtS+9/3tUDLIG8ZKyIiIrKvwgHHYrFApSr/1h2lUgmz2Vylosj5XNIX47Wfj0jtLk19MaEX55oiIiLnVOGbjEVRxLhx48qdMdxgMFS5KHIuoiji5Z+SkVtkAgB4apT4ZHgHKBUcDoCIiJxThQPO2LFjb7sMn6ByLcv2pGDLyctS+40hbRDm6yFjRURERLdW4YCzZMmSmqiDnNSpzHy8u+6Y1L6nVQCGx4TJWBEREdHt8fEXKpfRbMXUFQdRbCqZlsPXU4P4Ye04UjURETk9Bhwq1+yEkziSppfaHwxrjwBvNxkrIiIicgwDDtm16/QVfLn1tNR+omsT3Num/OEBiIiInAkDDpWRW2hC3A9JEMWSdrNGnnhtUBt5iyIiIqoABhyyIYoiXl19GOm5xQAAtVLAfx/rBHeNUubKiIiIHMeAQzZ+3H8B6w6nS+0XY1siqjEn0iQiorqFAYckpzLz8Maa66MVd2vmi6d6c7RiIiKqexhwCABQbLLgue+uPxLe0EONOSM6crRiIiKqkxhwCADw7rpj+DsjT2p//GgHBOvcZayIiIio8hhwCL8dTse3u1Ok9vieEbinNR8JJyKiuosBp55LzS7EyyuTpXZUYx9MH9BSxoqIiIiqjgGnHjOarXh++UHkFZsBlMwSPu/xztCq+Eg4ERHVbQw49Vj8b8eRlJojtd97qB0i/D3lK4iIiKiaMODUU+sPp2PJjnNSe3hMKIZ2aixfQURERNWIAaceOptVgJd/un7fTasgb8x6MErGioiIiKoXA049U2yy4JlvE5FvKLnvxkurwoJR0XBT874bIiJyHQw49cybvxy1Ge/mo0fa874bIiJyOQw49cgP+1KxYn+q1B7fMwID2gXLWBEREVHNYMCpJ5JSc/Daz9fnmercpAFeGdBKxoqIiIhqDgNOPZCVb8Az3ybCaCmZZ8rfS4PPn+gMjYq7n4iIXBOPcC7OZLFi8rIDSM8tBgAoFQI+G9mZ80wREZFLY8Bxcf9Zfxx7zmZL7ZkDW6NbMz8ZKyIiIqp5DDgubPXBCzaD+Q3tGIInezaVrR4iIqLawoDjopJSc/DKysNSu02wD+Ifbg9BEGSsioiIqHYw4LigjNxi/GvpfhjMJTcVN/BQ48vR0XDXcDA/IiKqHxhwXEyR0YJ//W8/MvMMAACVQsD8JzojzNdD5sqIiIhqDwOOCxFFES/9dAjJF3KlvrceaIsezf1lrIqIiKj2MeC4kHl/ncLa5HSpPbZ7OEZ1C5exIiIiInkw4LiIdcnpmJ1wUmr3ivTH64PbyFgRERGRfBhwXEDi+WxM+yFJakf4e+LzkZ2hUnL3EhFR/cQjYB13NqsAE/9vP4zXnpjSuavx1dgY6DzUMldGREQkHwacOiy7wIgnl+zF1UITAECjVGDh6Gg0b+Qlc2VERETyYsCpo4pNFkz8v304d6VQ6vvo0fboymkYiIiIGHDqIotVRNwPSTiQkiP1vXRfSzzYsbF8RRERETkRBpw6RhRFvP3rUaw/nCH1PXZnGJ69u7mMVRERETkXBpw65r8bT2HprvNS+64WjfDO0CjOMUVERHQDBpw65Nvd5zHnz+tj3XQIa4AFT3SGmo+DExER2eCRsY5Yfzgdr/9yRGo3b+SJJePuhKdWJWNVREREzskpAs78+fMREREBNzc3REdHY9u2beUuu2rVKtx7771o1KgRfHx80L17d/z++++1WG3t2/5PFqZ+nwRRLGkH69ywdEJX+Hpq5C2MiIjISckecFasWIGpU6di5syZOHjwIHr37o0BAwYgJSXF7vJbt27Fvffei/Xr1yMxMRF9+/bFkCFDcPDgwVquvHbsPZuNp5buh9FyfSC/peO7oHEDd5krIyIicl6CKJaeF5BH165d0blzZyxYsEDqa926NYYOHYr4+HiHttG2bVuMGDECb7zxhkPL6/V66HQ65ObmwsfHp1J114ak1ByM+moP8g1mAIC7WolvJ3ZFdHhDmSsjIiKqfRU5fst6BsdoNCIxMRGxsbE2/bGxsdi5c6dD27BarcjLy4Ovr2+5yxgMBuj1epuXszt6MRdjvr4ebjQqBb4eG8NwQ0RE5ABZA05WVhYsFgsCAwNt+gMDA5GRkVHOWrY++eQTFBQUYPjw4eUuEx8fD51OJ73CwsKqVHdN++dSHkZ/vRf64pJwo1YK+HJUNHpE+stcGRERUd0g+z04AMqM4SKKokPjuixfvhxvvfUWVqxYgYCAgHKXmzFjBnJzc6VXampqlWuuKacy8zHyqz3ILjACAJQKAfMe74y+rcr//oiIiMiWrM8Y+/v7Q6lUljlbk5mZWeaszs1WrFiBCRMm4Mcff0T//v1vuaxWq4VWq61yvTXt5KU8jFy0B1n5BgCAIACzh3fA/VFBMldGRERUt8h6Bkej0SA6OhoJCQk2/QkJCejRo0e56y1fvhzjxo3Dd999h0GDBtV0mbXi7ww9Hl+42ybcfDCsPeeXIiIiqgTZR4mLi4vD6NGjERMTg+7du2PhwoVISUnBpEmTAJRcXkpLS8PSpUsBlISbMWPG4NNPP0W3bt2ksz/u7u7Q6XSyfR9VceyiHk98tRtXC00ASsLNx490wLDoUJkrIyIiqptkDzgjRozAlStXMGvWLKSnpyMqKgrr169HeHg4ACA9Pd1mTJwvv/wSZrMZkydPxuTJk6X+sWPH4ptvvqnt8qvsSFouRn29BznXwo1CAGYP74ihnXjmhoiIqLJkHwdHDs4yDs6eM1cw8f/2I+/ao+BKhYC5IzpiSIcQ2WoiIiJyVhU5fst+Bqe++uvvS3jm2wMwmEtGKFYpBPz38U4Y2C5Y5sqIiIjqPgYcGfySlIYXfzgEs7Xk5JlWpcD8Jzrjnta3fnKMiIiIHMOAU8v+t/s83vjliDRxppdWha/GxqBbMz95CyMiInIhDDi1RBRFzE44iXl/nZL6fD01WDq+C6Ia182nv4iIiJwVA04tMJqteGVlMlYdTJP6QnRuWDqhKyIDvGSsjIiIyDUx4NQwfbEJk/6XiJ2nr0h9dwR44ZvxXdC4gbuMlREREbkuBpwadDGnCE8u2YcTl/Kkvm7NfPHl6Bjo3NUyVkZEROTaGHBqyIGUq3j6f4m4nGeQ+oZ2DMEHj7SHVqWUsTIiIiLXx4BTA1YduIBXVh2G8doYNwAwuW9z/Du2pUOzpBMREVHVMOBUI4tVxIcb/saXW89IfWqlgHcejMJjXZrIWBkREVH9woBTTfKKTXjh+yT89Xem1OfrqcEXo6LRJcJXxsqIiIjqHwacamC2WDHiy904lq6X+loFeWPRmBiE+XrIWBkREVH9pJC7AFegUiowtke41L63TSBWPtOD4YaIiEgmPINTTUbc2QQnMvLhoVEi7t4WUCh4MzEREZFcGHCq0euDW/MpKSIiIifAS1TViOGGiIjIOTDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyVHIX4CqsVhFHL+qRXWiEr4cGbUN8UFhkwlPLDiAtpxCNG3hg0ROd4eWpQXGxGe+sP45z2QVo6uuJ1we2xoVcPWLn7IIVJanzj2ndseXcObyzOl16j9cfCsaGDenYV3T9fe90B358cxCavrKuWr+fc+9X/zZr633qyzYFAOJN7bPvD8Kdr6zD5Rv6GwGIagRsuqGzbyOgZUsVvthulvom9VKhqMiM/0u8vtzYaODtRwfhyx17Ef/r9Q3MGNIIVqsVH6y7IvVNH+SHDo0bY+TCZKnvu3+1x6nsbLzx0wWpb9YjoRgT0wFJqRkY+vn1N/t5cjSsooiH5x+Q+lY92xkKQSizXBOdDg/M34XsAgN8PbVY82x3+Pq448IVPfrP2QGD2QqtSoE/p/WEj1aLJ5bsQ0ZuEYJ07lj25J0oNJlw79wdKDSa4aFRIWFqT2iUSrvbNBot+GLrGZzPLkC4rycm3dUMVqtY5nfYbLGW+X1306rwa3K61DekfTAAlOlTqRR2P0MAlOlTKIQy/y+YzdZq36a9zyk3N5Xd99IXGuz+7G5m72ep0SjtbjM7vwj3fboD+QYTvLRq/P5CTwQ08CyzzYvZeeg/ZweKTRa4qZX4c1pPhPh6l1muvJ+T0WhB3MpkpGQXoImvJ2YPaw8PD7Xd9XPyivHIwj24nFeMRt5u+OlfXdHA263McvZ+7kajxe7P0x5769vbR+Upb985orx95Kiq1l6dBFEUxdsvVrPmz5+Pjz76COnp6Wjbti3mzp2L3r17l7v8li1bEBcXh6NHjyIkJAQvv/wyJk2a5PD76fV66HQ65ObmwsfHp8r17zyVhQVbTuN0Zj5MFhFqpYDsQiOKTdYyy3qoFSi0009EzketAEQIMFsr9zGpEEqCZ+kfLmpVyUlzk9kq9Xm7qzEoKggpV4tsPkP8vDQAgCv5RqmveYAXnunTHD0i/aX3WLT1ND7ffBp5RaZq2+aEb/Zi4983xuQSkY08kVVgtHkvSzk/Gh83JZLful9qz1yVjBX7L9j8LFUKAe0a++DslUKHtqlVCjjx3kCp3XzGOrvLKgXgdPwgmz57PycRgL1d2ylMh9WTe9n0Rb/zB64UmMos6+epRuLrsVLb3vGgyGTB1cKy697TqhG+HtfFps/e+vb2UXnK23f23utm5e2jETGheO/h9rd976rW7oiKHL9lDzgrVqzA6NGjMX/+fPTs2RNffvklvvrqKxw7dgxNmjQps/zZs2cRFRWFp556Ck8//TR27NiBZ599FsuXL8ewYcMces/qDDg7T2Xh1dWHkW8wo6GHBhqlAicv6cEMQ0SltCoBJosoHUwVAqBWCrCKgOnaEdpTo0RIA3dolArkFJmQnltyqjZY54YG7hoYLVZcLTTBS6vEfx5qhx6R/li09TQ+2HACFqsIlVKAQig5YJstIkSU/EHVuKFHhbZZ3gHyRupr72Uw3/rwURpyZq5KxrK9qdWyzdKQU164KXVjyLH3c7rd+9wYcsoLN6VKQ46948HZrPxb/lF7Y/Cwt769fVSe2+27W4Wc2+2jJ7qE3TLkVLV2R1Xk+C37PTizZ8/GhAkTMHHiRLRu3Rpz585FWFgYFixYYHf5L774Ak2aNMHcuXPRunVrTJw4EePHj8fHH39cy5WXnIpbsOU08g1mBPm4wU2thNlsYrghIhsCBJszBVYRgAgoBQGlJ++LTBZoVQoICiC3yAQBgCBc+7cAuKmVCPLRIt9gwYItp2E0WvD55tOwWEVoVAJUCgUUggLKGy4HFJut0CgFh7dZWGi6bbgp/QZuFxAAQF9sQcbVfKzYf/0SpSCUvG6mFASIDpwpM1hEJKVm3DLcACVngS5m58Fstpb5OTnyd/3B1FwUFpqQk1d8y3ADAFcKTMjWF5U5Hlitltuesd/492UUF5vtHk8UCqHMPrKW8zMqLjbfdt+VvtfNjEaL3X10435asf8CjEaL3e1WtfaaImvAMRqNSExMRGxsrE1/bGwsdu7caXedXbt2lVn+vvvuw/79+2Ey2f+f0GAwQK/X27yqw9GLepzOzEdDDw2Ea/8npOYYq2XbROQ6DOayBzkrbO+hsopATpEJxUYrDGYLVEoFVAoFDGardLlbEAQ08FDjdGY+vth6BnlFpmtnJK5/lIs3BancIrPD24xbmQxHVORvuHvn7pAuedgLNqXMVhFGBzd84z1Zt9J/zg78mpxe5udktn+cLiNuZTIeWbjHoWUfmL+rzPEgQ+/Y8eCd9cftHk9K3biPjl60f/x6Z/1xh9/rZl9sPVPuPiptm60ivth6xu42q1p7TZE14GRlZcFisSAwMNCmPzAwEBkZGXbXycjIsLu82WxGVlaW3XXi4+Oh0+mkV1hYWLXUn11Ych1bo7z+YzRZePqGiGzZ+7tVFK+9bugzWawwW60QxWt/QV9bzmy9/rmiVSpgsoo4n11Qci+JYGe7ldxmSnaBQ99PRf4QLzSWPWNgT03cLFFssiAtp7DMz8nRt0rJLsDlvGKHls0uMJQ5HhgdPB6cyy6wezy5Uek+yi60H5rOObjv7C133sF1y1uuqrXXFNkvUQEok/hEUSzTd7vl7fWXmjFjBnJzc6VXauqtrwU7ytdDA7VSsPmfWF3ODiai+sveJ5N0GeCGPvW1MyyCcD2oCAKgUlz/XDFYrFArBIT7ekKBsmGjKtts4lv2KSV7KvJQjIfGsad3bnV2p7Lc1Eo0buBR5ufk6Fs18fVEIztPSdnj66ktczwo74B/s6a+nnaPJzcq3Ue+Hppyt+Hoe90s3MF1y1uuqrXXFFmPxv7+/lAqlWXO1mRmZpY5S1MqKCjI7vIqlQp+fn5219FqtfDx8bF5VYe2IT5oHuCFq4UmKWSFNajdHUhEzk+rKvtRq4DtgVYhAA3c1XDTKKBVKWG+duZFq1LATV2yviiKyCk0oXmAFybd1Qze7mqYLSKs4vUDy41BQSEAOneVw9ucPez2T8qU1u6ohKk9obqWiG51lkalEKBxcMM/T452aLk/p/XEkPbBZX5OKgefep49rD1++ldXh5Zd82z3MseDIB/HjgevD2xt93hS6sZ9VPqov71tOPpeN5t0V7Ny91FpW6UQMOmuZna3WdXaa4qsAUej0SA6OhoJCQk2/QkJCejRo4fddbp3715m+T/++AMxMTFQq+2PXVBTFAoBz/RpDi+tEhl6A4pMFqhUaqh5EoeIbiBCtDnroRAACIBFFKXLJe5qJYrNVohWQOeuhoiSg4uPuxqiWHITcobeAC+tEs/0aQ6NRonJdzeHUiHAaBZhtlphFa2w3HCqwk2lhMEiOrxNDw817mnV6PbfkEKAVnX78yA+bkoENfTCiJjQ6z8L0X7QsYgiBAdODWmVAjqGBUF5m0WVAhDi6w2VSlHm53SrKwSlOoXp4OGhRgNvN/h53vrY4uephq+Pe5njgUKhhMdtDgj3tGoENzeV3eOJ1SqW2UfljSnj5qa67b4rfa+baTRKu/voxv00Iia03PFwqlp7TXGax8S/+OILdO/eHQsXLsSiRYtw9OhRhIeHY8aMGUhLS8PSpUsBXH9M/Omnn8ZTTz2FXbt2YdKkSbI9Jg7c9Oy/VYRawXFwiFxBdY2DI6LkvzeOg1PaV2bMmmufITZj1lzru904ONW1TUfGwSl9r+ocB+d226yucXBK36fGx8G59jOu9Dg4t9hH5XGacXAqUbsj6tQ4OEDJQH8ffvgh0tPTERUVhTlz5uCuu+4CAIwbNw7nzp3D5s2bpeW3bNmCadOmSQP9TZ8+XdaB/gCOZOxM71NftsmRjDmScSmOZMyRjG/kyiMZ17mAU9tqIuAQERFRzapTA/0RERERVTcGHCIiInI5DDhERETkchhwiIiIyOUw4BAREZHLYcAhIiIil8OAQ0RERC6HAYeIiIhcDgMOERERuRzHxm52MaWDN+v1epkrISIiIkeVHrcdmYShXgacvLw8AEBYWJjMlRAREVFF5eXlQafT3XKZejkXldVqxcWLF+Ht7Q1BqN3p252BXq9HWFgYUlNTOReXk+I+cn7cR86P+8i5VWb/iKKIvLw8hISEQKG49V029fIMjkKhQGhoqNxlyM7Hx4e/9E6O+8j5cR85P+4j51bR/XO7MzeleJMxERERuRwGHCIiInI5DDj1kFarxZtvvgmtVit3KVQO7iPnx33k/LiPnFtN7596eZMxERERuTaewSEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcFxUfH48777wT3t7eCAgIwNChQ3HixAmbZURRxFtvvYWQkBC4u7vj7rvvxtGjR2WqmOLj4yEIAqZOnSr1cR/JLy0tDaNGjYKfnx88PDzQsWNHJCYmSl/nPpKX2WzGa6+9hoiICLi7u6NZs2aYNWsWrFartAz3Ue3aunUrhgwZgpCQEAiCgJ9//tnm647sD4PBgOeffx7+/v7w9PTEAw88gAsXLlSoDgYcF7VlyxZMnjwZu3fvRkJCAsxmM2JjY1FQUCAt8+GHH2L27Nn47LPPsG/fPgQFBeHee++V5uqi2rNv3z4sXLgQ7du3t+nnPpLX1atX0bNnT6jVavz22284duwYPvnkEzRo0EBahvtIXh988AG++OILfPbZZzh+/Dg+/PBDfPTRR5g3b560DPdR7SooKECHDh3w2Wef2f26I/tj6tSpWL16Nb7//nts374d+fn5GDx4MCwWi+OFiFQvZGZmigDELVu2iKIoilarVQwKChLff/99aZni4mJRp9OJX3zxhVxl1kt5eXniHXfcISYkJIh9+vQRX3jhBVEUuY+cwfTp08VevXqV+3XuI/kNGjRIHD9+vE3fww8/LI4aNUoURe4juQEQV69eLbUd2R85OTmiWq0Wv//+e2mZtLQ0UaFQiBs2bHD4vXkGp57Izc0FAPj6+gIAzp49i4yMDMTGxkrLaLVa9OnTBzt37pSlxvpq8uTJGDRoEPr372/Tz30kvzVr1iAmJgaPPvooAgIC0KlTJyxatEj6OveR/Hr16oWNGzfi5MmTAIBDhw5h+/btGDhwIADuI2fjyP5ITEyEyWSyWSYkJARRUVEV2mf1crLN+kYURcTFxaFXr16IiooCAGRkZAAAAgMDbZYNDAzE+fPna73G+ur777/HgQMHsG/fvjJf4z6S35kzZ7BgwQLExcXh1Vdfxd69ezFlyhRotVqMGTOG+8gJTJ8+Hbm5uWjVqhWUSiUsFgvee+89PP744wD4e+RsHNkfGRkZ0Gg0aNiwYZllStd3BANOPfDcc88hOTkZ27dvL/M1QRBs2qIolumjmpGamooXXngBf/zxB9zc3MpdjvtIPlarFTExMfjPf/4DAOjUqROOHj2KBQsWYMyYMdJy3EfyWbFiBb799lt89913aNu2LZKSkjB16lSEhIRg7Nix0nLcR86lMvujovuMl6hc3PPPP481a9Zg06ZNCA0NlfqDgoIAoEwazszMLJOsqWYkJiYiMzMT0dHRUKlUUKlU2LJlC/773/9CpVJJ+4H7SD7BwcFo06aNTV/r1q2RkpICgL9HzuCll17CK6+8gsceewzt2rXD6NGjMW3aNMTHxwPgPnI2juyPoKAgGI1GXL16tdxlHMGA46JEUcRzzz2HVatW4a+//kJERITN1yMiIhAUFISEhASpz2g0YsuWLejRo0dtl1sv3XPPPTh8+DCSkpKkV0xMDJ544gkkJSWhWbNm3Ecy69mzZ5nhFU6ePInw8HAA/D1yBoWFhVAobA9lSqVSekyc+8i5OLI/oqOjoVarbZZJT0/HkSNHKrbPKn9vNDmzZ555RtTpdOLmzZvF9PR06VVYWCgt8/7774s6nU5ctWqVePjwYfHxxx8Xg4ODRb1eL2Pl9duNT1GJIveR3Pbu3SuqVCrxvffeE//55x9x2bJlooeHh/jtt99Ky3AfyWvs2LFi48aNxbVr14pnz54VV61aJfr7+4svv/yytAz3Ue3Ky8sTDx48KB48eFAEIM6ePVs8ePCgeP78eVEUHdsfkyZNEkNDQ8U///xTPHDggNivXz+xQ4cOotlsdrgOBhwXBcDua8mSJdIyVqtVfPPNN8WgoCBRq9WKd911l3j48GH5iqYyAYf7SH6//vqrGBUVJWq1WrFVq1biwoULbb7OfSQvvV4vvvDCC2KTJk1ENzc3sVmzZuLMmTNFg8EgLcN9VLs2bdpk9/gzduxYURQd2x9FRUXic889J/r6+oru7u7i4MGDxZSUlArVIYiiKFbpfBMRERGRk+E9OERERORyGHCIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIyOmNGzcOgiBILz8/P9x///1ITk6Wlin92u7du23WNRgM8PPzgyAI2Lx5s83yP//8cy19B0RU2xhwiKhOuP/++5Geno709HRs3LgRKpUKgwcPtlkmLCwMS5YsselbvXo1vLy8arNUInICDDhEVCdotVoEBQUhKCgIHTt2xPTp05GamorLly9Ly4wdOxbff/89ioqKpL7Fixdj7NixcpRMRDJiwCGiOic/Px/Lli1DZGQk/Pz8pP7o6GhERERg5cqVAIDU1FRs3boVo0ePlqtUIpIJAw4R1Qlr166Fl5cXvLy84O3tjTVr1mDFihVQKGw/xp588kksXrwYALBkyRIMHDgQjRo1kqNkIpIRAw4R1Ql9+/ZFUlISkpKSsGfPHsTGxmLAgAE4f/68zXKjRo3Crl27cObMGXzzzTcYP368TBUTkZwYcIioTvD09ERkZCQiIyPRpUsXfP311ygoKMCiRYtslvPz88PgwYMxYcIEFBcXY8CAATJVTERyYsAhojpJEAQoFAqbG4pLjR8/Hps3b8aYMWOgVCplqI6I5KaSuwAiIkcYDAZkZGQAAK5evYrPPvsM+fn5GDJkSJll77//fly+fBk+Pj61XSYROQkGHCKqEzZs2IDg4GAAgLe3N1q1aoUff/wRd999d5llBUGAv79/LVdIRM5EEEVRlLsIIiIiourEe3CIiIjI5TDgEBERkcthwCEiIiKXw4BDRERELocBh4iIiFwOAw4RERG5HAYcIiIicjkMOERERORyGHCIiIjI5TDgEBERkcthwCEiIiKX8/9YWaraQkFdVAAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x='BMI', y='Diabetes_binary', data=df, logistic=True, ci=None) # Logistic curve fit to BMI"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "b4d6beb3-5864-4dda-ae3d-54027e47d09f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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Pk86rHMlZQ7ru7cJ0IMDz1968vbg0pOznP39fUVPS5WUlOjLL7/UggULlJCQoPj4eL3zzju69957deLECT377LO6++67tXv37ivZDQAALs8wDCXuz9WCdalaU8mAex5uNo3sFqoHB0ardySXnupSjcvN448/rsWLF0uS7r//fr3xxhvq2rVr+XpfX1+99tprio6OvuKQAAC4qnPFZVq27ZDeX5+mAzmnHda3aOqpcf0i9UD/6EY/LUJ9qXG52b17t95++23deeedVd5AHBYWptWrV9c4HAAArio7r1D/3JimxZszdOpsicP6DsF+mjgoWqN7hfPUUz2rUbkpKSlRZGSk+vXrd8knozw8PDRs2LAahwMAwNVszzyl+etStXJnlkrtFW9btdmkazsGaeKgmEY7I7crqFG58fT01BdffKHnn3++tvMAAOByyuyGEnZn6721qdqaftJhva+Xu+6Oj9CEgdGKCfQ1ISH+V40vS91+++1avny5pk6dWpt5AABwGQWFJfp06yEt3JCqzBOOj3KHN2+iBwdGa0yfCAU08TQhISpT43LTrl07vfzyy9qwYYPi4uLk61uxqU6ZMuWKwwEAYIbDp85p4fpUfbI5UwVFpQ7r46Na6KHBMRrROVge7m4mJMSl1Hicm5iYmKrf1GZTSkpKjUPVNca5AQBUZnvmKb27NkXf/CdbZRfdT+PuZtNN3UI1aXCMekY0NydgI1fn49ykpqbW9KUAALiM8/fTHNX8dSnakuZ4P42fj4fG9Y3U+IHRTGDZQFzRIH4AADRUZ4tL9VnSIS1Yl6q042cd1ke0bKKHBsXo7vgINfPm12VDckV/W4cOHdKKFSuUkZGh4uLiCuvefPPNKwoGAEBdyMk/Pz7Nh5sylHfOcXyauKgWemRIjK7vHCJ3Nx7lbohqXG6+//573XrrrYqJidHevXvVtWtXpaWlyTAM9e7du1rvNWvWLP35z39WVlaWunTporfeektDhgypcvuioiLNmDFDH374obKzs9WmTRs999xzeuihh2r6cQAAFrc3u0DvrU3Rl8lHVFxmr7DOzSaN7BqqSUNi1DuyhUkJUVtqXG6mT5+up59+WjNmzJCfn58+//xzBQUF6b777tONN97o9PssWbJETz75pGbNmqVBgwZp7ty5GjlypHbv3q3IyMhKXzNmzBgdPXpU8+fPV7t27ZST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ZXZtP3RKiftytXb/MSVnntIlHmySr5e7BrYL1LCrWmvYVa0V0ZKbgQEAjVODGOemMTAMQ6m5Z7TuQK7W7c/VxpTjKigsveRrOoX6a+hV5wtNfFRLeXkwuzYAAM6i3NSBYwVF2nAwV+sP5Gr9geOXvdTU0tdLg9sFauhVrTW0faCC/Ll3BgCAmqLc1JINB3P1/Z4crT+Qq1+yCy65rae7TfFRLTXkqkANbd9anUP9GUgPAIBaQrmpJUu3HtIX2w5Xub5DsJ8Gtw/U4PaB6hfTUk29OPQAANQFfsPWkoFtW1UoN6EBPhrULlCD2rXSoLZcagIAoL5QbmrJ4PaBurFLyPky0y5QMYG+Tk0hAQAAahflppaEBjTRnAfizI4BAECjxzPGAADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUig3AADAUjzMDmAV0dO+dliW9tooE5JU5Iq5XDGT5Jq5XDGTRK7qcMVMkmvmcsVMkmvmcsVMkuvkcokzN7NmzVJMTIx8fHwUFxentWvXXnL7NWvWKC4uTj4+PoqNjdWcOXPqKWnlKvvLvNTy+uKKuVwx06X2z7Fyfv/kcn7fHCvn982xcn7fHKv/Mr3cLFmyRE8++aSee+45bdu2TUOGDNHIkSOVkZFR6fapqam66aabNGTIEG3btk2///3vNWXKFH3++ef1nPy8y/2lmfWPzRVzuWImZ/bLsXJ+v+Ryfp8cK+f3ybFyfp8cq/NshmEY9brHi/Tr10+9e/fW7Nmzy5d16tRJo0eP1syZMx22f/bZZ7VixQrt2bOnfNnkyZO1fft2bdy40al95ufnKyAgQHl5efL3969x9ur8ZdXnaTlXzOWKmSTXzOWK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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x='Age', y='Diabetes_binary', data=df, logistic=True, ci=None) # Logistic curve fit to Age"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "287e7f96-d94b-4b45-b932-c3e8e41310f3",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Diabetes_binary \n",
" HighBP \n",
" HighChol \n",
" CholCheck \n",
" BMI \n",
" Smoker \n",
" Stroke \n",
" HeartDiseaseorAttack \n",
" PhysActivity \n",
" Fruits \n",
" Veggies \n",
" HvyAlcoholConsump \n",
" AnyHealthcare \n",
" NoDocbcCost \n",
" GenHlth \n",
" MentHlth \n",
" PhysHlth \n",
" DiffWalk \n",
" Sex \n",
" Age \n",
" Education \n",
" Income \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" 70692.000000 \n",
" \n",
" \n",
" mean \n",
" 0.500000 \n",
" 0.563458 \n",
" 0.525703 \n",
" 0.975259 \n",
" 29.856985 \n",
" 0.475273 \n",
" 0.062171 \n",
" 0.147810 \n",
" 0.703036 \n",
" 0.611795 \n",
" 0.788774 \n",
" 0.042721 \n",
" 0.954960 \n",
" 0.093914 \n",
" 2.837082 \n",
" 3.752037 \n",
" 5.810417 \n",
" 0.252730 \n",
" 0.456997 \n",
" 8.584055 \n",
" 4.920953 \n",
" 5.698311 \n",
" \n",
" \n",
" std \n",
" 0.500004 \n",
" 0.495960 \n",
" 0.499342 \n",
" 0.155336 \n",
" 7.113954 \n",
" 0.499392 \n",
" 0.241468 \n",
" 0.354914 \n",
" 0.456924 \n",
" 0.487345 \n",
" 0.408181 \n",
" 0.202228 \n",
" 0.207394 \n",
" 0.291712 \n",
" 1.113565 \n",
" 8.155627 \n",
" 10.062261 \n",
" 0.434581 \n",
" 0.498151 \n",
" 2.852153 \n",
" 1.029081 \n",
" 2.175196 \n",
" \n",
" \n",
" min \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 12.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" \n",
" \n",
" 25% \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 25.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 2.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 7.000000 \n",
" 4.000000 \n",
" 4.000000 \n",
" \n",
" \n",
" 50% \n",
" 0.500000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 29.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 3.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 9.000000 \n",
" 5.000000 \n",
" 6.000000 \n",
" \n",
" \n",
" 75% \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 33.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 4.000000 \n",
" 2.000000 \n",
" 6.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 11.000000 \n",
" 6.000000 \n",
" 8.000000 \n",
" \n",
" \n",
" max \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 98.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 5.000000 \n",
" 30.000000 \n",
" 30.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 13.000000 \n",
" 6.000000 \n",
" 8.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Diabetes_binary HighBP HighChol CholCheck \\\n",
"count 70692.000000 70692.000000 70692.000000 70692.000000 \n",
"mean 0.500000 0.563458 0.525703 0.975259 \n",
"std 0.500004 0.495960 0.499342 0.155336 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.000000 0.000000 1.000000 \n",
"50% 0.500000 1.000000 1.000000 1.000000 \n",
"75% 1.000000 1.000000 1.000000 1.000000 \n",
"max 1.000000 1.000000 1.000000 1.000000 \n",
"\n",
" BMI Smoker Stroke HeartDiseaseorAttack \\\n",
"count 70692.000000 70692.000000 70692.000000 70692.000000 \n",
"mean 29.856985 0.475273 0.062171 0.147810 \n",
"std 7.113954 0.499392 0.241468 0.354914 \n",
"min 12.000000 0.000000 0.000000 0.000000 \n",
"25% 25.000000 0.000000 0.000000 0.000000 \n",
"50% 29.000000 0.000000 0.000000 0.000000 \n",
"75% 33.000000 1.000000 0.000000 0.000000 \n",
"max 98.000000 1.000000 1.000000 1.000000 \n",
"\n",
" PhysActivity Fruits Veggies HvyAlcoholConsump \\\n",
"count 70692.000000 70692.000000 70692.000000 70692.000000 \n",
"mean 0.703036 0.611795 0.788774 0.042721 \n",
"std 0.456924 0.487345 0.408181 0.202228 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.000000 1.000000 0.000000 \n",
"50% 1.000000 1.000000 1.000000 0.000000 \n",
"75% 1.000000 1.000000 1.000000 0.000000 \n",
"max 1.000000 1.000000 1.000000 1.000000 \n",
"\n",
" AnyHealthcare NoDocbcCost GenHlth MentHlth PhysHlth \\\n",
"count 70692.000000 70692.000000 70692.000000 70692.000000 70692.000000 \n",
"mean 0.954960 0.093914 2.837082 3.752037 5.810417 \n",
"std 0.207394 0.291712 1.113565 8.155627 10.062261 \n",
"min 0.000000 0.000000 1.000000 0.000000 0.000000 \n",
"25% 1.000000 0.000000 2.000000 0.000000 0.000000 \n",
"50% 1.000000 0.000000 3.000000 0.000000 0.000000 \n",
"75% 1.000000 0.000000 4.000000 2.000000 6.000000 \n",
"max 1.000000 1.000000 5.000000 30.000000 30.000000 \n",
"\n",
" DiffWalk Sex Age Education Income \n",
"count 70692.000000 70692.000000 70692.000000 70692.000000 70692.000000 \n",
"mean 0.252730 0.456997 8.584055 4.920953 5.698311 \n",
"std 0.434581 0.498151 2.852153 1.029081 2.175196 \n",
"min 0.000000 0.000000 1.000000 1.000000 1.000000 \n",
"25% 0.000000 0.000000 7.000000 4.000000 4.000000 \n",
"50% 0.000000 0.000000 9.000000 5.000000 6.000000 \n",
"75% 1.000000 1.000000 11.000000 6.000000 8.000000 \n",
"max 1.000000 1.000000 13.000000 6.000000 8.000000 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "68f1790f-b48f-4cbf-b063-be7917d9ab4f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Diabetes_binary 0\n",
"HighBP 0\n",
"HighChol 0\n",
"CholCheck 0\n",
"BMI 0\n",
"Smoker 0\n",
"Stroke 0\n",
"HeartDiseaseorAttack 0\n",
"PhysActivity 0\n",
"Fruits 0\n",
"Veggies 0\n",
"HvyAlcoholConsump 0\n",
"AnyHealthcare 0\n",
"NoDocbcCost 0\n",
"GenHlth 0\n",
"MentHlth 0\n",
"PhysHlth 0\n",
"DiffWalk 0\n",
"Sex 0\n",
"Age 0\n",
"Education 0\n",
"Income 0\n",
"dtype: int64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# we check the number of null values in the dataset\n",
"\n",
"df.isna().sum() # no null values here"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "bc6a2628-103a-478a-8c6a-0cdcb6583975",
"metadata": {},
"outputs": [],
"source": [
"X = df.drop('Diabetes_binary', axis = 1)\n",
"y = df['Diabetes_binary']"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "9858bc19-cdea-48aa-9841-da58298f14a1",
"metadata": {},
"outputs": [],
"source": [
"# We will use the package statsmodel because it takes a more statistical approach, with detailed outputs\n",
"# The same models can be produced with packages like scikit-learn\n",
"\n",
"import statsmodels.api as sm"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "6c60c285-77b9-4f44-844f-f51e1836a43f",
"metadata": {},
"outputs": [],
"source": [
"X = sm.add_constant(X) # this step is unique to the statsmodels package, other packages like the notorious scikit-learn do this by themselves"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "33ea2794-0086-4225-9ec2-e6e2268d45b8",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.20) # Notice here I used a lesser portion of the dataset"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "65abdf81-0f2d-4661-acba-ed1c2808689a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimization terminated successfully.\n",
" Current function value: 0.511743\n",
" Iterations 6\n"
]
}
],
"source": [
"model = sm.Logit(train_y, train_X).fit()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "8da35cbe-cdeb-4280-b2a1-2bbedf87a6ca",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Logit Regression Results \n",
"\n",
" Dep. Variable: Diabetes_binary No. Observations: 56553 \n",
" \n",
"\n",
" Model: Logit Df Residuals: 56531 \n",
" \n",
"\n",
" Method: MLE Df Model: 21 \n",
" \n",
"\n",
" Date: Mon, 03 Apr 2023 Pseudo R-squ.: 0.2617 \n",
" \n",
"\n",
" Time: 12:16:01 Log-Likelihood: -28941. \n",
" \n",
"\n",
" converged: True LL-Null: -39199. \n",
" \n",
"\n",
" Covariance Type: nonrobust LLR p-value: 0.000 \n",
" \n",
"
\n",
"\n",
"\n",
" coef std err z P>|z| [0.025 0.975] \n",
" \n",
"\n",
" const -6.9389 0.139 -49.830 0.000 -7.212 -6.666 \n",
" \n",
"\n",
" HighBP 0.7223 0.022 32.766 0.000 0.679 0.766 \n",
" \n",
"\n",
" HighChol 0.5941 0.021 28.170 0.000 0.553 0.635 \n",
" \n",
"\n",
" CholCheck 1.3655 0.090 15.112 0.000 1.188 1.543 \n",
" \n",
"\n",
" BMI 0.0771 0.002 43.691 0.000 0.074 0.081 \n",
" \n",
"\n",
" Smoker 0.0056 0.021 0.267 0.790 -0.036 0.047 \n",
" \n",
"\n",
" Stroke 0.1593 0.046 3.478 0.001 0.070 0.249 \n",
" \n",
"\n",
" HeartDiseaseorAttack 0.2735 0.032 8.584 0.000 0.211 0.336 \n",
" \n",
"\n",
" PhysActivity -0.0447 0.024 -1.877 0.061 -0.091 0.002 \n",
" \n",
"\n",
" Fruits -0.0434 0.022 -1.981 0.048 -0.086 -0.000 \n",
" \n",
"\n",
" Veggies -0.0570 0.026 -2.183 0.029 -0.108 -0.006 \n",
" \n",
"\n",
" HvyAlcoholConsump -0.7460 0.054 -13.688 0.000 -0.853 -0.639 \n",
" \n",
"\n",
" AnyHealthcare 0.1016 0.053 1.928 0.054 -0.002 0.205 \n",
" \n",
"\n",
" NoDocbcCost 0.0445 0.038 1.166 0.243 -0.030 0.119 \n",
" \n",
"\n",
" GenHlth 0.5794 0.013 45.165 0.000 0.554 0.605 \n",
" \n",
"\n",
" MentHlth -0.0038 0.001 -2.611 0.009 -0.007 -0.001 \n",
" \n",
"\n",
" PhysHlth -0.0082 0.001 -6.165 0.000 -0.011 -0.006 \n",
" \n",
"\n",
" DiffWalk 0.0943 0.029 3.267 0.001 0.038 0.151 \n",
" \n",
"\n",
" Sex 0.2740 0.021 12.781 0.000 0.232 0.316 \n",
" \n",
"\n",
" Age 0.1538 0.004 35.146 0.000 0.145 0.162 \n",
" \n",
"\n",
" Education -0.0396 0.011 -3.467 0.001 -0.062 -0.017 \n",
" \n",
"\n",
" Income -0.0587 0.006 -10.107 0.000 -0.070 -0.047 \n",
" \n",
"
"
],
"text/plain": [
"\n",
"\"\"\"\n",
" Logit Regression Results \n",
"==============================================================================\n",
"Dep. Variable: Diabetes_binary No. Observations: 56553\n",
"Model: Logit Df Residuals: 56531\n",
"Method: MLE Df Model: 21\n",
"Date: Mon, 03 Apr 2023 Pseudo R-squ.: 0.2617\n",
"Time: 12:16:01 Log-Likelihood: -28941.\n",
"converged: True LL-Null: -39199.\n",
"Covariance Type: nonrobust LLR p-value: 0.000\n",
"========================================================================================\n",
" coef std err z P>|z| [0.025 0.975]\n",
"----------------------------------------------------------------------------------------\n",
"const -6.9389 0.139 -49.830 0.000 -7.212 -6.666\n",
"HighBP 0.7223 0.022 32.766 0.000 0.679 0.766\n",
"HighChol 0.5941 0.021 28.170 0.000 0.553 0.635\n",
"CholCheck 1.3655 0.090 15.112 0.000 1.188 1.543\n",
"BMI 0.0771 0.002 43.691 0.000 0.074 0.081\n",
"Smoker 0.0056 0.021 0.267 0.790 -0.036 0.047\n",
"Stroke 0.1593 0.046 3.478 0.001 0.070 0.249\n",
"HeartDiseaseorAttack 0.2735 0.032 8.584 0.000 0.211 0.336\n",
"PhysActivity -0.0447 0.024 -1.877 0.061 -0.091 0.002\n",
"Fruits -0.0434 0.022 -1.981 0.048 -0.086 -0.000\n",
"Veggies -0.0570 0.026 -2.183 0.029 -0.108 -0.006\n",
"HvyAlcoholConsump -0.7460 0.054 -13.688 0.000 -0.853 -0.639\n",
"AnyHealthcare 0.1016 0.053 1.928 0.054 -0.002 0.205\n",
"NoDocbcCost 0.0445 0.038 1.166 0.243 -0.030 0.119\n",
"GenHlth 0.5794 0.013 45.165 0.000 0.554 0.605\n",
"MentHlth -0.0038 0.001 -2.611 0.009 -0.007 -0.001\n",
"PhysHlth -0.0082 0.001 -6.165 0.000 -0.011 -0.006\n",
"DiffWalk 0.0943 0.029 3.267 0.001 0.038 0.151\n",
"Sex 0.2740 0.021 12.781 0.000 0.232 0.316\n",
"Age 0.1538 0.004 35.146 0.000 0.145 0.162\n",
"Education -0.0396 0.011 -3.467 0.001 -0.062 -0.017\n",
"Income -0.0587 0.006 -10.107 0.000 -0.070 -0.047\n",
"========================================================================================\n",
"\"\"\""
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.summary()"
]
},
{
"cell_type": "markdown",
"id": "36ab0a85-6156-4f45-a356-f3affb7bd72d",
"metadata": {},
"source": [
"The output structure is similar to the one of linear regression, with a few meaningful differences:\n",
"\n",
"- We have a pseudo-R-squared, which can be thought of as the substitute to the R-squared value for a linear regression model. It is calculated as the ratio of the maximized log-likelihood function of the null model to the one of the full model. This value can range from 0 to 1, with higher values indicating a better model fit. In this example, the pseudo R-squared value is 0.2646, which isn't much. This tells us that the model isn't a very good fit.\n",
"- The coefficients interpretation, that we'll see below in practice, is different than in linear regression, They are now expressed as logarithm of the odds-ratio, so we need to take the exponential to get the odds ratio. The coefficient will then represent the increase (or decrease) in the odds of having diabetes for a one-unit increase of the independent variable the coefficient refers to, while holding all the other variables constant. If we are dealing with a dummy variable, of course, this would mean the increase (decrease) of the odds if the category is present (e.g if you are a smoker)\n",
"- The rest you can interpret as you did with linear regression. There is the standard error, the z value, the P>|z| which represent the result of the test (we need to look at this value to understand if the coefficient is significatively different from 0) and the 95% confidence interval for the coefficient estimate."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "722099b8-ba9b-4079-a532-9236f32e231d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.313112141132595"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Let's take a few examples\n",
"\n",
"# First, let's see dummy variables\n",
"\n",
"np.exp(0.2724) # the odds of diabetes are 31.3% higher if you are a male, according to the model"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "2531d035-03ae-4498-8060-e6670af4e714",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9185122844014574"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.exp(-0.0850) # the odds of diabetes are 8.15% lower if you are a person who eats vegetables regularly"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "cbd6a4c2-be60-462c-8b2e-57d7950e98c0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.781222631241982"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.exp(0.5773) # the odds of diabetes are 78.1% higher if you have high cholesterol level"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "a99ec496-0e11-4a20-9714-239ac3dc669c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.078315390787216"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Now we see some continuous / ordinal variables\n",
"\n",
"np.exp(0.0754) # on average, for a 1-unit increase of BMI, the odds of diabetes increase of 7.8%"
]
},
{
"cell_type": "markdown",
"id": "655e0b4a-0613-4745-aa6e-c0335eea141f",
"metadata": {},
"source": [
"If we want to see how much the odds increase going e.g. from BMI 24 to BMI 27, we need to raise the log-odds to a power corresponding to the number of steps of explanatory variable we are taking. In this case, 3"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "f4aa04d7-f072-415d-9d1a-2979f75410c3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.2538264054844275"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# How the odds of diabetes increase going from BMI 24 to BMI 27\n",
"\n",
"np.exp(0.0754)**3 # 25.38% increase in the odds, while holding all other variables constant"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "5cdd83d6-3721-4423-bbc1-de7fbdce0941",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9916351814230984"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# The same can be done with other variables with more than 1 level (or continuous variables)\n",
"\n",
"np.exp(-0.0084) # Physical health, which has 30 levels"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "24e14adb-10ce-4f42-aa16-6a5a3a466716",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.7763126037756957"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.exp(-0.0422)**6 # Education, which has 6 levels"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "300bd0e6-38c2-4464-861e-448e928c1735",
"metadata": {},
"outputs": [],
"source": [
"from statsmodels.stats.outliers_influence import variance_inflation_factor\n",
"vif = pd.DataFrame()\n",
"vif['VIF'] = [variance_inflation_factor(X.values,i) for i in range(X.shape[1])]\n",
"vif['features'] = X.columns"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "fe3442e6-c525-4b4b-b4e2-3d5daee85002",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" VIF \n",
" features \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 126.858651 \n",
" const \n",
" \n",
" \n",
" 1 \n",
" 1.357474 \n",
" HighBP \n",
" \n",
" \n",
" 2 \n",
" 1.179017 \n",
" HighChol \n",
" \n",
" \n",
" 3 \n",
" 1.032894 \n",
" CholCheck \n",
" \n",
" \n",
" 4 \n",
" 1.180737 \n",
" BMI \n",
" \n",
" \n",
" 5 \n",
" 1.082180 \n",
" Smoker \n",
" \n",
" \n",
" 6 \n",
" 1.094027 \n",
" Stroke \n",
" \n",
" \n",
" 7 \n",
" 1.193935 \n",
" HeartDiseaseorAttack \n",
" \n",
" \n",
" 8 \n",
" 1.167430 \n",
" PhysActivity \n",
" \n",
" \n",
" 9 \n",
" 1.101333 \n",
" Fruits \n",
" \n",
" \n",
" 10 \n",
" 1.103377 \n",
" Veggies \n",
" \n",
" \n",
" 11 \n",
" 1.022839 \n",
" HvyAlcoholConsump \n",
" \n",
" \n",
" 12 \n",
" 1.095602 \n",
" AnyHealthcare \n",
" \n",
" \n",
" 13 \n",
" 1.143393 \n",
" NoDocbcCost \n",
" \n",
" \n",
" 14 \n",
" 1.890908 \n",
" GenHlth \n",
" \n",
" \n",
" 15 \n",
" 1.267156 \n",
" MentHlth \n",
" \n",
" \n",
" 16 \n",
" 1.700399 \n",
" PhysHlth \n",
" \n",
" \n",
" 17 \n",
" 1.591225 \n",
" DiffWalk \n",
" \n",
" \n",
" 18 \n",
" 1.088941 \n",
" Sex \n",
" \n",
" \n",
" 19 \n",
" 1.337148 \n",
" Age \n",
" \n",
" \n",
" 20 \n",
" 1.331728 \n",
" Education \n",
" \n",
" \n",
" 21 \n",
" 1.544598 \n",
" Income \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" VIF features\n",
"0 126.858651 const\n",
"1 1.357474 HighBP\n",
"2 1.179017 HighChol\n",
"3 1.032894 CholCheck\n",
"4 1.180737 BMI\n",
"5 1.082180 Smoker\n",
"6 1.094027 Stroke\n",
"7 1.193935 HeartDiseaseorAttack\n",
"8 1.167430 PhysActivity\n",
"9 1.101333 Fruits\n",
"10 1.103377 Veggies\n",
"11 1.022839 HvyAlcoholConsump\n",
"12 1.095602 AnyHealthcare\n",
"13 1.143393 NoDocbcCost\n",
"14 1.890908 GenHlth\n",
"15 1.267156 MentHlth\n",
"16 1.700399 PhysHlth\n",
"17 1.591225 DiffWalk\n",
"18 1.088941 Sex\n",
"19 1.337148 Age\n",
"20 1.331728 Education\n",
"21 1.544598 Income"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vif # No multicollinearity here"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "f5d00c03-6ecd-48a6-8dc4-dffda9919f78",
"metadata": {},
"outputs": [],
"source": [
"# We obtain the predictions on the test set\n",
"\n",
"predicted_probs = model.predict(test_X) # with the fitted model, the method .predict() outputs predictions for test data."
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "2bee9500-1b5f-4d60-b2b4-3af73cf322df",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 0 \n",
" Diabetes_binary \n",
" \n",
" \n",
" \n",
" \n",
" 18157 \n",
" 0.290604 \n",
" 0.0 \n",
" \n",
" \n",
" 36808 \n",
" 0.858143 \n",
" 1.0 \n",
" \n",
" \n",
" 8627 \n",
" 0.041202 \n",
" 0.0 \n",
" \n",
" \n",
" 37717 \n",
" 0.888710 \n",
" 1.0 \n",
" \n",
" \n",
" 32252 \n",
" 0.478378 \n",
" 0.0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 64399 \n",
" 0.821172 \n",
" 1.0 \n",
" \n",
" \n",
" 64005 \n",
" 0.175046 \n",
" 1.0 \n",
" \n",
" \n",
" 47158 \n",
" 0.856522 \n",
" 1.0 \n",
" \n",
" \n",
" 15484 \n",
" 0.655594 \n",
" 0.0 \n",
" \n",
" \n",
" 53889 \n",
" 0.477339 \n",
" 1.0 \n",
" \n",
" \n",
"
\n",
"
14139 rows × 2 columns
\n",
"
"
],
"text/plain": [
" 0 Diabetes_binary\n",
"18157 0.290604 0.0\n",
"36808 0.858143 1.0\n",
"8627 0.041202 0.0\n",
"37717 0.888710 1.0\n",
"32252 0.478378 0.0\n",
"... ... ...\n",
"64399 0.821172 1.0\n",
"64005 0.175046 1.0\n",
"47158 0.856522 1.0\n",
"15484 0.655594 0.0\n",
"53889 0.477339 1.0\n",
"\n",
"[14139 rows x 2 columns]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_predictions = pd.concat([predicted_probs,test_y],axis=1)\n",
"check_predictions # The output is in probability of being class 1 "
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "d255a319-4801-4363-867f-dc2fe484ea66",
"metadata": {},
"outputs": [],
"source": [
"threshold = 0.8\n",
"prediction = model.predict(test_X) # We need to convert to discrete class by applying a threshold\n",
"predicted_choice = (prediction > threshold).astype(int)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "1169582c-d3bb-4224-a060-44d0143e3f19",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" 0 \n",
" Diabetes_binary \n",
" \n",
" \n",
" \n",
" \n",
" 18157 \n",
" 0 \n",
" 0.0 \n",
" \n",
" \n",
" 36808 \n",
" 1 \n",
" 1.0 \n",
" \n",
" \n",
" 8627 \n",
" 0 \n",
" 0.0 \n",
" \n",
" \n",
" 37717 \n",
" 1 \n",
" 1.0 \n",
" \n",
" \n",
" 32252 \n",
" 0 \n",
" 0.0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 64399 \n",
" 1 \n",
" 1.0 \n",
" \n",
" \n",
" 64005 \n",
" 0 \n",
" 1.0 \n",
" \n",
" \n",
" 47158 \n",
" 1 \n",
" 1.0 \n",
" \n",
" \n",
" 15484 \n",
" 0 \n",
" 0.0 \n",
" \n",
" \n",
" 53889 \n",
" 0 \n",
" 1.0 \n",
" \n",
" \n",
"
\n",
"
14139 rows × 2 columns
\n",
"
"
],
"text/plain": [
" 0 Diabetes_binary\n",
"18157 0 0.0\n",
"36808 1 1.0\n",
"8627 0 0.0\n",
"37717 1 1.0\n",
"32252 0 0.0\n",
"... .. ...\n",
"64399 1 1.0\n",
"64005 0 1.0\n",
"47158 1 1.0\n",
"15484 0 0.0\n",
"53889 0 1.0\n",
"\n",
"[14139 rows x 2 columns]"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"check_discrete_predictions = pd.concat([predicted_choice,test_y],axis=1)\n",
"check_discrete_predictions"
]
},
{
"cell_type": "markdown",
"id": "e40cc78c-de03-4bc6-abb9-5d3fec422806",
"metadata": {},
"source": [
"Now we see some of the classification scores, which employ discrete classes (actual and predicted)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "62ffe1d3-b257-4418-b4be-499a70d91dc4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6266355470683924"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import accuracy_score # Proportion of correct prediction (TP+TN) on total predition\n",
"accuracy_score(test_y, predicted_choice, normalize=True, sample_weight=None)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "8da66a23-8bdd-463a-bbe9-23c8a58dd0bb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.8439024390243902"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import precision_score\n",
"\n",
"# Proportion of correctly classified positives on the total of instances classified as positives\n",
"\n",
"precision_score(test_y, predicted_choice)\n"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "e456b2a0-181a-4e35-9ce8-8cd1788cbcad",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.31622609673790775"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import recall_score\n",
"\n",
"# Proportion of correctly classified positives on the total of actual positive instances\n",
"\n",
"recall_score(test_y, predicted_choice)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "17455902-5fe5-41f5-b6bd-564afdf1aa55",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9407997723068166"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Proportion of correctly classified negatives on the total of actual negative instances\n",
"\n",
"\n",
"recall_score(test_y, predicted_choice, pos_label = 0)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "5e58bea5-73dd-4262-9b85-02d64524e21f",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# The ROC curve shows the trade-off between true positive rate and false positive rate. \n",
"# The less false positives you have to admit to have more true positives, the better your model.\n",
"\n",
"\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.metrics import roc_curve\n",
"\n",
"fpr, tpr, _ = roc_curve(test_y, predicted_probs)\n",
"\n",
"#create ROC curve\n",
"plt.axline((0,0),(1,1), linestyle='dotted', color = 'red')\n",
"plt.plot(fpr,tpr)\n",
"plt.ylabel('True Positive Rate')\n",
"plt.xlabel('False Positive Rate')\n",
"plt.title('ROC curve')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "f458924d-73a6-421b-9acb-6968a4064882",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.8246096668274371"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import roc_auc_score\n",
"# This computes the Area Under the ROC curve (AUROC, or AUC): it goes from 0.5 to 1, with 0.5 being random chance\n",
"roc_auc_score(test_y, predicted_probs)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "70ae4724-4986-47b5-b7c5-4e53cf59013b",
"metadata": {},
"outputs": [],
"source": [
"# Now, as an experiment, we try the same pipeline but with unbalanced dataset. We remove 90% of diabetes cases at random.\n",
"\n",
"no_diabetes = df.loc[df['Diabetes_binary'] == 0] # Here only class-0 observations are selected\n",
"diabetes = df.loc[df['Diabetes_binary'] == 1] # Here only class-1 observations are selected"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "d78802d3-525c-449f-b013-5872404ba9bc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Diabetes_binary \n",
" HighBP \n",
" HighChol \n",
" CholCheck \n",
" BMI \n",
" Smoker \n",
" Stroke \n",
" HeartDiseaseorAttack \n",
" PhysActivity \n",
" Fruits \n",
" Veggies \n",
" HvyAlcoholConsump \n",
" AnyHealthcare \n",
" NoDocbcCost \n",
" GenHlth \n",
" MentHlth \n",
" PhysHlth \n",
" DiffWalk \n",
" Sex \n",
" Age \n",
" Education \n",
" Income \n",
" \n",
" \n",
" \n",
" \n",
" 52325 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 33.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 4.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 9.0 \n",
" 4.0 \n",
" 3.0 \n",
" \n",
" \n",
" 48393 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 23.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 4.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 13.0 \n",
" 4.0 \n",
" 1.0 \n",
" \n",
" \n",
" 37397 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 34.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 5.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 10.0 \n",
" 5.0 \n",
" 7.0 \n",
" \n",
" \n",
" 43839 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 25.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 3.0 \n",
" 10.0 \n",
" 2.0 \n",
" 0.0 \n",
" 0.0 \n",
" 12.0 \n",
" 4.0 \n",
" 3.0 \n",
" \n",
" \n",
" 50465 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 43.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 3.0 \n",
" 21.0 \n",
" 30.0 \n",
" 1.0 \n",
" 0.0 \n",
" 9.0 \n",
" 4.0 \n",
" 2.0 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 64590 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 39.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 4.0 \n",
" 3.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 4.0 \n",
" 5.0 \n",
" 3.0 \n",
" \n",
" \n",
" 40081 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 29.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 3.0 \n",
" 15.0 \n",
" 15.0 \n",
" 1.0 \n",
" 0.0 \n",
" 6.0 \n",
" 5.0 \n",
" 5.0 \n",
" \n",
" \n",
" 49312 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 29.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 4.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 11.0 \n",
" 4.0 \n",
" 4.0 \n",
" \n",
" \n",
" 48587 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 26.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 2.0 \n",
" 0.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 9.0 \n",
" 6.0 \n",
" 5.0 \n",
" \n",
" \n",
" 65184 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 25.0 \n",
" 1.0 \n",
" 0.0 \n",
" 0.0 \n",
" 1.0 \n",
" 0.0 \n",
" 1.0 \n",
" 1.0 \n",
" 1.0 \n",
" 0.0 \n",
" 2.0 \n",
" 0.0 \n",
" 5.0 \n",
" 1.0 \n",
" 0.0 \n",
" 11.0 \n",
" 4.0 \n",
" 6.0 \n",
" \n",
" \n",
"
\n",
"
3500 rows × 22 columns
\n",
"
"
],
"text/plain": [
" Diabetes_binary HighBP HighChol CholCheck BMI Smoker Stroke \\\n",
"52325 1.0 1.0 0.0 1.0 33.0 0.0 0.0 \n",
"48393 1.0 1.0 1.0 1.0 23.0 0.0 0.0 \n",
"37397 1.0 1.0 1.0 1.0 34.0 1.0 0.0 \n",
"43839 1.0 1.0 0.0 1.0 25.0 0.0 0.0 \n",
"50465 1.0 1.0 1.0 1.0 43.0 0.0 0.0 \n",
"... ... ... ... ... ... ... ... \n",
"64590 1.0 1.0 1.0 1.0 39.0 0.0 0.0 \n",
"40081 1.0 0.0 1.0 1.0 29.0 1.0 0.0 \n",
"49312 1.0 1.0 1.0 1.0 29.0 1.0 0.0 \n",
"48587 1.0 0.0 1.0 1.0 26.0 1.0 0.0 \n",
"65184 1.0 0.0 1.0 1.0 25.0 1.0 0.0 \n",
"\n",
" HeartDiseaseorAttack PhysActivity Fruits Veggies HvyAlcoholConsump \\\n",
"52325 0.0 0.0 0.0 0.0 0.0 \n",
"48393 0.0 0.0 1.0 1.0 1.0 \n",
"37397 1.0 0.0 0.0 1.0 0.0 \n",
"43839 0.0 1.0 0.0 1.0 0.0 \n",
"50465 0.0 1.0 0.0 0.0 0.0 \n",
"... ... ... ... ... ... \n",
"64590 0.0 1.0 1.0 1.0 0.0 \n",
"40081 0.0 1.0 0.0 1.0 0.0 \n",
"49312 0.0 1.0 1.0 1.0 0.0 \n",
"48587 0.0 1.0 1.0 1.0 0.0 \n",
"65184 0.0 1.0 0.0 1.0 1.0 \n",
"\n",
" AnyHealthcare NoDocbcCost GenHlth MentHlth PhysHlth DiffWalk Sex \\\n",
"52325 1.0 0.0 4.0 0.0 0.0 1.0 1.0 \n",
"48393 1.0 1.0 4.0 0.0 0.0 0.0 0.0 \n",
"37397 1.0 0.0 5.0 0.0 0.0 1.0 1.0 \n",
"43839 1.0 0.0 3.0 10.0 2.0 0.0 0.0 \n",
"50465 1.0 1.0 3.0 21.0 30.0 1.0 0.0 \n",
"... ... ... ... ... ... ... ... \n",
"64590 1.0 1.0 4.0 3.0 1.0 1.0 0.0 \n",
"40081 1.0 1.0 3.0 15.0 15.0 1.0 0.0 \n",
"49312 1.0 0.0 4.0 0.0 0.0 0.0 0.0 \n",
"48587 1.0 0.0 2.0 0.0 0.0 0.0 1.0 \n",
"65184 1.0 0.0 2.0 0.0 5.0 1.0 0.0 \n",
"\n",
" Age Education Income \n",
"52325 9.0 4.0 3.0 \n",
"48393 13.0 4.0 1.0 \n",
"37397 10.0 5.0 7.0 \n",
"43839 12.0 4.0 3.0 \n",
"50465 9.0 4.0 2.0 \n",
"... ... ... ... \n",
"64590 4.0 5.0 3.0 \n",
"40081 6.0 5.0 5.0 \n",
"49312 11.0 4.0 4.0 \n",
"48587 9.0 6.0 5.0 \n",
"65184 11.0 4.0 6.0 \n",
"\n",
"[3500 rows x 22 columns]"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diabetes.sample(3500) # We sample just 3500 observation with diagnosis diabetes, around 10% of the total"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "d32c40ff-4831-4ef7-8125-72992f7ea4d7",
"metadata": {},
"outputs": [],
"source": [
"diabetes_reduced = diabetes.sample(3500)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "d6a83dce-1998-4e9a-9f3e-a8c16c1d6735",
"metadata": {},
"outputs": [],
"source": [
"unbalanced_df = pd.concat([no_diabetes,diabetes_reduced], axis = 0) # we merge the sample with original, class 0 data\n",
"unbalanced_df = unbalanced_df.sample(frac = 1) # we shuffle rows to ensure randomness"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "3a8c142a-fbcd-4fa7-a72e-c5cfd262003e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.09902110564137384"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unbalanced_df.loc[unbalanced_df['Diabetes_binary'] == 1].shape[0]/len(unbalanced_df.loc[unbalanced_df['Diabetes_binary'] == 0])\n",
"\n",
"# The proportion of class 1 now is 10%"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "39e5d9bc-80da-40e4-aa68-47087b3df1be",
"metadata": {},
"outputs": [],
"source": [
"# Now we split the new dataset as we did before\n",
"\n",
"X = unbalanced_df.drop('Diabetes_binary', axis = 1)\n",
"y = unbalanced_df['Diabetes_binary']\n",
"\n",
"X = sm.add_constant(X)"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "ac7ae7a1-c925-4c42-885b-c0d2e39abde3",
"metadata": {},
"outputs": [],
"source": [
"train_X, test_X, train_y, test_y = train_test_split(X, y, test_size = 0.20 ) # We preserve the proportion of response classes in the splits"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "ab99ba3d-8394-4326-8714-1b3312b6399b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(7770, 22)"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_X.shape"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "8912d99d-5c72-4494-beb1-ee9f98136215",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimization terminated successfully.\n",
" Current function value: 0.244102\n",
" Iterations 8\n"
]
}
],
"source": [
"model = sm.Logit(train_y, train_X).fit()"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "87fdf335-ee80-4303-a6fb-74196a4ee962",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Logit Regression Results \n",
"\n",
" Dep. Variable: Diabetes_binary No. Observations: 31076 \n",
" \n",
"\n",
" Model: Logit Df Residuals: 31054 \n",
" \n",
"\n",
" Method: MLE Df Model: 21 \n",
" \n",
"\n",
" Date: Mon, 03 Apr 2023 Pseudo R-squ.: 0.1910 \n",
" \n",
"\n",
" Time: 14:35:04 Log-Likelihood: -7585.7 \n",
" \n",
"\n",
" converged: True LL-Null: -9376.6 \n",
" \n",
"\n",
" Covariance Type: nonrobust LLR p-value: 0.000 \n",
" \n",
"
\n",
"\n",
"\n",
" coef std err z P>|z| [0.025 0.975] \n",
" \n",
"\n",
" const -8.3860 0.318 -26.346 0.000 -9.010 -7.762 \n",
" \n",
"\n",
" HighBP 0.7517 0.051 14.862 0.000 0.653 0.851 \n",
" \n",
"\n",
" HighChol 0.5900 0.046 12.730 0.000 0.499 0.681 \n",
" \n",
"\n",
" CholCheck 1.2239 0.230 5.316 0.000 0.773 1.675 \n",
" \n",
"\n",
" BMI 0.0576 0.003 19.975 0.000 0.052 0.063 \n",
" \n",
"\n",
" Smoker -0.0380 0.045 -0.851 0.395 -0.126 0.050 \n",
" \n",
"\n",
" Stroke 0.0740 0.084 0.884 0.377 -0.090 0.238 \n",
" \n",
"\n",
" HeartDiseaseorAttack 0.2613 0.059 4.455 0.000 0.146 0.376 \n",
" \n",
"\n",
" PhysActivity -0.0559 0.049 -1.152 0.249 -0.151 0.039 \n",
" \n",
"\n",
" Fruits -0.0224 0.046 -0.486 0.627 -0.113 0.068 \n",
" \n",
"\n",
" Veggies 0.0156 0.054 0.288 0.773 -0.090 0.121 \n",
" \n",
"\n",
" HvyAlcoholConsump -0.7854 0.133 -5.892 0.000 -1.047 -0.524 \n",
" \n",
"\n",
" AnyHealthcare 0.1871 0.119 1.571 0.116 -0.046 0.421 \n",
" \n",
"\n",
" NoDocbcCost -0.0838 0.079 -1.064 0.287 -0.238 0.071 \n",
" \n",
"\n",
" GenHlth 0.5191 0.028 18.779 0.000 0.465 0.573 \n",
" \n",
"\n",
" MentHlth -0.0049 0.003 -1.679 0.093 -0.011 0.001 \n",
" \n",
"\n",
" PhysHlth -0.0049 0.003 -1.871 0.061 -0.010 0.000 \n",
" \n",
"\n",
" DiffWalk 0.1807 0.057 3.183 0.001 0.069 0.292 \n",
" \n",
"\n",
" Sex 0.2738 0.045 6.039 0.000 0.185 0.363 \n",
" \n",
"\n",
" Age 0.1218 0.010 12.790 0.000 0.103 0.140 \n",
" \n",
"\n",
" Education -0.0351 0.024 -1.488 0.137 -0.081 0.011 \n",
" \n",
"\n",
" Income -0.0332 0.012 -2.730 0.006 -0.057 -0.009 \n",
" \n",
"
"
],
"text/plain": [
"\n",
"\"\"\"\n",
" Logit Regression Results \n",
"==============================================================================\n",
"Dep. Variable: Diabetes_binary No. Observations: 31076\n",
"Model: Logit Df Residuals: 31054\n",
"Method: MLE Df Model: 21\n",
"Date: Mon, 03 Apr 2023 Pseudo R-squ.: 0.1910\n",
"Time: 14:35:04 Log-Likelihood: -7585.7\n",
"converged: True LL-Null: -9376.6\n",
"Covariance Type: nonrobust LLR p-value: 0.000\n",
"========================================================================================\n",
" coef std err z P>|z| [0.025 0.975]\n",
"----------------------------------------------------------------------------------------\n",
"const -8.3860 0.318 -26.346 0.000 -9.010 -7.762\n",
"HighBP 0.7517 0.051 14.862 0.000 0.653 0.851\n",
"HighChol 0.5900 0.046 12.730 0.000 0.499 0.681\n",
"CholCheck 1.2239 0.230 5.316 0.000 0.773 1.675\n",
"BMI 0.0576 0.003 19.975 0.000 0.052 0.063\n",
"Smoker -0.0380 0.045 -0.851 0.395 -0.126 0.050\n",
"Stroke 0.0740 0.084 0.884 0.377 -0.090 0.238\n",
"HeartDiseaseorAttack 0.2613 0.059 4.455 0.000 0.146 0.376\n",
"PhysActivity -0.0559 0.049 -1.152 0.249 -0.151 0.039\n",
"Fruits -0.0224 0.046 -0.486 0.627 -0.113 0.068\n",
"Veggies 0.0156 0.054 0.288 0.773 -0.090 0.121\n",
"HvyAlcoholConsump -0.7854 0.133 -5.892 0.000 -1.047 -0.524\n",
"AnyHealthcare 0.1871 0.119 1.571 0.116 -0.046 0.421\n",
"NoDocbcCost -0.0838 0.079 -1.064 0.287 -0.238 0.071\n",
"GenHlth 0.5191 0.028 18.779 0.000 0.465 0.573\n",
"MentHlth -0.0049 0.003 -1.679 0.093 -0.011 0.001\n",
"PhysHlth -0.0049 0.003 -1.871 0.061 -0.010 0.000\n",
"DiffWalk 0.1807 0.057 3.183 0.001 0.069 0.292\n",
"Sex 0.2738 0.045 6.039 0.000 0.185 0.363\n",
"Age 0.1218 0.010 12.790 0.000 0.103 0.140\n",
"Education -0.0351 0.024 -1.488 0.137 -0.081 0.011\n",
"Income -0.0332 0.012 -2.730 0.006 -0.057 -0.009\n",
"========================================================================================\n",
"\"\"\""
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.summary() # Same as before, note however how less coefficients are now significant, due to the fact that we have less observations"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "134357d2-7f70-49a4-910c-c9f164c235d6",
"metadata": {},
"outputs": [],
"source": [
"predicted_probs = model.predict(test_X)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "ef93bfa8-19a3-43f4-b182-03de73daa17b",
"metadata": {},
"outputs": [],
"source": [
"threshold = 0.5\n",
"prediction = model.predict(test_X)\n",
"predicted_choice = (prediction > threshold).astype(int)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "467a7d93-ab7e-4095-9b5a-355e74866a05",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9073359073359073"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(test_y, predicted_choice) # Accuracy appears to be higher; in reality, though, this is due to class imbalancement"
]
},
{
"cell_type": "code",
"execution_count": 85,
"id": "230cd7c7-4783-4fe2-ba00-d08ae044bb4d",
"metadata": {},
"outputs": [],
"source": [
"dumb_predictions_zero = np.zeros(test_y.shape) # I create a vector of just zeros"
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "a5d122ef-df9d-4aca-87ca-28169fd5c8ad",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9081081081081082"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(test_y, dumb_predictions_zero)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "725cc099-d376-4cf9-8c81-90e37467ab55",
"metadata": {},
"outputs": [],
"source": [
"dumb_predictions_one = np.ones(test_y.shape) # I create a vector of just ones"
]
},
{
"cell_type": "code",
"execution_count": 88,
"id": "6a7fa3f5-434c-476a-8f63-1926d3df6fa1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0918918918918919"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(test_y, dumb_predictions_one)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"id": "8cbbc1ca-2c4f-44ce-9222-fbe2ef7ed5b1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0918918918918919"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.sum(test_y == 1)/len(test_y)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "4928ee93-d640-4173-82ab-28cf802d899a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.46511627906976744 0.056022408963585436 0.9934807256235828\n"
]
}
],
"source": [
"# These are precision, sensitivity and specificity with the unbalanced dataset (it mainly predicts 0)\n",
"\n",
"print(precision_score(test_y, predicted_choice),\n",
"recall_score(test_y, predicted_choice),\n",
"recall_score(test_y, predicted_choice, pos_label = 0))"
]
},
{
"cell_type": "code",
"execution_count": 89,
"id": "31f4b8f7-9390-4c27-b184-371c20bdea33",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0 0.056022408963585436 0.9934807256235828\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/alex/anaconda3/lib/python3.9/site-packages/sklearn/metrics/_classification.py:1327: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples. Use `zero_division` parameter to control this behavior.\n",
" _warn_prf(average, modifier, msg_start, len(result))\n"
]
}
],
"source": [
"# These are precision, sensitivity and specificity with 'dumb' predictions zero\n",
"\n",
"print(precision_score(test_y, dumb_predictions_zero),\n",
"recall_score(test_y, predicted_choice),\n",
"recall_score(test_y, predicted_choice, pos_label = 0))"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "768df0fb-1a4f-4a95-88eb-cdd975c5fc78",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0918918918918919 0.056022408963585436 0.9934807256235828\n"
]
}
],
"source": [
"# These are precision, sensitivity and specificity with 'dumb' predictions one\n",
"\n",
"print(precision_score(test_y, dumb_predictions_one),\n",
"recall_score(test_y, predicted_choice),\n",
"recall_score(test_y, predicted_choice, pos_label = 0))"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "73103303-3d41-4932-a6bb-cb0cfa1c734f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8250714968527095 0.5\n"
]
}
],
"source": [
"print(roc_auc_score(test_y, predicted_probs),roc_auc_score(test_y, dumb_predictions))"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "6a511e73-fb48-49ff-9bc6-2f7845b175f6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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R45g7dq1WtdQqVTYvn072rdvj88//xwhISGoUKEChg8fLvcFKuj38uyzzxa5RytXrnzk1AMl5ejoiCNHjuDIkSP4448/8Pzzz2PFihX49NNPtY4rSGRjY2Mfea2C/j3+/v4lPudJSvIzpKuCIewP69OnD+zt7eU+OufOncORI0cwYMAA+Rh9fx5k+tjnhsxKQfJx/fr1IomIEAKJiYlyR83SeLBzZ4GCjpsFX/i//vorbG1t8eeff8LBwUE+bv369U+8/tOc+ygVKlTAtWvXHnuMl5cXHB0di+2MXPA8IL3H/Px8pKSkaCU4BffgSTw9PYs99uGyM2fO4OTJk1iyZAn69esnl1+6dKlErwNINWA3btzArl275NoaAMUOGQ8ICMDChQsBABcuXMCqVaswZcoU5ObmYv78+fL7X716tVx7VJasrKy0fi7btWuH0NBQTJ06FX369JETlXbt2uGHH37A+vXrMX78+GKvtX79etjY2MjzJ7Vv3/6J5zxJSX6GCn5ec3JytMoflWg8qmapfPnyeOmll7B06VJMnz4dixcvhoODA1577TX5GH1/HmT6WHNDZqVNmzZQqVRYuXJlkee2bNmC9PT0p6paz8jIwIYNG7TKli9fDisrK7kDr0qlgo2NjVZH5KysLPz8889PvP7TnPsoHTt2xM6dOx85+gsAXnzxRVy+fBmenp4ICwsr8ggMDAQAtG7dGgCwbNkyrfOXL19eolhat26Ns2fP4uTJk489v+CLr6AGrcD3339f5JqPqmXT5RoPCg4Oxocffoj69evLk9u1b98eNjY2uHz5crH358HE5FHx6MLe3h5z5sxBdnY2pk+fLpd369YNderUwaefflrsCLWVK1di69atGDRokFwb9tJLL6F+/fqYMWMGzpw5U+zr/fXXX0XmxnlQx44dceHCBa1O2A8r+Bk5deqUVvnD/7+UxIABA3Djxg1s2rQJv/zyC7p164Zy5crJz+vyeZBlYs0NmZVq1aph2LBh+OKLL5CamorIyEi5yv/TTz9FWFhYifuHFMfT0xNvv/024uPjERwcjE2bNuHHH3/E22+/LVf/d+rUCTNnzkTv3r3x1ltvISUlBV9++WWRL9niPM25jzJt2jRs3rwZLVu2xAcffID69esjNTUVW7ZswejRo1GrVi2MHDkSa9asQcuWLTFq1Cg0aNAAGo0G8fHx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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"fpr, tpr, _ = roc_curve(test_y, predicted_probs)\n",
"\n",
"#create ROC curve\n",
"\n",
"plt.axline((0,0),(1,1), linestyle='dotted', color = 'red')\n",
"plt.plot(fpr,tpr)\n",
"plt.ylabel('True Positive Rate')\n",
"plt.xlabel('False Positive Rate')\n",
"plt.title('Unbalanced dataset ROC curve')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "78e801f1-42ad-4015-81c8-67d67a2e4d53",
"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.9.15"
}
},
"nbformat": 4,
"nbformat_minor": 5
}