ARBOLES DE DESICION
diabetes=read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Mineria-de-datos-2019-2/master/diabetes_m.csv", sep = ";")
summary(diabetes)
## n NumeroEmbarazos Concentrac.blucosa.plama
## Min. : 1.0 Min. : 0.000 Min. : 0.0
## 1st Qu.:192.8 1st Qu.: 1.000 1st Qu.: 99.0
## Median :384.5 Median : 3.000 Median :117.0
## Mean :384.5 Mean : 3.845 Mean :120.9
## 3rd Qu.:576.2 3rd Qu.: 6.000 3rd Qu.:140.2
## Max. :768.0 Max. :17.000 Max. :199.0
##
## Presión.arterial.diastólica TrÃceps.espesor.del.pliegue.cutáneo
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 62.00 1st Qu.: 0.00
## Median : 72.00 Median :23.00
## Mean : 69.05 Mean :20.41
## 3rd Qu.: 80.00 3rd Qu.:32.00
## Max. :122.00 Max. :99.00
## NA's :84 NA's :66
## X2.horas.suero.insulina Ãndice.de.masa.corporal
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.:27.30
## Median : 24.00 Median :32.00
## Mean : 78.23 Mean :31.99
## 3rd Qu.:127.75 3rd Qu.:36.60
## Max. :680.00 Max. :67.10
## NA's :70
## Función.pedigrÃ.de.la.diabetes edad resultado
## Min. :0.0780 Min. :21.00 Negativo:500
## 1st Qu.:0.2437 1st Qu.:24.00 Positivo:268
## Median :0.3725 Median :29.00
## Mean :0.4719 Mean :33.24
## 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :2.4200 Max. :81.00
##
library(Amelia)
library(rpart)
library(VIM)
# se propone como metodo de correccion
# vecinos mas cercanos
library(DMwR)
diabetes_im=knnImputation(diabetes)
summary(diabetes_im)
## n NumeroEmbarazos Concentrac.blucosa.plama
## Min. : 1.0 Min. : 0.000 Min. : 0.0
## 1st Qu.:192.8 1st Qu.: 1.000 1st Qu.: 99.0
## Median :384.5 Median : 3.000 Median :117.0
## Mean :384.5 Mean : 3.845 Mean :120.9
## 3rd Qu.:576.2 3rd Qu.: 6.000 3rd Qu.:140.2
## Max. :768.0 Max. :17.000 Max. :199.0
## Presión.arterial.diastólica TrÃceps.espesor.del.pliegue.cutáneo
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 63.34 1st Qu.: 0.00
## Median : 71.26 Median :22.93
## Mean : 68.89 Mean :20.48
## 3rd Qu.: 78.15 3rd Qu.:32.00
## Max. :122.00 Max. :99.00
## X2.horas.suero.insulina Ãndice.de.masa.corporal
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.:27.30
## Median : 42.78 Median :32.00
## Mean : 79.21 Mean :31.99
## 3rd Qu.:127.55 3rd Qu.:36.60
## Max. :680.00 Max. :67.10
## Función.pedigrÃ.de.la.diabetes edad resultado
## Min. :0.0780 Min. :21.00 Negativo:500
## 1st Qu.:0.2437 1st Qu.:24.00 Positivo:268
## Median :0.3725 Median :29.00
## Mean :0.4719 Mean :33.24
## 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :2.4200 Max. :81.00
missmap(diabetes_im)

