Teoría

El paquete CARET (Classsiffication And Regression Training) es un paquete integral con una amplia variedad de algoritmos paara el aprendizaje automático.

Instalar paquetes y llamar librerías

#install.packages("caret") # Algoritmos de aprendizaje automatico
library(caret)
## Cargando paquete requerido: ggplot2
## Cargando paquete requerido: lattice
#install.packages("ggplot2") # Gáficas
library(ggplot2)
#install.packages("lattice") # Crear gráficos
library(lattice)
#install.packages("datasets") # Usar bases de datos precargadas
library(datasets)
#install.packages("DataExplorer") # Análisis Descriptivo
library(DataExplorer)
#install.packages("kernlab") 
library(kernlab)
## 
## Adjuntando el paquete: 'kernlab'
## The following object is masked from 'package:ggplot2':
## 
##     alpha
#install.packages("randomForest") 
library(randomForest)
## randomForest 4.7-1.2
## Type rfNews() to see new features/changes/bug fixes.
## 
## Adjuntando el paquete: 'randomForest'
## The following object is masked from 'package:ggplot2':
## 
##     margin

Cargar la base de datos

df <- data.frame(iris)

Entender la base de datos

summary(df)
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300  
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
##        Species  
##  setosa    :50  
##  versicolor:50  
##  virginica :50  
##                 
##                 
## 
str(df)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
# create report(df)
plot_missing(df)

plot_histogram(df)

plot_correlation(df)

NOTA: En modelos de clasificación, la variable que queremos predecir debe de tener formato de FACTOR

Partir la base

set.seed(123)
renglones_entrenamiento <- createDataPartition(df$Species, p=0.8, list=FALSE)
entrenamiento <- df[renglones_entrenamiento, ]
prueba <- df[-renglones_entrenamiento, ]

Distintos tipos de Métodos para Modelar

Los métodos más utilizados para modelar aprendizaje automático son:

  • SVM: Support Vector Machine o Máquina de Vectores de Soporte. Hay varios subtipos: Lineal (svmLinear), Radial (svRadial), Polinómico (svmPoly), etc.
  • Árbol de Decisión: rpart
  • Redes Neuronales: nnet
  • Random Forest o Bosques Aleatorios: rf

Modelo 1. SVM Lineal

modelo1 <- train( Species ~ .,data = entrenamiento,
  method = "svmLinear",
  preProcess = c("scale", "center"),
  trControl = trainControl(method = "cv", number = 10),
  tuneGrid = data.frame(C = 1)
)


resultado_entrenamiento1 <- predict(modelo1,entrenamiento)
resultado_prueba1 <- predict(modelo1, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

# Matriz de Confusión del Resultado del Entrenamiento
mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$Species)
mcre1
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         39         0
##   virginica       0          1        40
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9917          
##                  95% CI : (0.9544, 0.9998)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9875          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9750           1.0000
## Specificity                 1.0000            1.0000           0.9875
## Pos Pred Value              1.0000            1.0000           0.9756
## Neg Pred Value              1.0000            0.9877           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3250           0.3333
## Detection Prevalence        0.3333            0.3250           0.3417
## Balanced Accuracy           1.0000            0.9875           0.9938
# Matriz de Confusión del Resultado de la Prueba
mcrp1 <- confusionMatrix(resultado_prueba1, prueba$Species)
mcrp1
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0         10         1
##   virginica       0          0         9
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9667          
##                  95% CI : (0.8278, 0.9992)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 2.963e-13       
##                                           
##                   Kappa : 0.95            
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.9000
## Specificity                 1.0000            0.9500           1.0000
## Pos Pred Value              1.0000            0.9091           1.0000
## Neg Pred Value              1.0000            1.0000           0.9524
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.3000
## Detection Prevalence        0.3333            0.3667           0.3000
## Balanced Accuracy           1.0000            0.9750           0.9500

Modelo 2. SVM Radial

modelo2 <- train( Species ~ .,data = entrenamiento,
  method = "svmRadial",
  preProcess = c("scale", "center"),
  trControl = trainControl(method = "cv", number = 10),
  tuneGrid = data.frame(sigma=1,C = 1)
)


resultado_entrenamiento2 <- predict(modelo2,entrenamiento)
resultado_prueba2 <- predict(modelo2, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

# Matriz de Confusión del Resultado del Entrenamiento
mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$Species)
mcre2
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         39         0
##   virginica       0          1        40
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9917          
##                  95% CI : (0.9544, 0.9998)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9875          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9750           1.0000
## Specificity                 1.0000            1.0000           0.9875
## Pos Pred Value              1.0000            1.0000           0.9756
## Neg Pred Value              1.0000            0.9877           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3250           0.3333
## Detection Prevalence        0.3333            0.3250           0.3417
## Balanced Accuracy           1.0000            0.9875           0.9938
# Matriz de Confusión del Resultado de la Prueba
mcrp2 <- confusionMatrix(resultado_prueba2, prueba$Species)
mcrp2
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0         10         2
##   virginica       0          0         8
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9333          
##                  95% CI : (0.7793, 0.9918)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 8.747e-12       
##                                           
##                   Kappa : 0.9             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.8000
## Specificity                 1.0000            0.9000           1.0000
## Pos Pred Value              1.0000            0.8333           1.0000
## Neg Pred Value              1.0000            1.0000           0.9091
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.2667
## Detection Prevalence        0.3333            0.4000           0.2667
## Balanced Accuracy           1.0000            0.9500           0.9000

