El paquete caret (Clasifiaction And Regression Training) es un paquete integral con una amplia variedad de algoritmos para el aprendizaje automático.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
library(lattice)
library(caret)
library(datasets)
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.3.3
library(kernlab)
## Warning: package 'kernlab' was built under R version 4.3.3
##
## Attaching package: 'kernlab'
## The following object is masked from 'package:ggplot2':
##
## alpha
library(randomForest)
## Warning: package 'randomForest' was built under R version 4.3.3
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'randomForest'
## The following object is masked from 'package:ggplot2':
##
## margin
#file.choose()
df <- read.csv("C:\\Users\\HP\\OneDrive - FEMSA Comercio\\Escritorio\\Inteligencia de Negocios\\7mo Semestre\\M2\\BDD\\heart.csv")
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)
## 'data.frame': 1025 obs. of 14 variables:
## $ age : int 52 53 70 61 62 58 58 55 46 54 ...
## $ sex : int 1 1 1 1 0 0 1 1 1 1 ...
## $ cp : int 0 0 0 0 0 0 0 0 0 0 ...
## $ trestbps: int 125 140 145 148 138 100 114 160 120 122 ...
## $ chol : int 212 203 174 203 294 248 318 289 249 286 ...
## $ fbs : int 0 1 0 0 1 0 0 0 0 0 ...
## $ restecg : int 1 0 1 1 1 0 2 0 0 0 ...
## $ thalach : int 168 155 125 161 106 122 140 145 144 116 ...
## $ exang : int 0 1 1 0 0 0 0 1 0 1 ...
## $ oldpeak : num 1 3.1 2.6 0 1.9 1 4.4 0.8 0.8 3.2 ...
## $ slope : int 2 0 0 2 1 1 0 1 2 1 ...
## $ ca : int 2 0 0 1 3 0 3 1 0 2 ...
## $ thal : int 3 3 3 3 2 2 1 3 3 2 ...
## $ target : int 0 0 0 0 0 1 0 0 0 0 ...
df$target <- as.factor(df$target)
df$sex <- as.factor(df$sex)
df$cp <- as.factor(df$cp)
df$fbs <- as.factor(df$fbs)
df$restecg <- as.factor(df$restecg)
df$exang <- as.factor(df$exang)
df$slope <- as.factor(df$slope)
df$thal <- as.factor(df$thal)
plot_missing(df)
*** NOTA: La variable que queremos predecir debe tener formato de FACTOR. **
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 utilizados para modelar aprendizaje automático son:
modelo1 <- train(target ~ ., data = entrenamiento,
method = "svmLinear",
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10), #cv = cross validation // se parte en 10
tuneGrid =data.frame(C=1)
)
resultado_entrenamiento1 <- predict(modelo1, entrenamiento)
resultado_prueba1 <- predict(modelo1, prueba)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp1 <- confusionMatrix(resultado_prueba1, prueba$target)
modelo2 <- train(target ~ ., data = entrenamiento,
method = "svmRadial", #Cambiar
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)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp2 <- confusionMatrix(resultado_prueba2, prueba$target)
modelo3 <- train(target ~ ., data = entrenamiento,
method = "svmPoly", #Cambiar
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)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp3 <- confusionMatrix(resultado_prueba3, prueba$target)
modelo4 <- train(target ~ ., data = entrenamiento,
method = "rpart", #Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneLength =10
)
resultado_entrenamiento4 <- predict(modelo4, entrenamiento)
resultado_prueba4 <- predict(modelo4, prueba)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp4 <- confusionMatrix(resultado_prueba4, prueba$target)
modelo5 <- train(target ~ ., data = entrenamiento,
method = "nnet", #Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10)
)
## # weights: 22
## initial value 515.844459
## iter 10 value 302.111169
## iter 20 value 265.116114
## iter 30 value 253.479607
## iter 40 value 233.145073
## iter 50 value 231.406597
## iter 60 value 231.398782
## iter 70 value 231.392673
## iter 80 value 231.391488
## iter 90 value 231.390955
## iter 100 value 231.390368
## final value 231.390368
## stopped after 100 iterations
## # weights: 64
## initial value 529.196518
## iter 10 value 224.297574
## iter 20 value 172.302506
## iter 30 value 154.719275
## iter 40 value 146.113587
## iter 50 value 133.465307
## iter 60 value 130.585239
## iter 70 value 130.575864
## final value 130.575794
## converged
## # weights: 106
## initial value 601.077368
## iter 10 value 191.721112
## iter 20 value 120.776004
## iter 30 value 75.738423
## iter 40 value 63.909429
## iter 50 value 59.073515
## iter 60 value 57.314828
## iter 70 value 56.047884
## iter 80 value 52.716930
## iter 90 value 51.405029
## iter 100 value 44.403708
## final value 44.403708
## stopped after 100 iterations
## # weights: 22
## initial value 528.923690
## iter 10 value 259.251699
## iter 20 value 244.376107
## iter 30 value 242.547420
## final value 242.543374
## converged
## # weights: 64
## initial value 653.164510
## iter 10 value 274.988736
## iter 20 value 226.662429
## iter 30 value 201.183194
## iter 40 value 190.931456
## iter 50 value 182.217745
## iter 60 value 175.863945
## iter 70 value 173.532315
## iter 80 value 173.156400
## iter 90 value 173.042861
## iter 100 value 173.027061
## final value 173.027061
## stopped after 100 iterations
## # weights: 106
## initial value 579.672941
## iter 10 value 231.077398
## iter 20 value 176.215977
## iter 30 value 156.470953
## iter 40 value 146.283538
## iter 50 value 133.922380
## iter 60 value 126.964332
## iter 70 value 120.125050
## iter 80 value 113.809189
## iter 90 value 108.052228
## iter 100 value 103.928783
## final value 103.928783
## stopped after 100 iterations
## # weights: 22
## initial value 501.677395
## iter 10 value 268.514253
## iter 20 value 246.456541
## iter 30 value 233.724420
## iter 40 value 219.759592
## iter 50 value 219.189103
## iter 60 value 218.910644
## iter 70 value 218.806281
## iter 80 value 218.796550
## iter 90 value 218.786081
## iter 100 value 218.772413
## final value 218.772413
## stopped after 100 iterations
## # weights: 64
## initial value 507.249900
## iter 10 value 258.572167
## iter 20 value 219.237535
## iter 30 value 188.384635
## iter 40 value 168.336339
## iter 50 value 155.031400
## iter 60 value 143.520568
## iter 70 value 143.036963
## iter 80 value 142.888637
## iter 90 value 142.654196
## iter 100 value 142.554157
## final value 142.554157
## stopped after 100 iterations
## # weights: 106
## initial value 639.019734
## iter 10 value 220.903561
## iter 20 value 148.693936
## iter 30 value 101.654917
## iter 40 value 84.770536
## iter 50 value 75.788420
## iter 60 value 71.642363
## iter 70 value 70.181876
## iter 80 value 69.688690
## iter 90 value 69.454109
## iter 100 value 69.240985
## final value 69.240985
## stopped after 100 iterations
## # weights: 22
## initial value 539.324029
## iter 10 value 319.062443
## iter 20 value 274.242598
## iter 30 value 247.470342
## iter 40 value 230.874355
## iter 50 value 213.348890
## iter 60 value 193.578322
## iter 70 value 193.217466
## final value 193.216993
## converged
## # weights: 64
## initial value 519.552121
## iter 10 value 245.196694
## iter 20 value 199.705560
## iter 30 value 155.659011
## iter 40 value 139.593293
## iter 50 value 128.200327
## iter 60 value 117.564063
## iter 70 value 116.748782
## iter 80 value 116.650205
## final value 116.649951
## converged
## # weights: 106
## initial value 557.081785
## iter 10 value 214.305017
## iter 20 value 145.698433
## iter 30 value 94.828559
## iter 40 value 72.813570
## iter 50 value 67.354576
## iter 60 value 65.448760
## iter 70 value 62.323690
## iter 80 value 61.012695
## iter 90 value 60.443020
## iter 100 value 60.263069
## final value 60.263069
## stopped after 100 iterations
## # weights: 22
## initial value 511.176143
## iter 10 value 265.406934
## iter 20 value 255.495734
## iter 30 value 245.777482
## iter 40 value 245.473683
## iter 50 value 245.472608
## iter 60 value 245.472404
## final value 245.472357
## converged
## # weights: 64
## initial value 555.252848
## iter 10 value 241.333013
## iter 20 value 213.146487
## iter 30 value 190.739884
## iter 40 value 177.609870
## iter 50 value 170.738716
## iter 60 value 168.562400
## iter 70 value 167.581935
## iter 80 value 167.217255
## iter 90 value 167.204760
## final value 167.204499
## converged
## # weights: 106
## initial value 575.536085
## iter 10 value 193.274131
## iter 20 value 151.490819
## iter 30 value 138.657885
## iter 40 value 121.462777
## iter 50 value 114.753483
## iter 60 value 112.994854
## iter 70 value 111.726461
## iter 80 value 109.630582
## iter 90 value 109.021674
## iter 100 value 108.955193
## final value 108.955193
## stopped after 100 iterations
## # weights: 22
## initial value 523.585280
## iter 10 value 314.357497
## iter 20 value 262.120478
## iter 30 value 234.243698
## iter 40 value 221.950420
## iter 50 value 221.838698
## iter 60 value 221.802853
## iter 70 value 221.793131
## iter 80 value 221.758652
## iter 90 value 221.745657
## iter 100 value 221.743484
## final value 221.743484
## stopped after 100 iterations
## # weights: 64
## initial value 530.765631
## iter 10 value 230.621308
## iter 20 value 189.223801
## iter 30 value 163.072408
## iter 40 value 151.866708
## iter 50 value 148.506827
## iter 60 value 146.847441
## iter 70 value 145.681378
## iter 80 value 145.243797
## iter 90 value 144.872467
## iter 100 value 144.242145
## final value 144.242145
## stopped after 100 iterations
## # weights: 106
## initial value 578.922242
## iter 10 value 178.117150
## iter 20 value 121.962110
## iter 30 value 92.141482
## iter 40 value 84.182181
## iter 50 value 81.702110
## iter 60 value 76.986193
## iter 70 value 76.047565
## iter 80 value 75.095629
## iter 90 value 74.313551
## iter 100 value 73.983829
## final value 73.983829
## stopped after 100 iterations
## # weights: 22
## initial value 534.620268
## iter 10 value 345.701389
## iter 20 value 269.877310
## iter 30 value 236.478229
## iter 40 value 224.230180
## iter 50 value 209.741005
## iter 60 value 206.986374
## iter 70 value 206.472052
## iter 80 value 206.222425
## iter 90 value 205.617008
## iter 100 value 205.392930
## final value 205.392930
## stopped after 100 iterations
## # weights: 64
## initial value 607.769165
## iter 10 value 282.541987
## iter 20 value 203.541908
## iter 30 value 164.929153
## iter 40 value 145.373884
## iter 50 value 131.389861
## iter 60 value 127.669600
## iter 70 value 127.478081
## iter 80 value 127.468831
## iter 90 value 127.467960
## final value 127.467672
## converged
## # weights: 106
## initial value 513.178582
## iter 10 value 200.680421
## iter 20 value 134.208778
## iter 30 value 97.549885
## iter 40 value 84.075904
## iter 50 value 80.040986
## iter 60 value 79.377507
## iter 70 value 76.033610
## iter 80 value 75.792196
## iter 90 value 75.748028
## iter 100 value 75.708010
## final value 75.708010
## stopped after 100 iterations
## # weights: 22
## initial value 552.698848
## iter 10 value 301.645071
## iter 20 value 259.346467
## iter 30 value 256.127103
## iter 40 value 255.643227
## final value 255.641274
## converged
## # weights: 64
## initial value 578.929116
## iter 10 value 269.046296
## iter 20 value 215.452411
## iter 30 value 189.829242
## iter 40 value 175.089253
## iter 50 value 162.537764
## iter 60 value 157.495205
## iter 70 value 154.561113
## iter 80 value 152.872696
## iter 90 value 152.775284
## iter 100 value 152.739845
## final value 152.739845
## stopped after 100 iterations
## # weights: 106
## initial value 487.542866
## iter 10 value 231.341856
## iter 20 value 192.420177
## iter 30 value 161.417029
## iter 40 value 145.907999
## iter 50 value 132.984432
## iter 60 value 126.820918
## iter 70 value 125.231443
## iter 80 value 122.912281
## iter 90 value 110.945748
## iter 100 value 109.042925
## final value 109.042925
## stopped after 100 iterations
## # weights: 22
## initial value 518.217191
## iter 10 value 276.073700
## iter 20 value 236.331019
## iter 30 value 228.757411
## iter 40 value 208.565267
## iter 50 value 203.255702
## iter 60 value 202.938765
## iter 70 value 202.848876
## iter 80 value 202.721132
## iter 90 value 202.634214
## iter 100 value 202.609101
## final value 202.609101
## stopped after 100 iterations
## # weights: 64
## initial value 559.602470
## iter 10 value 231.942027
## iter 20 value 207.504949
## iter 30 value 196.161190
## iter 40 value 182.848239
## iter 50 value 179.159206
## iter 60 value 173.939536
## iter 70 value 165.977813
## iter 80 value 160.921094
## iter 90 value 154.395763
## iter 100 value 149.068321
## final value 149.068321
## stopped after 100 iterations
## # weights: 106
## initial value 526.492447
## iter 10 value 206.739791
## iter 20 value 143.758428
## iter 30 value 101.400591
## iter 40 value 81.901869
## iter 50 value 75.932326
## iter 60 value 73.200186
## iter 70 value 69.856742
## iter 80 value 67.338610
## iter 90 value 66.391598
## iter 100 value 65.741863
## final value 65.741863
## stopped after 100 iterations
## # weights: 22
## initial value 498.769043
## iter 10 value 255.203809
## iter 20 value 223.043771
## iter 30 value 199.267799
## iter 40 value 196.404990
## final value 196.400602
## converged
## # weights: 64
## initial value 553.935718
## iter 10 value 223.794130
## iter 20 value 190.388796
## iter 30 value 164.933894
## iter 40 value 148.420555
## iter 50 value 142.238265
## iter 60 value 132.111454
## iter 70 value 131.449014
## iter 80 value 131.422306
## iter 90 value 131.420232
## iter 90 value 131.420231
## iter 90 value 131.420231
## final value 131.420231
## converged
## # weights: 106
## initial value 611.682816
## iter 10 value 238.011413
## iter 20 value 186.284618
## iter 30 value 157.856760
## iter 40 value 147.693079
## iter 50 value 137.944414
## iter 60 value 126.797781
## iter 70 value 122.442239
## iter 80 value 120.694464
## iter 90 value 117.357110
## iter 100 value 114.413101
## final value 114.413101
## stopped after 100 iterations
## # weights: 22
## initial value 561.309141
## iter 10 value 271.287974
## iter 20 value 246.687083
## iter 30 value 240.375318
## iter 40 value 240.318905
## final value 240.318743
## converged
## # weights: 64
## initial value 517.556772
## iter 10 value 244.259707
## iter 20 value 199.488536
## iter 30 value 186.025355
## iter 40 value 179.796949
## iter 50 value 178.078117
## iter 60 value 177.849317
## iter 70 value 177.373285
## iter 80 value 177.313701
## final value 177.312270
## converged
## # weights: 106
## initial value 551.943597
## iter 10 value 209.275610
## iter 20 value 153.053696
## iter 30 value 135.924188
## iter 40 value 125.692597
## iter 50 value 115.342703
## iter 60 value 106.629368
## iter 70 value 103.380692
## iter 80 value 101.815311
## iter 90 value 100.332552
## iter 100 value 95.851519
## final value 95.851519
## stopped after 100 iterations
## # weights: 22
## initial value 516.337024
## iter 10 value 269.801250
## iter 20 value 248.260453
## iter 30 value 244.724666
## iter 40 value 226.618475
## iter 50 value 215.954386
## iter 60 value 214.226364
## iter 70 value 213.581278
## iter 80 value 213.576516
## iter 90 value 213.552323
## iter 100 value 213.548295
## final value 213.548295
## stopped after 100 iterations
## # weights: 64
## initial value 548.932805
## iter 10 value 212.333904
## iter 20 value 159.737670
## iter 30 value 129.856459
## iter 40 value 121.202342
## iter 50 value 119.086782
## iter 60 value 117.844694
## iter 70 value 117.132611
## iter 80 value 115.413060
## iter 90 value 114.664005
## iter 100 value 114.408706
## final value 114.408706
## stopped after 100 iterations
## # weights: 106
## initial value 554.432201
## iter 10 value 196.299091
## iter 20 value 128.448849
## iter 30 value 95.671931
## iter 40 value 83.462171
## iter 50 value 81.770973
## iter 60 value 80.607091
## iter 70 value 79.667056
## iter 80 value 79.471048
## iter 90 value 79.149020
## iter 100 value 78.897038
## final value 78.897038
## stopped after 100 iterations
## # weights: 22
## initial value 522.599021
## iter 10 value 259.339730
## iter 20 value 230.712613
## iter 30 value 215.485960
## iter 40 value 208.331692
## final value 208.309255
## converged
## # weights: 64
## initial value 570.487756
## iter 10 value 281.470059
## iter 20 value 203.955301
## iter 30 value 186.308846
## iter 40 value 176.846264
## iter 50 value 170.303956
## iter 60 value 168.781527
## iter 70 value 168.581810
## iter 80 value 168.532161
## iter 90 value 168.325491
## iter 100 value 168.193491
## final value 168.193491
## stopped after 100 iterations
## # weights: 106
## initial value 633.603198
## iter 10 value 218.078104
## iter 20 value 139.925373
## iter 30 value 102.283973
## iter 40 value 94.585450
## iter 50 value 87.969012
## iter 60 value 85.987034
## iter 70 value 85.493734
## iter 80 value 85.062934
## iter 90 value 84.770180
## iter 100 value 84.195521
## final value 84.195521
## stopped after 100 iterations
## # weights: 22
## initial value 518.844651
## iter 10 value 289.379644
## iter 20 value 257.778460
## iter 30 value 241.130476
## iter 40 value 236.262651
## iter 50 value 236.257108
## final value 236.257104
## converged
## # weights: 64
## initial value 497.318242
## iter 10 value 273.606828
## iter 20 value 228.997817
## iter 30 value 197.212965
## iter 40 value 189.620822
## iter 50 value 186.934727
## iter 60 value 185.952142
## iter 70 value 183.474669
## iter 80 value 182.692380
## iter 90 value 182.282452
## iter 100 value 182.132790
## final value 182.132790
## stopped after 100 iterations
## # weights: 106
## initial value 565.398483
## iter 10 value 221.747272
## iter 20 value 188.886163
## iter 30 value 169.378916
## iter 40 value 152.876844
## iter 50 value 129.924047
## iter 60 value 124.962127
## iter 70 value 123.210671
## iter 80 value 122.641303
## iter 90 value 122.211453
## iter 100 value 122.196861
## final value 122.196861
## stopped after 100 iterations
## # weights: 22
## initial value 542.105036
## iter 10 value 340.922354
## iter 20 value 243.826470
## iter 30 value 231.179209
## iter 40 value 209.294250
## iter 50 value 207.015824
## iter 60 value 203.635352
## iter 70 value 203.331204
## iter 80 value 201.727177
## iter 90 value 201.578394
## iter 100 value 201.577695
## final value 201.577695
## stopped after 100 iterations
## # weights: 64
## initial value 628.429186
## iter 10 value 231.359870
## iter 20 value 178.009446
## iter 30 value 164.538613
## iter 40 value 159.149637
## iter 50 value 157.909434
## iter 60 value 157.758540
## iter 70 value 157.677505
## iter 80 value 157.623344
## iter 90 value 157.168901
## iter 100 value 157.109221
## final value 157.109221
## stopped after 100 iterations
## # weights: 106
## initial value 554.921573
## iter 10 value 201.896554
## iter 20 value 116.995383
## iter 30 value 84.680934
## iter 40 value 55.815489
## iter 50 value 46.121752
## iter 60 value 44.155988
## iter 70 value 42.158258
## iter 80 value 41.277048
## iter 90 value 40.431458
## iter 100 value 39.570108
## final value 39.570108
## stopped after 100 iterations
## # weights: 22
## initial value 515.359308
## iter 10 value 295.818807
## iter 20 value 252.676948
## iter 30 value 246.616008
## iter 40 value 235.347853
## iter 50 value 231.464936
## iter 60 value 231.458618
## final value 231.458613
## converged
## # weights: 64
## initial value 522.527711
## iter 10 value 211.991127
## iter 20 value 150.334195
## iter 30 value 130.713155
## iter 40 value 118.796198
## iter 50 value 115.629333
## iter 60 value 115.160069
## iter 70 value 115.145414
## iter 80 value 115.144862
## final value 115.144849
## converged
## # weights: 106
## initial value 512.234348
## iter 10 value 192.112052
## iter 20 value 120.983576
## iter 30 value 90.181602
## iter 40 value 78.006613
## iter 50 value 67.060642
## iter 60 value 64.443052
## iter 70 value 58.113490
## iter 80 value 46.549384
## iter 90 value 43.066590
## iter 100 value 41.027478
## final value 41.027478
## stopped after 100 iterations
## # weights: 22
## initial value 530.110619
## iter 10 value 331.893043
## iter 20 value 290.981337
## iter 30 value 268.539442
## iter 40 value 255.562685
## iter 50 value 245.659894
## iter 60 value 235.648139
## iter 70 value 235.097279
## iter 80 value 235.096935
## final value 235.096887
## converged
## # weights: 64
## initial value 534.223220
## iter 10 value 237.058609
## iter 20 value 196.533532
## iter 30 value 177.193049
## iter 40 value 166.661278
## iter 50 value 163.071672
## iter 60 value 162.303618
## iter 70 value 162.146153
## iter 80 value 162.121744
## final value 162.121535
## converged
## # weights: 106
## initial value 492.208621
## iter 10 value 226.090156
## iter 20 value 179.252119
## iter 30 value 144.996021
## iter 40 value 125.071527
## iter 50 value 114.340099
## iter 60 value 108.456893
## iter 70 value 97.840372
## iter 80 value 92.381262
## iter 90 value 90.017520
## iter 100 value 88.844454
## final value 88.844454
## stopped after 100 iterations
## # weights: 22
## initial value 509.808691
## iter 10 value 265.360891
## iter 20 value 247.437260
## iter 30 value 229.763488
## iter 40 value 220.593583
## iter 50 value 220.348835
## iter 60 value 220.274710
## iter 70 value 220.235479
## iter 80 value 220.100398
## iter 90 value 220.043412
## iter 100 value 220.040011
## final value 220.040011
## stopped after 100 iterations
## # weights: 64
## initial value 504.969174
## iter 10 value 287.070043
## iter 20 value 202.601016
## iter 30 value 168.165025
## iter 40 value 148.765236
## iter 50 value 122.679147
## iter 60 value 120.352209
## iter 70 value 119.662439
## iter 80 value 119.432874
## iter 90 value 119.189981
## iter 100 value 118.631081
## final value 118.631081
## stopped after 100 iterations
## # weights: 106
## initial value 505.106880
## iter 10 value 213.045714
## iter 20 value 133.751288
## iter 30 value 94.782095
## iter 40 value 86.035193
## iter 50 value 82.745186
## iter 60 value 80.943559
## iter 70 value 80.286953
## iter 80 value 79.742497
## iter 90 value 79.654790
## iter 100 value 79.566752
## final value 79.566752
## stopped after 100 iterations
## # weights: 22
## initial value 519.216048
## iter 10 value 394.489521
## iter 20 value 350.332495
## iter 30 value 345.224942
## iter 40 value 294.314750
## iter 50 value 268.680920
## iter 60 value 260.340892
## iter 70 value 257.841781
## iter 80 value 257.562178
## iter 90 value 257.548791
## iter 100 value 257.542373
## final value 257.542373
## stopped after 100 iterations
## # weights: 64
## initial value 536.743600
## iter 10 value 262.644919
## iter 20 value 199.641037
## iter 30 value 173.893220
## iter 40 value 148.597231
## iter 50 value 135.322915
## iter 60 value 129.842546
## iter 70 value 128.663432
## iter 80 value 128.188786
## iter 90 value 128.117015
## iter 100 value 128.093850
## final value 128.093850
## stopped after 100 iterations
## # weights: 106
## initial value 603.988810
## iter 10 value 220.700788
## iter 20 value 135.122339
## iter 30 value 100.862791
## iter 40 value 95.122393
## iter 50 value 89.447057
## iter 60 value 86.236032
## iter 70 value 83.607361
## iter 80 value 82.455234
## iter 90 value 81.624472
## iter 100 value 81.314837
## final value 81.314837
## stopped after 100 iterations
## # weights: 22
## initial value 489.672475
## iter 10 value 271.166457
## iter 20 value 252.323756
## iter 30 value 246.658037
## final value 246.613436
## converged
## # weights: 64
## initial value 564.345549
## iter 10 value 280.671776
## iter 20 value 239.265673
## iter 30 value 223.897570
## iter 40 value 212.998518
## iter 50 value 211.945617
## iter 60 value 204.006896
## iter 70 value 185.164141
## iter 80 value 181.805984
## iter 90 value 181.408875
## iter 100 value 181.398982
## final value 181.398982
## stopped after 100 iterations
## # weights: 106
## initial value 581.085700
## iter 10 value 221.573188
## iter 20 value 168.829198
## iter 30 value 146.230850
## iter 40 value 134.171993
## iter 50 value 130.344058
## iter 60 value 128.677569
## iter 70 value 127.899601
## iter 80 value 126.150610
## iter 90 value 124.214224
## iter 100 value 122.747320
## final value 122.747320
## stopped after 100 iterations
## # weights: 22
## initial value 524.692250
## iter 10 value 327.228380
## iter 20 value 281.453045
## iter 30 value 252.163769
## iter 40 value 251.599093
## iter 50 value 251.097407
## iter 60 value 247.182308
## iter 70 value 237.226331
## iter 80 value 222.836666
## iter 90 value 218.560137
## iter 100 value 217.633515
## final value 217.633515
## stopped after 100 iterations
## # weights: 64
## initial value 578.463580
## iter 10 value 219.026209
## iter 20 value 173.424998
## iter 30 value 138.733453
## iter 40 value 131.160806
## iter 50 value 129.319106
## iter 60 value 128.822864
## iter 70 value 128.113367
## iter 80 value 127.073773
## iter 90 value 126.848461
## iter 100 value 126.100559
## final value 126.100559
## stopped after 100 iterations
## # weights: 106
## initial value 662.940610
## iter 10 value 200.748805
## iter 20 value 124.907054
## iter 30 value 103.489819
## iter 40 value 91.491469
## iter 50 value 85.480019
## iter 60 value 82.654189
## iter 70 value 82.106821
## iter 80 value 81.709610
## iter 90 value 81.374798
## iter 100 value 80.927249
## final value 80.927249
## stopped after 100 iterations
## # weights: 22
## initial value 594.522591
## iter 10 value 365.232735
## iter 20 value 265.512090
## iter 30 value 242.953851
## iter 40 value 221.755125
## iter 50 value 212.102476
## iter 60 value 211.864063
## iter 70 value 211.826287
## iter 80 value 211.788672
## iter 90 value 211.774508
## iter 100 value 211.774165
## final value 211.774165
## stopped after 100 iterations
## # weights: 64
## initial value 547.458038
## iter 10 value 228.295846
## iter 20 value 201.142417
## iter 30 value 171.232198
## iter 40 value 148.141663
## iter 50 value 137.396690
## iter 60 value 128.750376
## iter 70 value 128.210969
## iter 80 value 128.203592
## final value 128.203488
## converged
## # weights: 106
## initial value 562.814998
## iter 10 value 206.339185
## iter 20 value 141.722906
## iter 30 value 88.991849
## iter 40 value 70.962417
## iter 50 value 68.524122
## iter 60 value 67.224300
## iter 70 value 66.276807
## iter 80 value 64.941922
## iter 90 value 64.693052
## iter 100 value 64.271348
## final value 64.271348
## stopped after 100 iterations
## # weights: 22
## initial value 489.674280
## iter 10 value 271.920290
## iter 20 value 258.919280
## iter 30 value 249.663897
## iter 40 value 247.400529
## iter 50 value 247.256486
## final value 247.256404
## converged
## # weights: 64
## initial value 575.247323
## iter 10 value 300.231420
## iter 20 value 256.035421
## iter 30 value 221.530131
## iter 40 value 187.633511
## iter 50 value 178.540043
## iter 60 value 174.931704
## iter 70 value 173.997716
## iter 80 value 173.638194
## iter 90 value 173.576773
## iter 100 value 173.559357
## final value 173.559357
## stopped after 100 iterations
## # weights: 106
## initial value 516.035504
## iter 10 value 238.584698
## iter 20 value 149.542699
## iter 30 value 132.638075
## iter 40 value 124.935499
## iter 50 value 118.581551
## iter 60 value 114.374508
## iter 70 value 111.444485
## iter 80 value 106.876846
## iter 90 value 105.377235
## iter 100 value 104.367643
## final value 104.367643
## stopped after 100 iterations
## # weights: 22
## initial value 526.877157
## iter 10 value 259.517692
## iter 20 value 238.031570
## iter 30 value 212.341765
## iter 40 value 205.456535
## iter 50 value 205.135332
## iter 60 value 205.072846
## iter 70 value 205.065207
## iter 80 value 205.051767
## iter 90 value 204.999528
## final value 204.996527
## converged
## # weights: 64
## initial value 506.898081
## iter 10 value 229.873726
## iter 20 value 181.695653
## iter 30 value 161.555902
## iter 40 value 155.874910
## iter 50 value 152.108385
## iter 60 value 150.110405
## iter 70 value 147.842493
## iter 80 value 146.873019
## iter 90 value 146.762452
## iter 100 value 146.576090
## final value 146.576090
## stopped after 100 iterations
## # weights: 106
## initial value 523.582579
## iter 10 value 205.568328
## iter 20 value 147.203487
## iter 30 value 68.076240
## iter 40 value 54.312307
## iter 50 value 52.721066
## iter 60 value 52.162281
## iter 70 value 52.040922
## iter 80 value 51.957572
## iter 90 value 51.899715
## iter 100 value 51.837616
## final value 51.837616
## stopped after 100 iterations
## # weights: 22
## initial value 547.498992
## iter 10 value 353.803893
## iter 20 value 267.843201
## iter 30 value 247.241189
## iter 40 value 241.178657
## iter 50 value 233.786268
## iter 60 value 231.203413
## iter 70 value 230.522962
## iter 80 value 228.992383
## iter 90 value 227.831185
## iter 100 value 227.662771
## final value 227.662771
## stopped after 100 iterations
## # weights: 64
## initial value 512.918098
## iter 10 value 192.693303
## iter 20 value 170.614385
## iter 30 value 162.703376
## iter 40 value 150.518119
## iter 50 value 146.351091
## iter 60 value 146.293033
## iter 70 value 146.176094
## iter 80 value 146.174853
## iter 90 value 146.174308
## final value 146.174299
## converged
## # weights: 106
## initial value 557.746930
## iter 10 value 199.226101
## iter 20 value 124.065398
## iter 30 value 85.460899
## iter 40 value 70.795335
## iter 50 value 62.957188
## iter 60 value 59.247901
## iter 70 value 57.843987
## iter 80 value 57.309340
## iter 90 value 57.233259
## iter 100 value 57.217785
## final value 57.217785
## stopped after 100 iterations
## # weights: 22
## initial value 624.590640
## iter 10 value 277.431531
## iter 20 value 252.855821
## iter 30 value 243.495160
## iter 40 value 242.294028
## iter 50 value 242.283620
## iter 60 value 242.281767
## final value 242.281322
## converged
## # weights: 64
## initial value 588.733669
## iter 10 value 262.374954
## iter 20 value 209.835256
## iter 30 value 194.212511
## iter 40 value 189.421234
## iter 50 value 187.656665
## iter 60 value 183.730133
## iter 70 value 181.347619
## iter 80 value 173.346191
## iter 90 value 169.357876
## iter 100 value 169.215864
## final value 169.215864
## stopped after 100 iterations
## # weights: 106
## initial value 617.451000
## iter 10 value 224.668376
## iter 20 value 163.672607
## iter 30 value 147.589314
## iter 40 value 134.785222
## iter 50 value 129.693489
## iter 60 value 124.598903
## iter 70 value 121.157884
## iter 80 value 120.950075
## iter 90 value 120.519918
## iter 100 value 107.986957
## final value 107.986957
## stopped after 100 iterations
## # weights: 22
## initial value 515.930004
## iter 10 value 379.495829
## iter 20 value 272.188287
## iter 30 value 251.218473
## iter 40 value 236.156896
## iter 50 value 235.900838
## iter 60 value 235.812347
## iter 70 value 235.793637
## iter 80 value 235.786364
## iter 90 value 235.785770
## final value 235.785421
## converged
## # weights: 64
## initial value 536.541188
## iter 10 value 233.541620
## iter 20 value 198.802414
## iter 30 value 182.849319
## iter 40 value 172.207406
## iter 50 value 165.709556
## iter 60 value 159.719239
## iter 70 value 155.772089
## iter 80 value 155.281257
## iter 90 value 154.949526
## iter 100 value 154.479483
## final value 154.479483
## stopped after 100 iterations
## # weights: 106
## initial value 504.747593
## iter 10 value 215.725342
## iter 20 value 147.545169
## iter 30 value 107.859714
## iter 40 value 96.379082
## iter 50 value 93.121118
## iter 60 value 92.585821
## iter 70 value 92.289465
## iter 80 value 92.072901
## iter 90 value 91.948519
## iter 100 value 91.853376
## final value 91.853376
## stopped after 100 iterations
## # weights: 22
## initial value 560.486985
## iter 10 value 293.232977
## iter 20 value 260.993979
## iter 30 value 255.968086
## iter 40 value 237.301016
## iter 50 value 230.591627
## iter 60 value 230.577515
## iter 70 value 230.571895
## iter 80 value 230.568956
## iter 90 value 230.567073
## final value 230.567024
## converged
## # weights: 64
## initial value 497.543697
## iter 10 value 242.902013
## iter 20 value 207.309301
## iter 30 value 199.405214
## iter 40 value 189.545915
## iter 50 value 173.415468
## iter 60 value 168.516345
## iter 70 value 168.256902
## iter 80 value 168.237459
## iter 90 value 168.236217
## final value 168.235875
## converged
## # weights: 106
## initial value 518.259802
## iter 10 value 198.887575
## iter 20 value 124.162996
## iter 30 value 61.832158
## iter 40 value 48.464218
## iter 50 value 46.900432
## iter 60 value 45.846143
## iter 70 value 44.467486
## iter 80 value 43.746913
## iter 90 value 43.381358
## iter 100 value 42.872127
## final value 42.872127
## stopped after 100 iterations
## # weights: 22
## initial value 534.032760
## iter 10 value 341.017841
## iter 20 value 283.074367
## iter 30 value 269.720835
## iter 40 value 258.321873
## iter 50 value 247.731753
## iter 60 value 246.014987
## final value 245.994770
## converged
## # weights: 64
## initial value 557.839250
## iter 10 value 238.105851
## iter 20 value 209.756226
## iter 30 value 195.245867
## iter 40 value 192.232031
## iter 50 value 190.731119
## iter 60 value 189.663875
## iter 70 value 189.542103
## iter 80 value 189.541583
## iter 80 value 189.541582
## iter 80 value 189.541582
## final value 189.541582
## converged
## # weights: 106
## initial value 552.834322
## iter 10 value 217.984837
## iter 20 value 169.849621
## iter 30 value 146.032051
## iter 40 value 137.425358
## iter 50 value 128.001801
## iter 60 value 125.063649
## iter 70 value 124.659774
## iter 80 value 124.537888
## iter 90 value 124.509762
## iter 100 value 124.502397
## final value 124.502397
## stopped after 100 iterations
## # weights: 22
## initial value 620.984004
## iter 10 value 324.679168
## iter 20 value 264.492406
## iter 30 value 242.746149
## iter 40 value 230.119216
## iter 50 value 220.601772
## iter 60 value 219.483205
## iter 70 value 219.430794
## iter 80 value 219.399936
## iter 90 value 219.307441
## iter 100 value 219.305550
## final value 219.305550
## stopped after 100 iterations
## # weights: 64
## initial value 538.107202
## iter 10 value 247.384593
## iter 20 value 188.625761
## iter 30 value 152.728960
## iter 40 value 133.246445
## iter 50 value 126.184785
## iter 60 value 125.468446
## iter 70 value 125.050215
## iter 80 value 124.676002
## iter 90 value 124.494305
## iter 100 value 124.340039
## final value 124.340039
## stopped after 100 iterations
## # weights: 106
## initial value 511.464061
## iter 10 value 225.376130
## iter 20 value 170.387445
## iter 30 value 112.164997
## iter 40 value 92.101820
## iter 50 value 78.997079
## iter 60 value 75.457307
## iter 70 value 73.305977
## iter 80 value 70.186769
## iter 90 value 69.261781
## iter 100 value 68.926053
## final value 68.926053
## stopped after 100 iterations
## # weights: 106
## initial value 687.667968
## iter 10 value 237.870070
## iter 20 value 184.361356
## iter 30 value 163.452433
## iter 40 value 153.546431
## iter 50 value 143.714297
## iter 60 value 136.086916
## iter 70 value 127.954535
## iter 80 value 120.463642
## iter 90 value 116.691966
## iter 100 value 111.821936
## final value 111.821936
## stopped after 100 iterations
resultado_entrenamiento5 <- predict(modelo5, entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp5 <- confusionMatrix(resultado_prueba5, prueba$target)
modelo6 <- train(target ~ ., data = entrenamiento,
method = "rf", #Cambiar
preProcess=c("scale", "center"),
trControl = trainControl(method = "cv", number=10),
tuneGrid = expand.grid(mtry = c(2,4,6))
)
resultado_entrenamiento6 <- predict(modelo6, entrenamiento)
resultado_prueba6 <- predict(modelo6, prueba)
# Mátriz de Confusión del Resultado del Entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$target)
# Mátriz de Confusión del Resultado de la Prueba
mcrp6 <- confusionMatrix(resultado_prueba6, prueba$target)
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"]),
"nnet" =c(mcre5$overall["Accuracy"], mcrp5$overall["Accuracy"]),
"rf" =c(mcre6$overall["Accuracy"], mcrp6$overall["Accuracy"])
)
rownames(resultados) <- c("Precisión de Entrenamiento", "Precisión de Prueba")
resultados
## svmLinear svmRadial svmPoly rpart nnet rf
## Precisión de Entrenamiento 0.8538368 1 0.8538368 0.9135201 0.9841657 1
## Precisión de Prueba 0.8627451 1 0.8627451 0.8774510 0.9754902 1
El modelo con el método de (svmRadial), (rf) presenta sobreajuste, ya que tiene una alta precisión.
Acorde al resumen de resultados, el modelo mejor evaluado es el de Máquina de Vectores de Soporte Lineal.