##############################
set.seed(111)
library(caret)
particio=createDataPartition(y=diabetes_im$resultado, p=0.7, list = F, times = 1)
train=diabetes_im[particio,]
test=diabetes_im[-particio,]
dim(diabetes_im)
## [1] 768 10
dim(train)
## [1] 538 10
dim(test)
## [1] 230 10
###############################
#Modelo arbol
set.seed(111)
modelo1 = rpart(resultado~.,data=train,method = "class")
modelo1
## n= 538
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 538 188 Negativo (0.65055762 0.34944238)
## 2) Concentrac.blucosa.plama< 129.5 360 72 Negativo (0.80000000 0.20000000)
## 4) edad< 28.5 191 17 Negativo (0.91099476 0.08900524) *
## 5) edad>=28.5 169 55 Negativo (0.67455621 0.32544379)
## 10) Ãndice.de.masa.corporal< 26.35 35 2 Negativo (0.94285714 0.05714286) *
## 11) Ãndice.de.masa.corporal>=26.35 134 53 Negativo (0.60447761 0.39552239)
## 22) Concentrac.blucosa.plama< 100.5 44 8 Negativo (0.81818182 0.18181818) *
## 23) Concentrac.blucosa.plama>=100.5 90 45 Negativo (0.50000000 0.50000000)
## 46) Función.pedigrÃ.de.la.diabetes< 0.528 59 22 Negativo (0.62711864 0.37288136)
## 92) Función.pedigrÃ.de.la.diabetes< 0.2 15 2 Negativo (0.86666667 0.13333333) *
## 93) Función.pedigrÃ.de.la.diabetes>=0.2 44 20 Negativo (0.54545455 0.45454545)
## 186) edad>=44.5 14 3 Negativo (0.78571429 0.21428571) *
## 187) edad< 44.5 30 13 Positivo (0.43333333 0.56666667)
## 374) TrÃceps.espesor.del.pliegue.cutáneo>=10.62486 19 8 Negativo (0.57894737 0.42105263) *
## 375) TrÃceps.espesor.del.pliegue.cutáneo< 10.62486 11 2 Positivo (0.18181818 0.81818182) *
## 47) Función.pedigrÃ.de.la.diabetes>=0.528 31 8 Positivo (0.25806452 0.74193548)
## 94) TrÃceps.espesor.del.pliegue.cutáneo< 11 8 3 Negativo (0.62500000 0.37500000) *
## 95) TrÃceps.espesor.del.pliegue.cutáneo>=11 23 3 Positivo (0.13043478 0.86956522) *
## 3) Concentrac.blucosa.plama>=129.5 178 62 Positivo (0.34831461 0.65168539)
## 6) Ãndice.de.masa.corporal< 29.85 49 16 Negativo (0.67346939 0.32653061)
## 12) NumeroEmbarazos< 1.5 13 0 Negativo (1.00000000 0.00000000) *
## 13) NumeroEmbarazos>=1.5 36 16 Negativo (0.55555556 0.44444444)
## 26) edad>=59.5 7 1 Negativo (0.85714286 0.14285714) *
## 27) edad< 59.5 29 14 Positivo (0.48275862 0.51724138)
## 54) n< 119.5 9 2 Negativo (0.77777778 0.22222222) *
## 55) n>=119.5 20 7 Positivo (0.35000000 0.65000000)
## 110) n>=499.5 8 3 Negativo (0.62500000 0.37500000) *
## 111) n< 499.5 12 2 Positivo (0.16666667 0.83333333) *
## 7) Ãndice.de.masa.corporal>=29.85 129 29 Positivo (0.22480620 0.77519380)
## 14) Función.pedigrÃ.de.la.diabetes< 0.397 59 21 Positivo (0.35593220 0.64406780)
## 28) Concentrac.blucosa.plama< 158 34 17 Negativo (0.50000000 0.50000000)
## 56) Ãndice.de.masa.corporal< 41.35 24 9 Negativo (0.62500000 0.37500000) *
## 57) Ãndice.de.masa.corporal>=41.35 10 2 Positivo (0.20000000 0.80000000) *
## 29) Concentrac.blucosa.plama>=158 25 4 Positivo (0.16000000 0.84000000) *
## 15) Función.pedigrÃ.de.la.diabetes>=0.397 70 8 Positivo (0.11428571 0.88571429) *
library(partykit)
plot(as.party(modelo1))