Modelo 3. SVM Polinómico

modelo3 <- train( Species ~ .,data = entrenamiento,
  method = "svmPoly",
  preProcess = c("scale", "center"),
  trControl = trainControl(method = "cv", number = 10),
  tuneGride = data.frame(degree=1, scale=1, C = 1) #Cambiar
)


resultado_entrenamiento3 <- predict(modelo3,entrenamiento)
resultado_prueba3 <- predict(modelo3, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

# Matriz de Confusión del Resultado del Entrenamiento
mcre3 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$Species)
mcre3
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         39         0
##   virginica       0          1        40
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9917          
##                  95% CI : (0.9544, 0.9998)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9875          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9750           1.0000
## Specificity                 1.0000            1.0000           0.9875
## Pos Pred Value              1.0000            1.0000           0.9756
## Neg Pred Value              1.0000            0.9877           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3250           0.3333
## Detection Prevalence        0.3333            0.3250           0.3417
## Balanced Accuracy           1.0000            0.9875           0.9938
# Matriz de Confusión del Resultado de la Prueba
mcrp3 <- confusionMatrix(resultado_prueba2, prueba$Species)
mcrp3
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0         10         2
##   virginica       0          0         8
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9333          
##                  95% CI : (0.7793, 0.9918)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 8.747e-12       
##                                           
##                   Kappa : 0.9             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.8000
## Specificity                 1.0000            0.9000           1.0000
## Pos Pred Value              1.0000            0.8333           1.0000
## Neg Pred Value              1.0000            1.0000           0.9091
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.2667
## Detection Prevalence        0.3333            0.4000           0.2667
## Balanced Accuracy           1.0000            0.9500           0.9000

Modelo 4. Árbol de Decisión

modelo4 <- train(Species~., data=entrenamiento,
                 method="rpart", #se cambia metodo para cambiar modelo
                 preProcess=c("scale", "center"),
                 trControl= trainControl(method = "CV", number = 10),
                 tuneLength = 10 #se pueden cambiar parametros
                 )
resultado_entrenamiento4 <- predict(modelo4,entrenamiento)
resultado_prueba4 <- predict(modelo4, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

# Matriz de Confusión del Resultado del Entrenamiento
mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$Species)
mcre4
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         39         3
##   virginica       0          1        37
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9667          
##                  95% CI : (0.9169, 0.9908)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.95            
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9750           0.9250
## Specificity                 1.0000            0.9625           0.9875
## Pos Pred Value              1.0000            0.9286           0.9737
## Neg Pred Value              1.0000            0.9872           0.9634
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3250           0.3083
## Detection Prevalence        0.3333            0.3500           0.3167
## Balanced Accuracy           1.0000            0.9688           0.9563
# Matriz de Confusión del Resultado de la Prueba
mcrp4 <- confusionMatrix(resultado_prueba4, prueba$Species)
mcrp4
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0         10         2
##   virginica       0          0         8
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9333          
##                  95% CI : (0.7793, 0.9918)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 8.747e-12       
##                                           
##                   Kappa : 0.9             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.8000
## Specificity                 1.0000            0.9000           1.0000
## Pos Pred Value              1.0000            0.8333           1.0000
## Neg Pred Value              1.0000            1.0000           0.9091
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.2667
## Detection Prevalence        0.3333            0.4000           0.2667
## Balanced Accuracy           1.0000            0.9500           0.9000

Modelo 5. Bosques Aleatorios

