library(ggplot2)
library(lattice)
library(caret)
library(datasets)
library(DataExplorer)
library(kernlab)
## 
## Attaching package: 'kernlab'
## The following object is masked from 'package:ggplot2':
## 
##     alpha
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("~/Downloads/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)

set.seed(123)
renglones_entrenamiento <- createDataPartition(df$target, p=0.8, list=FALSE)
entrenamiento <- df[renglones_entrenamiento, ]
prueba <- df[-renglones_entrenamiento, ]
prueba
##      age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal
## 1     52   1  0      125  212   0       1     168     0     1.0     2  2    3
## 3     70   1  0      145  174   0       1     125     1     2.6     0  0    3
## 7     58   1  0      114  318   0       2     140     0     4.4     0  3    1
## 9     46   1  0      120  249   0       0     144     0     0.8     2  0    3
## 12    43   0  0      132  341   1       0     136     1     3.0     1  0    3
## 15    52   1  0      128  204   1       1     156     1     1.0     1  0    0
## 22    67   0  0      106  223   0       1     142     0     0.3     2  2    2
## 25    42   0  2      120  209   0       1     173     0     0.0     1  0    2
## 27    44   1  2      130  233   0       1     179     1     0.4     2  0    2
## 28    58   0  1      136  319   1       0     152     0     0.0     2  2    2
## 32    50   0  1      120  244   0       1     162     0     1.1     2  0    2
## 35    50   1  2      129  196   0       1     163     0     0.0     2  0    2
## 43    61   0  0      130  330   0       0     169     0     0.0     2  0    2
## 47    41   1  1      135  203   0       1     132     0     0.0     1  0    1
## 60    57   1  1      154  232   0       0     164     0     0.0     2  1    2
## 63    67   1  0      100  299   0       0     125     1     0.9     1  2    2
## 66    59   1  3      170  288   0       0     159     0     0.2     1  0    3
## 70    62   0  0      160  164   0       0     145     0     6.2     0  3    3
## 73    56   1  0      125  249   1       0     144     1     1.2     1  1    2
## 75    48   1  0      130  256   1       0     150     1     0.0     2  2    3
## 86    44   1  1      120  220   0       1     170     0     0.0     2  0    2
## 97    57   0  0      128  303   0       0     159     0     0.0     2  1    2
## 101   43   0  2      122  213   0       1     165     0     0.2     1  0    2
## 102   57   1  2      150  126   1       1     173     0     0.2     2  1    3
## 109   40   1  0      152  223   0       1     181     0     0.0     2  0    3
## 126   60   0  3      150  240   0       1     171     0     0.9     2  0    2
## 132   51   0  2      130  256   0       0     149     0     0.5     2  0    2
## 133   41   1  1      135  203   0       1     132     0     0.0     1  0    1
## 140   41   1  1      110  235   0       1     153     0     0.0     2  0    2
## 142   63   0  0      124  197   0       1     136     1     0.0     1  0    2
## 144   34   1  3      118  182   0       0     174     0     0.0     2  0    2
## 145   47   1  0      112  204   0       1     143     0     0.1     2  0    2
## 147   51   0  2      120  295   0       0     157     0     0.6     2  0    2
## 149   52   1  3      152  298   1       1     178     0     1.2     1  0    3
## 150   39   1  2      140  321   0       0     182     0     0.0     2  0    2
## 154   54   1  2      120  258   0       0     147     0     0.4     1  0    3
## 156   54   1  1      108  309   0       1     156     0     0.0     2  0    3
## 157   40   1  3      140  199   0       1     178     1     1.4     2  0    3
## 174   39   0  2       94  199   0       1     179     0     0.0     2  0    2
## 176   56   0  0      200  288   1       0     133     1     4.0     0  2    3
## 182   64   1  3      110  211   0       0     144     1     1.8     1  0    2
## 183   60   1  0      140  293   0       0     170     0     1.2     1  2    3
## 192   56   1  1      130  221   0       0     163     0     0.0     2  0    3
## 198   45   1  0      115  260   0       0     185     0     0.0     2  0    2
## 202   34   1  3      118  182   0       0     174     0     0.0     2  0    2
## 208   41   1  2      112  250   0       1     179     0     0.0     2  0    2
## 215   45   1  1      128  308   0       0     170     0     0.0     2  0    2
## 216   49   1  1      130  266   0       1     171     0     0.6     2  0    2
## 233   60   1  0      125  258   0       0     141     1     2.8     1  1    3
## 245   51   1  2      125  245   1       0     166     0     2.4     1  0    2
## 249   39   0  2      138  220   0       1     152     0     0.0     1  0    2
## 253   55   1  0      132  353   0       1     132     1     1.2     1  1    3
## 254   57   1  0      165  289   1       0     124     0     1.0     1  3    3
## 257   35   0  0      138  183   0       1     182     0     1.4     2  0    2
## 269   58   1  2      132  224   0       0     173     0     3.2     2  2    3
## 272   44   1  1      120  263   0       1     173     0     0.0     2  0    3
## 283   41   0  1      130  204   0       0     172     0     1.4     2  0    2
## 285   58   1  2      132  224   0       0     173     0     3.2     2  2    3
## 288   71   0  1      160  302   0       1     162     0     0.4     2  2    2
## 293   61   1  2      150  243   1       1     137     1     1.0     1  0    2
## 296   67   1  0      100  299   0       0     125     1     0.9     1  2    2
## 300   52   1  1      120  325   0       1     172     0     0.2     2  0    2
## 305   52   0  2      136  196   0       0     169     0     0.1     1  0    2
## 307   44   0  2      118  242   0       1     149     0     0.3     1  1    2
## 312   48   1  0      130  256   1       0     150     1     0.0     2  2    3
## 313   70   1  2      160  269   0       1     112     1     2.9     1  1    3
## 314   74   0  1      120  269   0       0     121     1     0.2     2  1    2
## 318   63   0  2      135  252   0       0     172     0     0.0     2  0    2
## 321   53   0  0      130  264   0       0     143     0     0.4     1  0    2
## 333   37   1  2      130  250   0       1     187     0     3.5     0  0    2
## 345   41   1  1      120  157   0       1     182     0     0.0     2  0    2
## 351   66   1  0      120  302   0       0     151     0     0.4     1  0    2
## 353   57   1  0      110  335   0       1     143     1     3.0     1  1    3
## 356   46   0  0      138  243   0       0     152     1     0.0     1  0    2
## 360   53   0  2      128  216   0       0     115     0     0.0     2  0    0
## 361   48   1  0      122  222   0       0     186     0     0.0     2  0    2
## 363   43   0  2      122  213   0       1     165     0     0.2     1  0    2
## 367   58   1  2      112  230   0       0     165     0     2.5     1  1    3
## 369   58   1  2      105  240   0       0     154     1     0.6     1  0    3
## 372   55   1  0      132  353   0       1     132     1     1.2     1  1    3
## 375   46   0  2      142  177   0       0     160     1     1.4     0  0    2
## 376   66   1  0      160  228   0       0     138     0     2.3     2  0    1
## 383   59   1  0      110  239   0       0     142     1     1.2     1  1    3
## 385   35   1  0      126  282   0       0     156     1     0.0     2  0    3
## 408   58   1  0      100  234   0       1     156     0     0.1     2  1    3
## 410   46   1  2      150  231   0       1     147     0     3.6     1  0    2
## 411   41   0  1      105  198   0       1     168     0     0.0     2  1    2
## 423   57   0  0      120  354   0       1     163     1     0.6     2  0    2
## 425   45   1  0      142  309   0       0     147     1     0.0     1  3    3
## 427   54   0  2      160  201   0       1     163     0     0.0     2  1    2
## 432   65   0  0      150  225   0       0     114     0     1.0     1  3    3
## 434   37   1  2      130  250   0       1     187     0     3.5     0  0    2
## 436   57   0  0      120  354   0       1     163     1     0.6     2  0    2
## 439   47   1  2      130  253   0       1     179     0     0.0     2  0    2
## 444   57   1  2      150  168   0       1     174     0     1.6     2  0    2
## 453   66   0  0      178  228   1       1     165     1     1.0     1  2    3
## 454   49   0  1      134  271   0       1     162     0     0.0     1  0    2
## 460   51   1  0      140  261   0       0     186     1     0.0     2  0    2
## 470   67   1  0      160  286   0       0     108     1     1.5     1  3    2
## 471   60   0  3      150  240   0       1     171     0     0.9     2  0    2
## 484   35   1  1      122  192   0       1     174     0     0.0     2  0    2
## 487   41   1  0      110  172   0       0     158     0     0.0     2  0    3
## 488   65   1  0      135  254   0       0     127     0     2.8     1  1    3
## 495   51   1  2      125  245   1       0     166     0     2.4     1  0    2
## 496   59   1  0      135  234   0       1     161     0     0.5     1  0    3
## 497   68   1  2      180  274   1       0     150     1     1.6     1  0    3
## 501   71   0  0      112  149   0       1     125     0     1.6     1  0    2
## 506   44   0  2      118  242   0       1     149     0     0.3     1  1    2
## 507   61   1  0      120  260   0       1     140     1     3.6     1  1    3
## 513   44   1  0      112  290   0       0     153     0     0.0     2  1    2
## 515   44   1  1      120  220   0       1     170     0     0.0     2  0    2
## 520   61   1  0      148  203   0       1     161     0     0.0     2  1    3
## 521   59   1  0      140  177   0       1     162     1     0.0     2  1    3
## 525   58   1  2      112  230   0       0     165     0     2.5     1  1    3
## 530   69   1  3      160  234   1       0     131     0     0.1     1  1    2
## 532   65   0  2      155  269   0       1     148     0     0.8     2  0    2
## 535   54   0  2      108  267   0       0     167     0     0.0     2  0    2
## 536   76   0  2      140  197   0       2     116     0     1.1     1  0    2
## 546   48   1  1      110  229   0       1     168     0     1.0     0  0    3
## 550   68   1  2      118  277   0       1     151     0     1.0     2  1    3
## 552   54   1  0      122  286   0       0     116     1     3.2     1  2    2
## 556   67   1  0      125  254   1       1     163     0     0.2     1  2    3
## 558   48   1  0      122  222   0       0     186     0     0.0     2  0    2
## 561   58   0  0      130  197   0       1     131     0     0.6     1  0    2
## 565   56   1  0      132  184   0       0     105     1     2.1     1  1    1
## 571   54   0  2      135  304   1       1     170     0     0.0     2  0    2
## 572   60   1  0      145  282   0       0     142     1     2.8     1  2    3
## 576   43   1  0      150  247   0       1     171     0     1.5     2  0    2
## 583   55   1  1      130  262   0       1     155     0     0.0     2  0    2
## 584   43   1  0      120  177   0       0     120     1     2.5     1  0    3
## 587   64   1  2      125  309   0       1     131     1     1.8     1  0    3
## 591   74   0  1      120  269   0       0     121     1     0.2     2  1    2
## 592   63   0  0      108  269   0       1     169     1     1.8     1  2    2
## 596   61   1  0      148  203   0       1     161     0     0.0     2  1    3
## 600   63   0  1      140  195   0       1     179     0     0.0     2  2    2
## 607   66   1  0      112  212   0       0     132     1     0.1     2  1    2
## 612   55   0  0      128  205   0       2     130     1     2.0     1  1    3
## 620   65   1  0      110  248   0       0     158     0     0.6     2  2    1
## 624   61   1  3      134  234   0       1     145     0     2.6     1  2    2
## 629   69   0  3      140  239   0       1     151     0     1.8     2  2    2
## 635   52   1  0      125  212   0       1     168     0     1.0     2  2    3
## 640   58   0  0      130  197   0       1     131     0     0.6     1  0    2
## 641   46   0  0      138  243   0       0     152     1     0.0     1  0    2
## 659   64   1  2      125  309   0       1     131     1     1.8     1  0    3
## 662   58   1  0      114  318   0       2     140     0     4.4     0  3    1
## 667   35   1  1      122  192   0       1     174     0     0.0     2  0    2
## 681   42   1  1      120  295   0       1     162     0     0.0     2  0    2
## 687   52   1  0      128  204   1       1     156     1     1.0     1  0    0
## 689   56   0  0      200  288   1       0     133     1     4.0     0  2    3
## 702   35   1  0      120  198   0       1     130     1     1.6     1  0    3
## 713   45   0  1      112  160   0       1     138     0     0.0     1  0    2
## 716   70   1  1      156  245   0       0     143     0     0.0     2  0    2
## 717   55   0  0      128  205   0       2     130     1     2.0     1  1    3
## 723   67   0  2      152  277   0       1     172     0     0.0     2  1    2
## 725   74   0  1      120  269   0       0     121     1     0.2     2  1    2
## 728   56   1  1      130  221   0       0     163     0     0.0     2  0    3
## 730   55   0  1      135  250   0       0     161     0     1.4     1  0    2
## 734   44   0  2      108  141   0       1     175     0     0.6     1  0    2
## 740   52   1  0      128  255   0       1     161     1     0.0     2  1    3
## 742   41   0  2      112  268   0       0     172     1     0.0     2  0    2
## 743   63   1  0      130  330   1       0     132     1     1.8     2  3    3
## 748   60   1  0      117  230   1       1     160     1     1.4     2  2    3
## 750   58   1  1      125  220   0       1     144     0     0.4     1  4    3
## 760   61   0  0      130  330   0       0     169     0     0.0     2  0    2
## 777   61   0  0      145  307   0       0     146     1     1.0     1  0    3
## 782   58   1  0      146  218   0       1     105     0     2.0     1  1    3
## 790   62   1  1      120  281   0       0     103     0     1.4     1  1    3
## 795   61   1  3      134  234   0       1     145     0     2.6     1  2    2
## 801   67   1  0      120  229   0       0     129     1     2.6     1  2    3
## 805   58   0  0      130  197   0       1     131     0     0.6     1  0    2
## 810   54   0  2      110  214   0       1     158     0     1.6     1  0    2
## 812   57   1  1      124  261   0       1     141     0     0.3     2  0    3
## 825   61   1  0      138  166   0       0     125     1     3.6     1  1    2
## 845   60   1  0      140  293   0       0     170     0     1.2     1  2    3
## 846   56   1  0      132  184   0       0     105     1     2.1     1  1    1
## 848   61   1  0      138  166   0       0     125     1     3.6     1  1    2
## 849   58   0  3      150  283   1       0     162     0     1.0     2  0    2
## 852   37   1  2      130  250   0       1     187     0     3.5     0  0    2
## 863   59   1  3      170  288   0       0     159     0     0.2     1  0    3
## 868   41   1  1      110  235   0       1     153     0     0.0     2  0    2
## 884   48   1  0      124  274   0       0     166     0     0.5     1  0    3
## 886   57   1  0      165  289   1       0     124     0     1.0     1  3    3
## 889   60   0  0      150  258   0       0     157     0     2.6     1  2    3
## 894   52   1  0      128  204   1       1     156     1     1.0     1  0    0
## 900   59   1  0      135  234   0       1     161     0     0.5     1  0    3
## 901   61   1  3      134  234   0       1     145     0     2.6     1  2    2
## 904   59   1  2      126  218   1       1     134     0     2.2     1  1    1
## 918   47   1  2      130  253   0       1     179     0     0.0     2  0    2
## 930   60   1  0      130  206   0       0     132     1     2.4     1  2    3
## 933   51   0  2      140  308   0       0     142     0     1.5     2  1    2
## 941   57   0  0      140  241   0       1     123     1     0.2     1  0    3
## 948   54   0  2      160  201   0       1     163     0     0.0     2  1    2
## 952   62   0  2      130  263   0       1      97     0     1.2     1  1    3
## 961   52   0  2      136  196   0       0     169     0     0.1     1  0    2
## 969   53   1  0      140  203   1       0     155     1     3.1     0  0    3
## 974   51   1  2      125  245   1       0     166     0     2.4     1  0    2
## 984   64   1  0      128  263   0       1     105     1     0.2     1  1    3
## 991   56   1  1      120  236   0       1     178     0     0.8     2  0    2
## 995   59   1  0      110  239   0       0     142     1     1.2     1  1    3
## 996   44   1  1      120  263   0       1     173     0     0.0     2  0    3
## 1002  42   1  0      140  226   0       1     178     0     0.0     2  0    2
## 1011  51   1  0      140  299   0       1     173     1     1.6     2  0    3
## 1014  58   1  0      114  318   0       2     140     0     4.4     0  3    1
## 1018  53   1  0      123  282   0       1      95     1     2.0     1  2    3
## 1022  60   1  0      125  258   0       0     141     1     2.8     1  1    3
##      target
## 1         0
## 3         0
## 7         0
## 9         0
## 12        0
## 15        0
## 22        1
## 25        1
## 27        1
## 28        0
## 32        1
## 35        1
## 43        0
## 47        1
## 60        0
## 63        0
## 66        0
## 70        0
## 73        0
## 75        0
## 86        1
## 97        1
## 101       1
## 102       1
## 109       0
## 126       1
## 132       1
## 133       1
## 140       1
## 142       0
## 144       1
## 145       1
## 147       1
## 149       1
## 150       1
## 154       1
## 156       1
## 157       1
## 174       1
## 176       0
## 182       1
## 183       0
## 192       1
## 198       1
## 202       1
## 208       1
## 215       1
## 216       1
## 233       0
## 245       1
## 249       1
## 253       0
## 254       0
## 257       1
## 269       0
## 272       1
## 283       1
## 285       0
## 288       1
## 293       1
## 296       0
## 300       1
## 305       1
## 307       1
## 312       0
## 313       0
## 314       1
## 318       1
## 321       1
## 333       1
## 345       1
## 351       1
## 353       0
## 356       1
## 360       1
## 361       1
## 363       1
## 367       0
## 369       1
## 372       0
## 375       1
## 376       1
## 383       0
## 385       0
## 408       0
## 410       0
## 411       1
## 423       1
## 425       0
## 427       1
## 432       0
## 434       1
## 436       1
## 439       1
## 444       1
## 453       0
## 454       1
## 460       1
## 470       0
## 471       1
## 484       1
## 487       0
## 488       0
## 495       1
## 496       1
## 497       0
## 501       1
## 506       1
## 507       0
## 513       0
## 515       1
## 520       0
## 521       0
## 525       0
## 530       1
## 532       1
## 535       1
## 536       1
## 546       0
## 550       1
## 552       0
## 556       0
## 558       1
## 561       1
## 565       0
## 571       1
## 572       0
## 576       1
## 583       1
## 584       0
## 587       0
## 591       1
## 592       0
## 596       0
## 600       1
## 607       0
## 612       0
## 620       0
## 624       0
## 629       1
## 635       0
## 640       1
## 641       1
## 659       0
## 662       0
## 667       1
## 681       1
## 687       0
## 689       0
## 702       0
## 713       1
## 716       1
## 717       0
## 723       1
## 725       1
## 728       1
## 730       1
## 734       1
## 740       0
## 742       1
## 743       0
## 748       0
## 750       1
## 760       0
## 777       0
## 782       0
## 790       0
## 795       0
## 801       0
## 805       1
## 810       1
## 812       0
## 825       0
## 845       0
## 846       0
## 848       0
## 849       1
## 852       1
## 863       0
## 868       1
## 884       0
## 886       0
## 889       0
## 894       0
## 900       1
## 901       0
## 904       0
## 918       1
## 930       0
## 933       1
## 941       0
## 948       1
## 952       0
## 961       1
## 969       0
## 974       1
## 984       1
## 991       1
## 995       0
## 996       1
## 1002      1
## 1011      0
## 1014      0
## 1018      0
## 1022      0
entrenamiento$target <- as.factor(entrenamiento$target)
prueba$target <- as.factor(prueba$target)

modelo1 <- train(target ~ ., 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)

resultado_entrenamiento1 <- factor(resultado_entrenamiento1, levels = levels(entrenamiento$target))
resultado_prueba1 <- factor(resultado_prueba1, levels = levels(prueba$target))

mcre1 <- confusionMatrix(resultado_entrenamiento1, entrenamiento$target)
mcrp1 <- confusionMatrix(resultado_prueba1, prueba$target)

print(mcre1)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0 315  40
##          1  89 376
##                                           
##                Accuracy : 0.8427          
##                  95% CI : (0.8159, 0.8669)
##     No Information Rate : 0.5073          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.6847          
##                                           
##  Mcnemar's Test P-Value : 2.377e-05       
##                                           
##             Sensitivity : 0.7797          
##             Specificity : 0.9038          
##          Pos Pred Value : 0.8873          
##          Neg Pred Value : 0.8086          
##              Prevalence : 0.4927          
##          Detection Rate : 0.3841          
##    Detection Prevalence : 0.4329          
##       Balanced Accuracy : 0.8418          
##                                           
##        'Positive' Class : 0               
## 
print(mcrp1)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction   0   1
##          0  74   7
##          1  21 103
##                                           
##                Accuracy : 0.8634          
##                  95% CI : (0.8087, 0.9073)
##     No Information Rate : 0.5366          
##     P-Value [Acc > NIR] : < 2e-16         
##                                           
##                   Kappa : 0.7226          
##                                           
##  Mcnemar's Test P-Value : 0.01402         
##                                           
##             Sensitivity : 0.7789          
##             Specificity : 0.9364          
##          Pos Pred Value : 0.9136          
##          Neg Pred Value : 0.8306          
##              Prevalence : 0.4634          
##          Detection Rate : 0.3610          
##    Detection Prevalence : 0.3951          
##       Balanced Accuracy : 0.8577          
##                                           
##        'Positive' Class : 0               
## 
modelo2 <- train(target ~ ., 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)

mcre2 <- confusionMatrix(resultado_entrenamiento2, entrenamiento$target)

mcrp2 <- confusionMatrix(resultado_prueba2, prueba$target)
modelo3 <- train(target ~ ., data=entrenamiento, 
                 method = "svmPoly",
                 preProcess=c("scale","center"),
                 trControl = trainControl(method="cv", number=10),
                 tuneGrid = data.frame(degree=1, scale=1, C=1)
                 )

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

mcre3 <- confusionMatrix(resultado_entrenamiento3, entrenamiento$target)

mcrp3 <- confusionMatrix(resultado_prueba3, prueba$target)
modelo4 <- train(target ~ ., data=entrenamiento, 
                 method = "rpart",
                 preProcess=c("scale","center"),
                 trControl = trainControl(method="cv", number=10),
                 tuneLength = 10
                 )

resultado_entrenamiento4 <- predict(modelo4, entrenamiento)
resultado_prueba4 <- predict(modelo4, prueba)

mcre4 <- confusionMatrix(resultado_entrenamiento4, entrenamiento$target)

mcrp4 <- confusionMatrix(resultado_prueba4, prueba$target)
modelo5 <- train(target ~ ., data=entrenamiento, 
                 method = "nnet",
                 preProcess=c("scale","center"),
                 trControl = trainControl(method="cv", number=10)
                 )
## # weights:  16
## initial  value 501.608993 
## iter  10 value 303.085280
## iter  20 value 277.738916
## iter  30 value 272.091590
## iter  40 value 271.238055
## iter  50 value 270.564656
## iter  60 value 269.629343
## iter  70 value 269.490466
## iter  80 value 269.467957
## iter  90 value 269.385196
## iter 100 value 269.327539
## final  value 269.327539 
## stopped after 100 iterations
## # weights:  46
## initial  value 522.574867 
## iter  10 value 261.487478
## iter  20 value 223.030376
## iter  30 value 181.751492
## iter  40 value 164.791099
## iter  50 value 155.182052
## iter  60 value 146.208766
## iter  70 value 145.049097
## iter  80 value 144.791929
## iter  90 value 144.789494
## final  value 144.789335 
## converged
## # weights:  76
## initial  value 515.705782 
## iter  10 value 238.097498
## iter  20 value 171.547977
## iter  30 value 128.416301
## iter  40 value 109.536288
## iter  50 value 103.478559
## iter  60 value 96.202672
## iter  70 value 87.745629
## iter  80 value 85.977242
## iter  90 value 84.988532
## iter 100 value 83.950081
## final  value 83.950081 
## stopped after 100 iterations
## # weights:  16
## initial  value 531.174394 
## iter  10 value 313.563438
## iter  20 value 302.962146
## iter  30 value 291.708660
## iter  40 value 285.287134
## iter  50 value 284.651741
## iter  60 value 283.160089
## iter  70 value 276.678630
## iter  80 value 276.070539
## iter  90 value 270.693517
## iter 100 value 270.603041
## final  value 270.603041 
## stopped after 100 iterations
## # weights:  46
## initial  value 490.015192 
## iter  10 value 254.361668
## iter  20 value 230.979633
## iter  30 value 228.258661
## iter  40 value 223.486663
## iter  50 value 214.646694
## iter  60 value 212.281869
## iter  70 value 212.065944
## final  value 212.065895 
## converged
## # weights:  76
## initial  value 560.862977 
## iter  10 value 242.207686
## iter  20 value 201.684943
## iter  30 value 179.253427
## iter  40 value 170.791644
## iter  50 value 169.593790
## iter  60 value 165.898865
## iter  70 value 150.710357
## iter  80 value 134.135979
## iter  90 value 125.095224
## iter 100 value 122.576215
## final  value 122.576215 
## stopped after 100 iterations
## # weights:  16
## initial  value 541.567609 
## iter  10 value 364.939132
## iter  20 value 300.893875
## iter  30 value 277.272464
## iter  40 value 276.348114
## iter  50 value 263.044337
## iter  60 value 256.447442
## iter  70 value 256.196400
## iter  80 value 256.138058
## final  value 256.136420 
## converged
## # weights:  46
## initial  value 485.740742 
## iter  10 value 246.991499
## iter  20 value 188.337422
## iter  30 value 160.040470
## iter  40 value 144.588525
## iter  50 value 140.045363
## iter  60 value 138.965138
## iter  70 value 138.664846
## iter  80 value 138.160641
## iter  90 value 137.895869
## iter 100 value 137.720669
## final  value 137.720669 
## stopped after 100 iterations
## # weights:  76
## initial  value 494.813660 
## iter  10 value 240.353424
## iter  20 value 148.781908
## iter  30 value 99.000581
## iter  40 value 87.433815
## iter  50 value 85.246637
## iter  60 value 82.651624
## iter  70 value 80.449133
## iter  80 value 79.482379
## iter  90 value 79.264913
## iter 100 value 79.139853
## final  value 79.139853 
## stopped after 100 iterations
## # weights:  16
## initial  value 495.761239 
## iter  10 value 262.743205
## iter  20 value 255.589292
## iter  30 value 244.752320
## iter  40 value 244.172038
## iter  50 value 244.166418
## iter  60 value 244.164991
## final  value 244.164722 
## converged
## # weights:  46
## initial  value 549.470350 
## iter  10 value 232.885800
## iter  20 value 182.512277
## iter  30 value 169.197290
## iter  40 value 154.745400
## iter  50 value 141.323782
## iter  60 value 139.565730
## iter  70 value 139.538871
## final  value 139.538516 
## converged
## # weights:  76
## initial  value 573.327113 
## iter  10 value 197.717940
## iter  20 value 112.743469
## iter  30 value 74.105233
## iter  40 value 53.620146
## iter  50 value 49.458499
## iter  60 value 47.822150
## iter  70 value 47.623889
## iter  80 value 47.604862
## iter  90 value 47.596031
## iter 100 value 47.586046
## final  value 47.586046 
## stopped after 100 iterations
## # weights:  16
## initial  value 494.520214 
## iter  10 value 307.466497
## iter  20 value 272.033981
## iter  30 value 270.769478
## iter  40 value 270.049326
## iter  50 value 269.983242
## final  value 269.982362 
## converged
## # weights:  46
## initial  value 523.919817 
## iter  10 value 278.136113
## iter  20 value 264.054922
## iter  30 value 253.136670
## iter  40 value 221.105634
## iter  50 value 209.316345
## iter  60 value 193.542004
## iter  70 value 189.785814
## iter  80 value 181.330790
## iter  90 value 178.765726
## iter 100 value 178.694758
## final  value 178.694758 
## stopped after 100 iterations
## # weights:  76
## initial  value 458.163126 
## iter  10 value 239.738804
## iter  20 value 190.112595
## iter  30 value 157.003826
## iter  40 value 144.671150
## iter  50 value 140.439213
## iter  60 value 137.776009
## iter  70 value 130.061931
## iter  80 value 128.170257
## iter  90 value 128.013517
## iter 100 value 127.961233
## final  value 127.961233 
## stopped after 100 iterations
## # weights:  16
## initial  value 558.127915 
## iter  10 value 328.458226
## iter  20 value 286.635176
## iter  30 value 278.940736
## iter  40 value 272.009299
## iter  50 value 269.142302
## iter  60 value 267.606628
## iter  70 value 267.592332
## iter  80 value 267.587074
## iter  90 value 267.586641
## final  value 267.586624 
## converged
## # weights:  46
## initial  value 578.431238 
## iter  10 value 233.234118
## iter  20 value 201.629784
## iter  30 value 185.850659
## iter  40 value 160.932787
## iter  50 value 154.800125
## iter  60 value 153.941052
## iter  70 value 153.435193
## iter  80 value 152.980896
## iter  90 value 152.581699
## iter 100 value 151.996075
## final  value 151.996075 
## stopped after 100 iterations
## # weights:  76
## initial  value 551.427635 
## iter  10 value 212.817771
## iter  20 value 130.369270
## iter  30 value 108.423394
## iter  40 value 101.183420
## iter  50 value 93.156118
## iter  60 value 92.203352
## iter  70 value 92.060260
## iter  80 value 91.999124
## iter  90 value 91.873651
## iter 100 value 91.561444
## final  value 91.561444 
## stopped after 100 iterations
## # weights:  16
## initial  value 499.717620 
## iter  10 value 305.175224
## iter  20 value 280.639642
## iter  30 value 269.887436
## iter  40 value 267.369359
## iter  50 value 265.618588
## iter  60 value 265.284730
## iter  70 value 265.238428
## iter  80 value 265.086833
## iter  90 value 264.947294
## iter 100 value 264.944085
## final  value 264.944085 
## stopped after 100 iterations
## # weights:  46
## initial  value 561.612701 
## iter  10 value 256.676245
## iter  20 value 189.171312
## iter  30 value 167.674197
## iter  40 value 155.017446
## iter  50 value 144.744988
## iter  60 value 134.109536
## iter  70 value 133.005718
## iter  80 value 133.002112
## iter  90 value 132.962268
## iter 100 value 132.894606
## final  value 132.894606 
## stopped after 100 iterations
## # weights:  76
## initial  value 521.378929 
## iter  10 value 231.913732
## iter  20 value 146.133755
## iter  30 value 101.598923
## iter  40 value 90.261559
## iter  50 value 86.114038
## iter  60 value 84.562705
## iter  70 value 84.316777
## iter  80 value 83.709395
## iter  90 value 83.577937
## iter 100 value 83.479400
## final  value 83.479400 
## stopped after 100 iterations
## # weights:  16
## initial  value 550.592788 
## iter  10 value 283.628272
## iter  20 value 276.008886
## iter  30 value 272.291056
## iter  40 value 271.735169
## iter  50 value 270.876231
## iter  60 value 270.189251
## iter  60 value 270.189249
## iter  60 value 270.189249
## final  value 270.189249 
## converged
## # weights:  46
## initial  value 545.898892 
## iter  10 value 272.238053
## iter  20 value 235.052743
## iter  30 value 209.912873
## iter  40 value 199.279654
## iter  50 value 197.077568
## iter  60 value 196.386769
## iter  70 value 196.256589
## iter  80 value 196.172734
## iter  90 value 196.159338
## final  value 196.159220 
## converged
## # weights:  76
## initial  value 501.713568 
## iter  10 value 236.954878
## iter  20 value 192.909041
## iter  30 value 166.180582
## iter  40 value 149.755980
## iter  50 value 136.923777
## iter  60 value 131.947677
## iter  70 value 130.486909
## iter  80 value 128.228701
## iter  90 value 126.193458
## iter 100 value 126.053806
## final  value 126.053806 
## stopped after 100 iterations
## # weights:  16
## initial  value 519.070143 
## iter  10 value 349.702591
## iter  20 value 332.508332
## iter  30 value 304.832778
## iter  40 value 287.463900
## iter  50 value 277.033136
## iter  60 value 276.058460
## iter  70 value 275.855856
## iter  80 value 275.665237
## iter  90 value 275.661282
## iter 100 value 275.658151
## final  value 275.658151 
## stopped after 100 iterations
## # weights:  46
## initial  value 514.240160 
## iter  10 value 234.974383
## iter  20 value 193.149227
## iter  30 value 174.450760
## iter  40 value 159.540499
## iter  50 value 149.243329
## iter  60 value 146.912170
## iter  70 value 143.659613
## iter  80 value 142.109491
## iter  90 value 141.606698
## iter 100 value 141.094642
## final  value 141.094642 
## stopped after 100 iterations
## # weights:  76
## initial  value 545.282034 
## iter  10 value 207.875500
## iter  20 value 134.309701
## iter  30 value 104.909072
## iter  40 value 78.748709
## iter  50 value 68.492524
## iter  60 value 63.995719
## iter  70 value 63.533258
## iter  80 value 63.117021
## iter  90 value 62.068036
## iter 100 value 61.259225
## final  value 61.259225 
## stopped after 100 iterations
## # weights:  16
## initial  value 508.419251 
## iter  10 value 278.269246
## iter  20 value 255.811002
## iter  30 value 245.202308
## iter  40 value 235.841740
## iter  50 value 235.273145
## iter  60 value 235.197731
## iter  70 value 235.196577
## iter  80 value 235.194069
## iter  90 value 235.186062
## iter 100 value 235.184600
## final  value 235.184600 
## stopped after 100 iterations
## # weights:  46
## initial  value 667.458053 
## iter  10 value 264.359496
## iter  20 value 200.104663
## iter  30 value 167.500939
## iter  40 value 149.822138
## iter  50 value 139.339313
## iter  60 value 136.433407
## iter  70 value 124.430878
## iter  80 value 119.842482
## iter  90 value 119.190021
## iter 100 value 118.860959
## final  value 118.860959 
## stopped after 100 iterations
## # weights:  76
## initial  value 507.148145 
## iter  10 value 242.786954
## iter  20 value 151.321551
## iter  30 value 123.495642
## iter  40 value 109.433714
## iter  50 value 104.684851
## iter  60 value 102.166042
## iter  70 value 101.613127
## iter  80 value 101.505343
## iter  90 value 101.496326
## iter 100 value 101.493958
## final  value 101.493958 
## stopped after 100 iterations
## # weights:  16
## initial  value 532.389387 
## iter  10 value 353.868341
## iter  20 value 275.603309
## iter  30 value 271.944298
## iter  40 value 267.757128
## iter  50 value 267.041263
## iter  60 value 266.546117
## iter  70 value 266.475086
## iter  70 value 266.475083
## iter  70 value 266.475083
## final  value 266.475083 
## converged
## # weights:  46
## initial  value 522.462882 
## iter  10 value 256.434827
## iter  20 value 218.706181
## iter  30 value 211.613251
## iter  40 value 192.399316
## iter  50 value 172.793734
## iter  60 value 168.575534
## iter  70 value 166.867637
## iter  80 value 166.800857
## final  value 166.800816 
## converged
## # weights:  76
## initial  value 518.440362 
## iter  10 value 227.693395
## iter  20 value 182.314629
## iter  30 value 168.257957
## iter  40 value 159.775336
## iter  50 value 154.329105
## iter  60 value 150.865413
## iter  70 value 146.753316
## iter  80 value 144.983921
## iter  90 value 143.158478
## iter 100 value 142.376788
## final  value 142.376788 
## stopped after 100 iterations
## # weights:  16
## initial  value 537.949737 
## iter  10 value 352.037745
## iter  20 value 295.654814
## iter  30 value 286.566682
## iter  40 value 280.409892
## iter  50 value 278.531947
## iter  60 value 273.839553
## iter  70 value 273.697034
## iter  80 value 273.688851
## iter  90 value 273.685812
## iter 100 value 273.683674
## final  value 273.683674 
## stopped after 100 iterations
## # weights:  46
## initial  value 618.006240 
## iter  10 value 284.116794
## iter  20 value 239.147319
## iter  30 value 206.487305
## iter  40 value 180.093008
## iter  50 value 168.156632
## iter  60 value 165.715658
## iter  70 value 164.471156
## iter  80 value 163.482066
## iter  90 value 162.989076
## iter 100 value 162.450097
## final  value 162.450097 
## stopped after 100 iterations
## # weights:  76
## initial  value 561.243753 
## iter  10 value 243.164396
## iter  20 value 161.181030
## iter  30 value 127.094391
## iter  40 value 102.449338
## iter  50 value 91.731750
## iter  60 value 89.376930
## iter  70 value 88.457283
## iter  80 value 87.868953
## iter  90 value 87.485004
## iter 100 value 87.387064
## final  value 87.387064 
## stopped after 100 iterations
## # weights:  16
## initial  value 548.364764 
## iter  10 value 331.113275
## iter  20 value 271.780231
## iter  30 value 260.582785
## iter  40 value 258.095663
## iter  50 value 250.300608
## iter  60 value 233.319191
## final  value 233.192830 
## converged
## # weights:  46
## initial  value 625.997743 
## iter  10 value 259.610999
## iter  20 value 211.051686
## iter  30 value 177.160554
## iter  40 value 161.058387
## iter  50 value 152.615103
## iter  60 value 152.327742
## iter  70 value 152.326413
## final  value 152.326292 
## converged
## # weights:  76
## initial  value 575.392742 
## iter  10 value 212.489967
## iter  20 value 153.875648
## iter  30 value 105.269151
## iter  40 value 93.446827
## iter  50 value 86.100233
## iter  60 value 74.384193
## iter  70 value 67.247274
## iter  80 value 62.649670
## iter  90 value 56.829710
## iter 100 value 51.906438
## final  value 51.906438 
## stopped after 100 iterations
## # weights:  16
## initial  value 546.390766 
## iter  10 value 287.731739
## iter  20 value 276.460393
## iter  30 value 272.567094
## iter  40 value 271.998637
## iter  50 value 271.763684
## final  value 271.737911 
## converged
## # weights:  46
## initial  value 537.656495 
## iter  10 value 239.256594
## iter  20 value 206.573544
## iter  30 value 198.329741
## iter  40 value 188.771717
## iter  50 value 176.918623
## iter  60 value 168.779178
## iter  70 value 166.077115
## iter  80 value 165.972312
## iter  90 value 165.959665
## final  value 165.959586 
## converged
## # weights:  76
## initial  value 631.896899 
## iter  10 value 270.034581
## iter  20 value 216.612174
## iter  30 value 191.020909
## iter  40 value 177.529454
## iter  50 value 171.884915
## iter  60 value 169.474284
## iter  70 value 168.557214
## iter  80 value 168.064472
## iter  90 value 167.396426
## iter 100 value 165.234901
## final  value 165.234901 
## stopped after 100 iterations
## # weights:  16
## initial  value 518.934268 
## iter  10 value 295.265851
## iter  20 value 263.133649
## iter  30 value 258.419928
## iter  40 value 250.126210
## iter  50 value 246.120392
## iter  60 value 244.391969
## iter  70 value 244.264271
## iter  80 value 244.257460
## iter  90 value 244.254647
## iter 100 value 244.254344
## final  value 244.254344 
## stopped after 100 iterations
## # weights:  46
## initial  value 478.753391 
## iter  10 value 271.866491
## iter  20 value 228.085287
## iter  30 value 197.628652
## iter  40 value 176.701806
## iter  50 value 174.130542
## iter  60 value 171.530304
## iter  70 value 170.968224
## iter  80 value 170.869405
## iter  90 value 170.686598
## iter 100 value 170.494102
## final  value 170.494102 
## stopped after 100 iterations
## # weights:  76
## initial  value 586.141179 
## iter  10 value 252.114678
## iter  20 value 186.394151
## iter  30 value 157.575027
## iter  40 value 133.202021
## iter  50 value 115.102382
## iter  60 value 108.100839
## iter  70 value 106.574854
## iter  80 value 105.814557
## iter  90 value 105.302467
## iter 100 value 102.953977
## final  value 102.953977 
## stopped after 100 iterations
## # weights:  16
## initial  value 547.723145 
## iter  10 value 277.870791
## iter  20 value 268.523595
## iter  30 value 267.383603
## iter  40 value 266.924902
## iter  50 value 266.214193
## iter  60 value 265.136303
## iter  70 value 264.978996
## iter  80 value 264.918352
## iter  90 value 264.776059
## iter 100 value 264.714876
## final  value 264.714876 
## stopped after 100 iterations
## # weights:  46
## initial  value 486.170215 
## iter  10 value 224.840397
## iter  20 value 193.701497
## iter  30 value 168.511636
## iter  40 value 154.990536
## iter  50 value 151.483646
## iter  60 value 148.745970
## iter  70 value 146.334625
## iter  80 value 144.417047
## iter  90 value 142.657270
## iter 100 value 141.962479
## final  value 141.962479 
## stopped after 100 iterations
## # weights:  76
## initial  value 561.225487 
## iter  10 value 233.836964
## iter  20 value 137.862589
## iter  30 value 100.707660
## iter  40 value 87.280258
## iter  50 value 82.372126
## iter  60 value 79.965188
## iter  70 value 78.970954
## iter  80 value 78.849107
## iter  90 value 78.833768
## iter 100 value 78.831650
## final  value 78.831650 
## stopped after 100 iterations
## # weights:  16
## initial  value 499.794993 
## iter  10 value 297.618560
## iter  20 value 273.832188
## iter  30 value 268.410128
## iter  40 value 268.347593
## final  value 268.347582 
## converged
## # weights:  46
## initial  value 518.826719 
## iter  10 value 246.808813
## iter  20 value 236.849143
## iter  30 value 200.394083
## iter  40 value 189.123940
## iter  50 value 187.903610
## iter  60 value 187.423673
## iter  70 value 187.161980
## iter  80 value 187.159754
## iter  80 value 187.159753
## iter  80 value 187.159752
## final  value 187.159752 
## converged
## # weights:  76
## initial  value 553.004921 
## iter  10 value 236.855956
## iter  20 value 183.916607
## iter  30 value 165.690450
## iter  40 value 148.804191
## iter  50 value 138.960302
## iter  60 value 135.569243
## iter  70 value 134.309488
## iter  80 value 132.837211
## iter  90 value 132.094023
## iter 100 value 131.978105
## final  value 131.978105 
## stopped after 100 iterations
## # weights:  16
## initial  value 517.537021 
## iter  10 value 261.511034
## iter  20 value 252.936656
## iter  30 value 250.754826
## iter  40 value 243.009847
## iter  50 value 241.101617
## iter  60 value 240.122647
## iter  70 value 239.768211
## iter  80 value 239.757244
## iter  90 value 239.755256
## iter 100 value 239.753417
## final  value 239.753417 
## stopped after 100 iterations
## # weights:  46
## initial  value 562.195937 
## iter  10 value 294.555121
## iter  20 value 243.197868
## iter  30 value 224.058670
## iter  40 value 215.154644
## iter  50 value 201.016621
## iter  60 value 191.879932
## iter  70 value 182.898143
## iter  80 value 181.076767
## iter  90 value 180.952183
## iter 100 value 180.488581
## final  value 180.488581 
## stopped after 100 iterations
## # weights:  76
## initial  value 535.988042 
## iter  10 value 198.997262
## iter  20 value 127.844150
## iter  30 value 93.896868
## iter  40 value 73.722722
## iter  50 value 66.719004
## iter  60 value 62.970285
## iter  70 value 59.314578
## iter  80 value 58.705962
## iter  90 value 58.438658
## iter 100 value 58.315681
## final  value 58.315681 
## stopped after 100 iterations
## # weights:  16
## initial  value 523.919988 
## iter  10 value 351.344657
## iter  20 value 269.278258
## iter  30 value 267.724626
## iter  40 value 267.097790
## iter  50 value 266.949508
## iter  60 value 266.586505
## iter  70 value 266.478816
## iter  80 value 266.469723
## iter  90 value 266.439708
## iter 100 value 266.382949
## final  value 266.382949 
## stopped after 100 iterations
## # weights:  46
## initial  value 530.848696 
## iter  10 value 262.219044
## iter  20 value 214.659376
## iter  30 value 182.470731
## iter  40 value 158.313032
## iter  50 value 124.892579
## iter  60 value 107.816408
## iter  70 value 105.871139
## iter  80 value 105.516487
## iter  90 value 105.425752
## iter 100 value 105.392620
## final  value 105.392620 
## stopped after 100 iterations
## # weights:  76
## initial  value 572.283358 
## iter  10 value 246.627413
## iter  20 value 196.517003
## iter  30 value 104.880863
## iter  40 value 81.237477
## iter  50 value 76.907629
## iter  60 value 74.481730
## iter  70 value 72.031626
## iter  80 value 65.753754
## iter  90 value 65.064300
## iter 100 value 65.003109
## final  value 65.003109 
## stopped after 100 iterations
## # weights:  16
## initial  value 523.788681 
## iter  10 value 288.412022
## iter  20 value 275.024141
## iter  30 value 273.266281
## final  value 273.264648 
## converged
## # weights:  46
## initial  value 519.927750 
## iter  10 value 280.643271
## iter  20 value 248.835772
## iter  30 value 222.731065
## iter  40 value 217.707456
## iter  50 value 205.272451
## iter  60 value 200.380015
## iter  70 value 197.195682
## iter  80 value 196.803246
## iter  90 value 196.795646
## final  value 196.795607 
## converged
## # weights:  76
## initial  value 514.204376 
## iter  10 value 247.422184
## iter  20 value 196.162391
## iter  30 value 158.978933
## iter  40 value 145.385683
## iter  50 value 139.489708
## iter  60 value 137.068384
## iter  70 value 135.094972
## iter  80 value 134.633127
## iter  90 value 134.248488
## iter 100 value 133.433725
## final  value 133.433725 
## stopped after 100 iterations
## # weights:  16
## initial  value 523.018837 
## iter  10 value 328.439989
## iter  20 value 275.692345
## iter  30 value 269.276793
## iter  40 value 268.434512
## iter  50 value 266.784920
## iter  60 value 260.294871
## iter  70 value 255.547312
## iter  80 value 249.739257
## iter  90 value 249.065001
## iter 100 value 248.595532
## final  value 248.595532 
## stopped after 100 iterations
## # weights:  46
## initial  value 562.711421 
## iter  10 value 249.121632
## iter  20 value 208.114792
## iter  30 value 185.389052
## iter  40 value 172.443420
## iter  50 value 157.307223
## iter  60 value 156.598485
## iter  70 value 156.337113
## iter  80 value 156.169520
## iter  90 value 155.928760
## iter 100 value 155.844542
## final  value 155.844542 
## stopped after 100 iterations
## # weights:  76
## initial  value 480.930030 
## iter  10 value 237.567284
## iter  20 value 154.299590
## iter  30 value 119.811674
## iter  40 value 102.237661
## iter  50 value 99.108931
## iter  60 value 98.836572
## iter  70 value 98.713650
## iter  80 value 98.662764
## iter  90 value 98.575091
## iter 100 value 98.522810
## final  value 98.522810 
## stopped after 100 iterations
## # weights:  16
## initial  value 548.601740 
## iter  10 value 335.559247
## iter  20 value 282.085469
## iter  30 value 279.100390
## iter  40 value 278.883847
## iter  50 value 277.968075
## iter  60 value 276.448429
## iter  70 value 276.096736
## iter  80 value 276.066943
## iter  90 value 275.828427
## iter 100 value 275.737719
## final  value 275.737719 
## stopped after 100 iterations
## # weights:  46
## initial  value 502.546361 
## iter  10 value 268.212459
## iter  20 value 221.323931
## iter  30 value 193.439436
## iter  40 value 186.862433
## iter  50 value 180.978607
## iter  60 value 175.852463
## iter  70 value 175.690710
## final  value 175.690397 
## converged
## # weights:  76
## initial  value 582.707803 
## iter  10 value 266.889034
## iter  20 value 187.334196
## iter  30 value 124.428001
## iter  40 value 96.210153
## iter  50 value 86.419860
## iter  60 value 83.635621
## iter  70 value 82.097752
## iter  80 value 81.433833
## iter  90 value 81.070809
## iter 100 value 80.944839
## final  value 80.944839 
## stopped after 100 iterations
## # weights:  16
## initial  value 514.084721 
## iter  10 value 365.451803
## iter  20 value 283.401442
## iter  30 value 280.218758
## iter  40 value 280.193282
## final  value 280.193238 
## converged
## # weights:  46
## initial  value 539.264469 
## iter  10 value 291.860084
## iter  20 value 253.814758
## iter  30 value 231.480194
## iter  40 value 225.959467
## iter  50 value 220.846829
## iter  60 value 212.093395
## iter  70 value 207.059926
## iter  80 value 206.819349
## iter  90 value 205.284331
## iter 100 value 204.054152
## final  value 204.054152 
## stopped after 100 iterations
## # weights:  76
## initial  value 489.361337 
## iter  10 value 237.736287
## iter  20 value 197.194673
## iter  30 value 180.001210
## iter  40 value 162.651827
## iter  50 value 141.310462
## iter  60 value 133.848915
## iter  70 value 131.194976
## iter  80 value 127.235640
## iter  90 value 125.578180
## iter 100 value 125.350777
## final  value 125.350777 
## stopped after 100 iterations
## # weights:  16
## initial  value 518.246253 
## iter  10 value 313.361249
## iter  20 value 311.198385
## iter  30 value 301.499581
## iter  40 value 289.664903
## iter  50 value 284.817531
## iter  60 value 284.613326
## iter  70 value 284.603610
## iter  70 value 284.603610
## final  value 284.603610 
## converged
## # weights:  46
## initial  value 563.000810 
## iter  10 value 250.797083
## iter  20 value 181.876400
## iter  30 value 152.505346
## iter  40 value 136.981640
## iter  50 value 128.895413
## iter  60 value 121.583731
## iter  70 value 120.252337
## iter  80 value 114.729778
## iter  90 value 111.494676
## iter 100 value 110.288718
## final  value 110.288718 
## stopped after 100 iterations
## # weights:  76
## initial  value 538.891637 
## iter  10 value 227.115987
## iter  20 value 134.320227
## iter  30 value 98.211881
## iter  40 value 84.544035
## iter  50 value 76.193597
## iter  60 value 70.798072
## iter  70 value 67.118037
## iter  80 value 65.128391
## iter  90 value 62.693899
## iter 100 value 61.328871
## final  value 61.328871 
## stopped after 100 iterations
## # weights:  16
## initial  value 504.556441 
## iter  10 value 335.405686
## iter  20 value 258.595702
## iter  30 value 249.392420
## iter  40 value 242.803492
## iter  50 value 240.626619
## iter  60 value 239.536576
## iter  70 value 238.813383
## iter  80 value 238.769494
## iter  90 value 238.759788
## iter 100 value 238.756445
## final  value 238.756445 
## stopped after 100 iterations
## # weights:  46
## initial  value 633.956374 
## iter  10 value 231.116788
## iter  20 value 164.915094
## iter  30 value 136.105833
## iter  40 value 124.213013
## iter  50 value 112.857306
## iter  60 value 111.058617
## iter  70 value 111.032545
## iter  80 value 111.031827
## iter  80 value 111.031825
## iter  80 value 111.031825
## final  value 111.031825 
## converged
## # weights:  76
## initial  value 559.142983 
## iter  10 value 242.710702
## iter  20 value 196.433817
## iter  30 value 161.623756
## iter  40 value 132.858058
## iter  50 value 117.075351
## iter  60 value 111.009350
## iter  70 value 106.345763
## iter  80 value 102.549296
## iter  90 value 99.335320
## iter 100 value 97.179622
## final  value 97.179622 
## stopped after 100 iterations
## # weights:  16
## initial  value 544.580369 
## iter  10 value 273.296518
## iter  20 value 264.077639
## final  value 263.113587 
## converged
## # weights:  46
## initial  value 523.677517 
## iter  10 value 273.659617
## iter  20 value 230.387658
## iter  30 value 200.632895
## iter  40 value 193.757968
## iter  50 value 192.773264
## iter  60 value 192.743761
## final  value 192.743226 
## converged
## # weights:  76
## initial  value 569.418018 
## iter  10 value 248.071004
## iter  20 value 203.029706
## iter  30 value 181.451649
## iter  40 value 169.946339
## iter  50 value 163.182653
## iter  60 value 160.676763
## iter  70 value 159.595647
## iter  80 value 156.538324
## iter  90 value 152.711105
## iter 100 value 151.698206
## final  value 151.698206 
## stopped after 100 iterations
## # weights:  16
## initial  value 498.690624 
## iter  10 value 318.273208
## iter  20 value 271.108243
## iter  30 value 263.076172
## iter  40 value 262.397643
## iter  50 value 262.327191
## iter  60 value 262.071015
## iter  70 value 262.009289
## iter  80 value 262.009028
## iter  90 value 262.000658
## final  value 262.000650 
## converged
## # weights:  46
## initial  value 524.723394 
## iter  10 value 264.264776
## iter  20 value 216.490973
## iter  30 value 202.711733
## iter  40 value 183.975125
## iter  50 value 172.943086
## iter  60 value 172.349378
## iter  70 value 172.223302
## iter  80 value 172.114440
## iter  90 value 171.315112
## iter 100 value 171.247567
## final  value 171.247567 
## stopped after 100 iterations
## # weights:  76
## initial  value 597.243127 
## iter  10 value 223.877466
## iter  20 value 142.690153
## iter  30 value 103.163597
## iter  40 value 97.207584
## iter  50 value 93.667068
## iter  60 value 92.363944
## iter  70 value 92.063823
## iter  80 value 91.954566
## iter  90 value 91.888477
## iter 100 value 91.815104
## final  value 91.815104 
## stopped after 100 iterations
## # weights:  16
## initial  value 521.206815 
## iter  10 value 440.124809
## iter  20 value 350.856317
## iter  30 value 277.027921
## iter  40 value 271.577789
## iter  50 value 270.506956
## iter  60 value 269.967641
## iter  70 value 269.841408
## iter  80 value 269.834155
## iter  90 value 269.802176
## iter 100 value 269.763858
## final  value 269.763858 
## stopped after 100 iterations
## # weights:  46
## initial  value 594.154779 
## iter  10 value 250.404211
## iter  20 value 217.172871
## iter  30 value 165.101773
## iter  40 value 149.192675
## iter  50 value 140.281429
## iter  60 value 138.592852
## iter  70 value 138.580254
## final  value 138.580240 
## converged
## # weights:  76
## initial  value 592.135411 
## iter  10 value 246.757858
## iter  20 value 163.005045
## iter  30 value 116.802392
## iter  40 value 105.264614
## iter  50 value 92.430188
## iter  60 value 87.557083
## iter  70 value 85.362887
## iter  80 value 84.645166
## iter  90 value 84.623077
## iter 100 value 84.614555
## final  value 84.614555 
## stopped after 100 iterations
## # weights:  16
## initial  value 490.705547 
## iter  10 value 319.703124
## iter  20 value 279.511157
## iter  30 value 271.560912
## final  value 271.554651 
## converged
## # weights:  46
## initial  value 491.159737 
## iter  10 value 256.748913
## iter  20 value 224.958815
## iter  30 value 205.055537
## iter  40 value 196.085087
## iter  50 value 194.992135
## iter  60 value 194.890753
## iter  70 value 194.880866
## final  value 194.880851 
## converged
## # weights:  76
## initial  value 568.265619 
## iter  10 value 232.001679
## iter  20 value 178.612541
## iter  30 value 156.505896
## iter  40 value 147.063278
## iter  50 value 142.379276
## iter  60 value 137.982141
## iter  70 value 133.476190
## iter  80 value 125.775175
## iter  90 value 119.958724
## iter 100 value 116.443264
## final  value 116.443264 
## stopped after 100 iterations
## # weights:  16
## initial  value 515.685801 
## iter  10 value 281.082819
## iter  20 value 272.253756
## iter  30 value 262.709792
## iter  40 value 256.726358
## iter  50 value 255.490960
## iter  60 value 250.199411
## iter  70 value 250.081791
## iter  80 value 250.080401
## iter  90 value 250.077970
## iter 100 value 250.045004
## final  value 250.045004 
## stopped after 100 iterations
## # weights:  46
## initial  value 552.303115 
## iter  10 value 291.495797
## iter  20 value 207.488503
## iter  30 value 190.457529
## iter  40 value 178.988995
## iter  50 value 175.377290
## iter  60 value 173.576882
## iter  70 value 172.736454
## iter  80 value 171.768852
## iter  90 value 171.138861
## iter 100 value 170.875667
## final  value 170.875667 
## stopped after 100 iterations
## # weights:  76
## initial  value 501.305291 
## iter  10 value 213.141130
## iter  20 value 156.703550
## iter  30 value 127.907908
## iter  40 value 113.607249
## iter  50 value 102.843034
## iter  60 value 101.102221
## iter  70 value 100.928528
## iter  80 value 100.841160
## iter  90 value 100.758529
## iter 100 value 100.669049
## final  value 100.669049 
## stopped after 100 iterations
## # weights:  76
## initial  value 596.581003 
## iter  10 value 250.647011
## iter  20 value 163.416651
## iter  30 value 112.173249
## iter  40 value 81.871766
## iter  50 value 71.970226
## iter  60 value 68.708798
## iter  70 value 68.176001
## iter  80 value 68.150074
## iter  90 value 68.145207
## iter 100 value 68.144025
## final  value 68.144025 
## stopped after 100 iterations
resultado_entrenamiento5 <- predict(modelo5, entrenamiento)
resultado_prueba5 <- predict(modelo5, prueba)

mcre5 <- confusionMatrix(resultado_entrenamiento5, entrenamiento$target)

mcrp5 <- confusionMatrix(resultado_prueba5, prueba$target)
modelo6 <- train(target ~ ., data=entrenamiento, 
                 method = "rf",
                 preProcess=c("scale","center"),
                 trControl = trainControl(method="cv", number=10),
                 tuneGrid = expand.grid(mtry = c(2,4,6))
                 )

resultado_entrenamiento6 <- predict(modelo6, entrenamiento)
resultado_prueba6 <- predict(modelo6, prueba)

mcre6 <- confusionMatrix(resultado_entrenamiento6, entrenamiento$target)

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("Precision de Entrenamiento", "Precision de Prueba") 
resultados
##                            svmLinear svmRadial   svmPoly     rpart      nnet rf
## Precision de Entrenamiento 0.8426829         1 0.8426829 0.9012195 0.9719512  1
## Precision de Prueba        0.8634146         1 0.8634146 0.8634146 0.9609756  1
LS0tCnRpdGxlOiAiQ2FyZXRIZWFydCIKYXV0aG9yOiAiU29maWEgQmVycm9uIgpkYXRlOiAiMjAyNC0wOC0yMSIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiBjZXJ1bGVhbgplZGl0b3Jfb3B0aW9uczogCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUKCi0tLQoKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShsYXR0aWNlKQpsaWJyYXJ5KGNhcmV0KQpsaWJyYXJ5KGRhdGFzZXRzKQpsaWJyYXJ5KERhdGFFeHBsb3JlcikKbGlicmFyeShrZXJubGFiKQpsaWJyYXJ5KHJhbmRvbUZvcmVzdCkKYGBgCgpgYGB7cn0KZGYgPC0gcmVhZC5jc3YoIn4vRG93bmxvYWRzL2hlYXJ0LmNzdiIpCnN1bW1hcnkoZGYpCnN0cihkZikKcGxvdF9taXNzaW5nKGRmKQoKYGBgCgpgYGB7cn0Kc2V0LnNlZWQoMTIzKQpyZW5nbG9uZXNfZW50cmVuYW1pZW50byA8LSBjcmVhdGVEYXRhUGFydGl0aW9uKGRmJHRhcmdldCwgcD0wLjgsIGxpc3Q9RkFMU0UpCmVudHJlbmFtaWVudG8gPC0gZGZbcmVuZ2xvbmVzX2VudHJlbmFtaWVudG8sIF0KcHJ1ZWJhIDwtIGRmWy1yZW5nbG9uZXNfZW50cmVuYW1pZW50bywgXQpwcnVlYmEKYGBgCgpgYGB7cn0KCmVudHJlbmFtaWVudG8kdGFyZ2V0IDwtIGFzLmZhY3RvcihlbnRyZW5hbWllbnRvJHRhcmdldCkKcHJ1ZWJhJHRhcmdldCA8LSBhcy5mYWN0b3IocHJ1ZWJhJHRhcmdldCkKCm1vZGVsbzEgPC0gdHJhaW4odGFyZ2V0IH4gLiwgZGF0YT1lbnRyZW5hbWllbnRvLCAKICAgICAgICAgICAgICAgICBtZXRob2QgPSAic3ZtTGluZWFyIiwKICAgICAgICAgICAgICAgICBwcmVQcm9jZXNzPWMoInNjYWxlIiwgImNlbnRlciIpLAogICAgICAgICAgICAgICAgIHRyQ29udHJvbCA9IHRyYWluQ29udHJvbChtZXRob2Q9ImN2IiwgbnVtYmVyPTEwKSwKICAgICAgICAgICAgICAgICB0dW5lR3JpZCA9IGRhdGEuZnJhbWUoQz0xKQogICAgICAgICAgICAgICAgICkKCnJlc3VsdGFkb19lbnRyZW5hbWllbnRvMSA8LSBwcmVkaWN0KG1vZGVsbzEsIGVudHJlbmFtaWVudG8pCnJlc3VsdGFkb19wcnVlYmExIDwtIHByZWRpY3QobW9kZWxvMSwgcHJ1ZWJhKQoKcmVzdWx0YWRvX2VudHJlbmFtaWVudG8xIDwtIGZhY3RvcihyZXN1bHRhZG9fZW50cmVuYW1pZW50bzEsIGxldmVscyA9IGxldmVscyhlbnRyZW5hbWllbnRvJHRhcmdldCkpCnJlc3VsdGFkb19wcnVlYmExIDwtIGZhY3RvcihyZXN1bHRhZG9fcHJ1ZWJhMSwgbGV2ZWxzID0gbGV2ZWxzKHBydWViYSR0YXJnZXQpKQoKbWNyZTEgPC0gY29uZnVzaW9uTWF0cml4KHJlc3VsdGFkb19lbnRyZW5hbWllbnRvMSwgZW50cmVuYW1pZW50byR0YXJnZXQpCm1jcnAxIDwtIGNvbmZ1c2lvbk1hdHJpeChyZXN1bHRhZG9fcHJ1ZWJhMSwgcHJ1ZWJhJHRhcmdldCkKCnByaW50KG1jcmUxKQpwcmludChtY3JwMSkKCmBgYAoKCgoKYGBge3J9Cm1vZGVsbzIgPC0gdHJhaW4odGFyZ2V0IH4gLiwgZGF0YT1lbnRyZW5hbWllbnRvLCAKICAgICAgICAgICAgICAgICBtZXRob2QgPSAic3ZtUmFkaWFsIiwKICAgICAgICAgICAgICAgICBwcmVQcm9jZXNzPWMoInNjYWxlIiwiY2VudGVyIiksCiAgICAgICAgICAgICAgICAgdHJDb250cm9sID0gdHJhaW5Db250cm9sKG1ldGhvZD0iY3YiLCBudW1iZXI9MTApLAogICAgICAgICAgICAgICAgIHR1bmVHcmlkID0gZGF0YS5mcmFtZShzaWdtYT0xLCBDPTEpCiAgICAgICAgICAgICAgICAgKQoKcmVzdWx0YWRvX2VudHJlbmFtaWVudG8yIDwtIHByZWRpY3QobW9kZWxvMiwgZW50cmVuYW1pZW50bykKcmVzdWx0YWRvX3BydWViYTIgPC0gcHJlZGljdChtb2RlbG8yLCBwcnVlYmEpCgptY3JlMiA8LSBjb25mdXNpb25NYXRyaXgocmVzdWx0YWRvX2VudHJlbmFtaWVudG8yLCBlbnRyZW5hbWllbnRvJHRhcmdldCkKCm1jcnAyIDwtIGNvbmZ1c2lvbk1hdHJpeChyZXN1bHRhZG9fcHJ1ZWJhMiwgcHJ1ZWJhJHRhcmdldCkKYGBgCgpgYGB7cn0KbW9kZWxvMyA8LSB0cmFpbih0YXJnZXQgfiAuLCBkYXRhPWVudHJlbmFtaWVudG8sIAogICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJzdm1Qb2x5IiwKICAgICAgICAgICAgICAgICBwcmVQcm9jZXNzPWMoInNjYWxlIiwiY2VudGVyIiksCiAgICAgICAgICAgICAgICAgdHJDb250cm9sID0gdHJhaW5Db250cm9sKG1ldGhvZD0iY3YiLCBudW1iZXI9MTApLAogICAgICAgICAgICAgICAgIHR1bmVHcmlkID0gZGF0YS5mcmFtZShkZWdyZWU9MSwgc2NhbGU9MSwgQz0xKQogICAgICAgICAgICAgICAgICkKCnJlc3VsdGFkb19lbnRyZW5hbWllbnRvMyA8LSBwcmVkaWN0KG1vZGVsbzMsIGVudHJlbmFtaWVudG8pCnJlc3VsdGFkb19wcnVlYmEzIDwtIHByZWRpY3QobW9kZWxvMywgcHJ1ZWJhKQoKbWNyZTMgPC0gY29uZnVzaW9uTWF0cml4KHJlc3VsdGFkb19lbnRyZW5hbWllbnRvMywgZW50cmVuYW1pZW50byR0YXJnZXQpCgptY3JwMyA8LSBjb25mdXNpb25NYXRyaXgocmVzdWx0YWRvX3BydWViYTMsIHBydWViYSR0YXJnZXQpCmBgYAoKYGBge3J9Cm1vZGVsbzQgPC0gdHJhaW4odGFyZ2V0IH4gLiwgZGF0YT1lbnRyZW5hbWllbnRvLCAKICAgICAgICAgICAgICAgICBtZXRob2QgPSAicnBhcnQiLAogICAgICAgICAgICAgICAgIHByZVByb2Nlc3M9Yygic2NhbGUiLCJjZW50ZXIiKSwKICAgICAgICAgICAgICAgICB0ckNvbnRyb2wgPSB0cmFpbkNvbnRyb2wobWV0aG9kPSJjdiIsIG51bWJlcj0xMCksCiAgICAgICAgICAgICAgICAgdHVuZUxlbmd0aCA9IDEwCiAgICAgICAgICAgICAgICAgKQoKcmVzdWx0YWRvX2VudHJlbmFtaWVudG80IDwtIHByZWRpY3QobW9kZWxvNCwgZW50cmVuYW1pZW50bykKcmVzdWx0YWRvX3BydWViYTQgPC0gcHJlZGljdChtb2RlbG80LCBwcnVlYmEpCgptY3JlNCA8LSBjb25mdXNpb25NYXRyaXgocmVzdWx0YWRvX2VudHJlbmFtaWVudG80LCBlbnRyZW5hbWllbnRvJHRhcmdldCkKCm1jcnA0IDwtIGNvbmZ1c2lvbk1hdHJpeChyZXN1bHRhZG9fcHJ1ZWJhNCwgcHJ1ZWJhJHRhcmdldCkKYGBgCgpgYGB7cn0KbW9kZWxvNSA8LSB0cmFpbih0YXJnZXQgfiAuLCBkYXRhPWVudHJlbmFtaWVudG8sIAogICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJubmV0IiwKICAgICAgICAgICAgICAgICBwcmVQcm9jZXNzPWMoInNjYWxlIiwiY2VudGVyIiksCiAgICAgICAgICAgICAgICAgdHJDb250cm9sID0gdHJhaW5Db250cm9sKG1ldGhvZD0iY3YiLCBudW1iZXI9MTApCiAgICAgICAgICAgICAgICAgKQoKcmVzdWx0YWRvX2VudHJlbmFtaWVudG81IDwtIHByZWRpY3QobW9kZWxvNSwgZW50cmVuYW1pZW50bykKcmVzdWx0YWRvX3BydWViYTUgPC0gcHJlZGljdChtb2RlbG81LCBwcnVlYmEpCgptY3JlNSA8LSBjb25mdXNpb25NYXRyaXgocmVzdWx0YWRvX2VudHJlbmFtaWVudG81LCBlbnRyZW5hbWllbnRvJHRhcmdldCkKCm1jcnA1IDwtIGNvbmZ1c2lvbk1hdHJpeChyZXN1bHRhZG9fcHJ1ZWJhNSwgcHJ1ZWJhJHRhcmdldCkKYGBgCgpgYGB7cn0KbW9kZWxvNiA8LSB0cmFpbih0YXJnZXQgfiAuLCBkYXRhPWVudHJlbmFtaWVudG8sIAogICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJyZiIsCiAgICAgICAgICAgICAgICAgcHJlUHJvY2Vzcz1jKCJzY2FsZSIsImNlbnRlciIpLAogICAgICAgICAgICAgICAgIHRyQ29udHJvbCA9IHRyYWluQ29udHJvbChtZXRob2Q9ImN2IiwgbnVtYmVyPTEwKSwKICAgICAgICAgICAgICAgICB0dW5lR3JpZCA9IGV4cGFuZC5ncmlkKG10cnkgPSBjKDIsNCw2KSkKICAgICAgICAgICAgICAgICApCgpyZXN1bHRhZG9fZW50cmVuYW1pZW50bzYgPC0gcHJlZGljdChtb2RlbG82LCBlbnRyZW5hbWllbnRvKQpyZXN1bHRhZG9fcHJ1ZWJhNiA8LSBwcmVkaWN0KG1vZGVsbzYsIHBydWViYSkKCm1jcmU2IDwtIGNvbmZ1c2lvbk1hdHJpeChyZXN1bHRhZG9fZW50cmVuYW1pZW50bzYsIGVudHJlbmFtaWVudG8kdGFyZ2V0KQoKbWNycDYgPC0gY29uZnVzaW9uTWF0cml4KHJlc3VsdGFkb19wcnVlYmE2LCBwcnVlYmEkdGFyZ2V0KQpgYGAKCmBgYHtyfQpyZXN1bHRhZG9zIDwtIGRhdGEuZnJhbWUoCiAgInN2bUxpbmVhciIgPWMobWNyZTEkb3ZlcmFsbFsiQWNjdXJhY3kiXSwgbWNycDEkb3ZlcmFsbFsiQWNjdXJhY3kiXSksCiAgInN2bVJhZGlhbCIgPWMobWNyZTIkb3ZlcmFsbFsiQWNjdXJhY3kiXSwgbWNycDIkb3ZlcmFsbFsiQWNjdXJhY3kiXSksCiAgInN2bVBvbHkiID1jKG1jcmUzJG92ZXJhbGxbIkFjY3VyYWN5Il0sIG1jcnAzJG92ZXJhbGxbIkFjY3VyYWN5Il0pLAogICJycGFydCIgPWMobWNyZTQkb3ZlcmFsbFsiQWNjdXJhY3kiXSwgbWNycDQkb3ZlcmFsbFsiQWNjdXJhY3kiXSksCiAgIm5uZXQiID1jKG1jcmU1JG92ZXJhbGxbIkFjY3VyYWN5Il0sIG1jcnA1JG92ZXJhbGxbIkFjY3VyYWN5Il0pLAogICJyZiIgPWMobWNyZTYkb3ZlcmFsbFsiQWNjdXJhY3kiXSwgbWNycDYkb3ZlcmFsbFsiQWNjdXJhY3kiXSkKICApCgpyb3duYW1lcyhyZXN1bHRhZG9zKSA8LSBjKCJQcmVjaXNpb24gZGUgRW50cmVuYW1pZW50byIsICJQcmVjaXNpb24gZGUgUHJ1ZWJhIikgCnJlc3VsdGFkb3MKYGBgCgoKCgo=