La función caret (Clasification And REgression Training) es un paquete integral con una amplia variedad de algoritmos para el aprendizaje automático.
library(ggplot2) # Gráficas con mejor diseño
library(lattice) # Crear gráficos
library(caret) # Algoritmos de aprendizaje automático
library(datasets) # Usar la base de datos "Iris"
library(DataExplorer) # Análisis exploratorio de los datos
library(kernlab)
library(tidyverse)
library(kableExtra)
library(mlbench)
library(dplyr)
# Base de datos original
data(BreastCancer)
df = BreastCancer
# Base de datos con variables seleccionadas
df_c <- df %>%
select(-Id) %>%
rename(Tipo = Class)
# Base de datos con variables continuas
df_cc <- df_c %>%
mutate(across(where(is.factor), as.numeric))
summary(df)
## Id Cl.thickness Cell.size Cell.shape Marg.adhesion
## Length:699 1 :145 1 :384 1 :353 1 :407
## Class :character 5 :130 10 : 67 2 : 59 2 : 58
## Mode :character 3 :108 3 : 52 10 : 58 3 : 58
## 4 : 80 2 : 45 3 : 56 10 : 55
## 10 : 69 4 : 40 4 : 44 4 : 33
## 2 : 50 5 : 30 5 : 34 8 : 25
## (Other):117 (Other): 81 (Other): 95 (Other): 63
## Epith.c.size Bare.nuclei Bl.cromatin Normal.nucleoli Mitoses
## 2 :386 1 :402 2 :166 1 :443 1 :579
## 3 : 72 10 :132 3 :165 10 : 61 2 : 35
## 4 : 48 2 : 30 1 :152 3 : 44 3 : 33
## 1 : 47 5 : 30 7 : 73 2 : 36 10 : 14
## 6 : 41 3 : 28 4 : 40 8 : 24 4 : 12
## 5 : 39 (Other): 61 5 : 34 6 : 22 7 : 9
## (Other): 66 NA's : 16 (Other): 69 (Other): 69 (Other): 17
## Class
## benign :458
## malignant:241
##
##
##
##
##
str(df) # Confirmar que las variables vengan en el formato necesario.
## 'data.frame': 699 obs. of 11 variables:
## $ Id : chr "1000025" "1002945" "1015425" "1016277" ...
## $ Cl.thickness : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 5 5 3 6 4 8 1 2 2 4 ...
## $ Cell.size : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 1 1 2 ...
## $ Cell.shape : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 4 1 8 1 10 1 2 1 1 ...
## $ Marg.adhesion : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 1 5 1 1 3 8 1 1 1 1 ...
## $ Epith.c.size : Ord.factor w/ 10 levels "1"<"2"<"3"<"4"<..: 2 7 2 3 2 7 2 2 2 2 ...
## $ Bare.nuclei : Factor w/ 10 levels "1","2","3","4",..: 1 10 2 4 1 10 10 1 1 1 ...
## $ Bl.cromatin : Factor w/ 10 levels "1","2","3","4",..: 3 3 3 3 3 9 3 3 1 2 ...
## $ Normal.nucleoli: Factor w/ 10 levels "1","2","3","4",..: 1 2 1 7 1 7 1 1 1 1 ...
## $ Mitoses : Factor w/ 9 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 5 1 ...
## $ Class : Factor w/ 2 levels "benign","malignant": 1 1 1 1 1 2 1 1 1 1 ...
#create_report(df)
plot_missing(df)
# Tratar registros con NAs
df_c <- na.omit(df_c)
plot_boxplot(df_cc, by = "Tipo")
## Warning: Removed 16 rows containing non-finite values (`stat_boxplot()`).
plot_bar(df)
## 1 columns ignored with more than 50 categories.
## Id: 645 categories
plot_correlation(df_cc)
## Warning: Removed 18 rows containing missing values (`geom_text()`).
set.seed(123)
DataPart= createDataPartition(df_c$Tipo, p=0.8, list = FALSE)
train_set= df_c[DataPart,]
test_set = df_c[-DataPart,]
Los métodos más utilizados para modelar aprendixaje automático son:
modelo_svml = train(Tipo ~., data = train_set,
method = "svmLinear",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10),
tuneGrid = data.frame(C=1)
)
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut =
## 10, : These variables have zero variances: Bare.nuclei6
## Warning in .local(x, ...): Variable(s) `' constant. Cannot scale data.
resultados_train_svml = predict(modelo_svml, train_set)
resultados_test_svml = predict(modelo_svml, test_set)
##### ENTRENAMIENTO ######
MCRE_svml = confusionMatrix(resultados_train_svml, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_svml
##### PRUEBA #####
MCRP_svml = confusionMatrix(resultados_test_svml, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_svml
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 83 7
## malignant 5 40
##
## Accuracy : 0.9111
## 95% CI : (0.8499, 0.9532)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : 2.463e-12
##
## Kappa : 0.8022
##
## Mcnemar's Test P-Value : 0.7728
##
## Sensitivity : 0.9432
## Specificity : 0.8511
## Pos Pred Value : 0.9222
## Neg Pred Value : 0.8889
## Prevalence : 0.6519
## Detection Rate : 0.6148
## Detection Prevalence : 0.6667
## Balanced Accuracy : 0.8971
##
## 'Positive' Class : benign
##
modelo_svmr = train(Tipo ~., data = train_set,
method = "svmRadial",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10),
tuneGrid = data.frame(sigma =1, C=1)
)
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut =
## 10, : These variables have zero variances: Mitoses6
## Warning in .local(x, ...): Variable(s) `' constant. Cannot scale data.
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut =
## 10, : These variables have zero variances: Bare.nuclei6
## Warning in .local(x, ...): Variable(s) `' constant. Cannot scale data.
resultados_train_svmr = predict(modelo_svmr, train_set)
resultados_test_svmr = predict(modelo_svmr, test_set)
##### ENTRENAMIENTO ######
MCRE_svmr = confusionMatrix(resultados_train_svmr, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_svmr
##### PRUEBA #####
MCRP_svmr = confusionMatrix(resultados_test_svmr, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_svmr
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 47 0
## malignant 41 47
##
## Accuracy : 0.6963
## 95% CI : (0.6113, 0.7724)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : 0.1602
##
## Kappa : 0.4439
##
## Mcnemar's Test P-Value : 4.185e-10
##
## Sensitivity : 0.5341
## Specificity : 1.0000
## Pos Pred Value : 1.0000
## Neg Pred Value : 0.5341
## Prevalence : 0.6519
## Detection Rate : 0.3481
## Detection Prevalence : 0.3481
## Balanced Accuracy : 0.7670
##
## 'Positive' Class : benign
##
modelo_svmp = train(Tipo ~., data = train_set,
method = "svmPoly",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10),
tuneGrid = data.frame(degree = 1, scale = 1, C= 1)
)
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut =
## 10, : These variables have zero variances: Bare.nuclei6
## Warning in .local(x, ...): Variable(s) `' constant. Cannot scale data.
resultados_train_svmp = predict(modelo_svmp, train_set)
resultados_test_svmp = predict(modelo_svmp, test_set)
##### ENTRENAMIENTO ######
MCRE_svmp = confusionMatrix(resultados_train_svmp, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_svmp
##### PRUEBA #####
MCRP_svmp = confusionMatrix(resultados_test_svmp, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_svmp
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 83 7
## malignant 5 40
##
## Accuracy : 0.9111
## 95% CI : (0.8499, 0.9532)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : 2.463e-12
##
## Kappa : 0.8022
##
## Mcnemar's Test P-Value : 0.7728
##
## Sensitivity : 0.9432
## Specificity : 0.8511
## Pos Pred Value : 0.9222
## Neg Pred Value : 0.8889
## Prevalence : 0.6519
## Detection Rate : 0.6148
## Detection Prevalence : 0.6667
## Balanced Accuracy : 0.8971
##
## 'Positive' Class : benign
##
modelo_ad = train(Tipo ~., data = train_set,
method = "rpart",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10),
tuneLength = 10
)
## Warning in preProcess.default(thresh = 0.95, k = 5, freqCut = 19, uniqueCut =
## 10, : These variables have zero variances: Bare.nuclei6
resultados_train_ad = predict(modelo_ad, train_set)
resultados_test_ad = predict(modelo_ad, test_set)
##### ENTRENAMIENTO ######
MCRE_ad = confusionMatrix(resultados_train_ad, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_ad
##### PRUEBA #####
MCRP_ad = confusionMatrix(resultados_test_ad, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_ad
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 87 3
## malignant 1 44
##
## Accuracy : 0.9704
## 95% CI : (0.9259, 0.9919)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9341
##
## Mcnemar's Test P-Value : 0.6171
##
## Sensitivity : 0.9886
## Specificity : 0.9362
## Pos Pred Value : 0.9667
## Neg Pred Value : 0.9778
## Prevalence : 0.6519
## Detection Rate : 0.6444
## Detection Prevalence : 0.6667
## Balanced Accuracy : 0.9624
##
## 'Positive' Class : benign
##
modelo_rn = train(Tipo ~., data = train_set,
method = "nnet",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10)
)
## # weights: 83
## initial value 374.817257
## iter 10 value 40.277258
## iter 20 value 20.528253
## iter 30 value 19.231263
## iter 40 value 19.122754
## iter 50 value 19.114539
## iter 60 value 19.114088
## final value 19.113898
## converged
## # weights: 247
## initial value 324.313266
## iter 10 value 47.023454
## iter 20 value 34.501072
## iter 30 value 30.146435
## iter 40 value 29.471498
## iter 50 value 29.362932
## iter 60 value 28.782448
## iter 70 value 28.175092
## iter 80 value 27.788069
## iter 90 value 26.571502
## iter 100 value 26.559663
## final value 26.559663
## stopped after 100 iterations
## # weights: 411
## initial value 316.180536
## iter 10 value 13.913762
## iter 20 value 4.328973
## iter 30 value 2.552363
## iter 40 value 2.272730
## iter 50 value 1.922754
## iter 60 value 1.917273
## iter 70 value 1.911679
## iter 80 value 1.910532
## iter 90 value 1.909586
## iter 100 value 1.903894
## final value 1.903894
## stopped after 100 iterations
## # weights: 83
## initial value 316.912067
## iter 10 value 86.012268
## iter 20 value 59.597247
## iter 30 value 44.365834
## iter 40 value 33.669552
## iter 50 value 30.440372
## iter 60 value 26.150068
## iter 70 value 19.420997
## iter 80 value 18.143437
## iter 90 value 18.044521
## iter 100 value 18.041878
## final value 18.041878
## stopped after 100 iterations
## # weights: 247
## initial value 382.187522
## iter 10 value 103.663294
## iter 20 value 45.264551
## iter 30 value 27.392809
## iter 40 value 15.942882
## iter 50 value 10.495825
## iter 60 value 10.171603
## iter 70 value 10.078924
## iter 80 value 10.067088
## iter 90 value 10.066756
## final value 10.066742
## converged
## # weights: 411
## initial value 388.651583
## iter 10 value 81.178316
## iter 20 value 38.660423
## iter 30 value 22.159086
## iter 40 value 16.224887
## iter 50 value 13.883473
## iter 60 value 12.893245
## iter 70 value 10.005257
## iter 80 value 9.661595
## iter 90 value 9.456065
## iter 100 value 9.241772
## final value 9.241772
## stopped after 100 iterations
## # weights: 83
## initial value 297.409901
## iter 10 value 42.618141
## iter 20 value 26.253328
## iter 30 value 25.877399
## iter 40 value 25.874604
## iter 50 value 25.873501
## iter 60 value 25.868274
## iter 70 value 25.579752
## iter 80 value 22.211249
## iter 90 value 21.970007
## iter 100 value 21.962423
## final value 21.962423
## stopped after 100 iterations
## # weights: 247
## initial value 328.290262
## iter 10 value 42.653126
## iter 20 value 10.093193
## iter 30 value 7.568132
## iter 40 value 6.380301
## iter 50 value 6.342162
## iter 60 value 6.325476
## iter 70 value 6.309236
## iter 80 value 6.297273
## iter 90 value 4.956517
## iter 100 value 3.188558
## final value 3.188558
## stopped after 100 iterations
## # weights: 411
## initial value 321.689898
## iter 10 value 48.178152
## iter 20 value 17.682923
## iter 30 value 4.351791
## iter 40 value 3.602677
## iter 50 value 3.472459
## iter 60 value 3.425713
## iter 70 value 3.397425
## iter 80 value 3.372660
## iter 90 value 3.336140
## iter 100 value 3.301287
## final value 3.301287
## stopped after 100 iterations
## # weights: 83
## initial value 419.727174
## iter 10 value 74.663969
## iter 20 value 48.847018
## iter 30 value 45.476749
## iter 40 value 45.475792
## iter 50 value 45.475752
## final value 45.475721
## converged
## # weights: 247
## initial value 304.136827
## iter 10 value 25.425733
## iter 20 value 16.688368
## iter 30 value 15.524231
## iter 40 value 14.921821
## iter 50 value 14.900295
## iter 60 value 14.893064
## iter 70 value 14.890351
## iter 80 value 11.745816
## iter 90 value 11.491433
## iter 100 value 9.722493
## final value 9.722493
## stopped after 100 iterations
## # weights: 411
## initial value 291.136519
## iter 10 value 22.546166
## iter 20 value 5.471588
## iter 30 value 1.532441
## iter 40 value 1.399044
## iter 50 value 1.387959
## iter 60 value 1.386394
## iter 70 value 1.386336
## iter 80 value 1.386298
## final value 1.386295
## converged
## # weights: 83
## initial value 413.785797
## iter 10 value 102.460326
## iter 20 value 59.701862
## iter 30 value 53.757163
## iter 40 value 44.963201
## iter 50 value 27.600251
## iter 60 value 25.290700
## iter 70 value 21.493621
## iter 80 value 21.444556
## iter 90 value 21.444014
## final value 21.444012
## converged
## # weights: 247
## initial value 370.238660
## iter 10 value 62.186622
## iter 20 value 29.899986
## iter 30 value 21.399408
## iter 40 value 19.422549
## iter 50 value 17.939168
## iter 60 value 15.887343
## iter 70 value 14.034825
## iter 80 value 13.020524
## iter 90 value 12.428596
## iter 100 value 12.305585
## final value 12.305585
## stopped after 100 iterations
## # weights: 411
## initial value 366.834292
## iter 10 value 36.692684
## iter 20 value 18.481860
## iter 30 value 12.762517
## iter 40 value 11.980784
## iter 50 value 10.544337
## iter 60 value 10.219762
## iter 70 value 9.887662
## iter 80 value 9.855872
## iter 90 value 9.854914
## final value 9.854908
## converged
## # weights: 83
## initial value 320.843027
## iter 10 value 61.752303
## iter 20 value 51.177507
## iter 30 value 42.996378
## iter 40 value 42.590018
## iter 50 value 39.535972
## iter 60 value 39.532047
## iter 70 value 36.358202
## iter 80 value 36.351067
## iter 90 value 36.341433
## iter 100 value 33.030336
## final value 33.030336
## stopped after 100 iterations
## # weights: 247
## initial value 332.658071
## iter 10 value 45.061867
## iter 20 value 30.592706
## iter 30 value 24.292679
## iter 40 value 22.603874
## iter 50 value 17.550445
## iter 60 value 16.303410
## iter 70 value 16.251562
## iter 80 value 15.532258
## iter 90 value 15.277362
## iter 100 value 15.195612
## final value 15.195612
## stopped after 100 iterations
## # weights: 411
## initial value 337.430632
## iter 10 value 26.479043
## iter 20 value 19.485630
## iter 30 value 13.285569
## iter 40 value 8.647547
## iter 50 value 6.114861
## iter 60 value 5.768355
## iter 70 value 5.401886
## iter 80 value 5.390490
## iter 90 value 4.923136
## iter 100 value 4.299011
## final value 4.299011
## stopped after 100 iterations
## # weights: 83
## initial value 289.617667
## iter 10 value 47.158954
## iter 20 value 33.294405
## iter 30 value 29.526587
## iter 40 value 29.518883
## iter 50 value 29.517363
## iter 60 value 25.851596
## iter 70 value 25.849137
## iter 80 value 25.848704
## iter 90 value 25.848616
## iter 100 value 25.848480
## final value 25.848480
## stopped after 100 iterations
## # weights: 247
## initial value 315.908486
## iter 10 value 35.879313
## iter 20 value 25.360795
## iter 30 value 21.617254
## iter 40 value 20.441144
## iter 50 value 20.400365
## iter 60 value 18.869459
## iter 70 value 18.109986
## iter 80 value 17.487945
## iter 90 value 17.410234
## iter 100 value 15.677707
## final value 15.677707
## stopped after 100 iterations
## # weights: 411
## initial value 405.971636
## iter 10 value 33.589273
## iter 20 value 17.184932
## iter 30 value 7.680320
## iter 40 value 7.507279
## iter 50 value 7.496789
## iter 60 value 7.494760
## iter 70 value 6.629194
## iter 80 value 6.153796
## iter 90 value 4.815977
## iter 100 value 4.771484
## final value 4.771484
## stopped after 100 iterations
## # weights: 83
## initial value 380.174551
## iter 10 value 77.127696
## iter 20 value 37.400692
## iter 30 value 32.492526
## iter 40 value 30.577549
## iter 50 value 23.057277
## iter 60 value 22.466806
## iter 70 value 22.453109
## final value 22.452902
## converged
## # weights: 247
## initial value 431.310146
## iter 10 value 68.165421
## iter 20 value 40.578145
## iter 30 value 27.327389
## iter 40 value 20.378152
## iter 50 value 13.623423
## iter 60 value 12.383518
## iter 70 value 12.208401
## iter 80 value 12.157093
## iter 90 value 12.152873
## iter 100 value 12.152542
## final value 12.152542
## stopped after 100 iterations
## # weights: 411
## initial value 401.218439
## iter 10 value 52.937074
## iter 20 value 31.105349
## iter 30 value 16.667632
## iter 40 value 11.399958
## iter 50 value 10.135009
## iter 60 value 10.020440
## iter 70 value 9.984186
## iter 80 value 9.978552
## iter 90 value 9.977362
## iter 100 value 9.976882
## final value 9.976882
## stopped after 100 iterations
## # weights: 83
## initial value 317.890696
## iter 10 value 94.045981
## iter 20 value 85.559470
## iter 30 value 82.801458
## iter 40 value 65.536534
## iter 50 value 60.026675
## iter 60 value 59.105970
## iter 70 value 51.213019
## iter 80 value 48.440112
## iter 90 value 45.608670
## iter 100 value 45.556877
## final value 45.556877
## stopped after 100 iterations
## # weights: 247
## initial value 438.130620
## iter 10 value 30.052670
## iter 20 value 15.946458
## iter 30 value 9.703903
## iter 40 value 4.664953
## iter 50 value 3.934314
## iter 60 value 3.679245
## iter 70 value 3.043652
## iter 80 value 3.010664
## iter 90 value 2.849563
## iter 100 value 2.844054
## final value 2.844054
## stopped after 100 iterations
## # weights: 411
## initial value 311.704954
## iter 10 value 24.936060
## iter 20 value 18.865109
## iter 30 value 15.232989
## iter 40 value 12.819378
## iter 50 value 11.601478
## iter 60 value 10.524982
## iter 70 value 10.502639
## iter 80 value 10.408246
## iter 90 value 10.394388
## iter 100 value 10.155029
## final value 10.155029
## stopped after 100 iterations
## # weights: 83
## initial value 419.979920
## iter 10 value 133.821113
## iter 20 value 96.552429
## iter 30 value 67.562525
## iter 40 value 41.438739
## iter 50 value 36.581890
## iter 60 value 27.287849
## iter 70 value 27.242921
## iter 80 value 23.049185
## iter 90 value 23.047989
## iter 100 value 23.047615
## final value 23.047615
## stopped after 100 iterations
## # weights: 247
## initial value 361.645456
## iter 10 value 39.759559
## iter 20 value 23.011713
## iter 30 value 20.490658
## iter 40 value 14.950513
## iter 50 value 13.661389
## iter 60 value 11.023554
## iter 70 value 10.546071
## iter 80 value 10.383355
## iter 90 value 9.285092
## iter 100 value 9.277702
## final value 9.277702
## stopped after 100 iterations
## # weights: 411
## initial value 339.782310
## iter 10 value 20.786801
## iter 20 value 9.646829
## iter 30 value 6.891383
## iter 40 value 4.804879
## iter 50 value 4.784001
## iter 60 value 4.780070
## iter 70 value 3.035654
## iter 80 value 2.871297
## iter 90 value 2.870948
## iter 100 value 2.870897
## final value 2.870897
## stopped after 100 iterations
## # weights: 83
## initial value 345.726126
## iter 10 value 105.762598
## iter 20 value 45.849455
## iter 30 value 36.332893
## iter 40 value 31.081389
## iter 50 value 24.273654
## iter 60 value 22.439107
## iter 70 value 21.980686
## iter 80 value 21.929911
## iter 90 value 21.927506
## final value 21.927477
## converged
## # weights: 247
## initial value 355.990955
## iter 10 value 89.762180
## iter 20 value 57.820168
## iter 30 value 40.116503
## iter 40 value 26.733242
## iter 50 value 17.967047
## iter 60 value 12.465223
## iter 70 value 11.272968
## iter 80 value 11.057942
## iter 90 value 10.879376
## iter 100 value 10.633464
## final value 10.633464
## stopped after 100 iterations
## # weights: 411
## initial value 495.278566
## iter 10 value 71.563946
## iter 20 value 28.112043
## iter 30 value 14.038774
## iter 40 value 10.130982
## iter 50 value 9.554676
## iter 60 value 9.486053
## iter 70 value 9.457476
## iter 80 value 9.420064
## iter 90 value 9.419817
## final value 9.419817
## converged
## # weights: 83
## initial value 342.487766
## iter 10 value 257.033401
## final value 256.758671
## converged
## # weights: 247
## initial value 492.098679
## iter 10 value 40.567340
## iter 20 value 30.530807
## iter 30 value 27.810847
## iter 40 value 27.762147
## iter 50 value 26.570223
## iter 60 value 26.453946
## iter 70 value 26.273669
## iter 80 value 24.439758
## iter 90 value 17.340606
## iter 100 value 13.975135
## final value 13.975135
## stopped after 100 iterations
## # weights: 411
## initial value 367.631331
## iter 10 value 25.657541
## iter 20 value 14.225380
## iter 30 value 10.225640
## iter 40 value 7.491425
## iter 50 value 4.830731
## iter 60 value 4.512983
## iter 70 value 4.145696
## iter 80 value 4.109880
## iter 90 value 4.064227
## iter 100 value 4.028939
## final value 4.028939
## stopped after 100 iterations
## # weights: 83
## initial value 354.419667
## iter 10 value 99.689731
## iter 20 value 98.378651
## final value 98.378414
## converged
## # weights: 247
## initial value 325.922554
## iter 10 value 51.473563
## iter 20 value 48.223332
## iter 30 value 42.504973
## iter 40 value 36.021872
## iter 50 value 35.978723
## iter 60 value 35.874860
## iter 70 value 35.189192
## iter 80 value 34.965761
## iter 90 value 34.457242
## iter 100 value 32.765603
## final value 32.765603
## stopped after 100 iterations
## # weights: 411
## initial value 414.781757
## iter 10 value 76.752961
## iter 20 value 21.828072
## iter 30 value 16.649623
## iter 40 value 13.610720
## iter 50 value 11.053644
## iter 60 value 10.884784
## iter 70 value 10.866620
## iter 80 value 10.865057
## iter 90 value 10.863168
## iter 100 value 10.862305
## final value 10.862305
## stopped after 100 iterations
## # weights: 83
## initial value 319.226075
## iter 10 value 238.866241
## iter 20 value 180.105906
## iter 30 value 119.341965
## iter 40 value 72.869757
## iter 50 value 61.422788
## iter 60 value 44.774322
## iter 70 value 35.371849
## iter 80 value 31.539109
## iter 90 value 25.265873
## iter 100 value 21.660320
## final value 21.660320
## stopped after 100 iterations
## # weights: 247
## initial value 513.625249
## iter 10 value 100.632572
## iter 20 value 55.916632
## iter 30 value 27.289044
## iter 40 value 19.706352
## iter 50 value 13.447147
## iter 60 value 12.344060
## iter 70 value 11.514256
## iter 80 value 11.154345
## iter 90 value 10.882443
## iter 100 value 10.558402
## final value 10.558402
## stopped after 100 iterations
## # weights: 411
## initial value 351.009442
## iter 10 value 47.911452
## iter 20 value 23.444193
## iter 30 value 14.685997
## iter 40 value 12.963928
## iter 50 value 11.724508
## iter 60 value 10.937526
## iter 70 value 10.577181
## iter 80 value 10.260274
## iter 90 value 10.179908
## iter 100 value 10.169759
## final value 10.169759
## stopped after 100 iterations
## # weights: 83
## initial value 421.364077
## iter 10 value 94.620012
## iter 20 value 54.857543
## iter 30 value 33.171342
## iter 40 value 33.118524
## iter 50 value 26.422998
## iter 60 value 26.398340
## iter 70 value 26.373722
## iter 80 value 26.321892
## iter 90 value 22.873428
## iter 100 value 22.867177
## final value 22.867177
## stopped after 100 iterations
## # weights: 247
## initial value 286.203235
## iter 10 value 26.882168
## iter 20 value 15.906937
## iter 30 value 15.272851
## iter 40 value 15.260041
## iter 50 value 15.252532
## iter 60 value 15.242600
## iter 70 value 15.079312
## iter 80 value 12.130218
## iter 90 value 6.062381
## iter 100 value 3.642788
## final value 3.642788
## stopped after 100 iterations
## # weights: 411
## initial value 311.773452
## iter 10 value 23.101437
## iter 20 value 6.975892
## iter 30 value 4.682807
## iter 40 value 4.191778
## iter 50 value 3.917257
## iter 60 value 3.524538
## iter 70 value 3.415017
## iter 80 value 3.332593
## iter 90 value 3.277220
## iter 100 value 3.269351
## final value 3.269351
## stopped after 100 iterations
## # weights: 83
## initial value 322.435701
## iter 10 value 26.729383
## iter 20 value 26.307331
## iter 30 value 26.285491
## iter 40 value 26.274633
## iter 50 value 26.273534
## iter 60 value 24.379900
## iter 70 value 22.802543
## iter 80 value 22.791105
## iter 90 value 19.117816
## iter 100 value 19.114551
## final value 19.114551
## stopped after 100 iterations
## # weights: 247
## initial value 455.309017
## iter 10 value 28.751759
## iter 20 value 21.876872
## iter 30 value 20.643284
## iter 40 value 19.872594
## iter 50 value 19.867353
## iter 60 value 15.154813
## iter 70 value 15.034174
## iter 80 value 15.023199
## iter 90 value 15.014765
## iter 100 value 15.009063
## final value 15.009063
## stopped after 100 iterations
## # weights: 411
## initial value 331.969586
## iter 10 value 38.836084
## iter 20 value 20.650971
## iter 30 value 18.913823
## iter 40 value 18.287221
## iter 50 value 9.880159
## iter 60 value 9.001008
## iter 70 value 8.997562
## iter 80 value 8.382098
## iter 90 value 8.378632
## iter 100 value 8.053435
## final value 8.053435
## stopped after 100 iterations
## # weights: 83
## initial value 388.344855
## iter 10 value 113.740894
## iter 20 value 61.705616
## iter 30 value 45.449084
## iter 40 value 33.692741
## iter 50 value 25.018646
## iter 60 value 24.423798
## iter 70 value 20.978016
## iter 80 value 20.878420
## iter 90 value 20.876579
## final value 20.876571
## converged
## # weights: 247
## initial value 394.091643
## iter 10 value 80.590034
## iter 20 value 48.460155
## iter 30 value 27.518941
## iter 40 value 16.462677
## iter 50 value 11.273450
## iter 60 value 10.400799
## iter 70 value 10.305115
## iter 80 value 10.303060
## final value 10.303039
## converged
## # weights: 411
## initial value 351.749855
## iter 10 value 55.697025
## iter 20 value 22.350030
## iter 30 value 12.896713
## iter 40 value 10.176410
## iter 50 value 9.126635
## iter 60 value 8.718208
## iter 70 value 8.545333
## iter 80 value 8.502993
## iter 90 value 8.502663
## final value 8.502662
## converged
## # weights: 83
## initial value 336.414617
## iter 10 value 33.263736
## iter 20 value 22.848567
## iter 30 value 22.839049
## iter 40 value 22.838354
## iter 50 value 22.837767
## iter 60 value 22.837027
## iter 70 value 22.836404
## iter 80 value 22.835758
## iter 90 value 22.835447
## iter 100 value 22.835019
## final value 22.835019
## stopped after 100 iterations
## # weights: 247
## initial value 377.485777
## iter 10 value 34.310207
## iter 20 value 30.598283
## iter 30 value 30.545189
## iter 40 value 29.146090
## iter 50 value 29.123387
## iter 60 value 29.044292
## iter 70 value 29.016539
## iter 80 value 28.868729
## iter 90 value 28.666237
## iter 100 value 28.221326
## final value 28.221326
## stopped after 100 iterations
## # weights: 411
## initial value 411.709452
## iter 10 value 26.045387
## iter 20 value 14.185456
## iter 30 value 12.073520
## iter 40 value 8.015332
## iter 50 value 7.493422
## iter 60 value 7.160836
## iter 70 value 6.960507
## iter 80 value 6.746456
## iter 90 value 6.711179
## iter 100 value 6.375989
## final value 6.375989
## stopped after 100 iterations
## # weights: 83
## initial value 326.762731
## iter 10 value 52.822433
## iter 20 value 44.532592
## iter 30 value 36.432830
## iter 40 value 29.650489
## iter 50 value 29.591888
## iter 60 value 29.591510
## final value 29.591457
## converged
## # weights: 247
## initial value 305.385896
## iter 10 value 32.491765
## iter 20 value 28.687909
## iter 30 value 25.123021
## iter 40 value 21.582234
## iter 50 value 21.176793
## iter 60 value 21.169624
## iter 70 value 21.161155
## iter 80 value 20.452602
## iter 90 value 20.193150
## iter 100 value 19.709992
## final value 19.709992
## stopped after 100 iterations
## # weights: 411
## initial value 314.904128
## iter 10 value 11.495235
## iter 20 value 0.165978
## iter 30 value 0.010403
## iter 40 value 0.001818
## iter 50 value 0.000502
## iter 60 value 0.000159
## final value 0.000094
## converged
## # weights: 83
## initial value 321.992454
## iter 10 value 47.875165
## iter 20 value 39.178441
## iter 30 value 33.470784
## iter 40 value 26.510312
## iter 50 value 22.283765
## iter 60 value 22.153742
## iter 70 value 22.151906
## final value 22.151901
## converged
## # weights: 247
## initial value 403.045283
## iter 10 value 88.647068
## iter 20 value 43.340460
## iter 30 value 15.546890
## iter 40 value 11.606355
## iter 50 value 10.847702
## iter 60 value 10.655124
## iter 70 value 10.543753
## iter 80 value 10.452011
## iter 90 value 10.443473
## iter 100 value 10.443054
## final value 10.443054
## stopped after 100 iterations
## # weights: 411
## initial value 357.724047
## iter 10 value 78.113176
## iter 20 value 34.107580
## iter 30 value 15.284665
## iter 40 value 10.892757
## iter 50 value 9.772908
## iter 60 value 9.414569
## iter 70 value 9.262196
## iter 80 value 9.155156
## iter 90 value 9.143163
## iter 100 value 9.123238
## final value 9.123238
## stopped after 100 iterations
## # weights: 83
## initial value 401.208768
## iter 10 value 87.761132
## iter 20 value 64.594346
## iter 30 value 43.382116
## iter 40 value 37.689391
## iter 50 value 36.709039
## iter 60 value 36.690950
## iter 70 value 36.682771
## iter 80 value 32.761913
## iter 90 value 23.125869
## iter 100 value 23.092818
## final value 23.092818
## stopped after 100 iterations
## # weights: 247
## initial value 324.932125
## iter 10 value 44.817970
## iter 20 value 39.182862
## iter 30 value 37.213364
## iter 40 value 33.123889
## iter 50 value 31.631270
## iter 60 value 30.947054
## iter 70 value 27.891585
## iter 80 value 25.927672
## iter 90 value 25.559574
## iter 100 value 25.501290
## final value 25.501290
## stopped after 100 iterations
## # weights: 411
## initial value 324.920496
## iter 10 value 13.573040
## iter 20 value 9.420639
## iter 30 value 7.798172
## iter 40 value 4.015519
## iter 50 value 3.974850
## iter 60 value 3.960192
## iter 70 value 3.950770
## iter 80 value 3.930834
## iter 90 value 2.071596
## iter 100 value 2.048056
## final value 2.048056
## stopped after 100 iterations
## # weights: 83
## initial value 383.945027
## iter 10 value 61.262747
## iter 20 value 43.405468
## iter 30 value 36.312286
## iter 40 value 36.302712
## final value 36.302676
## converged
## # weights: 247
## initial value 344.609826
## iter 10 value 34.818943
## iter 20 value 10.884746
## iter 30 value 10.073751
## iter 40 value 10.005972
## iter 50 value 9.993394
## iter 60 value 9.987045
## iter 70 value 9.985207
## iter 80 value 9.980489
## iter 90 value 9.975949
## iter 100 value 9.971015
## final value 9.971015
## stopped after 100 iterations
## # weights: 411
## initial value 345.481847
## iter 10 value 40.339016
## iter 20 value 16.790916
## iter 30 value 16.048132
## iter 40 value 13.756416
## iter 50 value 13.722467
## iter 60 value 11.382532
## iter 70 value 11.284508
## iter 80 value 9.470098
## iter 90 value 7.339549
## iter 100 value 5.219080
## final value 5.219080
## stopped after 100 iterations
## # weights: 83
## initial value 350.487178
## iter 10 value 203.529124
## iter 20 value 123.523195
## iter 30 value 91.685748
## iter 40 value 71.864100
## iter 50 value 46.004966
## iter 60 value 34.712488
## iter 70 value 28.197549
## iter 80 value 25.209384
## iter 90 value 21.099692
## iter 100 value 21.066870
## final value 21.066870
## stopped after 100 iterations
## # weights: 247
## initial value 351.445527
## iter 10 value 41.584238
## iter 20 value 23.275974
## iter 30 value 16.972688
## iter 40 value 13.692540
## iter 50 value 11.761755
## iter 60 value 11.707057
## iter 70 value 11.705014
## iter 80 value 11.704961
## iter 80 value 11.704961
## iter 80 value 11.704961
## final value 11.704961
## converged
## # weights: 411
## initial value 272.614067
## iter 10 value 35.432430
## iter 20 value 14.561876
## iter 30 value 10.338165
## iter 40 value 9.311010
## iter 50 value 9.086595
## iter 60 value 9.052270
## iter 70 value 8.965391
## iter 80 value 8.886916
## iter 90 value 8.885054
## final value 8.885048
## converged
## # weights: 83
## initial value 335.319859
## iter 10 value 61.538804
## iter 20 value 36.382296
## iter 30 value 33.067050
## iter 40 value 33.060541
## iter 50 value 33.044612
## iter 60 value 33.035694
## iter 70 value 33.022424
## iter 80 value 26.683444
## iter 90 value 25.882411
## iter 100 value 25.879950
## final value 25.879950
## stopped after 100 iterations
## # weights: 247
## initial value 370.920549
## iter 10 value 26.062046
## iter 20 value 12.660154
## iter 30 value 8.415600
## iter 40 value 3.598679
## iter 50 value 1.666157
## iter 60 value 0.323155
## iter 70 value 0.229700
## iter 80 value 0.202659
## iter 90 value 0.190304
## iter 100 value 0.160576
## final value 0.160576
## stopped after 100 iterations
## # weights: 411
## initial value 390.652397
## iter 10 value 32.659016
## iter 20 value 19.924161
## iter 30 value 17.093988
## iter 40 value 16.078454
## iter 50 value 15.924982
## iter 60 value 13.994614
## iter 70 value 11.688761
## iter 80 value 9.537666
## iter 90 value 9.083537
## iter 100 value 7.959843
## final value 7.959843
## stopped after 100 iterations
## # weights: 83
## initial value 323.866630
## iter 10 value 242.796418
## iter 20 value 124.386941
## iter 30 value 91.545761
## iter 40 value 88.983323
## iter 50 value 88.836653
## iter 60 value 86.159529
## iter 70 value 86.070769
## iter 80 value 82.734915
## iter 90 value 61.381755
## iter 100 value 56.405163
## final value 56.405163
## stopped after 100 iterations
## # weights: 247
## initial value 418.060266
## iter 10 value 74.585597
## iter 20 value 24.498702
## iter 30 value 13.751412
## iter 40 value 3.789562
## iter 50 value 3.295338
## iter 60 value 3.157796
## iter 70 value 3.031473
## iter 80 value 2.888480
## iter 90 value 2.879123
## iter 100 value 2.876041
## final value 2.876041
## stopped after 100 iterations
## # weights: 411
## initial value 359.407168
## iter 10 value 28.817143
## iter 20 value 8.530030
## iter 30 value 6.358955
## iter 40 value 6.224511
## iter 50 value 6.204338
## iter 60 value 5.364447
## iter 70 value 4.785918
## iter 80 value 4.784190
## iter 90 value 4.782462
## iter 100 value 4.780901
## final value 4.780901
## stopped after 100 iterations
## # weights: 83
## initial value 361.801130
## iter 10 value 100.846163
## iter 20 value 68.653934
## iter 30 value 61.108285
## iter 40 value 54.144290
## iter 50 value 41.111132
## iter 60 value 36.646240
## iter 70 value 28.861451
## iter 80 value 21.956283
## iter 90 value 21.630148
## iter 100 value 21.606212
## final value 21.606212
## stopped after 100 iterations
## # weights: 247
## initial value 337.774398
## iter 10 value 89.614733
## iter 20 value 38.129368
## iter 30 value 20.926578
## iter 40 value 12.289976
## iter 50 value 11.397213
## iter 60 value 11.312683
## iter 70 value 11.307332
## iter 80 value 11.307242
## final value 11.307241
## converged
## # weights: 411
## initial value 377.705633
## iter 10 value 48.045188
## iter 20 value 26.397242
## iter 30 value 17.421726
## iter 40 value 12.201767
## iter 50 value 10.836741
## iter 60 value 10.200624
## iter 70 value 9.976119
## iter 80 value 9.825590
## iter 90 value 9.770975
## iter 100 value 9.762707
## final value 9.762707
## stopped after 100 iterations
## # weights: 83
## initial value 342.991901
## iter 10 value 75.526534
## iter 20 value 50.987317
## iter 30 value 46.474219
## iter 40 value 41.670683
## iter 50 value 40.047012
## iter 60 value 38.377166
## iter 70 value 38.365068
## iter 80 value 38.358317
## iter 90 value 38.353493
## iter 100 value 38.349032
## final value 38.349032
## stopped after 100 iterations
## # weights: 247
## initial value 327.856380
## iter 10 value 30.367253
## iter 20 value 25.592918
## iter 30 value 21.097637
## iter 40 value 20.046114
## iter 50 value 19.816784
## iter 60 value 15.068676
## iter 70 value 9.665345
## iter 80 value 9.183487
## iter 90 value 9.128019
## iter 100 value 9.000090
## final value 9.000090
## stopped after 100 iterations
## # weights: 411
## initial value 351.123164
## iter 10 value 25.977736
## iter 20 value 5.907212
## iter 30 value 2.630313
## iter 40 value 1.706658
## iter 50 value 0.394842
## iter 60 value 0.170293
## iter 70 value 0.141449
## iter 80 value 0.138763
## iter 90 value 0.132543
## iter 100 value 0.125035
## final value 0.125035
## stopped after 100 iterations
## # weights: 83
## initial value 318.880157
## iter 10 value 58.563511
## iter 20 value 47.196230
## iter 30 value 36.358177
## iter 40 value 36.306457
## iter 50 value 36.300612
## iter 60 value 33.056971
## iter 70 value 29.522075
## iter 80 value 29.517119
## iter 90 value 29.516721
## iter 100 value 29.516499
## final value 29.516499
## stopped after 100 iterations
## # weights: 247
## initial value 357.483818
## iter 10 value 89.915099
## iter 20 value 85.061469
## final value 85.061422
## converged
## # weights: 411
## initial value 333.629296
## iter 10 value 19.025901
## iter 20 value 12.964212
## iter 30 value 11.297203
## iter 40 value 9.952380
## iter 50 value 9.037550
## iter 60 value 8.973976
## iter 70 value 8.972727
## iter 80 value 8.324089
## iter 90 value 8.319162
## iter 100 value 8.318304
## final value 8.318304
## stopped after 100 iterations
## # weights: 83
## initial value 392.915483
## iter 10 value 89.701773
## iter 20 value 68.413422
## iter 30 value 42.369925
## iter 40 value 32.537764
## iter 50 value 31.849482
## iter 60 value 23.438734
## iter 70 value 21.830723
## iter 80 value 21.595248
## iter 90 value 21.580739
## final value 21.580674
## converged
## # weights: 247
## initial value 325.335884
## iter 10 value 69.473127
## iter 20 value 33.660683
## iter 30 value 21.240533
## iter 40 value 14.872921
## iter 50 value 13.797027
## iter 60 value 13.160044
## iter 70 value 12.527965
## iter 80 value 12.426680
## iter 90 value 12.392143
## iter 100 value 12.391474
## final value 12.391474
## stopped after 100 iterations
## # weights: 411
## initial value 353.835320
## iter 10 value 122.696207
## iter 20 value 89.558816
## iter 30 value 55.887725
## iter 40 value 28.341628
## iter 50 value 15.308624
## iter 60 value 12.562633
## iter 70 value 11.790994
## iter 80 value 11.512518
## iter 90 value 11.374769
## iter 100 value 11.180318
## final value 11.180318
## stopped after 100 iterations
## # weights: 83
## initial value 328.453160
## iter 10 value 74.848758
## iter 20 value 43.862495
## iter 30 value 33.090584
## iter 40 value 32.846210
## iter 50 value 32.842232
## iter 60 value 32.834977
## iter 70 value 32.825927
## iter 80 value 29.646590
## iter 90 value 26.325857
## iter 100 value 26.322869
## final value 26.322869
## stopped after 100 iterations
## # weights: 247
## initial value 483.674462
## iter 10 value 33.793108
## iter 20 value 19.208429
## iter 30 value 11.854451
## iter 40 value 9.713500
## iter 50 value 7.784952
## iter 60 value 7.076864
## iter 70 value 7.039870
## iter 80 value 7.030934
## iter 90 value 7.023046
## iter 100 value 5.411523
## final value 5.411523
## stopped after 100 iterations
## # weights: 411
## initial value 337.598349
## iter 10 value 47.603911
## iter 20 value 23.924252
## iter 30 value 19.537630
## iter 40 value 17.288060
## iter 50 value 13.543805
## iter 60 value 7.200517
## iter 70 value 4.659781
## iter 80 value 3.021394
## iter 90 value 2.818706
## iter 100 value 2.535290
## final value 2.535290
## stopped after 100 iterations
## # weights: 247
## initial value 390.330792
## iter 10 value 27.006608
## iter 20 value 12.447946
## iter 30 value 9.446120
## iter 40 value 4.313604
## iter 50 value 3.501630
## iter 60 value 3.475811
## iter 70 value 3.469501
## iter 80 value 3.463040
## iter 90 value 2.879942
## iter 100 value 2.866383
## final value 2.866383
## stopped after 100 iterations
resultados_train_rn = predict(modelo_rn, train_set)
resultados_test_rn = predict(modelo_rn, test_set)
##### ENTRENAMIENTO ######
MCRE_rn = confusionMatrix(resultados_train_rn, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_rn
##### PRUEBA #####
MCRP_rn = confusionMatrix(resultados_test_rn, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_rn
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 86 3
## malignant 2 44
##
## Accuracy : 0.963
## 95% CI : (0.9157, 0.9879)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.918
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9773
## Specificity : 0.9362
## Pos Pred Value : 0.9663
## Neg Pred Value : 0.9565
## Prevalence : 0.6519
## Detection Rate : 0.6370
## Detection Prevalence : 0.6593
## Balanced Accuracy : 0.9567
##
## 'Positive' Class : benign
##
modelo_rf = train(Tipo ~., data = train_set,
method = "rf",
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv", number =10),
tuneGrid = expand.grid(mtry =c(2,4,6))
)
resultados_train_rf = predict(modelo_rf, train_set)
resultados_test_rf = predict(modelo_rf, test_set)
##### ENTRENAMIENTO ######
MCRE_rf = confusionMatrix(resultados_train_rf, train_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Entrenamiento.
#MCRE_rf
##### PRUEBA #####
MCRP_rf = confusionMatrix(resultados_test_rf, test_set$Tipo) # MCRE - Matriz de Confusión de Resultados de Prueba.
MCRP_rf
## Confusion Matrix and Statistics
##
## Reference
## Prediction benign malignant
## benign 85 3
## malignant 3 44
##
## Accuracy : 0.9556
## 95% CI : (0.9058, 0.9835)
## No Information Rate : 0.6519
## P-Value [Acc > NIR] : <2e-16
##
## Kappa : 0.9021
##
## Mcnemar's Test P-Value : 1
##
## Sensitivity : 0.9659
## Specificity : 0.9362
## Pos Pred Value : 0.9659
## Neg Pred Value : 0.9362
## Prevalence : 0.6519
## Detection Rate : 0.6296
## Detection Prevalence : 0.6519
## Balanced Accuracy : 0.9510
##
## 'Positive' Class : benign
##
## Creación de tabla comparativa
# MODELOS
Metodo<-c('SVM Linear','SVM Radial', 'SVM Poly', 'Árboles de decisión', 'Redes Neuronales', 'Random Forest')
#ACC TRAIN
ACC_Train<-c(MCRE_svml$overall["Accuracy"], MCRE_svmr$overall["Accuracy"], MCRE_svmp$overall["Accuracy"], MCRE_ad$overall["Accuracy"],MCRE_rn$overall["Accuracy"],MCRE_rf$overall["Accuracy"])
#ACC TEST
ACC_Test<-c(MCRP_svml$overall["Accuracy"], MCRP_svmr$overall["Accuracy"], MCRP_svmp$overall["Accuracy"], MCRP_ad$overall["Accuracy"],MCRP_rn$overall["Accuracy"],MCRP_rf$overall["Accuracy"])
#SENS
Sensitivity<-c(MCRP_svml$byClass["Sensitivity"], MCRP_svmr$byClass["Sensitivity"], MCRP_svmp$byClass["Sensitivity"], MCRP_ad$byClass["Sensitivity"], MCRP_rn$byClass["Sensitivity"], MCRP_rf$byClass["Sensitivity"])
#SPEC
Specificity<-c(MCRP_svml$byClass["Specificity"], MCRP_svmr$byClass["Specificity"], MCRP_svmp$byClass["Specificity"], MCRP_ad$byClass["Specificity"], MCRP_rn$byClass["Specificity"], MCRP_rf$byClass["Specificity"])
# Creación del dataframe
RMSE_df<-data.frame(Metodo,ACC_Train, ACC_Test,Sensitivity, Specificity)
# Ordenar el dataframe
RMSE_df<-RMSE_df[order(-ACC_Test),]
# Imprimir el dataframe
RMSE_df %>%
kbl() %>%
kable_styling()
| Metodo | ACC_Train | ACC_Test | Sensitivity | Specificity | |
|---|---|---|---|---|---|
| 4 | Árboles de decisión | 0.9616788 | 0.9703704 | 0.9886364 | 0.9361702 |
| 5 | Redes Neuronales | 0.9963504 | 0.9629630 | 0.9772727 | 0.9361702 |
| 6 | Random Forest | 0.9963504 | 0.9555556 | 0.9659091 | 0.9361702 |
| 1 | SVM Linear | 1.0000000 | 0.9111111 | 0.9431818 | 0.8510638 |
| 3 | SVM Poly | 1.0000000 | 0.9111111 | 0.9431818 | 0.8510638 |
| 2 | SVM Radial | 1.0000000 | 0.6962963 | 0.5340909 | 1.0000000 |