EL paquete CARET (Classification and Regression Training) es un paquete integral con una amplia variedad de algoritmos para el aprendizaje automático.
library(caret) # Algoritmos de aprendizaje automático
## Loading required package: ggplot2
## Loading required package: lattice
library(ggplot2) # Gráficas
library(lattice) # Crear gráficas
library(datasets)
library(DataExplorer) # Análisis descriptivo
library(kernlab)
##
## Attaching package: 'kernlab'
## The following object is masked from 'package:ggplot2':
##
## alpha
library(randomForest)
## randomForest 4.7-1.2
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'randomForest'
## The following object is masked from 'package:ggplot2':
##
## margin
library(readxl) # Para leer archivos .xlsx
df <-read_excel("/Users/ceciliabalditbautista/Downloads/heart.xlsx")
summary(df)
## age sex cp trestbps
## Min. :29.00 Min. :0.0000 Min. :0.0000 Min. : 94.0
## 1st Qu.:48.00 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:120.0
## Median :56.00 Median :1.0000 Median :1.0000 Median :130.0
## Mean :54.43 Mean :0.6956 Mean :0.9424 Mean :131.6
## 3rd Qu.:61.00 3rd Qu.:1.0000 3rd Qu.:2.0000 3rd Qu.:140.0
## Max. :77.00 Max. :1.0000 Max. :3.0000 Max. :200.0
## chol fbs restecg thalach
## Min. :126 Min. :0.0000 Min. :0.0000 Min. : 71.0
## 1st Qu.:211 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:132.0
## Median :240 Median :0.0000 Median :1.0000 Median :152.0
## Mean :246 Mean :0.1493 Mean :0.5298 Mean :149.1
## 3rd Qu.:275 3rd Qu.:0.0000 3rd Qu.:1.0000 3rd Qu.:166.0
## Max. :564 Max. :1.0000 Max. :2.0000 Max. :202.0
## exang oldpeak slope ca
## Min. :0.0000 Min. :0.000 Min. :0.000 Min. :0.0000
## 1st Qu.:0.0000 1st Qu.:0.000 1st Qu.:1.000 1st Qu.:0.0000
## Median :0.0000 Median :0.800 Median :1.000 Median :0.0000
## Mean :0.3366 Mean :1.072 Mean :1.385 Mean :0.7541
## 3rd Qu.:1.0000 3rd Qu.:1.800 3rd Qu.:2.000 3rd Qu.:1.0000
## Max. :1.0000 Max. :6.200 Max. :2.000 Max. :4.0000
## thal target
## Min. :0.000 Min. :0.0000
## 1st Qu.:2.000 1st Qu.:0.0000
## Median :2.000 Median :1.0000
## Mean :2.324 Mean :0.5132
## 3rd Qu.:3.000 3rd Qu.:1.0000
## Max. :3.000 Max. :1.0000
str(df)
## tibble [1,025 × 14] (S3: tbl_df/tbl/data.frame)
## $ age : num [1:1025] 52 53 70 61 62 58 58 55 46 54 ...
## $ sex : num [1:1025] 1 1 1 1 0 0 1 1 1 1 ...
## $ cp : num [1:1025] 0 0 0 0 0 0 0 0 0 0 ...
## $ trestbps: num [1:1025] 125 140 145 148 138 100 114 160 120 122 ...
## $ chol : num [1:1025] 212 203 174 203 294 248 318 289 249 286 ...
## $ fbs : num [1:1025] 0 1 0 0 1 0 0 0 0 0 ...
## $ restecg : num [1:1025] 1 0 1 1 1 0 2 0 0 0 ...
## $ thalach : num [1:1025] 168 155 125 161 106 122 140 145 144 116 ...
## $ exang : num [1:1025] 0 1 1 0 0 0 0 1 0 1 ...
## $ oldpeak : num [1:1025] 1 3.1 2.6 0 1.9 1 4.4 0.8 0.8 3.2 ...
## $ slope : num [1:1025] 2 0 0 2 1 1 0 1 2 1 ...
## $ ca : num [1:1025] 2 0 0 1 3 0 3 1 0 2 ...
## $ thal : num [1:1025] 3 3 3 3 2 2 1 3 3 2 ...
## $ target : num [1:1025] 0 0 0 0 0 1 0 0 0 0 ...
#create report
plot_missing(df)
plot_histogram(df)
plot_correlation(df)
# Convertir la variable objetivo ‘target’ a factor para
clasificación
df$target <- as.factor(df$target)
NOTA: En modelos de clasificación, la variable que queremos predecir debe de tener formto FACTOR
#Normalmente 80-20 o 70-30
set.seed(123)
renglones_entrenamiento <- createDataPartition(df$target, p=0.8, list=FALSE)
entrenamiento <- df[renglones_entrenamiento, ]
prueba <- df [-renglones_entrenamiento, ]
Los métodos más utlizados para modelar aprendizaje automático son:
SVM: Support Ventor Machine o Maquina de Ventores de Soporte. Hay varios subtipos: Lineal (svmLinear), Radial(svmRdadial), Polinómico (svmPoly), etc.
Árbol de decesión: rpart
Redes Neuronales : nnet
Radom Forests : rf
modelo1 <- train(target ~ .,
data = entrenamiento,
method = "svmLinear",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10),
tuneGrid = data.frame(C = 1)
)
resultado_entrenamiento1 <- predict(modelo1, entrenamiento)
resultado_prueba1 <- predict(modelo1, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$target)
mcre1
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 301 37
## 1 99 384
##
## Accuracy : 0.8343
## 95% CI : (0.8071, 0.8592)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.6672
##
## Mcnemar's Test P-Value : 1.689e-07
##
## Sensitivity : 0.7525
## Specificity : 0.9121
## Pos Pred Value : 0.8905
## Neg Pred Value : 0.7950
## Prevalence : 0.4872
## Detection Rate : 0.3666
## Detection Prevalence : 0.4117
## Balanced Accuracy : 0.8323
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp1 <- confusionMatrix(resultado_prueba1, prueba$target)
mcrp1
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 78 10
## 1 21 95
##
## Accuracy : 0.848
## 95% CI : (0.7913, 0.8944)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.6948
##
## Mcnemar's Test P-Value : 0.07249
##
## Sensitivity : 0.7879
## Specificity : 0.9048
## Pos Pred Value : 0.8864
## Neg Pred Value : 0.8190
## Prevalence : 0.4853
## Detection Rate : 0.3824
## Detection Prevalence : 0.4314
## Balanced Accuracy : 0.8463
##
## 'Positive' Class : 0
##
modelo2 <- train(target ~ .,
data = entrenamiento,
method = "svmRadial", #cambiar1
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10),
tuneGrid = data.frame(sigma=1, C= 1) #cambiar
)
resultado_entrenamiento2 <- predict(modelo2, entrenamiento)
resultado_prueba2 <- predict(modelo2, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$target)
mcre2
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 400 0
## 1 0 421
##
## Accuracy : 1
## 95% CI : (0.9955, 1)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Sensitivity : 1.0000
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 1.0000
## Prevalence : 0.4872
## Detection Rate : 0.4872
## Detection Prevalence : 0.4872
## Balanced Accuracy : 1.0000
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp2 <- confusionMatrix(resultado_prueba2, prueba$target)
mcrp2
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 99 0
## 1 0 105
##
## Accuracy : 1
## 95% CI : (0.9821, 1)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Sensitivity : 1.0000
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 1.0000
## Prevalence : 0.4853
## Detection Rate : 0.4853
## Detection Prevalence : 0.4853
## Balanced Accuracy : 1.0000
##
## 'Positive' Class : 0
##
modelo3 <- train(target ~ .,
data = entrenamiento,
method = "svmPoly", #cambiar1
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10),
tuneGrid = data.frame(degree=1, scale=1, C= 1) #cambiar
)
resultado_entrenamiento3 <- predict(modelo3, entrenamiento)
resultado_prueba3 <- predict(modelo3, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$target)
mcre3
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 301 37
## 1 99 384
##
## Accuracy : 0.8343
## 95% CI : (0.8071, 0.8592)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.6672
##
## Mcnemar's Test P-Value : 1.689e-07
##
## Sensitivity : 0.7525
## Specificity : 0.9121
## Pos Pred Value : 0.8905
## Neg Pred Value : 0.7950
## Prevalence : 0.4872
## Detection Rate : 0.3666
## Detection Prevalence : 0.4117
## Balanced Accuracy : 0.8323
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp3 <- confusionMatrix(resultado_prueba3, prueba$target)
mcrp3
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 78 10
## 1 21 95
##
## Accuracy : 0.848
## 95% CI : (0.7913, 0.8944)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.6948
##
## Mcnemar's Test P-Value : 0.07249
##
## Sensitivity : 0.7879
## Specificity : 0.9048
## Pos Pred Value : 0.8864
## Neg Pred Value : 0.8190
## Prevalence : 0.4853
## Detection Rate : 0.3824
## Detection Prevalence : 0.4314
## Balanced Accuracy : 0.8463
##
## 'Positive' Class : 0
##
modelo4 <- train(target ~ .,
data = entrenamiento,
method = "rpart", #cambiar1
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10),
tuneLength = 10 #cambiar
)
resultado_entrenamiento4 <- predict(modelo4, entrenamiento)
resultado_prueba4 <- predict(modelo4, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$target)
mcre4
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 360 29
## 1 40 392
##
## Accuracy : 0.916
## 95% CI : (0.8948, 0.934)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.8317
##
## Mcnemar's Test P-Value : 0.2286
##
## Sensitivity : 0.9000
## Specificity : 0.9311
## Pos Pred Value : 0.9254
## Neg Pred Value : 0.9074
## Prevalence : 0.4872
## Detection Rate : 0.4385
## Detection Prevalence : 0.4738
## Balanced Accuracy : 0.9156
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp4 <- confusionMatrix(resultado_prueba4, prueba$target)
mcrp4
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 81 7
## 1 18 98
##
## Accuracy : 0.8775
## 95% CI : (0.8244, 0.9191)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.7539
##
## Mcnemar's Test P-Value : 0.0455
##
## Sensitivity : 0.8182
## Specificity : 0.9333
## Pos Pred Value : 0.9205
## Neg Pred Value : 0.8448
## Prevalence : 0.4853
## Detection Rate : 0.3971
## Detection Prevalence : 0.4314
## Balanced Accuracy : 0.8758
##
## 'Positive' Class : 0
##
modelo5 <- train(target ~ .,
data = entrenamiento,
method = "rf", #cambiar1
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10),
tuneGrid = expand.grid (mtry=c(2,4,6)) #cambiar
)
resultado_entrenamiento5 <- predict(modelo5, entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$target)
mcre5
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 400 0
## 1 0 421
##
## Accuracy : 1
## 95% CI : (0.9955, 1)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Sensitivity : 1.0000
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 1.0000
## Prevalence : 0.4872
## Detection Rate : 0.4872
## Detection Prevalence : 0.4872
## Balanced Accuracy : 1.0000
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp5 <- confusionMatrix(resultado_prueba5, prueba$target)
mcrp5
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 99 0
## 1 0 105
##
## Accuracy : 1
## 95% CI : (0.9821, 1)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Sensitivity : 1.0000
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 1.0000
## Prevalence : 0.4853
## Detection Rate : 0.4853
## Detection Prevalence : 0.4853
## Balanced Accuracy : 1.0000
##
## 'Positive' Class : 0
##
modelo6 <- train(target ~ .,
data = entrenamiento,
method = "nnet", #cambiar1
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number = 10)
)
## # weights: 16
## initial value 569.999083
## iter 10 value 288.130048
## iter 20 value 258.238020
## iter 30 value 254.233141
## iter 40 value 248.373203
## iter 50 value 243.467587
## final value 243.456763
## converged
## # weights: 46
## initial value 488.903292
## iter 10 value 256.703101
## iter 20 value 218.697603
## iter 30 value 198.367975
## iter 40 value 180.586995
## iter 50 value 172.732690
## iter 60 value 172.427073
## iter 70 value 172.425505
## iter 70 value 172.425503
## iter 70 value 172.425503
## final value 172.425503
## converged
## # weights: 76
## initial value 594.174024
## iter 10 value 223.638080
## iter 20 value 134.291261
## iter 30 value 102.745281
## iter 40 value 93.611640
## iter 50 value 89.482480
## iter 60 value 86.165546
## iter 70 value 85.593437
## iter 80 value 85.536406
## iter 90 value 85.510667
## iter 100 value 85.480040
## final value 85.480040
## stopped after 100 iterations
## # weights: 16
## initial value 567.201902
## iter 10 value 305.269751
## iter 20 value 277.435554
## iter 30 value 266.448224
## iter 40 value 266.436106
## iter 50 value 266.422893
## final value 266.421964
## converged
## # weights: 46
## initial value 489.707226
## iter 10 value 254.538182
## iter 20 value 216.454009
## iter 30 value 199.465976
## iter 40 value 197.288104
## iter 50 value 196.806287
## iter 60 value 196.776704
## final value 196.774639
## converged
## # weights: 76
## initial value 630.299406
## iter 10 value 227.105804
## iter 20 value 168.517275
## iter 30 value 146.882723
## iter 40 value 140.322976
## iter 50 value 136.247669
## iter 60 value 134.631209
## iter 70 value 134.185180
## iter 80 value 134.128228
## iter 90 value 134.115957
## iter 100 value 134.115052
## final value 134.115052
## stopped after 100 iterations
## # weights: 16
## initial value 549.450505
## iter 10 value 275.951162
## iter 20 value 262.815875
## iter 30 value 259.584329
## iter 40 value 251.927180
## iter 50 value 251.473032
## iter 60 value 249.157226
## iter 70 value 249.032055
## iter 80 value 248.954444
## iter 90 value 248.923437
## iter 100 value 248.921333
## final value 248.921333
## stopped after 100 iterations
## # weights: 46
## initial value 562.224034
## iter 10 value 234.467358
## iter 20 value 197.553289
## iter 30 value 169.086603
## iter 40 value 153.714918
## iter 50 value 148.974980
## iter 60 value 148.338994
## iter 70 value 147.753641
## iter 80 value 147.573783
## iter 90 value 147.446538
## iter 100 value 147.386545
## final value 147.386545
## stopped after 100 iterations
## # weights: 76
## initial value 579.453584
## iter 10 value 216.453208
## iter 20 value 151.747627
## iter 30 value 105.233970
## iter 40 value 91.413434
## iter 50 value 85.512889
## iter 60 value 83.592936
## iter 70 value 82.902827
## iter 80 value 82.589017
## iter 90 value 82.391170
## iter 100 value 82.279682
## final value 82.279682
## stopped after 100 iterations
## # weights: 16
## initial value 499.338879
## iter 10 value 294.127496
## iter 20 value 271.803046
## iter 30 value 265.103249
## iter 40 value 262.121030
## iter 50 value 261.843585
## final value 261.843254
## converged
## # weights: 46
## initial value 554.611051
## iter 10 value 263.713912
## iter 20 value 216.331087
## iter 30 value 194.232631
## iter 40 value 175.893493
## iter 50 value 154.819662
## iter 60 value 137.240204
## iter 70 value 134.993292
## iter 80 value 134.548651
## iter 90 value 134.468037
## iter 100 value 134.453899
## final value 134.453899
## stopped after 100 iterations
## # weights: 76
## initial value 526.575346
## iter 10 value 251.364116
## iter 20 value 154.889625
## iter 30 value 107.488080
## iter 40 value 92.826473
## iter 50 value 88.606456
## iter 60 value 79.831017
## iter 70 value 77.801825
## iter 80 value 76.182565
## iter 90 value 74.671395
## iter 100 value 74.180774
## final value 74.180774
## stopped after 100 iterations
## # weights: 16
## initial value 533.471970
## iter 10 value 281.520296
## iter 20 value 279.402907
## iter 30 value 275.806272
## iter 40 value 273.778819
## iter 50 value 273.609821
## final value 273.562003
## converged
## # weights: 46
## initial value 556.767195
## iter 10 value 269.664002
## iter 20 value 235.433690
## iter 30 value 221.295662
## iter 40 value 207.664594
## iter 50 value 201.518256
## iter 60 value 195.689009
## iter 70 value 189.713812
## iter 80 value 188.584992
## iter 90 value 188.429999
## iter 100 value 188.423969
## final value 188.423969
## stopped after 100 iterations
## # weights: 76
## initial value 531.556429
## iter 10 value 248.763783
## iter 20 value 216.397163
## iter 30 value 189.005266
## iter 40 value 171.249596
## iter 50 value 159.426514
## iter 60 value 154.108174
## iter 70 value 152.282143
## iter 80 value 151.863605
## iter 90 value 151.058766
## iter 100 value 150.817477
## final value 150.817477
## stopped after 100 iterations
## # weights: 16
## initial value 523.430464
## iter 10 value 282.361163
## iter 20 value 275.449058
## iter 30 value 273.716527
## iter 40 value 267.496995
## iter 50 value 250.126167
## iter 60 value 249.958508
## iter 70 value 249.951670
## final value 249.951321
## converged
## # weights: 46
## initial value 501.215317
## iter 10 value 245.458491
## iter 20 value 204.115037
## iter 30 value 188.936460
## iter 40 value 181.130687
## iter 50 value 180.314487
## iter 60 value 180.233829
## iter 70 value 180.200757
## iter 80 value 180.172973
## iter 90 value 180.124639
## iter 100 value 180.095880
## final value 180.095880
## stopped after 100 iterations
## # weights: 76
## initial value 540.624337
## iter 10 value 249.708967
## iter 20 value 197.730774
## iter 30 value 143.270406
## iter 40 value 109.366999
## iter 50 value 90.170169
## iter 60 value 82.058028
## iter 70 value 72.373188
## iter 80 value 68.711012
## iter 90 value 67.799776
## iter 100 value 67.353067
## final value 67.353067
## stopped after 100 iterations
## # weights: 16
## initial value 522.369413
## iter 10 value 286.180142
## iter 20 value 252.401258
## iter 30 value 249.810549
## iter 40 value 247.093151
## iter 50 value 246.457037
## iter 60 value 232.881491
## iter 70 value 232.441387
## iter 80 value 232.440596
## iter 90 value 232.439746
## final value 232.438628
## converged
## # weights: 46
## initial value 632.879225
## iter 10 value 222.711909
## iter 20 value 186.067500
## iter 30 value 161.087713
## iter 40 value 148.598551
## iter 50 value 142.660877
## iter 60 value 131.420911
## iter 70 value 122.030802
## iter 80 value 121.456726
## iter 90 value 121.396900
## final value 121.396750
## converged
## # weights: 76
## initial value 579.468565
## iter 10 value 204.217404
## iter 20 value 127.200640
## iter 30 value 100.016152
## iter 40 value 89.685489
## iter 50 value 83.025091
## iter 60 value 81.614518
## iter 70 value 81.591558
## final value 81.591352
## converged
## # weights: 16
## initial value 512.140527
## iter 10 value 294.272883
## iter 20 value 261.433506
## iter 30 value 256.517540
## iter 40 value 256.435720
## iter 50 value 256.435341
## final value 256.435287
## converged
## # weights: 46
## initial value 534.433134
## iter 10 value 228.974571
## iter 20 value 194.576720
## iter 30 value 181.380101
## iter 40 value 177.464094
## iter 50 value 176.083136
## iter 60 value 175.486047
## iter 70 value 175.398274
## final value 175.398158
## converged
## # weights: 76
## initial value 736.936682
## iter 10 value 290.609772
## iter 20 value 229.208670
## iter 30 value 188.822519
## iter 40 value 169.676931
## iter 50 value 160.840613
## iter 60 value 153.052948
## iter 70 value 144.772663
## iter 80 value 136.135105
## iter 90 value 132.853034
## iter 100 value 130.067996
## final value 130.067996
## stopped after 100 iterations
## # weights: 16
## initial value 482.710516
## iter 10 value 257.990539
## iter 20 value 253.526426
## iter 30 value 251.758960
## iter 40 value 250.453936
## iter 50 value 249.868187
## iter 60 value 249.021454
## iter 70 value 248.942158
## iter 80 value 248.932364
## iter 90 value 248.915001
## iter 100 value 248.910146
## final value 248.910146
## stopped after 100 iterations
## # weights: 46
## initial value 565.642371
## iter 10 value 292.402143
## iter 20 value 221.239701
## iter 30 value 198.558890
## iter 40 value 185.478920
## iter 50 value 166.010745
## iter 60 value 163.671824
## iter 70 value 160.791390
## iter 80 value 160.184598
## iter 90 value 157.949652
## iter 100 value 154.362580
## final value 154.362580
## stopped after 100 iterations
## # weights: 76
## initial value 519.428221
## iter 10 value 230.093778
## iter 20 value 146.072769
## iter 30 value 128.497221
## iter 40 value 121.773207
## iter 50 value 116.919150
## iter 60 value 111.253142
## iter 70 value 108.375459
## iter 80 value 105.759512
## iter 90 value 103.471434
## iter 100 value 102.412697
## final value 102.412697
## stopped after 100 iterations
## # weights: 16
## initial value 518.728748
## iter 10 value 374.477946
## iter 20 value 314.971249
## iter 30 value 304.746668
## iter 40 value 303.082227
## iter 50 value 295.255833
## iter 60 value 295.108966
## final value 295.108733
## converged
## # weights: 46
## initial value 489.444448
## iter 10 value 246.200445
## iter 20 value 206.082579
## iter 30 value 188.981431
## iter 40 value 178.857508
## iter 50 value 173.630247
## iter 60 value 173.547800
## final value 173.547051
## converged
## # weights: 76
## initial value 516.478466
## iter 10 value 213.084720
## iter 20 value 150.134175
## iter 30 value 116.271210
## iter 40 value 89.561419
## iter 50 value 82.009425
## iter 60 value 77.701963
## iter 70 value 73.840871
## iter 80 value 72.878090
## iter 90 value 72.528648
## iter 100 value 72.459629
## final value 72.459629
## stopped after 100 iterations
## # weights: 16
## initial value 513.834902
## iter 10 value 302.506409
## iter 20 value 284.995432
## iter 30 value 278.653341
## iter 40 value 276.875540
## iter 50 value 276.723316
## final value 276.714717
## converged
## # weights: 46
## initial value 551.083777
## iter 10 value 288.242706
## iter 20 value 249.136959
## iter 30 value 234.590317
## iter 40 value 227.997432
## iter 50 value 220.670552
## iter 60 value 215.398674
## iter 70 value 207.616785
## iter 80 value 206.139456
## iter 90 value 201.394461
## iter 100 value 192.687353
## final value 192.687353
## stopped after 100 iterations
## # weights: 76
## initial value 559.507939
## iter 10 value 237.523953
## iter 20 value 167.723895
## iter 30 value 144.594044
## iter 40 value 132.494249
## iter 50 value 126.164125
## iter 60 value 123.711126
## iter 70 value 122.073696
## iter 80 value 120.361261
## iter 90 value 119.068573
## iter 100 value 118.756960
## final value 118.756960
## stopped after 100 iterations
## # weights: 16
## initial value 561.551788
## iter 10 value 282.606053
## iter 20 value 272.427301
## iter 30 value 265.738112
## iter 40 value 259.164735
## iter 50 value 258.945463
## iter 60 value 258.795877
## iter 70 value 258.779928
## iter 80 value 258.773712
## iter 90 value 258.770641
## iter 100 value 258.770352
## final value 258.770352
## stopped after 100 iterations
## # weights: 46
## initial value 525.223776
## iter 10 value 254.105847
## iter 20 value 226.288312
## iter 30 value 204.254949
## iter 40 value 193.012062
## iter 50 value 164.677679
## iter 60 value 159.739732
## iter 70 value 158.581450
## iter 80 value 157.879683
## iter 90 value 156.493309
## iter 100 value 155.988352
## final value 155.988352
## stopped after 100 iterations
## # weights: 76
## initial value 513.866017
## iter 10 value 230.122284
## iter 20 value 138.103976
## iter 30 value 90.628992
## iter 40 value 80.163652
## iter 50 value 77.770170
## iter 60 value 77.127219
## iter 70 value 76.785573
## iter 80 value 76.658092
## iter 90 value 76.603311
## iter 100 value 76.535110
## final value 76.535110
## stopped after 100 iterations
## # weights: 16
## initial value 535.291588
## iter 10 value 324.532222
## iter 20 value 297.758845
## iter 30 value 277.184776
## iter 40 value 268.206680
## iter 50 value 260.512247
## final value 260.477446
## converged
## # weights: 46
## initial value 557.878727
## iter 10 value 237.844338
## iter 20 value 209.734558
## iter 30 value 196.868439
## iter 40 value 185.434159
## iter 50 value 173.814023
## iter 60 value 167.889657
## iter 70 value 167.633411
## final value 167.632789
## converged
## # weights: 76
## initial value 504.955112
## iter 10 value 238.449069
## iter 20 value 173.162936
## iter 30 value 133.100713
## iter 40 value 107.804388
## iter 50 value 101.964805
## iter 60 value 96.718482
## iter 70 value 95.737817
## iter 80 value 95.099069
## iter 90 value 93.968178
## iter 100 value 93.721234
## final value 93.721234
## stopped after 100 iterations
## # weights: 16
## initial value 535.784524
## iter 10 value 374.701905
## iter 20 value 274.553197
## iter 30 value 263.494590
## iter 40 value 263.254691
## iter 50 value 263.156454
## final value 263.153479
## converged
## # weights: 46
## initial value 639.757004
## iter 10 value 302.848366
## iter 20 value 255.314708
## iter 30 value 221.016431
## iter 40 value 204.863483
## iter 50 value 200.696134
## iter 60 value 198.063913
## iter 70 value 196.024907
## iter 80 value 195.915760
## iter 90 value 195.831934
## iter 100 value 195.830163
## final value 195.830163
## stopped after 100 iterations
## # weights: 76
## initial value 621.918985
## iter 10 value 256.688767
## iter 20 value 198.285922
## iter 30 value 168.519263
## iter 40 value 148.119397
## iter 50 value 137.989620
## iter 60 value 129.677102
## iter 70 value 123.375212
## iter 80 value 116.888053
## iter 90 value 112.930887
## iter 100 value 111.341320
## final value 111.341320
## stopped after 100 iterations
## # weights: 16
## initial value 553.470966
## iter 10 value 309.142169
## iter 20 value 256.528501
## iter 30 value 252.656870
## iter 40 value 245.813097
## iter 50 value 242.935275
## iter 60 value 240.853152
## iter 70 value 237.871940
## iter 80 value 237.792586
## iter 90 value 237.792105
## final value 237.792070
## converged
## # weights: 46
## initial value 555.882288
## iter 10 value 255.981316
## iter 20 value 188.618878
## iter 30 value 173.306615
## iter 40 value 171.075951
## iter 50 value 161.101911
## iter 60 value 159.132540
## iter 70 value 158.961661
## iter 80 value 158.798828
## iter 90 value 158.639235
## iter 100 value 158.488047
## final value 158.488047
## stopped after 100 iterations
## # weights: 76
## initial value 560.338105
## iter 10 value 201.637986
## iter 20 value 154.204902
## iter 30 value 118.979687
## iter 40 value 108.020310
## iter 50 value 102.898559
## iter 60 value 100.353813
## iter 70 value 85.558748
## iter 80 value 82.672579
## iter 90 value 81.756833
## iter 100 value 81.462664
## final value 81.462664
## stopped after 100 iterations
## # weights: 16
## initial value 482.884165
## iter 10 value 251.769987
## iter 20 value 246.149456
## iter 30 value 231.566528
## iter 40 value 230.084348
## iter 50 value 230.060983
## iter 60 value 230.049885
## iter 70 value 230.040337
## iter 80 value 230.036330
## iter 90 value 230.031895
## iter 100 value 230.020639
## final value 230.020639
## stopped after 100 iterations
## # weights: 46
## initial value 584.156128
## iter 10 value 248.607167
## iter 20 value 196.724324
## iter 30 value 180.165655
## iter 40 value 168.034215
## iter 50 value 151.582939
## iter 60 value 138.815609
## iter 70 value 134.872368
## iter 80 value 132.192073
## iter 90 value 131.761626
## iter 100 value 131.744577
## final value 131.744577
## stopped after 100 iterations
## # weights: 76
## initial value 635.095422
## iter 10 value 224.485173
## iter 20 value 131.705533
## iter 30 value 89.496083
## iter 40 value 78.034690
## iter 50 value 72.928969
## iter 60 value 70.510834
## iter 70 value 69.397265
## iter 80 value 67.468996
## iter 90 value 66.992608
## iter 100 value 66.782573
## final value 66.782573
## stopped after 100 iterations
## # weights: 16
## initial value 593.592274
## iter 10 value 352.987205
## iter 20 value 296.769622
## iter 30 value 259.734045
## iter 40 value 253.325808
## iter 50 value 251.099538
## final value 251.084597
## converged
## # weights: 46
## initial value 566.985613
## iter 10 value 282.513548
## iter 20 value 236.365082
## iter 30 value 205.511503
## iter 40 value 184.201849
## iter 50 value 178.608408
## iter 60 value 175.714204
## iter 70 value 171.906597
## iter 80 value 171.688966
## iter 90 value 171.685084
## final value 171.685076
## converged
## # weights: 76
## initial value 528.174263
## iter 10 value 206.940113
## iter 20 value 159.165460
## iter 30 value 147.303673
## iter 40 value 138.237048
## iter 50 value 133.378381
## iter 60 value 130.458085
## iter 70 value 128.403227
## iter 80 value 128.118779
## iter 90 value 128.012885
## iter 100 value 128.005211
## final value 128.005211
## stopped after 100 iterations
## # weights: 16
## initial value 570.789462
## iter 10 value 261.410538
## iter 20 value 249.238085
## iter 30 value 246.956609
## iter 40 value 246.160237
## iter 50 value 240.364887
## iter 60 value 234.042659
## iter 70 value 233.713239
## iter 80 value 233.667972
## iter 90 value 233.646453
## final value 233.645750
## converged
## # weights: 46
## initial value 506.654332
## iter 10 value 229.827985
## iter 20 value 193.455502
## iter 30 value 169.178554
## iter 40 value 157.720164
## iter 50 value 145.055055
## iter 60 value 143.882103
## iter 70 value 143.516864
## iter 80 value 143.226507
## iter 90 value 142.841179
## iter 100 value 142.779894
## final value 142.779894
## stopped after 100 iterations
## # weights: 76
## initial value 567.633799
## iter 10 value 266.939686
## iter 20 value 165.347787
## iter 30 value 134.164060
## iter 40 value 104.164933
## iter 50 value 86.666275
## iter 60 value 77.568372
## iter 70 value 76.237466
## iter 80 value 75.988405
## iter 90 value 75.551646
## iter 100 value 75.240119
## final value 75.240119
## stopped after 100 iterations
## # weights: 16
## initial value 533.784600
## iter 10 value 365.728697
## iter 20 value 291.395175
## iter 30 value 271.226308
## iter 40 value 269.679766
## iter 50 value 255.404140
## iter 60 value 233.551983
## iter 70 value 233.158002
## final value 233.156795
## converged
## # weights: 46
## initial value 526.689684
## iter 10 value 260.365606
## iter 20 value 197.869090
## iter 30 value 168.585880
## iter 40 value 155.309235
## iter 50 value 145.636818
## iter 60 value 136.351075
## iter 70 value 125.530836
## iter 80 value 123.581112
## iter 90 value 117.154123
## iter 100 value 116.485801
## final value 116.485801
## stopped after 100 iterations
## # weights: 76
## initial value 567.539021
## iter 10 value 260.010810
## iter 20 value 188.827160
## iter 30 value 144.256407
## iter 40 value 120.149045
## iter 50 value 108.786221
## iter 60 value 100.354180
## iter 70 value 94.953713
## iter 80 value 89.392529
## iter 90 value 84.864343
## iter 100 value 82.427840
## final value 82.427840
## stopped after 100 iterations
## # weights: 16
## initial value 518.303551
## iter 10 value 301.226659
## iter 20 value 276.697610
## iter 30 value 273.611202
## iter 40 value 273.384737
## iter 50 value 273.353830
## final value 273.353074
## converged
## # weights: 46
## initial value 591.310208
## iter 10 value 279.431557
## iter 20 value 245.741291
## iter 30 value 223.281028
## iter 40 value 214.575468
## iter 50 value 212.640059
## iter 60 value 209.994821
## iter 70 value 203.230288
## iter 80 value 198.077586
## iter 90 value 197.541082
## iter 100 value 197.483424
## final value 197.483424
## stopped after 100 iterations
## # weights: 76
## initial value 519.425187
## iter 10 value 231.175300
## iter 20 value 182.323553
## iter 30 value 163.767229
## iter 40 value 151.801160
## iter 50 value 146.416592
## iter 60 value 144.300904
## iter 70 value 140.009398
## iter 80 value 136.682185
## iter 90 value 135.340508
## iter 100 value 135.171582
## final value 135.171582
## stopped after 100 iterations
## # weights: 16
## initial value 540.733446
## iter 10 value 304.607171
## iter 20 value 271.976050
## iter 30 value 268.287702
## iter 40 value 259.894410
## iter 50 value 254.662453
## iter 60 value 254.464064
## iter 70 value 254.374821
## iter 80 value 254.373228
## iter 90 value 254.365481
## iter 90 value 254.365479
## final value 254.365479
## converged
## # weights: 46
## initial value 545.640462
## iter 10 value 239.326181
## iter 20 value 194.950839
## iter 30 value 172.787268
## iter 40 value 166.742004
## iter 50 value 166.175388
## iter 60 value 166.067196
## iter 70 value 165.905586
## iter 80 value 165.765830
## iter 90 value 165.449865
## iter 100 value 165.253182
## final value 165.253182
## stopped after 100 iterations
## # weights: 76
## initial value 518.040333
## iter 10 value 277.491826
## iter 20 value 167.872275
## iter 30 value 140.576782
## iter 40 value 121.746256
## iter 50 value 113.017002
## iter 60 value 109.564551
## iter 70 value 108.700925
## iter 80 value 108.541876
## iter 90 value 108.290257
## iter 100 value 107.717404
## final value 107.717404
## stopped after 100 iterations
## # weights: 16
## initial value 592.075271
## iter 10 value 343.656404
## iter 20 value 304.890285
## iter 30 value 291.979532
## iter 40 value 286.235555
## iter 50 value 262.686437
## iter 60 value 260.091038
## final value 260.066162
## converged
## # weights: 46
## initial value 565.244889
## iter 10 value 314.059995
## iter 20 value 233.101839
## iter 30 value 213.279739
## iter 40 value 205.723279
## iter 50 value 200.712153
## iter 60 value 197.315406
## iter 70 value 191.245467
## iter 80 value 187.040008
## iter 90 value 186.790797
## final value 186.789981
## converged
## # weights: 76
## initial value 575.555413
## iter 10 value 243.838344
## iter 20 value 169.116631
## iter 30 value 135.260802
## iter 40 value 119.827127
## iter 50 value 108.754961
## iter 60 value 104.382782
## iter 70 value 97.078041
## iter 80 value 89.687880
## iter 90 value 86.253428
## iter 100 value 84.039692
## final value 84.039692
## stopped after 100 iterations
## # weights: 16
## initial value 513.769672
## iter 10 value 308.378187
## iter 20 value 279.996961
## iter 30 value 274.661095
## iter 40 value 274.485602
## iter 50 value 274.485270
## iter 50 value 274.485270
## iter 50 value 274.485270
## final value 274.485270
## converged
## # weights: 46
## initial value 576.907748
## iter 10 value 316.740481
## iter 20 value 295.705874
## iter 30 value 263.440184
## iter 40 value 249.258399
## iter 50 value 247.029203
## iter 60 value 246.450439
## iter 70 value 246.321419
## iter 80 value 246.317547
## iter 80 value 246.317546
## iter 80 value 246.317545
## final value 246.317545
## converged
## # weights: 76
## initial value 501.586599
## iter 10 value 237.735797
## iter 20 value 196.141706
## iter 30 value 179.711096
## iter 40 value 166.638251
## iter 50 value 160.868440
## iter 60 value 150.476525
## iter 70 value 139.677743
## iter 80 value 133.637860
## iter 90 value 130.642134
## iter 100 value 128.372324
## final value 128.372324
## stopped after 100 iterations
## # weights: 16
## initial value 504.361816
## iter 10 value 284.297069
## iter 20 value 269.582156
## iter 30 value 267.183924
## iter 40 value 267.001318
## iter 50 value 266.845748
## iter 60 value 266.633572
## iter 70 value 266.612626
## iter 80 value 266.597830
## iter 90 value 266.581847
## iter 100 value 266.572916
## final value 266.572916
## stopped after 100 iterations
## # weights: 46
## initial value 524.875102
## iter 10 value 291.050453
## iter 20 value 222.893973
## iter 30 value 206.104366
## iter 40 value 184.592381
## iter 50 value 180.033441
## iter 60 value 179.145094
## iter 70 value 177.085322
## iter 80 value 176.771149
## iter 90 value 176.571212
## iter 100 value 176.290868
## final value 176.290868
## stopped after 100 iterations
## # weights: 76
## initial value 531.940366
## iter 10 value 248.236509
## iter 20 value 176.116234
## iter 30 value 125.340915
## iter 40 value 88.098424
## iter 50 value 73.524519
## iter 60 value 66.886453
## iter 70 value 63.992418
## iter 80 value 63.599480
## iter 90 value 63.416857
## iter 100 value 63.263717
## final value 63.263717
## stopped after 100 iterations
## # weights: 16
## initial value 582.318194
## iter 10 value 368.127308
## iter 20 value 278.774365
## iter 30 value 262.482390
## iter 40 value 260.596566
## iter 50 value 256.649640
## iter 60 value 248.130184
## final value 248.073516
## converged
## # weights: 46
## initial value 518.758908
## iter 10 value 265.168365
## iter 20 value 197.910623
## iter 30 value 180.269945
## iter 40 value 169.151997
## iter 50 value 157.883859
## iter 60 value 157.009975
## iter 70 value 157.002927
## final value 157.002919
## converged
## # weights: 76
## initial value 670.615292
## iter 10 value 213.003963
## iter 20 value 123.937625
## iter 30 value 85.317781
## iter 40 value 66.822438
## iter 50 value 66.595192
## iter 60 value 66.311790
## iter 70 value 65.314671
## final value 65.314551
## converged
## # weights: 16
## initial value 537.474474
## iter 10 value 326.585638
## iter 20 value 268.468229
## iter 30 value 262.852892
## iter 40 value 262.335037
## iter 50 value 262.251746
## final value 262.241447
## converged
## # weights: 46
## initial value 540.357955
## iter 10 value 318.907794
## iter 20 value 250.905763
## iter 30 value 214.015429
## iter 40 value 206.964485
## iter 50 value 204.415089
## iter 60 value 200.592785
## iter 70 value 197.423045
## iter 80 value 194.993931
## iter 90 value 194.045215
## iter 100 value 193.607747
## final value 193.607747
## stopped after 100 iterations
## # weights: 76
## initial value 558.839137
## iter 10 value 237.387515
## iter 20 value 191.939855
## iter 30 value 178.002543
## iter 40 value 164.642997
## iter 50 value 153.229340
## iter 60 value 145.662276
## iter 70 value 137.607060
## iter 80 value 130.585131
## iter 90 value 127.813214
## iter 100 value 125.967919
## final value 125.967919
## stopped after 100 iterations
## # weights: 16
## initial value 508.823055
## iter 10 value 279.198903
## iter 20 value 259.196423
## iter 30 value 251.870312
## iter 40 value 250.500712
## iter 50 value 249.955996
## iter 60 value 249.688797
## iter 70 value 249.627704
## iter 80 value 249.623984
## iter 90 value 249.623349
## iter 90 value 249.623346
## iter 90 value 249.623346
## final value 249.623346
## converged
## # weights: 46
## initial value 548.206600
## iter 10 value 261.794978
## iter 20 value 195.304911
## iter 30 value 172.233853
## iter 40 value 156.958771
## iter 50 value 153.847502
## iter 60 value 151.780940
## iter 70 value 151.603698
## iter 80 value 151.477359
## iter 90 value 151.350340
## iter 100 value 151.302827
## final value 151.302827
## stopped after 100 iterations
## # weights: 76
## initial value 487.019608
## iter 10 value 240.352009
## iter 20 value 178.724776
## iter 30 value 139.935952
## iter 40 value 103.374915
## iter 50 value 91.342995
## iter 60 value 88.330062
## iter 70 value 87.243701
## iter 80 value 86.925559
## iter 90 value 86.409534
## iter 100 value 86.054779
## final value 86.054779
## stopped after 100 iterations
## # weights: 16
## initial value 504.318504
## iter 10 value 284.259249
## iter 20 value 252.079208
## iter 30 value 245.856129
## iter 40 value 234.841374
## final value 234.782766
## converged
## # weights: 46
## initial value 519.068646
## iter 10 value 234.358378
## iter 20 value 181.156083
## iter 30 value 150.250027
## iter 40 value 134.428157
## iter 50 value 131.491650
## iter 60 value 129.117306
## iter 70 value 127.109241
## iter 80 value 126.628244
## iter 90 value 126.601316
## final value 126.601196
## converged
## # weights: 76
## initial value 592.812324
## iter 10 value 237.591845
## iter 20 value 138.652045
## iter 30 value 88.431803
## iter 40 value 73.222985
## iter 50 value 68.211943
## iter 60 value 66.355403
## iter 70 value 66.287814
## iter 80 value 66.267336
## iter 90 value 66.234803
## iter 100 value 66.230282
## final value 66.230282
## stopped after 100 iterations
## # weights: 16
## initial value 504.388062
## iter 10 value 288.685633
## iter 20 value 263.562772
## iter 30 value 263.014927
## iter 40 value 261.604979
## iter 50 value 260.892381
## final value 260.833183
## converged
## # weights: 46
## initial value 564.759563
## iter 10 value 248.157399
## iter 20 value 212.766556
## iter 30 value 197.664297
## iter 40 value 191.165506
## iter 50 value 186.441633
## iter 60 value 179.070853
## iter 70 value 176.402806
## iter 80 value 175.978300
## iter 90 value 175.950795
## iter 100 value 175.950020
## final value 175.950020
## stopped after 100 iterations
## # weights: 76
## initial value 501.560733
## iter 10 value 225.203209
## iter 20 value 168.688323
## iter 30 value 145.545840
## iter 40 value 136.600915
## iter 50 value 130.371835
## iter 60 value 125.796198
## iter 70 value 122.649023
## iter 80 value 120.995196
## iter 90 value 117.754099
## iter 100 value 117.068935
## final value 117.068935
## stopped after 100 iterations
## # weights: 16
## initial value 535.955306
## iter 10 value 305.690011
## iter 20 value 253.887669
## iter 30 value 249.885912
## iter 40 value 247.464137
## iter 50 value 245.050111
## iter 60 value 237.786071
## iter 70 value 237.536458
## iter 80 value 237.505175
## iter 90 value 237.503828
## final value 237.503618
## converged
## # weights: 46
## initial value 547.007129
## iter 10 value 250.758454
## iter 20 value 206.162503
## iter 30 value 190.301206
## iter 40 value 180.811125
## iter 50 value 176.211068
## iter 60 value 172.204079
## iter 70 value 166.695500
## iter 80 value 163.441944
## iter 90 value 163.003443
## iter 100 value 162.937655
## final value 162.937655
## stopped after 100 iterations
## # weights: 76
## initial value 562.537681
## iter 10 value 224.117810
## iter 20 value 131.487968
## iter 30 value 80.060725
## iter 40 value 56.257920
## iter 50 value 54.199833
## iter 60 value 54.006497
## iter 70 value 53.891973
## iter 80 value 53.774819
## iter 90 value 52.343864
## iter 100 value 51.018105
## final value 51.018105
## stopped after 100 iterations
## # weights: 76
## initial value 550.237743
## iter 10 value 273.564895
## iter 20 value 209.868988
## iter 30 value 190.508324
## iter 40 value 178.761447
## iter 50 value 169.558281
## iter 60 value 165.374923
## iter 70 value 161.961513
## iter 80 value 154.725210
## iter 90 value 146.898407
## iter 100 value 134.050923
## final value 134.050923
## stopped after 100 iterations
resultado_entrenamiento6 <- predict(modelo6, entrenamiento)
resultado_prueba6 <- predict(modelo6, prueba)
#matriz de confusión
#tabla de evaluacion que desglosa el rendimiento del modelo de clasificación
#matriz de confusión del resultado de entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$target)
mcre6
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 391 10
## 1 9 411
##
## Accuracy : 0.9769
## 95% CI : (0.9641, 0.986)
## No Information Rate : 0.5128
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9537
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9775
## Specificity : 0.9762
## Pos Pred Value : 0.9751
## Neg Pred Value : 0.9786
## Prevalence : 0.4872
## Detection Rate : 0.4762
## Detection Prevalence : 0.4884
## Balanced Accuracy : 0.9769
##
## 'Positive' Class : 0
##
#matriz de confusión del resultado de prueba
mcrp6 <- confusionMatrix(resultado_prueba6, prueba$target)
mcrp6
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 97 6
## 1 2 99
##
## Accuracy : 0.9608
## 95% CI : (0.9242, 0.9829)
## No Information Rate : 0.5147
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9216
##
## Mcnemar's Test P-Value : 0.2888
##
## Sensitivity : 0.9798
## Specificity : 0.9429
## Pos Pred Value : 0.9417
## Neg Pred Value : 0.9802
## Prevalence : 0.4853
## Detection Rate : 0.4755
## Detection Prevalence : 0.5049
## Balanced Accuracy : 0.9613
##
## 'Positive' Class : 0
##
resultados <- data.frame(
"svmLinear" = c(mcre1$overall["Accuracy"], mcrp1$overall["Accuracy"]),
"svmRadial" = c(mcre2$overall["Accuracy"], mcrp2$overall["Accuracy"]),
"svmPoly" = c(mcre3$overall["Accuracy"], mcrp3$overall["Accuracy"]),
"rpart" = c(mcre4$overall["Accuracy"], mcrp4$overall["Accuracy"]),
"rf" = c(mcre5$overall["Accuracy"], mcrp5$overall["Accuracy"]),
"nnet" = c(mcre6$overall["Accuracy"], mcrp6$overall["Accuracy"])
)
rownames(resultados) <- c("Exactitud del Entrenamiento", "Exactitud de la Prueba")
resultados
## svmLinear svmRadial svmPoly rpart rf
## Exactitud del Entrenamiento 0.8343484 1 0.8343484 0.9159562 1
## Exactitud de la Prueba 0.8480392 1 0.8480392 0.8774510 1
## nnet
## Exactitud del Entrenamiento 0.9768575
## Exactitud de la Prueba 0.9607843
El modelo con mejor desempeño para predecir si un paciente presenta una enfermedad cardíaca (target) es Random Forest, al alcanzar un 100% de exactitud tanto en el conjunto de entrenamiento como en el de prueba, demostrando que los patrones no lineales entre las variables médicas (edad, tipo de dolor de pecho, frecuencia cardíaca máxima, etc.)