modelo5 <- train(Species~., data=entrenamiento,
                 method="rf", #se cambia metodo para cambiar modelo
                 preProcess=c("scale", "center"),
                 trControl= trainControl(method = "CV", number = 10),
                 tuneGrid = expand.grid(mtry=c(2,4,6)) #se pueden cambiar parametros
                 )
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
## Warning in randomForest.default(x, y, mtry = param$mtry, ...): invalid mtry:
## reset to within valid range
resultado_entrenamiento5 <- predict(modelo5,entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

# Matriz de Confusión del Resultado del Entrenamiento
mcre5 <- confusionMatrix(resultado_entrenamiento5,entrenamiento$Species)
mcre5
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         40         0
##   virginica       0          0        40
## 
## Overall Statistics
##                                      
##                Accuracy : 1          
##                  95% CI : (0.9697, 1)
##     No Information Rate : 0.3333     
##     P-Value [Acc > NIR] : < 2.2e-16  
##                                      
##                   Kappa : 1          
##                                      
##  Mcnemar's Test P-Value : NA         
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           1.0000
## Specificity                 1.0000            1.0000           1.0000
## Pos Pred Value              1.0000            1.0000           1.0000
## Neg Pred Value              1.0000            1.0000           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.3333
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            1.0000           1.0000
# Matriz de Confusión del Resultado de la Prueba
mcrp5 <- confusionMatrix(resultado_prueba5,prueba$Species)
mcrp5
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0         10         2
##   virginica       0          0         8
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9333          
##                  95% CI : (0.7793, 0.9918)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 8.747e-12       
##                                           
##                   Kappa : 0.9             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.8000
## Specificity                 1.0000            0.9000           1.0000
## Pos Pred Value              1.0000            0.8333           1.0000
## Neg Pred Value              1.0000            1.0000           0.9091
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3333           0.2667
## Detection Prevalence        0.3333            0.4000           0.2667
## Balanced Accuracy           1.0000            0.9500           0.9000

Modelo 6. Redes Neuronales

modelo6 <- train(Species~., data=entrenamiento,
                 method="nnet", #se cambia metodo para cambiar modelo
                 preProcess=c("scale", "center"),
                 trControl= trainControl(method = "CV", number = 10)
                  #se pueden cambiar parametros
                 )
## # weights:  11
## initial  value 134.741458 
## iter  10 value 49.284069
## iter  20 value 48.495017
## iter  30 value 48.492604
## iter  40 value 48.492075
## final  value 48.492072 
## converged
## # weights:  27
## initial  value 126.221689 
## iter  10 value 4.547404
## iter  20 value 0.977822
## iter  30 value 0.014451
## iter  40 value 0.008599
## iter  50 value 0.000132
## iter  50 value 0.000066
## iter  50 value 0.000063
## final  value 0.000063 
## converged
## # weights:  43
## initial  value 155.491532 
## iter  10 value 8.333316
## iter  20 value 1.218062
## iter  30 value 0.001281
## final  value 0.000083 
## converged
## # weights:  11
## initial  value 123.442481 
## iter  10 value 50.736147
## iter  20 value 43.559744
## iter  30 value 43.515356
## final  value 43.515002 
## converged
## # weights:  27
## initial  value 140.729460 
## iter  10 value 25.173956
## iter  20 value 19.729469
## iter  30 value 19.675760
## iter  40 value 19.671756
## iter  40 value 19.671756
## iter  40 value 19.671756
## final  value 19.671756 
## converged
## # weights:  43
## initial  value 141.546825 
## iter  10 value 28.709932
## iter  20 value 18.408233
## iter  30 value 17.839276
## iter  40 value 17.808697
## iter  50 value 17.807484
## final  value 17.807471 
## converged
## # weights:  11
## initial  value 117.798735 
## iter  10 value 62.532032
## iter  20 value 39.423796
## iter  30 value 20.882329
## iter  40 value 5.802558
## iter  50 value 4.238667
## iter  60 value 4.093766
## iter  70 value 3.906353
## iter  80 value 3.752858
## iter  90 value 3.751441
## iter 100 value 3.750651
## final  value 3.750651 
## stopped after 100 iterations
## # weights:  27
## initial  value 128.944525 
## iter  10 value 28.916308
## iter  20 value 2.544782
## iter  30 value 0.622254
## iter  40 value 0.470921
## iter  50 value 0.458107
## iter  60 value 0.400875
## iter  70 value 0.383844
## iter  80 value 0.378567
## iter  90 value 0.368423
## iter 100 value 0.363754
## final  value 0.363754 
## stopped after 100 iterations
## # weights:  43
## initial  value 145.756545 
## iter  10 value 7.286012
## iter  20 value 2.074917
## iter  30 value 0.713352
## iter  40 value 0.666646
## iter  50 value 0.617448
## iter  60 value 0.530408
## iter  70 value 0.496583
## iter  80 value 0.446063
## iter  90 value 0.400859
## iter 100 value 0.346148
## final  value 0.346148 
## stopped after 100 iterations
## # weights:  11
## initial  value 136.573936 
## iter  10 value 50.602615
## iter  20 value 46.833766
## iter  30 value 26.961829
## iter  40 value 5.865512
## iter  50 value 0.780629
## iter  60 value 0.588159
## iter  70 value 0.099307
## iter  80 value 0.072998
## iter  90 value 0.052566
## iter 100 value 0.043726
## final  value 0.043726 
## stopped after 100 iterations
## # weights:  27
## initial  value 136.309292 
## iter  10 value 4.877114
## iter  20 value 0.066469
## iter  30 value 0.000234
## final  value 0.000067 
## converged
## # weights:  43
## initial  value 110.927991 
## iter  10 value 1.490861
## iter  20 value 0.014917
## iter  30 value 0.000284
## final  value 0.000076 
## converged
## # weights:  11
## initial  value 130.883547 
## iter  10 value 47.711736
## iter  20 value 42.438918
## final  value 42.430540 
## converged
## # weights:  27
## initial  value 139.256648 
## iter  10 value 39.330260
## iter  20 value 19.437000
## iter  30 value 18.586620
## iter  40 value 18.346393
## iter  50 value 17.846184
## iter  60 value 17.600499
## iter  70 value 17.537828
## final  value 17.537822 
## converged
## # weights:  43
## initial  value 142.890639 
## iter  10 value 25.495956
## iter  20 value 18.040869
## iter  30 value 17.247641
## iter  40 value 16.817499
## iter  50 value 16.681648
## iter  60 value 16.655203
## iter  70 value 16.654763
## final  value 16.654763 
## converged
## # weights:  11
## initial  value 122.133337 
## iter  10 value 90.904292
## iter  20 value 40.727603
## iter  30 value 23.916155
## iter  40 value 7.159135
## iter  50 value 1.645081
## iter  60 value 1.238349
## iter  70 value 1.133691
## iter  80 value 1.132557
## iter  90 value 1.130055
## iter 100 value 1.126377
## final  value 1.126377 
## stopped after 100 iterations
## # weights:  27
## initial  value 140.255657 
## iter  10 value 10.775789
## iter  20 value 0.136456
## iter  30 value 0.128503
## iter  40 value 0.123164
## iter  50 value 0.112611
## iter  60 value 0.106691
## iter  70 value 0.105534
## iter  80 value 0.104602
## iter  90 value 0.104201
## iter 100 value 0.102790
## final  value 0.102790 
## stopped after 100 iterations
## # weights:  43
## initial  value 118.276408 
## iter  10 value 1.680762
## iter  20 value 0.139662
## iter  30 value 0.125141
## iter  40 value 0.122101
## iter  50 value 0.111513
## iter  60 value 0.106083
## iter  70 value 0.101511
## iter  80 value 0.094588
## iter  90 value 0.092658
## iter 100 value 0.088886
## final  value 0.088886 
## stopped after 100 iterations
## # weights:  11
## initial  value 139.815759 
## iter  10 value 49.218205
## iter  20 value 49.179366
## iter  30 value 48.681102
## iter  40 value 47.716621
## iter  50 value 45.709283
## iter  60 value 44.713428
## iter  70 value 42.940191
## iter  80 value 34.917502
## iter  90 value 7.087606
## iter 100 value 4.308310
## final  value 4.308310 
## stopped after 100 iterations
## # weights:  27
## initial  value 149.366729 
## iter  10 value 2.466301
## iter  20 value 1.059773
## iter  30 value 0.001220
## final  value 0.000081 
## converged
## # weights:  43
## initial  value 136.657276 
## iter  10 value 8.213127
## iter  20 value 1.308197
## iter  30 value 0.000724
## final  value 0.000065 
## converged
## # weights:  11
## initial  value 120.298639 
## iter  10 value 59.846225
## iter  20 value 49.667735
## iter  30 value 43.511410
## final  value 43.490065 
## converged
## # weights:  27
## initial  value 126.807775 
## iter  10 value 26.008124
## iter  20 value 20.434232
## iter  30 value 19.940407
## iter  40 value 19.824824
## final  value 19.823365 
## converged
## # weights:  43
## initial  value 125.511635 
## iter  10 value 26.156445
## iter  20 value 20.073950
## iter  30 value 19.214227
## iter  40 value 19.191282
## iter  50 value 19.187131
## iter  60 value 19.186937
## final  value 19.186933 
## converged
## # weights:  11
## initial  value 120.732543 
## iter  10 value 44.189662
## iter  20 value 15.604472
## iter  30 value 6.021103
## iter  40 value 4.862302
## iter  50 value 4.493176
## iter  60 value 4.118471
## iter  70 value 3.983550
## iter  80 value 3.927874
## iter  90 value 3.898267
## iter 100 value 3.839348
## final  value 3.839348 
## stopped after 100 iterations
## # weights:  27
## initial  value 125.441688 
## iter  10 value 26.051981
## iter  20 value 2.193623
## iter  30 value 0.696269
## iter  40 value 0.684594
## iter  50 value 0.618998
## iter  60 value 0.547876
## iter  70 value 0.534257
## iter  80 value 0.526722
## iter  90 value 0.503285
## iter 100 value 0.498216
## final  value 0.498216 
## stopped after 100 iterations
## # weights:  43
## initial  value 106.294860 
## iter  10 value 4.362561
## iter  20 value 0.829063
## iter  30 value 0.673181
## iter  40 value 0.609827
## iter  50 value 0.511886
## iter  60 value 0.464201
## iter  70 value 0.435561
## iter  80 value 0.425171
## iter  90 value 0.400511
## iter 100 value 0.360401
## final  value 0.360401 
## stopped after 100 iterations
## # weights:  11
## initial  value 133.877086 
## iter  10 value 66.331214
## iter  20 value 9.550499
## iter  30 value 4.110210
## iter  40 value 3.844185
## iter  50 value 2.991676
## iter  60 value 2.753673
## iter  70 value 2.641976
## iter  80 value 2.582083
## iter  90 value 2.533190
## iter 100 value 2.498345
## final  value 2.498345 
## stopped after 100 iterations
## # weights:  27
## initial  value 143.654877 
## iter  10 value 6.515489
## iter  20 value 1.118137
## iter  30 value 0.002071
## final  value 0.000051 
## converged
## # weights:  43
## initial  value 128.078143 
## iter  10 value 3.494155
## iter  20 value 0.275447
## iter  30 value 0.001532
## final  value 0.000077 
## converged
## # weights:  11
## initial  value 119.980202 
## iter  10 value 45.175852
## iter  20 value 43.739354
## final  value 43.739326 
## converged
## # weights:  27
## initial  value 123.625253 
## iter  10 value 35.381919
## iter  20 value 23.202033
## iter  30 value 21.094774
## iter  40 value 21.049663
## iter  50 value 21.046957
## iter  60 value 21.046831
## final  value 21.046818 
## converged
## # weights:  43
## initial  value 128.781530 
## iter  10 value 21.761171
## iter  20 value 19.335829
## iter  30 value 18.781377
## iter  40 value 18.753997
## iter  50 value 18.752843
## final  value 18.752822 
## converged
## # weights:  11
## initial  value 121.007491 
## iter  10 value 54.509450
## iter  20 value 49.127206
## iter  30 value 41.772830
## iter  40 value 18.718271
## iter  50 value 6.465971
## iter  60 value 4.694267
## iter  70 value 4.406901
## iter  80 value 3.891657
## iter  90 value 3.849284
## iter 100 value 3.846127
## final  value 3.846127 
## stopped after 100 iterations
## # weights:  27
## initial  value 167.104402 
## iter  10 value 44.366025
## iter  20 value 3.735448
## iter  30 value 0.755944
## iter  40 value 0.683206
## iter  50 value 0.616984
## iter  60 value 0.547685
## iter  70 value 0.505156
## iter  80 value 0.492646
## iter  90 value 0.488078
## iter 100 value 0.481755
## final  value 0.481755 
## stopped after 100 iterations
## # weights:  43
## initial  value 127.727151 
## iter  10 value 6.085705
## iter  20 value 0.573555
## iter  30 value 0.481376
## iter  40 value 0.428833
## iter  50 value 0.346820
## iter  60 value 0.329741
## iter  70 value 0.314468
## iter  80 value 0.304692
## iter  90 value 0.283972
## iter 100 value 0.268824
## final  value 0.268824 
## stopped after 100 iterations
## # weights:  11
## initial  value 119.525234 
## iter  10 value 26.202125
## iter  20 value 3.144191
## iter  30 value 1.529051
## iter  40 value 0.995187
## iter  50 value 0.833058
## iter  60 value 0.579513
## iter  70 value 0.169901
## iter  80 value 0.119998
## iter  90 value 0.082535
## iter 100 value 0.077616
## final  value 0.077616 
## stopped after 100 iterations
## # weights:  27
## initial  value 136.317868 
## iter  10 value 5.678333
## iter  20 value 0.136921
## iter  30 value 0.000440
## final  value 0.000082 
## converged
## # weights:  43
## initial  value 137.718722 
## iter  10 value 10.658195
## iter  20 value 0.832374
## iter  30 value 0.006460
## final  value 0.000085 
## converged
## # weights:  11
## initial  value 126.835468 
## iter  10 value 65.217306
## iter  20 value 47.223159
## iter  30 value 43.830052
## final  value 43.816167 
## converged
## # weights:  27
## initial  value 123.123419 
## iter  10 value 26.498937
## iter  20 value 19.800468
## iter  30 value 19.689800
## iter  40 value 19.510320
## iter  50 value 19.508744
## final  value 19.508744 
## converged
## # weights:  43
## initial  value 165.558507 
## iter  10 value 25.057848
## iter  20 value 18.359606
## iter  30 value 17.782765
## iter  40 value 17.688680
## iter  50 value 17.686231
## iter  60 value 17.685999
## final  value 17.685992 
## converged
## # weights:  11
## initial  value 130.227676 
## iter  10 value 52.945625
## iter  20 value 45.667510
## iter  30 value 41.028683
## iter  40 value 9.918084
## iter  50 value 4.926996
## iter  60 value 4.133286
## iter  70 value 3.518106
## iter  80 value 3.207297
## iter  90 value 3.095080
## iter 100 value 3.055358
## final  value 3.055358 
## stopped after 100 iterations
## # weights:  27
## initial  value 121.231768 
## iter  10 value 4.359364
## iter  20 value 0.425646
## iter  30 value 0.385663
## iter  40 value 0.318360
## iter  50 value 0.270417
## iter  60 value 0.259139
## iter  70 value 0.251975
## iter  80 value 0.237955
## iter  90 value 0.219997
## iter 100 value 0.215349
## final  value 0.215349 
## stopped after 100 iterations
## # weights:  43
## initial  value 121.321052 
## iter  10 value 4.596553
## iter  20 value 0.281156
## iter  30 value 0.262097
## iter  40 value 0.252159
## iter  50 value 0.241340
## iter  60 value 0.227837
## iter  70 value 0.215638
## iter  80 value 0.210772
## iter  90 value 0.205087
## iter 100 value 0.197748
## final  value 0.197748 
## stopped after 100 iterations
## # weights:  11
## initial  value 120.000142 
## iter  10 value 24.534533
## iter  20 value 3.627583
## iter  30 value 2.375604
## iter  40 value 2.160412
## iter  50 value 2.094882
## iter  60 value 2.077211
## iter  70 value 1.008429
## iter  80 value 0.859333
## iter  90 value 0.597574
## iter 100 value 0.597054
## final  value 0.597054 
## stopped after 100 iterations
## # weights:  27
## initial  value 124.239513 
## iter  10 value 33.144062
## iter  20 value 12.249167
## iter  30 value 3.755578
## iter  40 value 0.560753
## iter  50 value 0.001423
## iter  60 value 0.000374
## final  value 0.000074 
## converged
## # weights:  43
## initial  value 114.847482 
## iter  10 value 6.651025
## iter  20 value 1.376867
## iter  30 value 0.001867
## final  value 0.000081 
## converged
## # weights:  11
## initial  value 119.635574 
## iter  10 value 44.555413
## iter  20 value 43.912698
## final  value 43.912693 
## converged
## # weights:  27
## initial  value 139.103771 
## iter  10 value 42.824298
## iter  20 value 21.728925
## iter  30 value 21.293594
## iter  40 value 21.242763
## iter  50 value 21.235297
## final  value 21.235292 
## converged
## # weights:  43
## initial  value 115.491055 
## iter  10 value 23.811345
## iter  20 value 19.259573
## iter  30 value 19.032685
## iter  40 value 18.894558
## iter  50 value 18.893104
## iter  60 value 18.882800
## iter  70 value 18.463876
## iter  80 value 18.406520
## final  value 18.406508 
## converged
## # weights:  11
## initial  value 127.290216 
## iter  10 value 69.870951
## iter  20 value 57.171148
## iter  30 value 56.068708
## iter  40 value 48.377398
## iter  50 value 46.573119
## iter  60 value 45.843661
## iter  70 value 45.504682
## iter  80 value 44.466623
## iter  90 value 7.667358
## iter 100 value 5.272321
## final  value 5.272321 
## stopped after 100 iterations
## # weights:  27
## initial  value 123.446205 
## iter  10 value 31.631816
## iter  20 value 6.844306
## iter  30 value 0.977464
## iter  40 value 0.923549
## iter  50 value 0.670981
## iter  60 value 0.637232
## iter  70 value 0.586420
## iter  80 value 0.558159
## iter  90 value 0.546294
## iter 100 value 0.513834
## final  value 0.513834 
## stopped after 100 iterations
## # weights:  43
## initial  value 115.088182 
## iter  10 value 7.715853
## iter  20 value 2.103106
## iter  30 value 0.954510
## iter  40 value 0.910427
## iter  50 value 0.843465
## iter  60 value 0.788446
## iter  70 value 0.768192
## iter  80 value 0.711644
## iter  90 value 0.670695
## iter 100 value 0.555544
## final  value 0.555544 
## stopped after 100 iterations
## # weights:  11
## initial  value 119.261214 
## iter  10 value 50.240382
## iter  20 value 49.362583
## iter  30 value 46.267265
## iter  40 value 31.568717
## iter  50 value 6.520711
## iter  60 value 4.305208
## iter  70 value 3.579728
## iter  80 value 3.174471
## iter  90 value 2.563701
## iter 100 value 2.379369
## final  value 2.379369 
## stopped after 100 iterations
## # weights:  27
## initial  value 134.566698 
## iter  10 value 5.973748
## iter  20 value 1.944057
## iter  30 value 0.149138
## iter  40 value 0.000474
## final  value 0.000043 
## converged
## # weights:  43
## initial  value 116.472391 
## iter  10 value 4.886976
## iter  20 value 1.752043
## iter  30 value 0.006629
## final  value 0.000078 
## converged
## # weights:  11
## initial  value 130.196236 
## iter  10 value 44.844684
## iter  20 value 43.641630
## final  value 43.638718 
## converged
## # weights:  27
## initial  value 124.305450 
## iter  10 value 23.624477
## iter  20 value 20.446754
## iter  30 value 20.418222
## final  value 20.416317 
## converged
## # weights:  43
## initial  value 128.512971 
## iter  10 value 42.094692
## iter  20 value 20.716717
## iter  30 value 18.596904
## iter  40 value 18.373917
## iter  50 value 18.287509
## iter  60 value 18.274464
## iter  70 value 18.274300
## final  value 18.274299 
## converged
## # weights:  11
## initial  value 120.704206 
## iter  10 value 36.843225
## iter  20 value 4.733819
## iter  30 value 3.476520
## iter  40 value 3.373940
## iter  50 value 3.368072
## iter  60 value 3.366706
## iter  70 value 3.364872
## iter  80 value 3.363768
## iter  90 value 3.363667
## iter 100 value 3.363650
## final  value 3.363650 
## stopped after 100 iterations
## # weights:  27
## initial  value 117.988778 
## iter  10 value 28.496215
## iter  20 value 2.622801
## iter  30 value 0.639496
## iter  40 value 0.625373
## iter  50 value 0.579688
## iter  60 value 0.532720
## iter  70 value 0.517216
## iter  80 value 0.510259
## iter  90 value 0.480207
## iter 100 value 0.472050
## final  value 0.472050 
## stopped after 100 iterations
## # weights:  43
## initial  value 128.042835 
## iter  10 value 4.161549
## iter  20 value 0.990133
## iter  30 value 0.613293
## iter  40 value 0.536865
## iter  50 value 0.496297
## iter  60 value 0.429209
## iter  70 value 0.382132
## iter  80 value 0.364344
## iter  90 value 0.354215
## iter 100 value 0.344681
## final  value 0.344681 
## stopped after 100 iterations
## # weights:  11
## initial  value 137.843124 
## iter  10 value 49.961213
## iter  20 value 49.906785
## final  value 49.906609 
## converged
## # weights:  27
## initial  value 144.912582 
## iter  10 value 11.628543
## iter  20 value 0.785903
## iter  30 value 0.000263
## final  value 0.000069 
## converged
## # weights:  43
## initial  value 152.144835 
## iter  10 value 8.419266
## iter  20 value 0.450409
## iter  30 value 0.001446
## final  value 0.000067 
## converged
## # weights:  11
## initial  value 138.739575 
## iter  10 value 58.629093
## iter  20 value 45.242102
## iter  30 value 43.291820
## final  value 43.290421 
## converged
## # weights:  27
## initial  value 119.883967 
## iter  10 value 23.843853
## iter  20 value 20.092334
## iter  30 value 20.005368
## iter  40 value 20.003974
## iter  40 value 20.003974
## iter  40 value 20.003974
## final  value 20.003974 
## converged
## # weights:  43
## initial  value 123.970047 
## iter  10 value 24.966757
## iter  20 value 18.628742
## iter  30 value 18.427409
## iter  40 value 18.409725
## iter  50 value 18.409367
## iter  60 value 18.409329
## final  value 18.409322 
## converged
## # weights:  11
## initial  value 132.152536 
## iter  10 value 56.909018
## iter  20 value 54.940339
## iter  30 value 54.108119
## iter  40 value 53.918559
## iter  50 value 53.831568
## iter  60 value 52.978346
## iter  70 value 52.339345
## iter  80 value 51.485145
## iter  90 value 51.350990
## iter 100 value 50.945315
## final  value 50.945315 
## stopped after 100 iterations
## # weights:  27
## initial  value 124.125900 
## iter  10 value 8.659948
## iter  20 value 3.121221
## iter  30 value 1.338187
## iter  40 value 1.062220
## iter  50 value 0.833246
## iter  60 value 0.747981
## iter  70 value 0.681193
## iter  80 value 0.608250
## iter  90 value 0.561390
## iter 100 value 0.519708
## final  value 0.519708 
## stopped after 100 iterations
## # weights:  43
## initial  value 124.696050 
## iter  10 value 7.133159
## iter  20 value 2.294956
## iter  30 value 0.650383
## iter  40 value 0.582001
## iter  50 value 0.507633
## iter  60 value 0.455092
## iter  70 value 0.426843
## iter  80 value 0.410376
## iter  90 value 0.386610
## iter 100 value 0.365344
## final  value 0.365344 
## stopped after 100 iterations
## # weights:  11
## initial  value 124.998321 
## iter  10 value 47.882425
## iter  20 value 42.994709
## iter  30 value 23.613077
## iter  40 value 6.111401
## iter  50 value 4.751741
## iter  60 value 3.840179
## iter  70 value 3.451763
## iter  80 value 3.254240
## iter  90 value 3.154166
## iter 100 value 3.028360
## final  value 3.028360 
## stopped after 100 iterations
## # weights:  27
## initial  value 125.542049 
## iter  10 value 6.314427
## iter  20 value 0.470858
## iter  30 value 0.022274
## iter  40 value 0.000458
## final  value 0.000052 
## converged
## # weights:  43
## initial  value 138.166366 
## iter  10 value 8.535002
## iter  20 value 0.624930
## iter  30 value 0.012967
## iter  40 value 0.000798
## final  value 0.000063 
## converged
## # weights:  11
## initial  value 123.927867 
## iter  10 value 54.995970
## iter  20 value 44.382863
## iter  30 value 44.324383
## final  value 44.324214 
## converged
## # weights:  27
## initial  value 119.008195 
## iter  10 value 25.174539
## iter  20 value 21.512402
## iter  30 value 21.266802
## iter  40 value 21.247207
## final  value 21.247205 
## converged
## # weights:  43
## initial  value 120.606604 
## iter  10 value 33.613848
## iter  20 value 19.279870
## iter  30 value 19.166714
## iter  40 value 18.826482
## iter  50 value 18.625006
## iter  60 value 18.496822
## iter  70 value 18.482830
## iter  80 value 18.480947
## final  value 18.480936 
## converged
## # weights:  11
## initial  value 120.118681 
## iter  10 value 35.390872
## iter  20 value 7.900423
## iter  30 value 4.031973
## iter  40 value 3.994094
## iter  50 value 3.934311
## iter  60 value 3.908096
## iter  70 value 3.872599
## iter  80 value 3.864340
## iter  90 value 3.863643
## iter 100 value 3.863381
## final  value 3.863381 
## stopped after 100 iterations
## # weights:  27
## initial  value 152.326336 
## iter  10 value 28.957719
## iter  20 value 3.708953
## iter  30 value 1.546339
## iter  40 value 0.747462
## iter  50 value 0.632847
## iter  60 value 0.543455
## iter  70 value 0.501641
## iter  80 value 0.458760
## iter  90 value 0.336181
## iter 100 value 0.314372
## final  value 0.314372 
## stopped after 100 iterations
## # weights:  43
## initial  value 138.686191 
## iter  10 value 5.004718
## iter  20 value 0.689107
## iter  30 value 0.567050
## iter  40 value 0.520825
## iter  50 value 0.473306
## iter  60 value 0.463761
## iter  70 value 0.445476
## iter  80 value 0.406388
## iter  90 value 0.396516
## iter 100 value 0.383204
## final  value 0.383204 
## stopped after 100 iterations
## # weights:  11
## initial  value 125.068191 
## iter  10 value 49.725038
## iter  20 value 48.534929
## iter  30 value 48.501014
## iter  40 value 48.499048
## iter  50 value 48.497072
## iter  60 value 48.496755
## iter  70 value 48.495739
## iter  80 value 48.494220
## iter  90 value 48.493273
## iter 100 value 48.492960
## final  value 48.492960 
## stopped after 100 iterations
## # weights:  27
## initial  value 120.155726 
## iter  10 value 15.990281
## iter  20 value 5.699250
## iter  30 value 2.350310
## iter  40 value 0.643988
## iter  50 value 0.000895
## final  value 0.000053 
## converged
## # weights:  43
## initial  value 120.439904 
## iter  10 value 4.882118
## iter  20 value 0.510851
## iter  30 value 0.011557
## final  value 0.000081 
## converged
## # weights:  11
## initial  value 128.878843 
## iter  10 value 61.436034
## iter  20 value 54.214754
## iter  30 value 44.056862
## final  value 43.743957 
## converged
## # weights:  27
## initial  value 125.847313 
## iter  10 value 24.629184
## iter  20 value 19.863934
## iter  30 value 19.831238
## iter  40 value 19.830701
## iter  40 value 19.830701
## iter  40 value 19.830701
## final  value 19.830701 
## converged
## # weights:  43
## initial  value 142.942241 
## iter  10 value 24.707928
## iter  20 value 18.623793
## iter  30 value 18.159229
## iter  40 value 18.065373
## iter  50 value 18.037153
## iter  60 value 18.034057
## final  value 18.033909 
## converged
## # weights:  11
## initial  value 131.830554 
## iter  10 value 50.045011
## iter  20 value 49.961005
## iter  30 value 49.951348
## iter  40 value 47.534975
## iter  50 value 19.450624
## iter  60 value 5.282387
## iter  70 value 3.805584
## iter  80 value 3.684633
## iter  90 value 3.668110
## iter 100 value 3.666966
## final  value 3.666966 
## stopped after 100 iterations
## # weights:  27
## initial  value 127.157057 
## iter  10 value 19.598422
## iter  20 value 1.839283
## iter  30 value 1.060086
## iter  40 value 0.682353
## iter  50 value 0.607421
## iter  60 value 0.541387
## iter  70 value 0.508578
## iter  80 value 0.481491
## iter  90 value 0.436727
## iter 100 value 0.424470
## final  value 0.424470 
## stopped after 100 iterations
## # weights:  43
## initial  value 147.461086 
## iter  10 value 9.790819
## iter  20 value 1.518969
## iter  30 value 0.836010
## iter  40 value 0.499330
## iter  50 value 0.477058
## iter  60 value 0.432213
## iter  70 value 0.414492
## iter  80 value 0.361462
## iter  90 value 0.331724
## iter 100 value 0.313403
## final  value 0.313403 
## stopped after 100 iterations
## # weights:  11
## initial  value 152.471191 
## iter  10 value 69.582700
## iter  20 value 47.009934
## iter  30 value 46.798129
## final  value 46.796573 
## converged
resultado_entrenamiento6 <- predict(modelo6,entrenamiento)
resultado_prueba6 <- predict(modelo6, prueba)

# Matriz de Confusión
# Es una tabla de evaluación que desglosa el rendimiento del modelo de clasificaciión

#Matriz de confusión del resultado de entrenamiento
mcre6 <- confusionMatrix(resultado_entrenamiento6,entrenamiento$Species)
mcre6
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         40          0         0
##   versicolor      0         36         0
##   virginica       0          4        40
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9667          
##                  95% CI : (0.9169, 0.9908)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.95            
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9000           1.0000
## Specificity                 1.0000            1.0000           0.9500
## Pos Pred Value              1.0000            1.0000           0.9091
## Neg Pred Value              1.0000            0.9524           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3000           0.3333
## Detection Prevalence        0.3333            0.3000           0.3667
## Balanced Accuracy           1.0000            0.9500           0.9750
# Matriz de Confusión del Resultado de la Prueba
mcrp6 <- confusionMatrix(resultado_prueba6,prueba$Species)
mcrp6
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         10          0         0
##   versicolor      0          9         0
##   virginica       0          1        10
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9667          
##                  95% CI : (0.8278, 0.9992)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : 2.963e-13       
##                                           
##                   Kappa : 0.95            
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9000           1.0000
## Specificity                 1.0000            1.0000           0.9500
## Pos Pred Value              1.0000            1.0000           0.9091
## Neg Pred Value              1.0000            0.9524           1.0000
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3000           0.3333
## Detection Prevalence        0.3333            0.3000           0.3667
## Balanced Accuracy           1.0000            0.9500           0.9750

Tabla de Resultados

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"]),
  "rf" = c(mcre5$overall["Accuracy"], mcrp5$overall["Accuracy"]),
  "nnet" = c(mcre6$overall["Accuracy"], mcrp5$overall["Accuracy"]))

rownames(resultados) <- c("Exactitud del Entrenamiento", "Exactitud de la Prueba")
resultados
##                             svmLinear svmRadial   svmPoly     rpart        rf
## Exactitud del Entrenamiento 0.9916667 0.9916667 0.9916667 0.9666667 1.0000000
## Exactitud de la Prueba      0.9666667 0.9333333 0.9333333 0.9333333 0.9333333
##                                  nnet
## Exactitud del Entrenamiento 0.9666667
## Exactitud de la Prueba      0.9333333

Conclusión

En conclusión, el modelo de Redes Neuronales es el recomendado para(por su simplicidad) para la clasificicación de los lirios.