El paquete caret (Classification and Regression Training) es un paquete integral con una amplia variedad de algoritmos para el aprendizaje automático.
#install.packages("ggplot2") #Gráficas con mejor diseño
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
#install.packages("lattice") #Crear gráficos
library(lattice)
## Warning: package 'lattice' was built under R version 4.3.3
#install.packages("caret") #Algoritmos de aprendizaje automático
library(caret)
## Warning: package 'caret' was built under R version 4.3.3
#install.packages("datasets") #Usar la base de datos "Iris"
library(datasets)
#install.packages("DataExplorer") #Usar la base de datos "Iris"
library(DataExplorer)
## Warning: package 'DataExplorer' was built under R version 4.3.3
#install.packages("kernlab") #Paquete con métodos de aprendizaje automático
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
#install.packages("randomForest") #Paquete para este método de clasificación
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
df<-read.csv("C:\\Users\\naila\\OneDrive\\Documentos\\1 TEC\\7MO SEMESTRE\\M2\\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", #Cambiar
preProcess=c("scale","center"),
trControl = trainControl(method="cv", number=10),
tuneGrid = data.frame(C=1) #Cambiar
)
resultado_entrenamiento1 <- predict(modelo1,entrenamiento)
resultado_prueba1 <- predict(modelo1,prueba)
# Matriz de Confusión del Resultado de Entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$target)
# Matriz de Confusión del Resultado de 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)
# Matriz de Confusión del Resultado de Entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$target)
# Matriz de Confusión del Resultado de 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)
# Matriz de Confusión del Resultado de Entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$target)
# Matriz de Confusión del Resultado de 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 #Cambiar
)
resultado_entrenamiento4 <- predict(modelo4,entrenamiento)
resultado_prueba4 <- predict(modelo4,prueba)
# Matriz de Confusión del Resultado de Entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$target)
# Matriz de Confusión del Resultado de 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)
#Cambiar
)
## # 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)
# Matriz de Confusión del Resultado de Entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$target)
# Matriz de Confusión del Resultado de 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))#Cambiar
)
resultado_entrenamiento6 <- predict(modelo6,entrenamiento)
resultado_prueba6 <- predict(modelo6,prueba)
# Matriz de Confusión del Resultado de Entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$target)
# Matriz de Confusión del Resultado de Prueba
mcrp6 <- confusionMatrix(resultado_prueba6, prueba$target)
resultados <- data.frame(
"svmLinear"=c(mcre1$overall["Accuracy"], mcrp1$overall["Accuracy"]),
"svmLRadial"=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 svmLRadial svmPoly rpart nnet
## Precisión de Entrenamiento 0.8538368 1 0.8538368 0.9135201 0.9841657
## Precisión de Prueba 0.8627451 1 0.8627451 0.8774510 0.9754902
## rf
## Precisión de Entrenamiento 1
## Precisión de Prueba 1
El modelo con el método de bosques aleatorios (rf), Máquina de Vectores de Soporte Radial (svmLRadial) y Redes Neuronales (nnet) presenta sobreajuste, ya que tiene una alta precisión en entrenamiento y prueba.
Acorde al resumen de resultados, el mejor modelo evaluado es el de Máquina de Vectores de Soporte Lineal (svmLinear