##
predichos = predict(modelo1, test, type = "class")
predichos
## 4 5 14 16 18 21 25 26
## Negativo Positivo Positivo Negativo Positivo Negativo Negativo Negativo
## 28 29 30 31 32 37 41 42
## Negativo Negativo Positivo Positivo Positivo Positivo Positivo Positivo
## 46 49 55 56 57 69 74 89
## Positivo Negativo Positivo Negativo Positivo Negativo Negativo Negativo
## 93 98 103 104 105 107 110 113
## Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negativo
## 115 119 124 126 127 128 129 133
## Positivo Negativo Negativo Negativo Negativo Negativo Negativo Positivo
## 134 136 138 143 150 151 152 154
## Negativo Negativo Negativo Negativo Negativo Positivo Negativo Positivo
## 158 163 167 169 173 180 181 185
## Negativo Negativo Negativo Positivo Negativo Positivo Negativo Positivo
## 190 196 198 199 202 203 210 221
## Negativo Positivo Negativo Negativo Negativo Positivo Positivo Positivo
## 225 227 233 234 236 240 248 250
## Negativo Negativo Negativo Positivo Positivo Negativo Positivo Negativo
## 260 274 279 280 286 287 291 293
## Positivo Negativo Negativo Negativo Positivo Positivo Negativo Positivo
## 294 295 296 299 300 306 307 311
## Negativo Negativo Positivo Negativo Negativo Negativo Positivo Negativo
## 316 322 323 325 327 331 348 349
## Negativo Negativo Negativo Negativo Positivo Negativo Negativo Negativo
## 358 359 372 373 377 378 379 380
## Negativo Negativo Negativo Negativo Negativo Negativo Positivo Negativo
## 382 391 392 395 401 402 405 407
## Negativo Negativo Positivo Positivo Negativo Positivo Positivo Negativo
## 410 413 419 420 422 423 428 431
## Positivo Positivo Negativo Negativo Negativo Negativo Positivo Negativo
## 434 438 442 444 445 449 450 455
## Positivo Positivo Negativo Negativo Negativo Negativo Negativo Negativo
## 456 462 469 470 474 476 479 481
## Positivo Negativo Negativo Positivo Negativo Negativo Negativo Positivo
## 485 489 494 496 498 501 502 505
## Positivo Negativo Positivo Negativo Negativo Negativo Negativo Negativo
## 508 515 516 517 522 523 528 529
## Negativo Negativo Positivo Positivo Negativo Negativo Negativo Negativo
## 531 535 536 543 548 549 554 557
## Negativo Negativo Negativo Negativo Negativo Positivo Negativo Negativo
## 560 562 563 564 572 582 585 587
## Negativo Positivo Negativo Negativo Negativo Negativo Positivo Negativo
## 590 593 595 598 601 602 603 604
## Negativo Positivo Positivo Negativo Negativo Negativo Negativo Positivo
## 605 609 611 612 620 624 626 628
## Negativo Positivo Negativo Positivo Negativo Negativo Negativo Negativo
## 631 637 639 647 648 650 652 655
## Negativo Negativo Negativo Negativo Positivo Negativo Negativo Negativo
## 656 659 668 673 674 679 680 684
## Negativo Negativo Negativo Negativo Negativo Negativo Negativo Negativo
## 686 687 692 699 700 705 711 712
## Negativo Negativo Positivo Negativo Negativo Negativo Positivo Negativo
## 716 717 721 723 724 726 728 731
## Positivo Positivo Negativo Negativo Negativo Negativo Positivo Negativo
## 734 735 737 738 743 745 747 750
## Negativo Negativo Negativo Negativo Negativo Positivo Positivo Negativo
## 752 753 754 756 761 767
## Negativo Negativo Positivo Positivo Negativo Negativo
## Levels: Negativo Positivo
#Matriz de confusion
table(predichos, test$resultado)
##
## predichos Negativo Positivo
## Negativo 123 39
## Positivo 27 41
#indicadores
library(caret)
str(test$resultado)
## Factor w/ 2 levels "Negativo","Positivo": 1 2 2 2 2 1 2 2 1 1 ...
str(predichos)
## Factor w/ 2 levels "Negativo","Positivo": 1 2 2 1 2 1 1 1 1 1 ...
## - attr(*, "names")= chr [1:230] "4" "5" "14" "16" ...
test$resultado = as.factor(test$resultado)
indicadores=confusionMatrix(predichos, test$resultado)
indicadores
## Confusion Matrix and Statistics
##
## Reference
## Prediction Negativo Positivo
## Negativo 123 39
## Positivo 27 41
##
## Accuracy : 0.713
## 95% CI : (0.6499, 0.7706)
## No Information Rate : 0.6522
## P-Value [Acc > NIR] : 0.02944
##
## Kappa : 0.3446
##
## Mcnemar's Test P-Value : 0.17573
##
## Sensitivity : 0.8200
## Specificity : 0.5125
## Pos Pred Value : 0.7593
## Neg Pred Value : 0.6029
## Prevalence : 0.6522
## Detection Rate : 0.5348
## Detection Prevalence : 0.7043
## Balanced Accuracy : 0.6663
##
## 'Positive' Class : Negativo
##
REDES NEURONALES
library(ggplot2)
library(DMwR)
head(diabetes_im)
## n NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica
## 1 1 6 148 72.00000
## 2 2 1 85 66.00000
## 3 3 8 183 64.00000
## 4 4 1 89 63.76161
## 5 5 0 137 40.00000
## 6 6 5 116 74.00000
## TrÃceps.espesor.del.pliegue.cutáneo X2.horas.suero.insulina
## 1 35.00000 0
## 2 29.00000 0
## 3 0.00000 0
## 4 23.00000 94
## 5 27.75491 168
## 6 0.00000 0
## Ãndice.de.masa.corporal Función.pedigrÃ.de.la.diabetes edad resultado
## 1 33.6 0.627 50 Positivo
## 2 26.6 0.351 31 Negativo
## 3 23.3 0.672 32 Positivo
## 4 28.1 0.167 21 Negativo
## 5 43.1 2.288 33 Positivo
## 6 25.6 0.201 30 Negativo
str(diabetes_im)
## 'data.frame': 768 obs. of 10 variables:
## $ n : int 1 2 3 4 5 6 7 8 9 10 ...
## $ NumeroEmbarazos : int 6 1 8 1 0 5 3 10 2 8 ...
## $ Concentrac.blucosa.plama : int 148 85 183 89 137 116 78 115 197 125 ...
## $ Presión.arterial.diastólica : num 72 66 64 63.8 40 ...
## $ TrÃceps.espesor.del.pliegue.cutáneo: num 35 29 0 23 27.8 ...
## $ X2.horas.suero.insulina : num 0 0 0 94 168 0 88 0 543 0 ...
## $ Ãndice.de.masa.corporal : num 33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
## $ Función.pedigrÃ.de.la.diabetes : num 0.627 0.351 0.672 0.167 2.288 ...
## $ edad : int 50 31 32 21 33 30 26 29 53 54 ...
## $ resultado : Factor w/ 2 levels "Negativo","Positivo": 2 1 2 1 2 1 2 1 2 2 ...
summary(diabetes)
## n NumeroEmbarazos Concentrac.blucosa.plama
## Min. : 1.0 Min. : 0.000 Min. : 0.0
## 1st Qu.:192.8 1st Qu.: 1.000 1st Qu.: 99.0
## Median :384.5 Median : 3.000 Median :117.0
## Mean :384.5 Mean : 3.845 Mean :120.9
## 3rd Qu.:576.2 3rd Qu.: 6.000 3rd Qu.:140.2
## Max. :768.0 Max. :17.000 Max. :199.0
##
## Presión.arterial.diastólica TrÃceps.espesor.del.pliegue.cutáneo
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 62.00 1st Qu.: 0.00
## Median : 72.00 Median :23.00
## Mean : 69.05 Mean :20.41
## 3rd Qu.: 80.00 3rd Qu.:32.00
## Max. :122.00 Max. :99.00
## NA's :84 NA's :66
## X2.horas.suero.insulina Ãndice.de.masa.corporal
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.:27.30
## Median : 24.00 Median :32.00
## Mean : 78.23 Mean :31.99
## 3rd Qu.:127.75 3rd Qu.:36.60
## Max. :680.00 Max. :67.10
## NA's :70
## Función.pedigrÃ.de.la.diabetes edad resultado
## Min. :0.0780 Min. :21.00 Negativo:500
## 1st Qu.:0.2437 1st Qu.:24.00 Positivo:268
## Median :0.3725 Median :29.00
## Mean :0.4719 Mean :33.24
## 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :2.4200 Max. :81.00
##
#Del anæ¼ã¸±lisis eliminar la primera columna
diabetes1<-diabetes_im[,2:10]
head(diabetes1)
## NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica
## 1 6 148 72.00000
## 2 1 85 66.00000
## 3 8 183 64.00000
## 4 1 89 63.76161
## 5 0 137 40.00000
## 6 5 116 74.00000
## TrÃceps.espesor.del.pliegue.cutáneo X2.horas.suero.insulina
## 1 35.00000 0
## 2 29.00000 0
## 3 0.00000 0
## 4 23.00000 94
## 5 27.75491 168
## 6 0.00000 0
## Ãndice.de.masa.corporal Función.pedigrÃ.de.la.diabetes edad resultado
## 1 33.6 0.627 50 Positivo
## 2 26.6 0.351 31 Negativo
## 3 23.3 0.672 32 Positivo
## 4 28.1 0.167 21 Negativo
## 5 43.1 2.288 33 Positivo
## 6 25.6 0.201 30 Negativo
summary(diabetes1)
## NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica
## Min. : 0.000 Min. : 0.0 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 63.34
## Median : 3.000 Median :117.0 Median : 71.26
## Mean : 3.845 Mean :120.9 Mean : 68.89
## 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 78.15
## Max. :17.000 Max. :199.0 Max. :122.00
## TrÃceps.espesor.del.pliegue.cutáneo X2.horas.suero.insulina
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.: 0.00
## Median :22.93 Median : 42.78
## Mean :20.48 Mean : 79.21
## 3rd Qu.:32.00 3rd Qu.:127.55
## Max. :99.00 Max. :680.00
## Ãndice.de.masa.corporal Función.pedigrÃ.de.la.diabetes edad
## Min. : 0.00 Min. :0.0780 Min. :21.00
## 1st Qu.:27.30 1st Qu.:0.2437 1st Qu.:24.00
## Median :32.00 Median :0.3725 Median :29.00
## Mean :31.99 Mean :0.4719 Mean :33.24
## 3rd Qu.:36.60 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :67.10 Max. :2.4200 Max. :81.00
## resultado
## Negativo:500
## Positivo:268
##
##
##
##
#ASUMIENDO QUE LOS MISSING SON MCA
#Imputamos por KNNIMPUTATION
#ANæ¼ã¸±LISIS EXPLORATORIO DE DATOS
#
#
#
diabetes2=knnImputation(diabetes1)
summary(diabetes2)
## NumeroEmbarazos Concentrac.blucosa.plama Presión.arterial.diastólica
## Min. : 0.000 Min. : 0.0 Min. : 0.00
## 1st Qu.: 1.000 1st Qu.: 99.0 1st Qu.: 63.34
## Median : 3.000 Median :117.0 Median : 71.26
## Mean : 3.845 Mean :120.9 Mean : 68.89
## 3rd Qu.: 6.000 3rd Qu.:140.2 3rd Qu.: 78.15
## Max. :17.000 Max. :199.0 Max. :122.00
## TrÃceps.espesor.del.pliegue.cutáneo X2.horas.suero.insulina
## Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.00 1st Qu.: 0.00
## Median :22.93 Median : 42.78
## Mean :20.48 Mean : 79.21
## 3rd Qu.:32.00 3rd Qu.:127.55
## Max. :99.00 Max. :680.00
## Ãndice.de.masa.corporal Función.pedigrÃ.de.la.diabetes edad
## Min. : 0.00 Min. :0.0780 Min. :21.00
## 1st Qu.:27.30 1st Qu.:0.2437 1st Qu.:24.00
## Median :32.00 Median :0.3725 Median :29.00
## Mean :31.99 Mean :0.4719 Mean :33.24
## 3rd Qu.:36.60 3rd Qu.:0.6262 3rd Qu.:41.00
## Max. :67.10 Max. :2.4200 Max. :81.00
## resultado
## Negativo:500
## Positivo:268
##
##
##
##
#############
hist(log(diabetes2$NumeroEmbarazos))

