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)
#install.packages("lattice") #Crear gráficos
library(lattice)
#install.packages("caret") #Algoritmos de aprendizaje automático
library(caret)
#install.packages("datasets") #Usar la base de datos "Iris"
library(datasets)
#install.packages("DataExplorer") #Exploración de datos
library(DataExplorer)
#install.packages("kernlab") #Paquete con métodos de aprendizaje automático
library(kernlab)
##
## Adjuntando el paquete: 'kernlab'
## The following object is masked from 'package:ggplot2':
##
## alpha
#install.packages("randomForest") #Paquete para este método de clasificación
library(randomForest)
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
##
## Adjuntando el paquete: 'randomForest'
## The following object is masked from 'package:ggplot2':
##
## margin
df <- read.csv("C:/Users/valer/OneDrive/Escritorio/IA con impacto empresarial/Base de datos/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 ...
plot_missing(df)
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$ca <- as.factor(df$ca)
df$thal <- as.factor(df$thal)
df$target <- as.factor(df$target)
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 utilizadps 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 del Entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$target)
#Matriz 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)
#Matriz de Confusión del Resultado del Entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$target)
#Matriz 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)
#Matriz de Confusión del Resultado del Entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$target)
#Matriz de Confusión del Resultado de la Prueba
mcrp3 <- confusionMatrix(resultado_prueba3, prueba$target)
modelo4 <- train(target ~ ., data=entrenamiento,
method="svmPoly", # Cambiar
preProcess=c("scale","center"),
trControl = trainControl(method="cv", number=10),
tunelenght=10 #Cambiar
)
resultado_entrenamiento4 <- predict(modelo4,entrenamiento)
resultado_prueba4 <- predict(modelo4, prueba)
#Matriz de Confusión del Resultado del Entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$target)
#Matriz 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)
#Cambiar
)
## # weights: 25
## initial value 514.623784
## iter 10 value 249.922431
## iter 20 value 202.957720
## iter 30 value 196.715786
## iter 40 value 187.039763
## iter 50 value 186.931635
## final value 186.931517
## converged
## # weights: 73
## initial value 652.451307
## iter 10 value 216.447979
## iter 20 value 146.128194
## iter 30 value 99.662478
## iter 40 value 89.447307
## iter 50 value 85.552826
## iter 60 value 84.877100
## iter 70 value 75.748165
## iter 80 value 75.585270
## iter 90 value 75.526503
## iter 100 value 75.472828
## final value 75.472828
## stopped after 100 iterations
## # weights: 121
## initial value 637.746891
## iter 10 value 208.826472
## iter 20 value 157.395953
## iter 30 value 130.579245
## iter 40 value 109.710489
## iter 50 value 97.831184
## iter 60 value 92.248877
## iter 70 value 90.699136
## iter 80 value 90.326979
## iter 90 value 90.305756
## iter 100 value 90.301388
## final value 90.301388
## stopped after 100 iterations
## # weights: 25
## initial value 526.007968
## iter 10 value 317.068928
## iter 20 value 256.908724
## iter 30 value 234.617192
## iter 40 value 222.406927
## iter 50 value 214.489493
## iter 60 value 214.004588
## iter 70 value 213.710779
## iter 80 value 213.692488
## final value 213.692480
## converged
## # weights: 73
## initial value 552.927177
## iter 10 value 284.424982
## iter 20 value 229.276627
## iter 30 value 189.724879
## iter 40 value 174.934529
## iter 50 value 171.136308
## iter 60 value 165.475209
## iter 70 value 131.098011
## iter 80 value 114.355019
## iter 90 value 110.849755
## iter 100 value 110.128395
## final value 110.128395
## stopped after 100 iterations
## # weights: 121
## initial value 515.721232
## iter 10 value 206.190312
## iter 20 value 165.062512
## iter 30 value 145.371461
## iter 40 value 120.292772
## iter 50 value 110.488603
## iter 60 value 104.313443
## iter 70 value 102.669980
## iter 80 value 102.177760
## iter 90 value 101.458465
## iter 100 value 99.913416
## final value 99.913416
## stopped after 100 iterations
## # weights: 25
## initial value 519.265578
## iter 10 value 301.227207
## iter 20 value 240.257630
## iter 30 value 214.701037
## iter 40 value 200.063044
## iter 50 value 183.394154
## iter 60 value 182.916102
## iter 70 value 182.834726
## iter 80 value 182.773144
## iter 90 value 180.566591
## iter 100 value 180.219045
## final value 180.219045
## stopped after 100 iterations
## # weights: 73
## initial value 505.791715
## iter 10 value 190.831443
## iter 20 value 149.245846
## iter 30 value 127.828414
## iter 40 value 110.292310
## iter 50 value 102.604341
## iter 60 value 101.887015
## iter 70 value 101.393739
## iter 80 value 100.961877
## iter 90 value 100.428694
## iter 100 value 100.238080
## final value 100.238080
## stopped after 100 iterations
## # weights: 121
## initial value 488.997167
## iter 10 value 199.630578
## iter 20 value 140.106226
## iter 30 value 101.111539
## iter 40 value 84.716205
## iter 50 value 63.856324
## iter 60 value 57.624720
## iter 70 value 55.036612
## iter 80 value 53.885364
## iter 90 value 53.720483
## iter 100 value 53.310407
## final value 53.310407
## stopped after 100 iterations
## # weights: 25
## initial value 502.569688
## iter 10 value 266.297672
## iter 20 value 226.841239
## iter 30 value 209.102925
## iter 40 value 197.394404
## iter 50 value 181.462630
## iter 60 value 180.671000
## iter 70 value 180.604087
## iter 80 value 178.306059
## iter 90 value 178.196664
## iter 100 value 178.189783
## final value 178.189783
## stopped after 100 iterations
## # weights: 73
## initial value 522.091512
## iter 10 value 201.108415
## iter 20 value 139.897998
## iter 30 value 127.810258
## iter 40 value 121.579430
## iter 50 value 118.655342
## iter 60 value 118.374303
## iter 70 value 118.369884
## final value 118.369869
## converged
## # weights: 121
## initial value 578.784238
## iter 10 value 192.175150
## iter 20 value 126.673295
## iter 30 value 105.934936
## iter 40 value 100.848513
## iter 50 value 97.232315
## iter 60 value 93.798640
## iter 70 value 92.203712
## iter 80 value 88.848168
## iter 90 value 86.243909
## iter 100 value 85.153889
## final value 85.153889
## stopped after 100 iterations
## # weights: 25
## initial value 540.149835
## iter 10 value 304.635477
## iter 20 value 239.803375
## iter 30 value 211.423132
## iter 40 value 204.761470
## iter 50 value 203.555868
## iter 60 value 203.502104
## iter 70 value 203.495121
## final value 203.493765
## converged
## # weights: 73
## initial value 536.865750
## iter 10 value 185.724140
## iter 20 value 162.823763
## iter 30 value 159.751982
## iter 40 value 159.271979
## iter 50 value 159.211731
## iter 60 value 159.209396
## iter 70 value 153.884934
## iter 80 value 149.488919
## iter 90 value 146.958064
## iter 100 value 145.026702
## final value 145.026702
## stopped after 100 iterations
## # weights: 121
## initial value 585.434227
## iter 10 value 176.167293
## iter 20 value 142.515591
## iter 30 value 127.105444
## iter 40 value 119.735158
## iter 50 value 110.877621
## iter 60 value 98.280412
## iter 70 value 87.052559
## iter 80 value 84.107732
## iter 90 value 83.340583
## iter 100 value 83.154504
## final value 83.154504
## stopped after 100 iterations
## # weights: 25
## initial value 505.766862
## iter 10 value 288.176528
## iter 20 value 249.552951
## iter 30 value 218.859731
## iter 40 value 190.530350
## iter 50 value 180.724881
## iter 60 value 175.770431
## iter 70 value 175.230900
## iter 80 value 174.336223
## iter 90 value 173.995022
## iter 100 value 173.985447
## final value 173.985447
## stopped after 100 iterations
## # weights: 73
## initial value 508.648684
## iter 10 value 214.028173
## iter 20 value 186.410957
## iter 30 value 149.869734
## iter 40 value 130.203505
## iter 50 value 114.199178
## iter 60 value 108.923969
## iter 70 value 108.215259
## iter 80 value 107.888957
## iter 90 value 106.205450
## iter 100 value 106.072227
## final value 106.072227
## stopped after 100 iterations
## # weights: 121
## initial value 510.813898
## iter 10 value 183.381176
## iter 20 value 109.602595
## iter 30 value 75.084498
## iter 40 value 65.534607
## iter 50 value 62.505633
## iter 60 value 59.337509
## iter 70 value 58.050627
## iter 80 value 56.766040
## iter 90 value 55.660513
## iter 100 value 55.415447
## final value 55.415447
## stopped after 100 iterations
## # weights: 25
## initial value 529.156251
## iter 10 value 288.689367
## iter 20 value 232.982215
## iter 30 value 224.501906
## iter 40 value 215.488351
## iter 50 value 206.410975
## iter 60 value 203.866746
## iter 70 value 203.677731
## iter 80 value 203.606338
## iter 90 value 203.488651
## iter 100 value 203.215770
## final value 203.215770
## stopped after 100 iterations
## # weights: 73
## initial value 537.904492
## iter 10 value 197.456481
## iter 20 value 147.656403
## iter 30 value 114.377754
## iter 40 value 103.350492
## iter 50 value 97.093519
## iter 60 value 95.979237
## iter 70 value 95.039540
## iter 80 value 94.997389
## iter 90 value 94.988627
## iter 100 value 94.941354
## final value 94.941354
## stopped after 100 iterations
## # weights: 121
## initial value 595.449532
## iter 10 value 158.841229
## iter 20 value 98.013134
## iter 30 value 74.445470
## iter 40 value 69.146165
## iter 50 value 61.963345
## iter 60 value 60.265222
## iter 70 value 57.165239
## iter 80 value 55.117046
## iter 90 value 55.042179
## iter 100 value 54.984360
## final value 54.984360
## stopped after 100 iterations
## # weights: 25
## initial value 597.467778
## iter 10 value 268.112849
## iter 20 value 233.623953
## iter 30 value 202.847097
## iter 40 value 200.505182
## iter 50 value 200.325497
## final value 200.325368
## converged
## # weights: 73
## initial value 506.350109
## iter 10 value 243.304178
## iter 20 value 188.818392
## iter 30 value 159.094638
## iter 40 value 144.807643
## iter 50 value 141.405729
## iter 60 value 140.570124
## iter 70 value 139.621904
## iter 80 value 138.914011
## iter 90 value 135.629039
## iter 100 value 132.944320
## final value 132.944320
## stopped after 100 iterations
## # weights: 121
## initial value 604.127383
## iter 10 value 199.226295
## iter 20 value 147.427701
## iter 30 value 128.035968
## iter 40 value 117.780720
## iter 50 value 109.622099
## iter 60 value 107.465432
## iter 70 value 102.937372
## iter 80 value 101.204314
## iter 90 value 100.591872
## iter 100 value 100.403690
## final value 100.403690
## stopped after 100 iterations
## # weights: 25
## initial value 513.088088
## iter 10 value 275.387859
## iter 20 value 224.035401
## iter 30 value 219.907092
## iter 40 value 215.016841
## iter 50 value 213.774182
## iter 60 value 212.858473
## iter 70 value 212.815329
## iter 80 value 212.800096
## iter 90 value 212.796233
## iter 100 value 212.794542
## final value 212.794542
## stopped after 100 iterations
## # weights: 73
## initial value 501.218969
## iter 10 value 240.156536
## iter 20 value 146.551325
## iter 30 value 123.490896
## iter 40 value 119.433029
## iter 50 value 114.671971
## iter 60 value 112.435040
## iter 70 value 112.189484
## iter 80 value 112.019710
## iter 90 value 111.846846
## iter 100 value 111.547702
## final value 111.547702
## stopped after 100 iterations
## # weights: 121
## initial value 524.296493
## iter 10 value 161.900518
## iter 20 value 114.420893
## iter 30 value 98.431850
## iter 40 value 93.368165
## iter 50 value 92.784815
## iter 60 value 92.204148
## iter 70 value 91.908930
## iter 80 value 91.516451
## iter 90 value 91.412766
## iter 100 value 91.346212
## final value 91.346212
## stopped after 100 iterations
## # weights: 25
## initial value 512.813761
## iter 10 value 203.372144
## iter 20 value 194.197165
## iter 30 value 183.049289
## iter 40 value 165.345030
## iter 50 value 164.967091
## final value 164.965647
## converged
## # weights: 73
## initial value 556.994601
## iter 10 value 264.325963
## iter 20 value 158.763323
## iter 30 value 112.683204
## iter 40 value 107.526538
## iter 50 value 103.740605
## iter 60 value 98.577768
## iter 70 value 96.340947
## iter 80 value 95.688620
## iter 90 value 95.452343
## iter 100 value 95.265091
## final value 95.265091
## stopped after 100 iterations
## # weights: 121
## initial value 475.604339
## iter 10 value 182.204502
## iter 20 value 109.958587
## iter 30 value 68.389963
## iter 40 value 55.099828
## iter 50 value 51.821355
## iter 60 value 51.470661
## iter 70 value 51.410206
## iter 80 value 51.391004
## iter 90 value 51.384530
## iter 100 value 51.363932
## final value 51.363932
## stopped after 100 iterations
## # weights: 25
## initial value 522.972186
## iter 10 value 234.778720
## iter 20 value 208.881188
## iter 30 value 202.677043
## iter 40 value 201.012318
## iter 50 value 200.967325
## final value 200.967254
## converged
## # weights: 73
## initial value 538.614402
## iter 10 value 288.794354
## iter 20 value 224.458721
## iter 30 value 189.802681
## iter 40 value 159.625601
## iter 50 value 151.810854
## iter 60 value 150.246676
## iter 70 value 148.275865
## iter 80 value 141.932754
## iter 90 value 137.440475
## iter 100 value 136.524613
## final value 136.524613
## stopped after 100 iterations
## # weights: 121
## initial value 517.107337
## iter 10 value 179.856722
## iter 20 value 145.578827
## iter 30 value 122.256856
## iter 40 value 109.823117
## iter 50 value 99.229678
## iter 60 value 92.180306
## iter 70 value 88.659106
## iter 80 value 86.888681
## iter 90 value 86.048812
## iter 100 value 85.211020
## final value 85.211020
## stopped after 100 iterations
## # weights: 25
## initial value 518.889795
## iter 10 value 317.799383
## iter 20 value 240.875464
## iter 30 value 206.652874
## iter 40 value 189.888355
## iter 50 value 174.415678
## iter 60 value 170.994515
## iter 70 value 170.683521
## iter 80 value 170.489943
## iter 90 value 170.350316
## iter 100 value 170.316318
## final value 170.316318
## stopped after 100 iterations
## # weights: 73
## initial value 534.198537
## iter 10 value 237.964373
## iter 20 value 141.377957
## iter 30 value 111.678656
## iter 40 value 87.243383
## iter 50 value 75.404170
## iter 60 value 71.945209
## iter 70 value 69.823651
## iter 80 value 69.363242
## iter 90 value 69.088197
## iter 100 value 68.703620
## final value 68.703620
## stopped after 100 iterations
## # weights: 121
## initial value 482.867675
## iter 10 value 180.440243
## iter 20 value 124.470445
## iter 30 value 88.850095
## iter 40 value 74.543926
## iter 50 value 66.701889
## iter 60 value 64.643456
## iter 70 value 58.320274
## iter 80 value 57.393218
## iter 90 value 56.666247
## iter 100 value 56.262641
## final value 56.262641
## stopped after 100 iterations
## # weights: 25
## initial value 530.560629
## iter 10 value 319.595039
## iter 20 value 243.798747
## iter 30 value 221.274816
## iter 40 value 210.921959
## iter 50 value 190.790522
## iter 60 value 188.881635
## iter 70 value 188.691775
## iter 80 value 188.682816
## iter 90 value 188.678587
## iter 100 value 188.677121
## final value 188.677121
## stopped after 100 iterations
## # weights: 73
## initial value 511.044597
## iter 10 value 221.298095
## iter 20 value 181.339567
## iter 30 value 162.935436
## iter 40 value 153.442392
## iter 50 value 147.881565
## iter 60 value 143.386412
## iter 70 value 142.472866
## iter 80 value 141.995010
## iter 90 value 141.949739
## iter 100 value 141.943361
## final value 141.943361
## stopped after 100 iterations
## # weights: 121
## initial value 534.245625
## iter 10 value 209.979011
## iter 20 value 113.919418
## iter 30 value 53.290986
## iter 40 value 42.088866
## iter 50 value 39.396535
## iter 60 value 38.898303
## iter 70 value 38.858030
## iter 80 value 38.852997
## iter 90 value 38.851878
## iter 100 value 38.851460
## final value 38.851460
## stopped after 100 iterations
## # weights: 25
## initial value 514.712235
## iter 10 value 238.073675
## iter 20 value 218.236547
## iter 30 value 213.544584
## iter 40 value 212.183157
## iter 50 value 212.167990
## iter 60 value 212.157719
## final value 212.157564
## converged
## # weights: 73
## initial value 506.262598
## iter 10 value 234.705988
## iter 20 value 198.241018
## iter 30 value 174.597467
## iter 40 value 166.925849
## iter 50 value 162.455849
## iter 60 value 160.243221
## iter 70 value 159.910827
## iter 80 value 159.881086
## final value 159.880690
## converged
## # weights: 121
## initial value 496.333459
## iter 10 value 191.905246
## iter 20 value 155.588146
## iter 30 value 136.553799
## iter 40 value 120.687995
## iter 50 value 113.269091
## iter 60 value 110.554705
## iter 70 value 109.107502
## iter 80 value 105.860653
## iter 90 value 99.425122
## iter 100 value 96.839862
## final value 96.839862
## stopped after 100 iterations
## # weights: 25
## initial value 547.337950
## iter 10 value 364.755091
## iter 20 value 261.573848
## iter 30 value 230.133010
## iter 40 value 210.890743
## iter 50 value 195.584170
## iter 60 value 187.857530
## iter 70 value 186.115571
## iter 80 value 182.866343
## iter 90 value 179.187976
## iter 100 value 179.096281
## final value 179.096281
## stopped after 100 iterations
## # weights: 73
## initial value 611.102823
## iter 10 value 210.506245
## iter 20 value 161.031287
## iter 30 value 121.505225
## iter 40 value 90.149900
## iter 50 value 72.246238
## iter 60 value 62.596604
## iter 70 value 55.667851
## iter 80 value 54.822975
## iter 90 value 54.298989
## iter 100 value 54.090394
## final value 54.090394
## stopped after 100 iterations
## # weights: 121
## initial value 484.327113
## iter 10 value 172.312315
## iter 20 value 91.112026
## iter 30 value 61.115826
## iter 40 value 50.703622
## iter 50 value 49.403140
## iter 60 value 42.152363
## iter 70 value 37.579844
## iter 80 value 34.989743
## iter 90 value 34.615333
## iter 100 value 34.466802
## final value 34.466802
## stopped after 100 iterations
## # weights: 25
## initial value 601.056711
## iter 10 value 320.531868
## iter 20 value 246.306034
## iter 30 value 224.371689
## iter 40 value 208.025758
## iter 50 value 202.443465
## iter 60 value 195.748313
## iter 70 value 189.919807
## iter 80 value 189.885206
## final value 189.885157
## converged
## # weights: 73
## initial value 638.026012
## iter 10 value 218.637883
## iter 20 value 190.477657
## iter 30 value 172.956916
## iter 40 value 145.729312
## iter 50 value 131.511157
## iter 60 value 108.634033
## iter 70 value 106.797242
## iter 80 value 104.947219
## iter 90 value 103.299188
## iter 100 value 102.853678
## final value 102.853678
## stopped after 100 iterations
## # weights: 121
## initial value 625.045986
## iter 10 value 178.828386
## iter 20 value 125.053991
## iter 30 value 76.654480
## iter 40 value 68.178693
## iter 50 value 65.479098
## iter 60 value 61.758998
## iter 70 value 60.337753
## iter 80 value 57.958290
## iter 90 value 57.241329
## iter 100 value 57.091708
## final value 57.091708
## stopped after 100 iterations
## # weights: 25
## initial value 561.885283
## iter 10 value 405.378582
## iter 20 value 330.178754
## iter 30 value 279.666185
## iter 40 value 252.907940
## iter 50 value 218.864792
## iter 60 value 207.551366
## iter 70 value 203.947798
## iter 80 value 203.653903
## final value 203.653671
## converged
## # weights: 73
## initial value 614.512290
## iter 10 value 244.906959
## iter 20 value 187.981919
## iter 30 value 158.132837
## iter 40 value 144.014199
## iter 50 value 140.090031
## iter 60 value 139.264500
## iter 70 value 136.686887
## iter 80 value 135.523983
## iter 90 value 135.366661
## iter 100 value 135.349483
## final value 135.349483
## stopped after 100 iterations
## # weights: 121
## initial value 608.130764
## iter 10 value 261.182079
## iter 20 value 217.705954
## iter 30 value 171.481010
## iter 40 value 147.044624
## iter 50 value 125.207907
## iter 60 value 116.640450
## iter 70 value 113.442052
## iter 80 value 110.034835
## iter 90 value 103.915790
## iter 100 value 98.331739
## final value 98.331739
## stopped after 100 iterations
## # weights: 25
## initial value 547.498498
## iter 10 value 281.108965
## iter 20 value 252.778185
## iter 30 value 247.003800
## iter 40 value 243.363945
## iter 50 value 231.680446
## iter 60 value 224.941780
## iter 70 value 215.348154
## iter 80 value 215.012871
## iter 90 value 214.942602
## iter 100 value 214.898164
## final value 214.898164
## stopped after 100 iterations
## # weights: 73
## initial value 590.344703
## iter 10 value 237.957569
## iter 20 value 183.360996
## iter 30 value 138.516776
## iter 40 value 121.846070
## iter 50 value 107.047688
## iter 60 value 94.124056
## iter 70 value 90.494948
## iter 80 value 86.277492
## iter 90 value 81.475074
## iter 100 value 78.617267
## final value 78.617267
## stopped after 100 iterations
## # weights: 121
## initial value 667.316663
## iter 10 value 220.091561
## iter 20 value 122.102556
## iter 30 value 75.780583
## iter 40 value 57.155515
## iter 50 value 46.950246
## iter 60 value 45.572132
## iter 70 value 44.940230
## iter 80 value 44.330806
## iter 90 value 43.844553
## iter 100 value 43.001923
## final value 43.001923
## stopped after 100 iterations
## # weights: 25
## initial value 538.399450
## iter 10 value 246.711430
## iter 20 value 207.511442
## iter 30 value 190.320755
## iter 40 value 184.513286
## iter 50 value 184.496574
## final value 184.496549
## converged
## # weights: 73
## initial value 519.178000
## iter 10 value 206.121340
## iter 20 value 134.192041
## iter 30 value 82.385157
## iter 40 value 65.502214
## iter 50 value 59.926329
## iter 60 value 59.059175
## iter 70 value 59.025410
## iter 80 value 59.023426
## iter 90 value 59.023231
## iter 100 value 59.023150
## final value 59.023150
## stopped after 100 iterations
## # weights: 121
## initial value 544.898046
## iter 10 value 170.522992
## iter 20 value 118.513967
## iter 30 value 73.015626
## iter 40 value 63.387012
## iter 50 value 61.796967
## iter 60 value 57.197147
## iter 70 value 56.241179
## iter 80 value 55.544645
## iter 90 value 55.126651
## iter 100 value 54.642853
## final value 54.642853
## stopped after 100 iterations
## # weights: 25
## initial value 512.406281
## iter 10 value 342.189551
## iter 20 value 297.782126
## iter 30 value 260.115515
## iter 40 value 220.441060
## iter 50 value 212.286509
## iter 60 value 211.964411
## iter 70 value 211.924750
## final value 211.924236
## converged
## # weights: 73
## initial value 558.642461
## iter 10 value 248.233739
## iter 20 value 183.728211
## iter 30 value 152.665060
## iter 40 value 144.088705
## iter 50 value 141.728405
## iter 60 value 140.994018
## iter 70 value 140.603180
## iter 80 value 140.551975
## final value 140.551724
## converged
## # weights: 121
## initial value 630.144334
## iter 10 value 202.109999
## iter 20 value 142.936101
## iter 30 value 121.933555
## iter 40 value 107.944590
## iter 50 value 98.369628
## iter 60 value 90.267232
## iter 70 value 88.834323
## iter 80 value 88.258365
## iter 90 value 87.659656
## iter 100 value 87.365074
## final value 87.365074
## stopped after 100 iterations
## # weights: 25
## initial value 557.391886
## iter 10 value 226.066959
## iter 20 value 218.696182
## iter 30 value 216.239936
## iter 40 value 212.804968
## iter 50 value 204.972677
## iter 60 value 196.312066
## iter 70 value 185.351179
## iter 80 value 184.864998
## iter 90 value 184.627065
## iter 100 value 184.504686
## final value 184.504686
## stopped after 100 iterations
## # weights: 73
## initial value 547.493090
## iter 10 value 218.852755
## iter 20 value 177.129529
## iter 30 value 145.179292
## iter 40 value 133.660525
## iter 50 value 127.460613
## iter 60 value 125.435347
## iter 70 value 123.504066
## iter 80 value 123.400636
## iter 90 value 123.353248
## iter 100 value 123.330890
## final value 123.330890
## stopped after 100 iterations
## # weights: 121
## initial value 589.124745
## iter 10 value 205.300836
## iter 20 value 139.470696
## iter 30 value 98.492279
## iter 40 value 81.767155
## iter 50 value 77.121554
## iter 60 value 73.877682
## iter 70 value 71.969591
## iter 80 value 71.240782
## iter 90 value 70.502423
## iter 100 value 69.795511
## final value 69.795511
## stopped after 100 iterations
## # weights: 25
## initial value 537.917727
## iter 10 value 257.858730
## iter 20 value 208.966537
## iter 30 value 192.252973
## iter 40 value 188.697584
## iter 50 value 185.953596
## iter 60 value 173.906195
## iter 70 value 173.774180
## final value 173.774012
## converged
## # weights: 73
## initial value 574.334029
## iter 10 value 207.873681
## iter 20 value 174.063403
## iter 30 value 156.503840
## iter 40 value 142.293564
## iter 50 value 141.683210
## final value 141.640524
## converged
## # weights: 121
## initial value 538.319531
## iter 10 value 214.389675
## iter 20 value 132.196993
## iter 30 value 103.274993
## iter 40 value 80.276895
## iter 50 value 70.362435
## iter 60 value 59.626688
## iter 70 value 50.925671
## iter 80 value 46.451578
## iter 90 value 43.254152
## iter 100 value 41.824196
## final value 41.824196
## stopped after 100 iterations
## # weights: 25
## initial value 645.079190
## iter 10 value 438.338503
## iter 20 value 377.496468
## iter 30 value 283.070071
## iter 40 value 250.467581
## iter 50 value 236.907870
## iter 60 value 232.489030
## iter 70 value 231.884616
## iter 80 value 231.847154
## final value 231.847133
## converged
## # weights: 73
## initial value 506.955794
## iter 10 value 243.452514
## iter 20 value 208.620003
## iter 30 value 197.998893
## iter 40 value 193.976867
## iter 50 value 190.956553
## iter 60 value 190.536166
## iter 70 value 183.361681
## iter 80 value 178.681943
## iter 90 value 175.696322
## iter 100 value 175.362226
## final value 175.362226
## stopped after 100 iterations
## # weights: 121
## initial value 538.629387
## iter 10 value 195.096347
## iter 20 value 147.952301
## iter 30 value 134.027910
## iter 40 value 119.028493
## iter 50 value 112.922169
## iter 60 value 111.037193
## iter 70 value 109.924675
## iter 80 value 108.799097
## iter 90 value 108.315697
## iter 100 value 108.002878
## final value 108.002878
## stopped after 100 iterations
## # weights: 25
## initial value 535.217099
## iter 10 value 379.051447
## iter 20 value 259.101991
## iter 30 value 232.907141
## iter 40 value 201.086945
## iter 50 value 196.554364
## iter 60 value 195.338735
## iter 70 value 184.974343
## iter 80 value 183.752700
## iter 90 value 179.178756
## iter 100 value 179.006432
## final value 179.006432
## stopped after 100 iterations
## # weights: 73
## initial value 567.690316
## iter 10 value 243.112711
## iter 20 value 187.173575
## iter 30 value 166.169246
## iter 40 value 153.369911
## iter 50 value 142.641072
## iter 60 value 136.659901
## iter 70 value 135.259100
## iter 80 value 133.954253
## iter 90 value 133.168187
## iter 100 value 132.067705
## final value 132.067705
## stopped after 100 iterations
## # weights: 121
## initial value 621.852655
## iter 10 value 216.079837
## iter 20 value 117.605461
## iter 30 value 72.717599
## iter 40 value 57.169689
## iter 50 value 53.720956
## iter 60 value 50.161053
## iter 70 value 48.478933
## iter 80 value 47.999628
## iter 90 value 47.747083
## iter 100 value 47.316341
## final value 47.316341
## stopped after 100 iterations
## # weights: 25
## initial value 545.685689
## iter 10 value 252.017398
## iter 20 value 219.300527
## iter 30 value 209.765121
## iter 40 value 191.709270
## iter 50 value 181.185455
## iter 60 value 176.421696
## iter 70 value 175.173572
## iter 80 value 172.547516
## iter 90 value 163.731733
## iter 100 value 163.643664
## final value 163.643664
## stopped after 100 iterations
## # weights: 73
## initial value 566.922805
## iter 10 value 223.217563
## iter 20 value 181.277561
## iter 30 value 165.206760
## iter 40 value 157.744917
## iter 50 value 153.994647
## iter 60 value 151.276928
## iter 70 value 147.505630
## iter 80 value 145.595686
## iter 90 value 144.161071
## iter 100 value 143.669255
## final value 143.669255
## stopped after 100 iterations
## # weights: 121
## initial value 596.153965
## iter 10 value 175.115368
## iter 20 value 89.510088
## iter 30 value 52.775753
## iter 40 value 33.068688
## iter 50 value 28.381397
## iter 60 value 27.290450
## iter 70 value 25.302867
## iter 80 value 24.981365
## iter 90 value 24.824371
## iter 100 value 24.667802
## final value 24.667802
## stopped after 100 iterations
## # weights: 25
## initial value 565.615526
## iter 10 value 289.126112
## iter 20 value 236.698860
## iter 30 value 227.869226
## iter 40 value 210.955212
## iter 50 value 203.653990
## iter 60 value 202.724738
## iter 70 value 202.676582
## iter 80 value 202.459539
## iter 90 value 202.410583
## final value 202.409858
## converged
## # weights: 73
## initial value 541.178106
## iter 10 value 234.604129
## iter 20 value 182.236461
## iter 30 value 165.975483
## iter 40 value 154.537403
## iter 50 value 148.174910
## iter 60 value 146.431697
## iter 70 value 146.008486
## iter 80 value 145.384600
## iter 90 value 144.990762
## iter 100 value 144.954549
## final value 144.954549
## stopped after 100 iterations
## # weights: 121
## initial value 505.386647
## iter 10 value 204.794374
## iter 20 value 150.214843
## iter 30 value 121.908112
## iter 40 value 112.241307
## iter 50 value 99.439549
## iter 60 value 91.370458
## iter 70 value 86.928981
## iter 80 value 85.901929
## iter 90 value 85.258647
## iter 100 value 84.893413
## final value 84.893413
## stopped after 100 iterations
## # weights: 25
## initial value 577.734866
## iter 10 value 344.475604
## iter 20 value 286.874667
## iter 30 value 248.937476
## iter 40 value 239.174166
## iter 50 value 228.803876
## iter 60 value 227.685050
## iter 70 value 227.566651
## iter 80 value 227.438805
## iter 90 value 227.432369
## iter 100 value 227.430006
## final value 227.430006
## stopped after 100 iterations
## # weights: 73
## initial value 539.893029
## iter 10 value 232.998519
## iter 20 value 156.494090
## iter 30 value 113.642499
## iter 40 value 94.340188
## iter 50 value 87.260310
## iter 60 value 83.748000
## iter 70 value 82.987386
## iter 80 value 82.531854
## iter 90 value 82.386144
## iter 100 value 82.164667
## final value 82.164667
## stopped after 100 iterations
## # weights: 121
## initial value 503.935457
## iter 10 value 190.921333
## iter 20 value 118.643486
## iter 30 value 76.914000
## iter 40 value 64.959299
## iter 50 value 56.154105
## iter 60 value 54.046976
## iter 70 value 51.144990
## iter 80 value 48.113060
## iter 90 value 47.447985
## iter 100 value 47.079349
## final value 47.079349
## stopped after 100 iterations
## # weights: 25
## initial value 522.019686
## iter 10 value 313.687213
## iter 20 value 215.283278
## iter 30 value 193.580432
## iter 40 value 181.356602
## iter 50 value 172.304206
## iter 60 value 171.954453
## iter 70 value 171.619909
## iter 80 value 170.893309
## iter 90 value 170.817536
## iter 100 value 170.813665
## final value 170.813665
## stopped after 100 iterations
## # weights: 73
## initial value 571.129957
## iter 10 value 221.787072
## iter 20 value 178.463846
## iter 30 value 154.937611
## iter 40 value 135.966040
## iter 50 value 130.184065
## iter 60 value 125.282668
## iter 70 value 123.752372
## iter 80 value 123.446939
## iter 90 value 122.983363
## iter 100 value 122.902694
## final value 122.902694
## stopped after 100 iterations
## # weights: 121
## initial value 531.385187
## iter 10 value 240.408935
## iter 20 value 135.308467
## iter 30 value 93.704713
## iter 40 value 87.703925
## iter 50 value 76.893006
## iter 60 value 73.080257
## iter 70 value 65.290520
## iter 80 value 64.042686
## iter 90 value 63.330230
## iter 100 value 62.968353
## final value 62.968353
## stopped after 100 iterations
## # weights: 25
## initial value 582.804791
## iter 10 value 334.209489
## iter 20 value 251.469132
## iter 30 value 210.928864
## iter 40 value 203.293991
## iter 50 value 202.558072
## iter 60 value 202.555588
## final value 202.555419
## converged
## # weights: 73
## initial value 532.183569
## iter 10 value 243.055135
## iter 20 value 196.868187
## iter 30 value 173.046279
## iter 40 value 162.174232
## iter 50 value 158.883336
## iter 60 value 156.645833
## iter 70 value 152.415808
## iter 80 value 147.255132
## iter 90 value 140.098426
## iter 100 value 138.119879
## final value 138.119879
## stopped after 100 iterations
## # weights: 121
## initial value 530.557380
## iter 10 value 184.946587
## iter 20 value 142.069431
## iter 30 value 116.880036
## iter 40 value 104.597354
## iter 50 value 99.655751
## iter 60 value 98.033591
## iter 70 value 96.663103
## iter 80 value 95.240546
## iter 90 value 92.455378
## iter 100 value 91.349834
## final value 91.349834
## stopped after 100 iterations
## # weights: 25
## initial value 508.293583
## iter 10 value 290.220697
## iter 20 value 214.335933
## iter 30 value 194.944385
## iter 40 value 168.652826
## iter 50 value 162.234133
## iter 60 value 161.341553
## iter 70 value 161.314672
## iter 80 value 161.253524
## iter 90 value 161.200850
## iter 100 value 161.175873
## final value 161.175873
## stopped after 100 iterations
## # weights: 73
## initial value 491.044162
## iter 10 value 177.684441
## iter 20 value 126.020642
## iter 30 value 99.610840
## iter 40 value 89.355666
## iter 50 value 87.295315
## iter 60 value 87.167133
## iter 70 value 87.013727
## iter 80 value 86.905814
## iter 90 value 86.528664
## iter 100 value 86.381528
## final value 86.381528
## stopped after 100 iterations
## # weights: 121
## initial value 484.743905
## iter 10 value 154.433135
## iter 20 value 111.226376
## iter 30 value 89.856943
## iter 40 value 82.143694
## iter 50 value 76.987200
## iter 60 value 71.984295
## iter 70 value 71.418439
## iter 80 value 70.708451
## iter 90 value 70.444773
## iter 100 value 70.290804
## final value 70.290804
## stopped after 100 iterations
## # weights: 121
## initial value 624.539719
## iter 10 value 250.559560
## iter 20 value 185.674225
## iter 30 value 148.040611
## iter 40 value 121.136616
## iter 50 value 109.304502
## iter 60 value 103.801674
## iter 70 value 98.574179
## iter 80 value 97.185464
## iter 90 value 96.322070
## iter 100 value 95.863974
## final value 95.863974
## stopped after 100 iterations
resultado_entrenamiento5 <- predict(modelo5,entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)
#Matriz de Confusión del Resultado del Entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$target)
#Matriz 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)) #Cambiar
)
resultado_entrenamiento6 <- predict(modelo6,entrenamiento)
resultado_prueba6 <- predict(modelo6, prueba)
#Matriz de Confusión del Resultado del Entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$target)
#Matriz 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", "Prescisión de Prueba")
resultados
## svmLinear svmRadial svmPoly rpart nnet rf
## Precisión de Entrenamiento 0.8952497 1 0.8952497 1.0000000 0.9914738 1
## Prescisión de Prueba 0.8921569 1 0.8921569 0.9852941 0.9901961 1
El modelo con el método de Máquina de Vectores de Soporte de subtipo Radial (svmRadial) presenta sobreajuste, ya que tiene una alta precisión en entrenamiento y alta en la prueba, mientras que la base de datos contiene errores.
Acorde al resumen de resultados, el modelo mejor evaluado es el de Máquina de Vectores de Soporte de subtipo Lineal, pues es más sencillo.