El paquete caret (Clasification and regression Training) es un pqeute 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") # Algortimos 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)
##
## 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)
## 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("/Users/yessicaacosta/Downloads/heart.csv")
# file.choose()
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$exang <- as.factor(df$exang)
df$slope <- as.factor(df$slope)
df$thal <- as.factor(df$thal)
df$restecg <- as.factor(df$restecg)
df$ca <- as.factor(df$ca)
plot_missing(df)
** NOTAL 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", # Cambian
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", # Cambian
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", # Cambian
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 = "rpart", # Cambian
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 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", # Cambian
preProcess=c("scale","center"),
trControl = trainControl(method = "cv", number = 10)
# Cambiar
)
## # weights: 25
## initial value 534.715512
## iter 10 value 223.363750
## iter 20 value 209.869954
## iter 30 value 198.570677
## iter 40 value 177.540547
## iter 50 value 177.395285
## final value 177.395138
## converged
## # weights: 73
## initial value 572.745922
## iter 10 value 194.246195
## iter 20 value 152.191711
## iter 30 value 126.614638
## iter 40 value 92.543694
## iter 50 value 78.746555
## iter 60 value 67.755668
## iter 70 value 66.078737
## iter 80 value 64.921140
## iter 90 value 64.707144
## iter 100 value 64.596332
## final value 64.596332
## stopped after 100 iterations
## # weights: 121
## initial value 552.772751
## iter 10 value 190.415083
## iter 20 value 118.504550
## iter 30 value 91.508326
## iter 40 value 85.984039
## iter 50 value 82.755252
## iter 60 value 82.213884
## iter 70 value 81.589103
## iter 80 value 81.273209
## iter 90 value 81.108968
## iter 100 value 80.984541
## final value 80.984541
## stopped after 100 iterations
## # weights: 25
## initial value 532.758179
## iter 10 value 298.830332
## iter 20 value 250.160990
## iter 30 value 222.766098
## iter 40 value 213.792124
## iter 50 value 211.150852
## iter 60 value 210.967881
## iter 70 value 210.947310
## final value 210.941946
## converged
## # weights: 73
## initial value 616.455260
## iter 10 value 220.367230
## iter 20 value 178.688409
## iter 30 value 161.690178
## iter 40 value 154.018812
## iter 50 value 149.620010
## iter 60 value 147.906537
## iter 70 value 146.746374
## iter 80 value 142.285114
## iter 90 value 140.188410
## iter 100 value 140.023100
## final value 140.023100
## stopped after 100 iterations
## # weights: 121
## initial value 545.022132
## iter 10 value 211.260881
## iter 20 value 170.581921
## iter 30 value 139.648122
## iter 40 value 117.500230
## iter 50 value 109.681950
## iter 60 value 107.651362
## iter 70 value 102.899352
## iter 80 value 96.582371
## iter 90 value 94.576403
## iter 100 value 92.591197
## final value 92.591197
## stopped after 100 iterations
## # weights: 25
## initial value 537.456314
## iter 10 value 240.443521
## iter 20 value 222.687610
## iter 30 value 214.577901
## iter 40 value 183.448119
## iter 50 value 175.384834
## iter 60 value 173.731786
## iter 70 value 172.667693
## iter 80 value 172.619775
## iter 90 value 172.461230
## iter 100 value 172.343854
## final value 172.343854
## stopped after 100 iterations
## # weights: 73
## initial value 515.560933
## iter 10 value 204.949223
## iter 20 value 159.397184
## iter 30 value 147.088050
## iter 40 value 139.616109
## iter 50 value 136.316037
## iter 60 value 130.467866
## iter 70 value 128.043107
## iter 80 value 127.993430
## iter 90 value 127.953418
## iter 100 value 127.560573
## final value 127.560573
## stopped after 100 iterations
## # weights: 121
## initial value 485.119713
## iter 10 value 176.720126
## iter 20 value 113.262373
## iter 30 value 79.493830
## iter 40 value 63.600350
## iter 50 value 57.875444
## iter 60 value 55.596528
## iter 70 value 55.118572
## iter 80 value 54.483070
## iter 90 value 53.587280
## iter 100 value 52.605952
## final value 52.605952
## stopped after 100 iterations
## # weights: 25
## initial value 524.413808
## iter 10 value 295.569975
## iter 20 value 217.571715
## iter 30 value 194.948517
## iter 40 value 187.872114
## iter 50 value 181.724110
## iter 60 value 174.102684
## iter 70 value 173.776396
## iter 80 value 171.829884
## iter 90 value 170.111165
## iter 100 value 169.517958
## final value 169.517958
## stopped after 100 iterations
## # weights: 73
## initial value 524.120998
## iter 10 value 212.471264
## iter 20 value 172.690059
## iter 30 value 140.941742
## iter 40 value 126.279258
## iter 50 value 113.987877
## iter 60 value 110.974564
## iter 70 value 109.794099
## iter 80 value 108.107514
## iter 90 value 107.142920
## iter 100 value 106.496539
## final value 106.496539
## stopped after 100 iterations
## # weights: 121
## initial value 547.059822
## iter 10 value 221.311315
## iter 20 value 166.044853
## iter 30 value 129.461313
## iter 40 value 114.292234
## iter 50 value 111.550709
## iter 60 value 108.587919
## iter 70 value 107.733317
## iter 80 value 107.558555
## iter 90 value 107.313288
## iter 100 value 107.278882
## final value 107.278882
## stopped after 100 iterations
## # weights: 25
## initial value 540.296279
## iter 10 value 297.914924
## iter 20 value 236.444748
## iter 30 value 207.296704
## iter 40 value 203.111193
## iter 50 value 203.077087
## final value 203.076976
## converged
## # weights: 73
## initial value 536.723212
## iter 10 value 206.418161
## iter 20 value 175.663989
## iter 30 value 153.396351
## iter 40 value 146.907331
## iter 50 value 136.384178
## iter 60 value 132.605976
## iter 70 value 131.960333
## iter 80 value 131.874042
## iter 90 value 131.872685
## final value 131.872539
## converged
## # weights: 121
## initial value 551.272696
## iter 10 value 189.097449
## iter 20 value 147.268490
## iter 30 value 122.671410
## iter 40 value 107.268407
## iter 50 value 100.484561
## iter 60 value 92.649410
## iter 70 value 83.206523
## iter 80 value 76.720238
## iter 90 value 74.042871
## iter 100 value 72.866357
## final value 72.866357
## stopped after 100 iterations
## # weights: 25
## initial value 515.890725
## iter 10 value 296.723613
## iter 20 value 223.065052
## iter 30 value 215.950306
## iter 40 value 210.458340
## iter 50 value 205.704425
## iter 60 value 194.387688
## iter 70 value 193.372333
## iter 80 value 191.829666
## iter 90 value 190.579366
## iter 100 value 190.568937
## final value 190.568937
## stopped after 100 iterations
## # weights: 73
## initial value 563.534438
## iter 10 value 246.941180
## iter 20 value 183.618271
## iter 30 value 141.671120
## iter 40 value 120.346910
## iter 50 value 115.625041
## iter 60 value 112.064574
## iter 70 value 107.948783
## iter 80 value 107.686302
## iter 90 value 107.155232
## iter 100 value 106.341400
## final value 106.341400
## stopped after 100 iterations
## # weights: 121
## initial value 513.305500
## iter 10 value 150.795079
## iter 20 value 88.198039
## iter 30 value 62.370165
## iter 40 value 52.342423
## iter 50 value 49.453440
## iter 60 value 46.372881
## iter 70 value 44.955874
## iter 80 value 42.524964
## iter 90 value 41.319706
## iter 100 value 41.199054
## final value 41.199054
## stopped after 100 iterations
## # weights: 25
## initial value 530.576334
## iter 10 value 273.812296
## iter 20 value 230.362649
## iter 30 value 213.487875
## iter 40 value 190.047267
## iter 50 value 184.808654
## iter 60 value 184.797714
## final value 184.797642
## converged
## # weights: 73
## initial value 524.549909
## iter 10 value 224.223441
## iter 20 value 171.688857
## iter 30 value 145.659287
## iter 40 value 133.859118
## iter 50 value 131.235786
## iter 60 value 129.271180
## iter 70 value 128.287737
## iter 80 value 127.968055
## iter 90 value 127.651321
## iter 100 value 127.131750
## final value 127.131750
## stopped after 100 iterations
## # weights: 121
## initial value 561.614928
## iter 10 value 168.924128
## iter 20 value 121.510553
## iter 30 value 93.639358
## iter 40 value 84.681283
## iter 50 value 78.413660
## iter 60 value 76.552322
## iter 70 value 75.446137
## iter 80 value 75.248353
## iter 90 value 75.063709
## iter 100 value 75.031249
## final value 75.031249
## stopped after 100 iterations
## # weights: 25
## initial value 512.561986
## iter 10 value 302.881228
## iter 20 value 260.945723
## iter 30 value 216.968473
## iter 40 value 206.127158
## iter 50 value 200.709312
## iter 60 value 200.608473
## iter 70 value 200.544339
## final value 200.537956
## converged
## # weights: 73
## initial value 545.405531
## iter 10 value 215.790810
## iter 20 value 185.017753
## iter 30 value 158.774358
## iter 40 value 144.323270
## iter 50 value 135.396610
## iter 60 value 132.940858
## iter 70 value 131.698254
## iter 80 value 131.264332
## iter 90 value 131.163203
## iter 100 value 131.084761
## final value 131.084761
## stopped after 100 iterations
## # weights: 121
## initial value 671.606874
## iter 10 value 182.491812
## iter 20 value 149.613896
## iter 30 value 138.626112
## iter 40 value 125.912307
## iter 50 value 116.779793
## iter 60 value 114.292329
## iter 70 value 99.436411
## iter 80 value 94.826645
## iter 90 value 90.191511
## iter 100 value 88.029433
## final value 88.029433
## stopped after 100 iterations
## # weights: 25
## initial value 528.043339
## iter 10 value 244.870616
## iter 20 value 201.635439
## iter 30 value 188.794163
## iter 40 value 173.448760
## iter 50 value 172.059521
## iter 60 value 171.916033
## iter 70 value 171.625049
## iter 80 value 171.576975
## iter 90 value 171.545543
## iter 100 value 171.493613
## final value 171.493613
## stopped after 100 iterations
## # weights: 73
## initial value 657.506520
## iter 10 value 190.289177
## iter 20 value 144.672084
## iter 30 value 129.545717
## iter 40 value 110.468785
## iter 50 value 104.403905
## iter 60 value 102.945794
## iter 70 value 102.473290
## iter 80 value 102.108009
## iter 90 value 101.902326
## iter 100 value 100.896278
## final value 100.896278
## stopped after 100 iterations
## # weights: 121
## initial value 526.225241
## iter 10 value 208.370011
## iter 20 value 123.114124
## iter 30 value 76.897954
## iter 40 value 58.387977
## iter 50 value 47.700504
## iter 60 value 44.996865
## iter 70 value 44.251733
## iter 80 value 43.823836
## iter 90 value 35.444175
## iter 100 value 31.989270
## final value 31.989270
## stopped after 100 iterations
## # weights: 25
## initial value 496.906661
## iter 10 value 227.927278
## iter 20 value 204.826169
## iter 30 value 195.942716
## iter 40 value 170.735448
## iter 50 value 159.636670
## iter 60 value 159.571738
## iter 70 value 159.564456
## iter 80 value 159.561491
## iter 90 value 159.561266
## iter 100 value 159.561047
## final value 159.561047
## stopped after 100 iterations
## # weights: 73
## initial value 534.209669
## iter 10 value 199.713573
## iter 20 value 151.862104
## iter 30 value 130.706034
## iter 40 value 121.202323
## iter 50 value 114.706192
## iter 60 value 111.864043
## iter 70 value 107.815705
## iter 80 value 106.800457
## iter 90 value 106.704295
## final value 106.703846
## converged
## # weights: 121
## initial value 513.609801
## iter 10 value 127.826039
## iter 20 value 62.397927
## iter 30 value 48.923657
## iter 40 value 44.048908
## iter 50 value 42.678562
## iter 60 value 41.025312
## iter 70 value 39.196342
## iter 80 value 38.717320
## iter 90 value 38.489912
## iter 100 value 38.028352
## final value 38.028352
## stopped after 100 iterations
## # weights: 25
## initial value 518.151021
## iter 10 value 318.678096
## iter 20 value 241.945332
## iter 30 value 229.638357
## iter 40 value 215.367969
## iter 50 value 206.469115
## iter 60 value 206.251369
## final value 206.251364
## converged
## # weights: 73
## initial value 530.833849
## iter 10 value 338.128042
## iter 20 value 270.513062
## iter 30 value 221.510693
## iter 40 value 178.916613
## iter 50 value 158.169247
## iter 60 value 154.261671
## iter 70 value 153.263984
## iter 80 value 152.546474
## iter 90 value 151.021312
## iter 100 value 150.566526
## final value 150.566526
## stopped after 100 iterations
## # weights: 121
## initial value 565.658486
## iter 10 value 280.189051
## iter 20 value 196.660781
## iter 30 value 143.227586
## iter 40 value 117.647916
## iter 50 value 103.919585
## iter 60 value 94.168347
## iter 70 value 86.161119
## iter 80 value 81.207663
## iter 90 value 78.711033
## iter 100 value 77.422134
## final value 77.422134
## stopped after 100 iterations
## # weights: 25
## initial value 558.963055
## iter 10 value 299.302652
## iter 20 value 227.724495
## iter 30 value 214.949887
## iter 40 value 211.230070
## iter 50 value 211.113770
## iter 60 value 207.671636
## iter 70 value 207.470569
## iter 80 value 207.428718
## iter 90 value 207.424090
## iter 100 value 207.423017
## final value 207.423017
## stopped after 100 iterations
## # weights: 73
## initial value 555.065998
## iter 10 value 180.867594
## iter 20 value 127.554671
## iter 30 value 97.180965
## iter 40 value 87.305561
## iter 50 value 85.099076
## iter 60 value 84.642955
## iter 70 value 84.184183
## iter 80 value 83.930768
## iter 90 value 83.197667
## iter 100 value 82.844332
## final value 82.844332
## stopped after 100 iterations
## # weights: 121
## initial value 535.930796
## iter 10 value 172.540069
## iter 20 value 106.929591
## iter 30 value 71.405229
## iter 40 value 53.528710
## iter 50 value 49.097767
## iter 60 value 41.476911
## iter 70 value 39.775294
## iter 80 value 32.149601
## iter 90 value 24.982169
## iter 100 value 24.034241
## final value 24.034241
## stopped after 100 iterations
## # weights: 25
## initial value 514.080659
## iter 10 value 268.555888
## iter 20 value 227.994652
## iter 30 value 213.904593
## iter 40 value 205.291511
## iter 50 value 196.076685
## iter 60 value 192.252637
## iter 70 value 189.517954
## iter 80 value 185.095985
## iter 90 value 176.724053
## iter 100 value 176.683031
## final value 176.683031
## stopped after 100 iterations
## # weights: 73
## initial value 510.682499
## iter 10 value 179.887314
## iter 20 value 127.635941
## iter 30 value 106.375525
## iter 40 value 97.626447
## iter 50 value 89.293499
## iter 60 value 87.930155
## iter 70 value 87.918810
## final value 87.918765
## converged
## # weights: 121
## initial value 534.557153
## iter 10 value 192.055188
## iter 20 value 106.471874
## iter 30 value 68.157389
## iter 40 value 60.303054
## iter 50 value 57.888174
## iter 60 value 56.108330
## iter 70 value 52.631391
## iter 80 value 52.311097
## iter 90 value 51.221134
## iter 100 value 50.179493
## final value 50.179493
## stopped after 100 iterations
## # weights: 25
## initial value 586.762145
## iter 10 value 279.756970
## iter 20 value 238.839745
## iter 30 value 222.078970
## iter 40 value 219.375113
## iter 50 value 218.660685
## iter 60 value 218.505140
## iter 70 value 213.041871
## iter 80 value 212.591090
## iter 90 value 212.541483
## final value 212.541418
## converged
## # weights: 73
## initial value 537.824697
## iter 10 value 222.473142
## iter 20 value 195.134011
## iter 30 value 169.929303
## iter 40 value 151.462068
## iter 50 value 143.005184
## iter 60 value 142.089657
## iter 70 value 141.677336
## iter 80 value 141.550118
## iter 90 value 141.535187
## iter 100 value 141.534488
## final value 141.534488
## stopped after 100 iterations
## # weights: 121
## initial value 523.052725
## iter 10 value 234.813273
## iter 20 value 151.115173
## iter 30 value 116.206558
## iter 40 value 105.017422
## iter 50 value 97.891829
## iter 60 value 93.755609
## iter 70 value 91.023653
## iter 80 value 89.234505
## iter 90 value 88.982824
## iter 100 value 88.826263
## final value 88.826263
## stopped after 100 iterations
## # weights: 25
## initial value 577.005987
## iter 10 value 243.205547
## iter 20 value 210.027134
## iter 30 value 198.598464
## iter 40 value 176.594694
## iter 50 value 175.697600
## iter 60 value 175.370267
## iter 70 value 175.271829
## iter 80 value 175.258453
## iter 90 value 175.246010
## iter 100 value 175.228476
## final value 175.228476
## stopped after 100 iterations
## # weights: 73
## initial value 567.383546
## iter 10 value 217.054749
## iter 20 value 163.272972
## iter 30 value 148.189837
## iter 40 value 142.441783
## iter 50 value 140.360317
## iter 60 value 138.386061
## iter 70 value 137.306698
## iter 80 value 137.039420
## iter 90 value 131.650593
## iter 100 value 131.544227
## final value 131.544227
## stopped after 100 iterations
## # weights: 121
## initial value 580.015084
## iter 10 value 175.219350
## iter 20 value 83.818059
## iter 30 value 51.814087
## iter 40 value 44.824881
## iter 50 value 41.480529
## iter 60 value 40.473464
## iter 70 value 40.042688
## iter 80 value 39.753456
## iter 90 value 39.568942
## iter 100 value 39.255638
## final value 39.255638
## stopped after 100 iterations
## # weights: 25
## initial value 519.997176
## iter 10 value 337.293526
## iter 20 value 237.014623
## iter 30 value 215.088561
## iter 40 value 212.545772
## iter 50 value 204.735089
## iter 60 value 192.552718
## iter 70 value 175.678167
## iter 80 value 174.270310
## iter 90 value 161.104875
## iter 100 value 159.920089
## final value 159.920089
## stopped after 100 iterations
## # weights: 73
## initial value 532.030675
## iter 10 value 266.200230
## iter 20 value 179.194837
## iter 30 value 146.521497
## iter 40 value 136.482376
## iter 50 value 131.371840
## iter 60 value 126.793254
## iter 70 value 118.170103
## iter 80 value 116.165314
## iter 90 value 113.316294
## iter 100 value 110.244690
## final value 110.244690
## stopped after 100 iterations
## # weights: 121
## initial value 506.627907
## iter 10 value 192.330945
## iter 20 value 127.738074
## iter 30 value 86.905957
## iter 40 value 67.978807
## iter 50 value 64.471510
## iter 60 value 62.819120
## iter 70 value 62.368602
## iter 80 value 62.344585
## iter 90 value 62.317365
## iter 100 value 62.006043
## final value 62.006043
## stopped after 100 iterations
## # weights: 25
## initial value 531.998317
## iter 10 value 316.540442
## iter 20 value 259.026321
## iter 30 value 232.489630
## iter 40 value 209.374541
## iter 50 value 204.875161
## iter 60 value 204.688415
## iter 70 value 204.636980
## final value 204.634356
## converged
## # weights: 73
## initial value 513.857827
## iter 10 value 260.197927
## iter 20 value 206.205019
## iter 30 value 178.847820
## iter 40 value 156.926288
## iter 50 value 146.791836
## iter 60 value 142.252923
## iter 70 value 139.017873
## iter 80 value 137.699279
## iter 90 value 137.463740
## iter 100 value 137.444569
## final value 137.444569
## stopped after 100 iterations
## # weights: 121
## initial value 531.701345
## iter 10 value 203.279757
## iter 20 value 132.176512
## iter 30 value 99.361285
## iter 40 value 80.392178
## iter 50 value 73.665138
## iter 60 value 71.350142
## iter 70 value 69.437480
## iter 80 value 68.213945
## iter 90 value 67.502894
## iter 100 value 66.286726
## final value 66.286726
## stopped after 100 iterations
## # weights: 25
## initial value 520.025084
## iter 10 value 293.197464
## iter 20 value 238.167433
## iter 30 value 216.126975
## iter 40 value 202.923973
## iter 50 value 189.376344
## iter 60 value 188.782848
## iter 70 value 188.586691
## iter 80 value 188.550752
## iter 90 value 188.533234
## iter 100 value 188.511786
## final value 188.511786
## stopped after 100 iterations
## # weights: 73
## initial value 549.276565
## iter 10 value 202.424577
## iter 20 value 120.498977
## iter 30 value 100.218470
## iter 40 value 85.569796
## iter 50 value 82.218717
## iter 60 value 80.805077
## iter 70 value 76.670669
## iter 80 value 76.100468
## iter 90 value 75.950664
## iter 100 value 75.837156
## final value 75.837156
## stopped after 100 iterations
## # weights: 121
## initial value 486.801109
## iter 10 value 162.586173
## iter 20 value 92.472285
## iter 30 value 63.280457
## iter 40 value 58.375504
## iter 50 value 56.479074
## iter 60 value 56.166020
## iter 70 value 56.034755
## iter 80 value 49.839033
## iter 90 value 47.800762
## iter 100 value 47.738452
## final value 47.738452
## stopped after 100 iterations
## # weights: 25
## initial value 515.321427
## iter 10 value 374.746642
## iter 20 value 264.816557
## iter 30 value 217.620535
## iter 40 value 199.793830
## iter 50 value 172.772090
## iter 60 value 168.882395
## iter 70 value 168.783296
## iter 80 value 168.738056
## iter 90 value 168.722188
## iter 100 value 168.714845
## final value 168.714845
## stopped after 100 iterations
## # weights: 73
## initial value 572.217448
## iter 10 value 254.080902
## iter 20 value 186.652289
## iter 30 value 163.244201
## iter 40 value 141.023444
## iter 50 value 134.881446
## iter 60 value 132.591317
## iter 70 value 125.240607
## iter 80 value 125.084670
## iter 90 value 125.028531
## iter 100 value 124.998703
## final value 124.998703
## stopped after 100 iterations
## # weights: 121
## initial value 526.567787
## iter 10 value 177.428831
## iter 20 value 109.604681
## iter 30 value 80.034681
## iter 40 value 71.246729
## iter 50 value 67.295835
## iter 60 value 61.091073
## iter 70 value 57.646852
## iter 80 value 56.382133
## iter 90 value 55.321054
## iter 100 value 54.170684
## final value 54.170684
## stopped after 100 iterations
## # weights: 25
## initial value 510.269611
## iter 10 value 240.884378
## iter 20 value 221.021402
## iter 30 value 213.662528
## iter 40 value 212.891130
## final value 212.890763
## converged
## # weights: 73
## initial value 633.717883
## iter 10 value 335.115868
## iter 20 value 221.363186
## iter 30 value 186.382241
## iter 40 value 154.570270
## iter 50 value 141.029164
## iter 60 value 133.763365
## iter 70 value 130.569600
## iter 80 value 125.288191
## iter 90 value 124.408629
## iter 100 value 124.269476
## final value 124.269476
## stopped after 100 iterations
## # weights: 121
## initial value 519.420760
## iter 10 value 202.494150
## iter 20 value 153.513345
## iter 30 value 132.994726
## iter 40 value 125.035358
## iter 50 value 122.480473
## iter 60 value 121.654446
## iter 70 value 121.533779
## iter 80 value 121.415922
## iter 90 value 118.241332
## iter 100 value 108.877918
## final value 108.877918
## stopped after 100 iterations
## # weights: 25
## initial value 534.337762
## iter 10 value 304.298241
## iter 20 value 269.384794
## iter 30 value 247.819230
## iter 40 value 235.887302
## iter 50 value 223.871379
## iter 60 value 221.359784
## iter 70 value 218.882279
## iter 80 value 218.841898
## iter 90 value 218.835967
## iter 100 value 218.835073
## final value 218.835073
## stopped after 100 iterations
## # weights: 73
## initial value 545.502747
## iter 10 value 285.531002
## iter 20 value 222.690559
## iter 30 value 178.709869
## iter 40 value 169.416660
## iter 50 value 161.293922
## iter 60 value 154.744867
## iter 70 value 151.961957
## iter 80 value 151.707400
## iter 90 value 151.489054
## iter 100 value 148.683820
## final value 148.683820
## stopped after 100 iterations
## # weights: 121
## initial value 546.052860
## iter 10 value 208.491524
## iter 20 value 116.493820
## iter 30 value 60.958446
## iter 40 value 45.114528
## iter 50 value 39.890971
## iter 60 value 34.546262
## iter 70 value 31.457757
## iter 80 value 28.158167
## iter 90 value 27.039745
## iter 100 value 26.711172
## final value 26.711172
## stopped after 100 iterations
## # weights: 25
## initial value 514.188818
## iter 10 value 284.843848
## iter 20 value 241.746632
## iter 30 value 226.575339
## iter 40 value 216.855770
## iter 50 value 213.619677
## iter 60 value 208.142256
## iter 70 value 206.641635
## iter 80 value 200.500890
## iter 90 value 195.762752
## iter 100 value 195.634168
## final value 195.634168
## stopped after 100 iterations
## # weights: 73
## initial value 507.590751
## iter 10 value 204.139765
## iter 20 value 151.372138
## iter 30 value 128.860421
## iter 40 value 115.145026
## iter 50 value 110.394294
## iter 60 value 108.504177
## iter 70 value 99.298416
## iter 80 value 97.902363
## iter 90 value 97.054749
## iter 100 value 96.740721
## final value 96.740721
## stopped after 100 iterations
## # weights: 121
## initial value 642.257183
## iter 10 value 177.785884
## iter 20 value 113.151299
## iter 30 value 80.971671
## iter 40 value 72.881241
## iter 50 value 70.038134
## iter 60 value 69.593229
## iter 70 value 69.552396
## iter 80 value 69.550653
## iter 90 value 69.549159
## iter 100 value 69.548639
## final value 69.548639
## stopped after 100 iterations
## # weights: 25
## initial value 493.834895
## iter 10 value 296.809643
## iter 20 value 232.191490
## iter 30 value 213.748731
## iter 40 value 211.396039
## iter 50 value 211.133742
## iter 60 value 211.132134
## iter 70 value 211.132070
## final value 211.132045
## converged
## # weights: 73
## initial value 499.668010
## iter 10 value 195.434887
## iter 20 value 177.953076
## iter 30 value 169.915107
## iter 40 value 165.354536
## iter 50 value 163.766019
## iter 60 value 163.196369
## iter 70 value 163.147981
## iter 80 value 163.143525
## final value 163.143362
## converged
## # weights: 121
## initial value 659.457381
## iter 10 value 221.448783
## iter 20 value 160.962283
## iter 30 value 130.930886
## iter 40 value 110.781236
## iter 50 value 105.351200
## iter 60 value 102.198898
## iter 70 value 99.486816
## iter 80 value 92.378230
## iter 90 value 83.236206
## iter 100 value 81.571273
## final value 81.571273
## stopped after 100 iterations
## # weights: 25
## initial value 541.077503
## iter 10 value 274.109078
## iter 20 value 241.264534
## iter 30 value 215.108242
## iter 40 value 203.156383
## iter 50 value 183.714258
## iter 60 value 183.349988
## iter 70 value 183.230116
## iter 80 value 183.183624
## iter 90 value 183.143481
## iter 100 value 183.050446
## final value 183.050446
## stopped after 100 iterations
## # weights: 73
## initial value 523.529199
## iter 10 value 207.785244
## iter 20 value 152.316322
## iter 30 value 127.302669
## iter 40 value 123.506949
## iter 50 value 120.328963
## iter 60 value 112.974902
## iter 70 value 109.948800
## iter 80 value 106.229203
## iter 90 value 104.355251
## iter 100 value 103.824797
## final value 103.824797
## stopped after 100 iterations
## # weights: 121
## initial value 482.884400
## iter 10 value 174.096457
## iter 20 value 119.073191
## iter 30 value 81.497925
## iter 40 value 76.493081
## iter 50 value 75.006680
## iter 60 value 74.324558
## iter 70 value 72.964427
## iter 80 value 72.187138
## iter 90 value 71.731750
## iter 100 value 71.594790
## final value 71.594790
## stopped after 100 iterations
## # weights: 25
## initial value 536.081896
## iter 10 value 276.490457
## iter 20 value 203.553763
## iter 30 value 186.245891
## iter 40 value 173.240115
## iter 50 value 168.305256
## iter 60 value 168.268019
## final value 168.267957
## converged
## # weights: 73
## initial value 534.842360
## iter 10 value 204.487422
## iter 20 value 163.482965
## iter 30 value 142.077628
## iter 40 value 130.803010
## iter 50 value 120.021725
## iter 60 value 111.420325
## iter 70 value 111.207750
## iter 80 value 111.202433
## final value 111.202337
## converged
## # weights: 121
## initial value 542.961146
## iter 10 value 166.950905
## iter 20 value 91.296277
## iter 30 value 69.961984
## iter 40 value 62.758711
## iter 50 value 59.420609
## iter 60 value 57.038624
## iter 70 value 55.251056
## iter 80 value 54.270605
## iter 90 value 53.959923
## iter 100 value 53.927938
## final value 53.927938
## stopped after 100 iterations
## # weights: 25
## initial value 515.267926
## iter 10 value 246.345973
## iter 20 value 213.836030
## iter 30 value 208.739181
## iter 40 value 204.212142
## iter 50 value 204.105596
## final value 204.105120
## converged
## # weights: 73
## initial value 625.309381
## iter 10 value 264.146252
## iter 20 value 217.948834
## iter 30 value 198.883808
## iter 40 value 176.291449
## iter 50 value 166.051322
## iter 60 value 164.630502
## iter 70 value 164.405111
## iter 80 value 163.375309
## iter 90 value 163.154796
## final value 163.154530
## converged
## # weights: 121
## initial value 599.183888
## iter 10 value 236.624956
## iter 20 value 167.261292
## iter 30 value 128.163768
## iter 40 value 114.274397
## iter 50 value 110.065972
## iter 60 value 97.949946
## iter 70 value 93.781613
## iter 80 value 93.222554
## iter 90 value 93.188822
## iter 100 value 93.185487
## final value 93.185487
## stopped after 100 iterations
## # weights: 25
## initial value 561.034656
## iter 10 value 258.618270
## iter 20 value 212.124442
## iter 30 value 194.052153
## iter 40 value 177.370931
## iter 50 value 174.933004
## iter 60 value 174.698747
## iter 70 value 174.651941
## iter 80 value 174.644548
## iter 90 value 172.886192
## iter 100 value 172.443430
## final value 172.443430
## stopped after 100 iterations
## # weights: 73
## initial value 552.988008
## iter 10 value 221.226391
## iter 20 value 177.487820
## iter 30 value 165.108687
## iter 40 value 156.678674
## iter 50 value 134.414061
## iter 60 value 124.006524
## iter 70 value 123.304463
## iter 80 value 123.174838
## iter 90 value 122.351417
## iter 100 value 122.020040
## final value 122.020040
## stopped after 100 iterations
## # weights: 121
## initial value 655.149948
## iter 10 value 215.334889
## iter 20 value 148.191549
## iter 30 value 100.220154
## iter 40 value 78.203750
## iter 50 value 59.669982
## iter 60 value 53.887859
## iter 70 value 50.365585
## iter 80 value 49.623449
## iter 90 value 49.428719
## iter 100 value 48.975412
## final value 48.975412
## stopped after 100 iterations
## # weights: 25
## initial value 521.395089
## iter 10 value 298.188677
## iter 20 value 227.343413
## iter 30 value 207.160393
## iter 40 value 193.771924
## iter 50 value 175.744701
## iter 60 value 174.513642
## iter 70 value 174.439729
## iter 80 value 174.417240
## iter 90 value 174.412429
## iter 100 value 174.411093
## final value 174.411093
## stopped after 100 iterations
## # weights: 73
## initial value 542.939486
## iter 10 value 201.122631
## iter 20 value 152.103509
## iter 30 value 122.539904
## iter 40 value 112.992128
## iter 50 value 111.537628
## iter 60 value 111.425610
## iter 70 value 111.417146
## iter 80 value 111.416119
## iter 90 value 111.415499
## iter 100 value 111.414872
## final value 111.414872
## stopped after 100 iterations
## # weights: 121
## initial value 505.063995
## iter 10 value 195.179821
## iter 20 value 138.949242
## iter 30 value 105.517771
## iter 40 value 95.531611
## iter 50 value 93.449423
## iter 60 value 91.974573
## iter 70 value 91.567722
## iter 80 value 91.023346
## iter 90 value 90.132921
## iter 100 value 89.713256
## final value 89.713256
## stopped after 100 iterations
## # weights: 25
## initial value 559.491374
## iter 10 value 236.028240
## iter 20 value 221.230015
## iter 30 value 215.652727
## iter 40 value 210.407669
## iter 50 value 208.772030
## iter 60 value 208.683838
## iter 60 value 208.683837
## iter 60 value 208.683837
## final value 208.683837
## converged
## # weights: 73
## initial value 579.569202
## iter 10 value 241.235821
## iter 20 value 201.161203
## iter 30 value 160.408181
## iter 40 value 150.538191
## iter 50 value 145.079949
## iter 60 value 143.857389
## iter 70 value 142.063201
## iter 80 value 132.961482
## iter 90 value 127.572778
## iter 100 value 125.252312
## final value 125.252312
## stopped after 100 iterations
## # weights: 121
## initial value 560.419386
## iter 10 value 183.624095
## iter 20 value 140.774385
## iter 30 value 130.152412
## iter 40 value 122.745435
## iter 50 value 118.598039
## iter 60 value 115.153661
## iter 70 value 109.489112
## iter 80 value 107.441487
## iter 90 value 102.719389
## iter 100 value 91.863748
## final value 91.863748
## stopped after 100 iterations
## # weights: 25
## initial value 488.627550
## iter 10 value 312.999827
## iter 20 value 272.858216
## iter 30 value 265.197504
## iter 40 value 262.641016
## iter 50 value 259.691543
## iter 60 value 252.911499
## iter 70 value 252.688698
## iter 80 value 252.578613
## iter 90 value 248.992990
## iter 100 value 248.958950
## final value 248.958950
## stopped after 100 iterations
## # weights: 73
## initial value 712.924277
## iter 10 value 256.041194
## iter 20 value 178.773677
## iter 30 value 136.959333
## iter 40 value 114.991123
## iter 50 value 110.118785
## iter 60 value 103.324028
## iter 70 value 100.700438
## iter 80 value 100.123497
## iter 90 value 98.877298
## iter 100 value 97.810751
## final value 97.810751
## stopped after 100 iterations
## # weights: 121
## initial value 516.686136
## iter 10 value 195.120076
## iter 20 value 95.899424
## iter 30 value 58.357049
## iter 40 value 42.613375
## iter 50 value 40.748384
## iter 60 value 40.057328
## iter 70 value 39.877527
## iter 80 value 39.658279
## iter 90 value 39.542781
## iter 100 value 39.507586
## final value 39.507586
## stopped after 100 iterations
## # weights: 121
## initial value 594.845601
## iter 10 value 201.099983
## iter 20 value 145.716833
## iter 30 value 122.488082
## iter 40 value 108.993378
## iter 50 value 100.363507
## iter 60 value 92.713815
## iter 70 value 89.727722
## iter 80 value 88.625205
## iter 90 value 87.353123
## iter 100 value 86.757997
## final value 86.757997
## 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", # Cambian
preProcess=c("scale","center"),
tuneGrid = expand.grid(mtry = c(2,4,6))# Cambiar
)
resultado_entrenamiento6 <- predict(modelo6, entrenamiento)
resultado_prueba6 <- predict(modelo5,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", "Precisión de Prueba")
resultados
## svmLinear svmRadial svmPoly rpart nnet rf
## Precisión de Entrenamiento 0.8952497 1 0.8952497 0.8745432 0.9866017 1
## Precisión de Prueba 0.8921569 1 0.8921569 0.8431373 1.0000000 1
El modelo con el método de bosques aleatorios (rf) presenta sobreajuste, ya que tiene una alta precisión en entrenamiento, pero baja en prueba.
Acorde al resumen de resultados, el modelo mejor evaluado es el de Máquina de Vectores de Soporte Lineal.