{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "zj7hBDWosuws", "tags": [] }, "source": [ "# Predicción de Diabetes\n", "\n", "Dataset a usar: [Diabetes, Hypertension and Stroke Prediction](https://www.kaggle.com/datasets/prosperchuks/health-dataset?select=health_data.csv)" ] }, { "cell_type": "markdown", "metadata": { "id": "43__mqwnsuwu" }, "source": [ "# Librerías" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2024-01-02T04:56:32.309512500Z", "start_time": "2024-01-02T04:56:30.188489800Z" }, "cell_id": "d4e376c7158f4c2592d185b039f2449c", "deepnote_cell_type": "code", "id": "62wzCfpUu6zN", "tags": [] }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "mpl.style.use('bmh')\n", "import ipywidgets as widgets\n", "\n", "import statsmodels.formula.api as sm\n", "from sklearn.decomposition import PCA\n", "from sklearn.pipeline import make_pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.preprocessing import scale\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, accuracy_score\n", "from sklearn.model_selection import cross_validate, StratifiedKFold, train_test_split\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.model_selection import GridSearchCV\n", "from sklearn import tree\n", "import xgboost as xgb" ] }, { "cell_type": "markdown", "metadata": { "cell_id": "a18869fe26a94da882d48aefe23d9844", "deepnote_cell_type": "markdown", "id": "p2Rkx6Q1uWU6" }, "source": [ "# Abstract\n", "\n", "Diabetes es una de las enfermedades crónicas más ocurrentes en la actualidad. Consiste en una enfermedad en el que los individuos pierden la habilidad de poder regular de forma efectiva los niveles de glucosa en la sangre, lo que puede reducir la calidad y la esperanza de vida. Después de que los diferentes alimentos se descompongan en azúcares durante la digestión, estos azúzcares son liberados dentro de la sangre. Esto le avisa al páncreas que libere insulina. La insulina habilita a las células dentro del cuerpo a usar los azúcares de la sangre para energía. La diabetes es generalmente caracterizado por el cuerpo no produciendo suficiente insulina o porque es incapaz de usar la insula que es producida de forma tan eficiente como se necesite.\n", "\n", "El dataset proviene del Behavioral Risk Factor Surveillance System (BRFSS) que es una encuesta por teléfono que es recolectada anualmente. Cada año, la encuesta recolecta respuestas de más de 400 mil americanos con respecto a comportamientos de riesgo, condiciones de salud crónicas, entre otros. El dataset está conformado con respuestas desde 1984 hasta 2015. Si bien el dataset con tiene datos tanto para personas que sufren diabetes como para hipertensión y ACV, el enfoque que daremos en este caso será sobre las que sufren diabetes." ] }, { "cell_type": "markdown", "metadata": { "id": "VgVdmHaHfn1o" }, "source": [ "# Introducción" ] }, { "cell_type": "markdown", "metadata": { "id": "mtvE5EKZBAjV" }, "source": [ "## Objetivo\n", "\n", "La finalidad de este proyecto consiste en poder predecir si una persona tiene diabetes en base a diferentes condiciones físicas y psicológicas que caractericen a esta persona.\n", "\n", "## Contexto Comercial\n", "\n", "Con el incremento anual del porcentaje de personas que padecen diabetes, resulta de gran prioridad que la población pueda acceder a diferentes métodos (aparte de los ya ofrecidos por los mecanismos de salud pública y privada) para reconocer si se encuentra dentro del rango de personas que lo padecen.\n", "\n", "Es por esto que a partir de las encuestas realizadas se busca descubrir patrones que permitan deducir si una persona sufre o no de diabetes. Estas encuestas van desde la edad y BMI de una persona, hasta aspectos como el bienestar físico y psicológico que sienten durante 30 días.\n", "\n", "## Problema Comercial\n", "\n", "En base al dataset a utilizar se busca resolver los siguientes problemas:\n", "\n", "* ¿Es el dataset capaz de producir predicciones precisas con respecto a si un individuo tiene diabetes?\n", "\n", "* ¿Qué factores tienden a ser más importantes a la hora de predecir el riesgo de diabetes?\n", "\n", "## Contexto Analítico\n", "\n", "El trabajo será realizado sobre un archivo .CSV que contiene datos sobre diferentes atributos físicos y psicológicos de diferentes personas, como también si sufren o han sufrido de las siguientes enfermedades: Diabetes, Hipertensión y ACV. El foco será realizado sobre diabetes.\n", "\n", "Como tenemos información de quién sufre y quién no sufre diabetes, podemos decir que estamos ante un problema de aprendizaje supervisado." ] }, { "cell_type": "markdown", "metadata": { "id": "n0mlZHKvsuwx" }, "source": [ "# Extracción del Dataset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2024-01-02T04:56:32.646792600Z", "start_time": "2024-01-02T04:56:32.308514500Z" }, "cell_id": "dcfdd748e5a24e948e4de38b475359c0", "colab": { "base_uri": "https://localhost:8080/", "height": 250 }, "deepnote_cell_type": "code", "executionInfo": { "elapsed": 5460, "status": "ok", "timestamp": 1687486491423, "user": { "displayName": "Franco Giordano", "userId": "11864357500095360887" }, "user_tz": 180 }, "id": "KRx0P-JXu9oc", "outputId": "c619fe12-f9a1-423f-f6e2-a4ce7fd5f4b6", "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", " | Edad | \n", "Sexo | \n", "ColesterolAlto | \n", "ControlColesterol | \n", "IMC | \n", "Fumador | \n", "EnfermedadOAtaqueCorazon | \n", "ActividadFisica | \n", "Frutas | \n", "Verduras | \n", "ExcesoConsumoAlcohol | \n", "SaludGeneral | \n", "SaludMental | \n", "SaludFisica | \n", "DificultadCaminar | \n", "ACV | \n", "PresionAlta | \n", "Diabetes | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "4.0 | \n", "Hombre | \n", "No | \n", "Si | \n", "26.0 | \n", "No | \n", "No | \n", "Si | \n", "No | \n", "Si | \n", "No | \n", "3.0 | \n", "5.0 | \n", "30.0 | \n", "No | \n", "No | \n", "Si | \n", "No | \n", "
1 | \n", "12.0 | \n", "Hombre | \n", "Si | \n", "Si | \n", "26.0 | \n", "Si | \n", "No | \n", "No | \n", "Si | \n", "No | \n", "No | \n", "3.0 | \n", "0.0 | \n", "0.0 | \n", "No | \n", "Si | \n", "Si | \n", "No | \n", "
2 | \n", "13.0 | \n", "Hombre | \n", "No | \n", "Si | \n", "26.0 | \n", "No | \n", "No | \n", "Si | \n", "Si | \n", "Si | \n", "No | \n", "1.0 | \n", "0.0 | \n", "10.0 | \n", "No | \n", "No | \n", "No | \n", "No | \n", "
3 | \n", "11.0 | \n", "Hombre | \n", "Si | \n", "Si | \n", "28.0 | \n", "Si | \n", "No | \n", "Si | \n", "Si | \n", "Si | \n", "No | \n", "3.0 | \n", "0.0 | \n", "3.0 | \n", "No | \n", "No | \n", "Si | \n", "No | \n", "
4 | \n", "8.0 | \n", "Mujer | \n", "No | \n", "Si | \n", "29.0 | \n", "Si | \n", "No | \n", "Si | \n", "Si | \n", "Si | \n", "No | \n", "2.0 | \n", "0.0 | \n", "0.0 | \n", "No | \n", "No | \n", "No | \n", "No | \n", "