PROYECTO ENTREGA2 Borrador
PROYECTO ENTREGA2 Borrador
PROYECTO ENTREGA2 Borrador
Segunda Entrega
Estudiantes:
Profesor:
Raúl Ramos Pollan
Faculta de ingeniería
Departamento de Ingeniería de Sistemas
Ude@
2023
I. Introducción
1. Problema predictivo
Dadas unas características físicas, enfermedades y resultados de laboratorios de una persona se
predecirá la probabilidad de presentar enfermedad cerebro vascular o stroke.
2. Dataset elegido
Se utilizará el dataset de kaggle de la competición denominada “Playground Series - Season 3,
Episode 2” disponible en el siguiente enlace: https://www.kaggle.com/competitions/playground-series-
s3e2/ el cual contiene más de 15.000 muestras y divididas en 12 columna incluyendo: edad, género,
índice de masa corporal, promedio de nivel de glucosa, tipo de residencia, tipo de trabajo, si ha
estado casado, si presenta hipertensión o enfermedad cardíaca.
Se obtienen dos archivos uno denominado “train.csv - the training dataset”: donde se especifica el
target “stroke” en formato binario y el otro documento “test.csv - the test dataset” con el cual se
probará el modelo para predecir la probabilidad de presentar un stroke.
3. Métrica de desempeño
Como métrica de machine learning vamos a utilizar el área bajo la curva ROC entre la probabilidad
del modelo vs el resultado (stroke); esta métrica fue definida en la competencia. Como métrica de
negocio se podría plantear el incremento del número de personas que ingresan a controles de riesgo
cardiovascular detectados por el modelo.
Luego al utilizar el método info() podemos visualizar el tipo de variable de cada columna y la cantidad
de nulos que tiene el dataset. Para efectos académicos a esta BD se insertaron valores nulos del 5%
para poder realizar manejo de estos, dado que originalmente no traían datos nulos. Se realizó la
inclusión de valores nulos a las variables age y avg_glucose_level.
A través de boxplot se pueden visualizar distribución de los datos, simetría y datos atípicos de
variables numéricas. En el siguiente figura se presenta un boxplot de la variable avg_glucose_level.
1. Progreso
Se realizó inicialmente una exploración de los datos como está descrito en el numeral 2 además de la
inclusión de análisis de correlación entre las variables y la variable objetivo.
Como parte del proceso de formación generamos 5% de nulos en dos variables en el dataset original
para realizar el proceso de ajuste y ejecución de métodos para tratar estos valores. Además,
realizamos la conversión de variables categóricas a numéricas.
2. Modelos implementados
El primer modelo implementado fue el Decision Tree utilizando el método DecisionTreeClassifier()
importado de sklearn.tree. Este método presentó un AUC de 0.817 y la siguiente curva ROC:
Para estos modelos se utilizamos 90% del dataset para entrenamiento y 10% restante para
verificación. Pero tenemos que usar el otro dataset (test) para hacer la verificación y usar el 100% de
esta BD (train) en los modelos planteados.
Hemos observado que es muy desbalanceado el dataset pero encontramos que es muy común en el
área de la salud, por lo tanto, no sabemos si hacer el balanceado previo a los modelos o dejarlos tal
como son el vida real y generar los modelos así.