Predicción de la diabetes tipo 2 mediante aprendizaje automático (Métodos de clasificación)
INTRODUCCIÓN
Las enfermedades crónicas se definen como procesos patológicos de evolución prolongada que no se resuelven espontáneamente, rara vez alcanzan una curación completa y, además, generan una gran carga social desde el punto de vista económico, así como desde la perspectiva de la dependencia social y la discapacidad. Tienen una etiología múltiple, su desarrollo es poco predecible, presentan múltiples factores de riesgo y, con algunas excepciones, su origen no es infeccioso. Por todo ello, representan un problema nacional e internacional de salud pública que afecta a la mayoría de las naciones, con un gran impacto en las poblaciones de los países en desarrollo. Entre las enfermedades crónicasmás importantes se cuentan la hipertensión arterial sistémica, la diabetes, las hiperlipidemias, el sobrepeso y la obesidad, el cáncer y la enfermedad respiratoria crónica, muy ligadas a malos estilos de vida -como las dietas inadecuadas, la ingestión exagerada de alcohol y tabaco, y la vida sedentaria-, así como las discapacidades visuales y auditivas.(Ardila2018).
Importar base de datos desde rda - rstudio Se debe cargar desde R la base para guardar en una extención compatible con Rstudio, para los cual realizamos el siguiente proseso.
write.table(diabetes,file=“diabetes2.txt”,sep=“;”,eol=“”)
#Importar la base de datos
#file.choose()
diabetes <- read.csv("C:\\Users\\ASUS\\Documents\\diabetes2.txt",sep = ";")
#diabetes
# nombres de las variables
names(diabetes)
## [1] "Age" "Gender" "Family_Diabetes" "highBP"
## [5] "PhysicallyActive" "BMI" "Smoking" "Alcohol"
## [9] "Sleep" "SoundSleep" "RegularMedicine" "JunkFood"
## [13] "Stress" "BPLevel" "Pregancies" "Pdiabetes"
## [17] "UriationFreq" "Diabetic"
DESCRIPCIÓN DE LAS VARIABLES
En este estudio, se seleccionan un total de 952 participantes de 18 años o más, de los cuales 580 son hombres y 372 son mujeres, en los cuales se pidió a los participantes que respondieran un cuestionario que se va a describir a continuación:
Age: es la edad
Gender: genero(masculino y femenino)
Family history with diabetes: antecedentes familiares con diabetes(si,no)
Diagnosted with high blood pressure: diagnóstico con presión alta
Físicamente activo: (una hora o más,ninguna,más de media hora,menos de media hora,ninguno)
Espesor de la piel: (en mm Hg)
Fuma: (si, no)
Consumo de alcohol: (si,no)
Horas de sueño: (horas que descansa)
Sueño profundo: (horas de sueño)
Ingesta regular de medicina: (si,no)
Consumo de comida chatarra: (si,no)
Estrés:(Siempre, a menudo, a veces, nunca)
Nivel de presión arterial: (bajo, normal,alto)
Número de embarazos: (número)
Diabetes en gestación: (si,no)
Frecuencia al orinar: (Poco, bastante)
Diabético: (diabético-267, no diabético-685)
# Comprobar el tipo de clase de cada variable
clases <- sapply(diabetes, class)
clases
## Age Gender Family_Diabetes highBP
## "character" "character" "character" "character"
## PhysicallyActive BMI Smoking Alcohol
## "character" "integer" "character" "character"
## Sleep SoundSleep RegularMedicine JunkFood
## "integer" "integer" "character" "character"
## Stress BPLevel Pregancies Pdiabetes
## "character" "character" "integer" "character"
## UriationFreq Diabetic
## "character" "character"
Variable Age
diabetes$Age <- factor(diabetes$Age)
levels(diabetes$Age) <- c("40-49","50-59","60 or older","less than 40")
class(diabetes$Age)
## [1] "factor"
Variable Gender
diabetes$Gender <- factor(diabetes$Gender)
levels(diabetes$Gender) <- c("Female","Male")
class(diabetes$Gender)
## [1] "factor"
Variable Family_Diabetes
diabetes$Family_Diabetes <- factor(diabetes$Family_Diabetes)
levels(diabetes$Family_Diabetes) <- c("no","yes")
class(diabetes$Family_Diabetes)
## [1] "factor"
Variable highBP
diabetes$highBP <- factor(diabetes$highBP)
levels(diabetes$highBP) <- c("no","yes")
class(diabetes$highBP)
## [1] "factor"
Variable PhysicallyActive
diabetes$PhysicallyActive <- factor(diabetes$PhysicallyActive)
levels(diabetes$PhysicallyActive) <- c("
one hr or more","none","
more than half an hr","
less than half an hr","none")
class(diabetes$PhysicallyActive)
## [1] "factor"
Variable Smoking
diabetes$Smoking <- factor(diabetes$Smoking)
levels(diabetes$Smoking) <- c("no","yes")
class(diabetes$Smoking)
## [1] "factor"
Variable Alcohol
diabetes$Alcohol <- factor(diabetes$Alcohol)
levels(diabetes$Alcohol) <- c("no","yes")
class(diabetes$Alcohol)
## [1] "factor"
Variable RegularMedicine
diabetes$RegularMedicine <- factor(diabetes$RegularMedicine)
levels(diabetes$RegularMedicine) <- c("no","yes")
class(diabetes$RegularMedicine)
## [1] "factor"
Variable JunkFood
diabetes$JunkFood <- factor(diabetes$JunkFood)
levels(diabetes$JunkFood) <- c("often","occasionally","very often","always")
class(diabetes$JunkFood)
## [1] "factor"
Variable Stress
diabetes$Stress <- factor(diabetes$Stress)
levels(diabetes$Stress) <- c("always","onot at all","sometimes","very often")
class(diabetes$Stress)
## [1] "factor"
Variable BPLevel
diabetes$BPLevel <- factor(diabetes$BPLevel)
levels(diabetes$BPLevel) <- c("high","normal","low")
class(diabetes$BPLevel)
## [1] "factor"
Variable Pdiabetes
diabetes$Pdiabetes <- factor(diabetes$Pdiabetes)
levels(diabetes$Pdiabetes) <- c("0","yes" )
class(diabetes$Pdiabetes)
## [1] "factor"
Variable UriationFreq
diabetes$UriationFreq <- factor(diabetes$UriationFreq)
levels(diabetes$UriationFreq) <- c("quite often","not much" )
class(diabetes$UriationFreq)
## [1] "factor"