################################
#REDES NEURONALES
#crear la data train y test
dim(diabetes2)
## [1] 768 9
set.seed(111)
muestra=sample(537,231)
#Train data
train=diabetes2[-muestra,]
#Test data
test=diabetes2[muestra,]
dim(train)
## [1] 537 9
dim(test)
## [1] 231 9
#Entrenamos el modelo de ANN
library(nnet)
names(train)
## [1] "NumeroEmbarazos"
## [2] "Concentrac.blucosa.plama"
## [3] "Presión.arterial.diastólica"
## [4] "TrÃceps.espesor.del.pliegue.cutáneo"
## [5] "X2.horas.suero.insulina"
## [6] "Ãndice.de.masa.corporal"
## [7] "Función.pedigrÃ.de.la.diabetes"
## [8] "edad"
## [9] "resultado"
modelo_diab=nnet(resultado~.,data=train, size=50)
## # weights: 501
## initial value 433.086396
## iter 10 value 313.658000
## iter 20 value 298.833692
## iter 30 value 290.406475
## iter 40 value 280.919356
## iter 50 value 262.048638
## iter 60 value 248.319246
## iter 70 value 238.667629
## iter 80 value 225.446982
## iter 90 value 217.155819
## iter 100 value 208.026407
## final value 208.026407
## stopped after 100 iterations
#Predecir baso en el modelo anterior
predichos_diab=predict(modelo_diab, test, type = "class")
predichos_diab
## [1] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo"
## [7] "Negativo" "Positivo" "Negativo" "Positivo" "Negativo" "Negativo"
## [13] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo"
## [19] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo"
## [25] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo"
## [31] "Negativo" "Positivo" "Positivo" "Positivo" "Negativo" "Negativo"
## [37] "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Negativo"
## [43] "Negativo" "Positivo" "Positivo" "Positivo" "Negativo" "Positivo"
## [49] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo"
## [55] "Negativo" "Positivo" "Negativo" "Negativo" "Positivo" "Positivo"
## [61] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo"
## [67] "Positivo" "Positivo" "Positivo" "Negativo" "Negativo" "Negativo"
## [73] "Positivo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo"
## [79] "Positivo" "Positivo" "Positivo" "Negativo" "Negativo" "Negativo"
## [85] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo"
## [91] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Positivo"
## [97] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Negativo"
## [103] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo"
## [109] "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "Negativo"
## [115] "Negativo" "Negativo" "Positivo" "Negativo" "Negativo" "Positivo"
## [121] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo"
## [127] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Positivo"
## [133] "Negativo" "Negativo" "Negativo" "Positivo" "Positivo" "Negativo"
## [139] "Negativo" "Negativo" "Negativo" "Positivo" "Negativo" "Negativo"
## [145] "Negativo" "Positivo" "Positivo" "Negativo" "Negativo" "Positivo"
## [151] "Negativo" "Positivo" "Negativo" "Positivo" "Negativo" "Negativo"
## [157] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo"
## [163] "Positivo" "Negativo" "Positivo" "Positivo" "Positivo" "Negativo"
## [169] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo"
## [175] "Negativo" "Positivo" "Positivo" "Negativo" "Positivo" "Positivo"
## [181] "Negativo" "Negativo" "Negativo" "Negativo" "Positivo" "Negativo"
## [187] "Negativo" "Positivo" "Positivo" "Positivo" "Negativo" "Positivo"
## [193] "Positivo" "Negativo" "Positivo" "Positivo" "Negativo" "Positivo"
## [199] "Negativo" "Positivo" "Negativo" "Negativo" "Negativo" "Positivo"
## [205] "Positivo" "Negativo" "Negativo" "Negativo" "Negativo" "Negativo"
## [211] "Negativo" "Positivo" "Negativo" "Positivo" "Positivo" "Negativo"
## [217] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" "Positivo"
## [223] "Positivo" "Negativo" "Negativo" "Positivo" "Positivo" "Negativo"
## [229] "Positivo" "Negativo" "Negativo"
comparando=as.data.frame(cbind(test$resultado, predichos_diab))
table(test$resultado, predichos_diab)
## predichos_diab
## Negativo Positivo
## Negativo 112 38
## Positivo 40 41
#Indicadores del modelo
library(caret)
str(predichos_diab)
## chr [1:231] "Negativo" "Negativo" "Negativo" "Negativo" "Negativo" ...
predichos_diab=as.factor(predichos_diab)
str(test$resultado)
## Factor w/ 2 levels "Negativo","Positivo": 1 1 2 1 1 1 1 1 1 1 ...
indicadores_diab=confusionMatrix(predichos_diab, test$resultado)
indicadores_diab
## Confusion Matrix and Statistics
##
## Reference
## Prediction Negativo Positivo
## Negativo 112 40
## Positivo 38 41
##
## Accuracy : 0.6623
## 95% CI : (0.5974, 0.723)
## No Information Rate : 0.6494
## P-Value [Acc > NIR] : 0.3675
##
## Kappa : 0.2543
##
## Mcnemar's Test P-Value : 0.9099
##
## Sensitivity : 0.7467
## Specificity : 0.5062
## Pos Pred Value : 0.7368
## Neg Pred Value : 0.5190
## Prevalence : 0.6494
## Detection Rate : 0.4848
## Detection Prevalence : 0.6580
## Balanced Accuracy : 0.6264
##
## 'Positive' Class : Negativo
##
#CURVA ROC
predichos_prob=predict(modelo_diab, test, type = "raw")
library(ROCR)
pred1=prediction(predichos_prob, test$resultado)
pred2=performance(pred1, "tpr", "fpr")
plot(pred2, colorize=T)
