library(tidyverse)
## -- Attaching packages ----------------------------------------------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.2.1     v purrr   0.3.2
## v tibble  2.1.3     v dplyr   0.8.3
## v tidyr   1.0.0     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.4.0
## -- Conflicts -------------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(caret)
## Loading required package: lattice
## 
## Attaching package: 'caret'
## The following object is masked from 'package:purrr':
## 
##     lift
library(keras)
library(datasets)
library(GGally)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
## 
## Attaching package: 'GGally'
## The following object is masked from 'package:dplyr':
## 
##     nasa
library(janitor)
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(broom)

theme_set(theme_light())
iris <- datasets::iris
iris <- clean_names(as_tibble(iris))

Summary of data

ggpairs(iris, aes(colour = species))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Split data

set.seed(777)
split <- createDataPartition(iris$species, p = 0.75, list = F)

train <- iris[split,]
test <- iris[-split,]

Caret

Create model using KNN

fit1 <- train(species ~ ., data= train, method ="knn")
fit1
## k-Nearest Neighbors 
## 
## 114 samples
##   4 predictor
##   3 classes: 'setosa', 'versicolor', 'virginica' 
## 
## No pre-processing
## Resampling: Bootstrapped (25 reps) 
## Summary of sample sizes: 114, 114, 114, 114, 114, 114, ... 
## Resampling results across tuning parameters:
## 
##   k  Accuracy   Kappa    
##   5  0.9759876  0.9634918
##   7  0.9749680  0.9619386
##   9  0.9743473  0.9610629
## 
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was k = 5.

Use it to predict values

On training data:

train_predict1 <- predict(fit1, train)
confusionMatrix(train$species, train_predict1)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         38          0         0
##   versicolor      0         37         1
##   virginica       0          1        37
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9825          
##                  95% CI : (0.9381, 0.9979)
##     No Information Rate : 0.3333          
##     P-Value [Acc > NIR] : < 2.2e-16       
##                                           
##                   Kappa : 0.9737          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.9737           0.9737
## Specificity                 1.0000            0.9868           0.9868
## Pos Pred Value              1.0000            0.9737           0.9737
## Neg Pred Value              1.0000            0.9868           0.9868
## Prevalence                  0.3333            0.3333           0.3333
## Detection Rate              0.3333            0.3246           0.3246
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            0.9803           0.9803

And test data

test_predict1 <- predict(fit1, test)
confusionMatrix(test$species, test_predict1)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         12          0         0
##   versicolor      0         11         1
##   virginica       0          0        12
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9722          
##                  95% CI : (0.8547, 0.9993)
##     No Information Rate : 0.3611          
##     P-Value [Acc > NIR] : 7.69e-15        
##                                           
##                   Kappa : 0.9583          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.9231
## Specificity                 1.0000            0.9600           1.0000
## Pos Pred Value              1.0000            0.9167           1.0000
## Neg Pred Value              1.0000            1.0000           0.9583
## Prevalence                  0.3333            0.3056           0.3611
## Detection Rate              0.3333            0.3056           0.3333
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            0.9800           0.9615

Create model using nnet

fit2 <- train(species ~ ., data= train, method ="nnet")
## # weights:  11
## initial  value 128.834685 
## iter  10 value 56.156075
## iter  20 value 17.215995
## iter  30 value 0.558362
## iter  40 value 0.021187
## iter  50 value 0.018792
## iter  60 value 0.009935
## iter  70 value 0.005286
## iter  80 value 0.005055
## iter  90 value 0.004974
## iter 100 value 0.004845
## final  value 0.004845 
## stopped after 100 iterations
## # weights:  27
## initial  value 150.528326 
## iter  10 value 120.909460
## iter  20 value 70.635175
## iter  30 value 0.524330
## iter  40 value 0.008568
## final  value 0.000051 
## converged
## # weights:  43
## initial  value 140.834476 
## iter  10 value 52.648161
## iter  20 value 3.292173
## iter  30 value 0.003616
## final  value 0.000060 
## converged
## # weights:  11
## initial  value 121.196561 
## iter  10 value 52.385520
## iter  20 value 45.807214
## final  value 45.805213 
## converged
## # weights:  27
## initial  value 144.238980 
## iter  10 value 83.404005
## iter  20 value 54.004775
## iter  30 value 20.827616
## iter  40 value 19.383124
## iter  50 value 19.381333
## final  value 19.381332 
## converged
## # weights:  43
## initial  value 137.160389 
## iter  10 value 58.860903
## iter  20 value 26.084408
## iter  30 value 18.859326
## iter  40 value 18.377446
## iter  50 value 17.900398
## iter  60 value 17.502672
## iter  70 value 17.487170
## iter  80 value 17.482248
## iter  90 value 17.478979
## iter 100 value 17.474341
## final  value 17.474341 
## stopped after 100 iterations
## # weights:  11
## initial  value 124.582720 
## iter  10 value 54.544121
## iter  20 value 46.483535
## iter  30 value 12.477915
## iter  40 value 1.337035
## iter  50 value 1.226492
## iter  60 value 1.205734
## iter  70 value 1.203475
## iter  80 value 1.194828
## iter  90 value 1.193958
## iter 100 value 1.193623
## final  value 1.193623 
## stopped after 100 iterations
## # weights:  27
## initial  value 126.988509 
## iter  10 value 52.543874
## iter  20 value 52.204044
## iter  30 value 52.194651
## iter  40 value 52.159418
## iter  50 value 52.045611
## iter  60 value 51.860889
## iter  70 value 11.822222
## iter  80 value 1.376330
## iter  90 value 1.275814
## iter 100 value 1.234768
## final  value 1.234768 
## stopped after 100 iterations
## # weights:  43
## initial  value 163.417357 
## iter  10 value 51.245211
## iter  20 value 7.073992
## iter  30 value 0.543711
## iter  40 value 0.435148
## iter  50 value 0.354256
## iter  60 value 0.240120
## iter  70 value 0.194210
## iter  80 value 0.187460
## iter  90 value 0.168031
## iter 100 value 0.148234
## final  value 0.148234 
## stopped after 100 iterations
## # weights:  11
## initial  value 134.797035 
## iter  10 value 57.472254
## iter  20 value 38.641695
## iter  30 value 11.533377
## iter  40 value 3.677375
## iter  50 value 1.876063
## iter  60 value 1.493978
## iter  70 value 0.106482
## iter  80 value 0.077738
## iter  90 value 0.069663
## iter 100 value 0.066312
## final  value 0.066312 
## stopped after 100 iterations
## # weights:  27
## initial  value 139.688132 
## iter  10 value 124.866458
## iter  20 value 62.499600
## iter  30 value 7.288096
## iter  40 value 0.739898
## iter  50 value 0.001080
## final  value 0.000053 
## converged
## # weights:  43
## initial  value 155.450313 
## iter  10 value 39.474328
## iter  20 value 0.745934
## iter  30 value 0.000749
## iter  40 value 0.000182
## final  value 0.000077 
## converged
## # weights:  11
## initial  value 148.489144 
## iter  10 value 125.180382
## iter  20 value 71.480044
## iter  30 value 53.570585
## iter  40 value 44.447370
## final  value 44.447211 
## converged
## # weights:  27
## initial  value 137.617237 
## iter  10 value 51.484572
## iter  20 value 24.485544
## iter  30 value 22.083442
## iter  40 value 22.080661
## iter  50 value 21.888858
## iter  60 value 19.887600
## final  value 19.849976 
## converged
## # weights:  43
## initial  value 144.274348 
## iter  10 value 42.530779
## iter  20 value 22.537894
## iter  30 value 20.291316
## iter  40 value 19.541792
## iter  50 value 19.324035
## iter  60 value 19.218453
## iter  70 value 19.002876
## iter  80 value 18.945919
## final  value 18.940126 
## converged
## # weights:  11
## initial  value 126.551198 
## iter  10 value 49.986307
## iter  20 value 13.434406
## iter  30 value 2.493839
## iter  40 value 2.031275
## iter  50 value 1.964060
## iter  60 value 1.874886
## iter  70 value 1.870593
## iter  80 value 1.868199
## iter  90 value 1.865859
## iter 100 value 1.864964
## final  value 1.864964 
## stopped after 100 iterations
## # weights:  27
## initial  value 130.281853 
## iter  10 value 37.265404
## iter  20 value 11.778438
## iter  30 value 4.891750
## iter  40 value 3.566889
## iter  50 value 3.283138
## iter  60 value 3.202821
## iter  70 value 2.202461
## iter  80 value 2.166235
## iter  90 value 1.864967
## iter 100 value 1.833127
## final  value 1.833127 
## stopped after 100 iterations
## # weights:  43
## initial  value 188.399622 
## iter  10 value 54.975995
## iter  20 value 49.077712
## iter  30 value 1.650153
## iter  40 value 0.209324
## iter  50 value 0.199574
## iter  60 value 0.193291
## iter  70 value 0.178288
## iter  80 value 0.173947
## iter  90 value 0.170654
## iter 100 value 0.169723
## final  value 0.169723 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.098348 
## iter  10 value 50.043535
## iter  10 value 50.043535
## iter  10 value 50.043535
## final  value 50.043535 
## converged
## # weights:  27
## initial  value 124.963588 
## iter  10 value 51.295784
## iter  20 value 50.046351
## iter  30 value 50.043656
## final  value 50.043536 
## converged
## # weights:  43
## initial  value 138.910266 
## iter  10 value 50.830587
## iter  20 value 27.227997
## iter  30 value 2.238286
## iter  40 value 0.007321
## iter  50 value 0.000101
## iter  50 value 0.000100
## iter  50 value 0.000030
## final  value 0.000030 
## converged
## # weights:  11
## initial  value 140.516944 
## iter  10 value 59.760390
## iter  20 value 54.839304
## iter  30 value 45.051547
## final  value 45.051056 
## converged
## # weights:  27
## initial  value 140.489017 
## iter  10 value 78.772352
## iter  20 value 55.417608
## iter  30 value 25.535900
## iter  40 value 18.857376
## iter  50 value 18.366792
## final  value 18.366786 
## converged
## # weights:  43
## initial  value 122.343278 
## iter  10 value 49.153558
## iter  20 value 20.700096
## iter  30 value 18.074046
## iter  40 value 17.562037
## iter  50 value 17.154366
## iter  60 value 17.108051
## iter  70 value 16.975644
## final  value 16.975527 
## converged
## # weights:  11
## initial  value 144.989765 
## iter  10 value 52.127792
## iter  20 value 50.094892
## iter  30 value 50.091430
## iter  40 value 50.089360
## iter  50 value 48.655060
## iter  60 value 15.318470
## iter  70 value 1.180048
## iter  80 value 1.089689
## iter  90 value 1.074558
## iter 100 value 1.073353
## final  value 1.073353 
## stopped after 100 iterations
## # weights:  27
## initial  value 134.173814 
## iter  10 value 19.530101
## iter  20 value 0.412156
## iter  30 value 0.314625
## iter  40 value 0.275691
## iter  50 value 0.248163
## iter  60 value 0.222478
## iter  70 value 0.202304
## iter  80 value 0.187731
## iter  90 value 0.162410
## iter 100 value 0.138829
## final  value 0.138829 
## stopped after 100 iterations
## # weights:  43
## initial  value 132.609414 
## iter  10 value 60.107330
## iter  20 value 0.576171
## iter  30 value 0.280480
## iter  40 value 0.264940
## iter  50 value 0.228229
## iter  60 value 0.164001
## iter  70 value 0.143683
## iter  80 value 0.137882
## iter  90 value 0.127361
## iter 100 value 0.122754
## final  value 0.122754 
## stopped after 100 iterations
## # weights:  11
## initial  value 155.374505 
## iter  10 value 124.556877
## iter  20 value 124.547922
## final  value 124.547915 
## converged
## # weights:  27
## initial  value 150.304582 
## iter  10 value 45.168392
## iter  20 value 12.169710
## iter  30 value 7.789886
## iter  40 value 7.780574
## iter  50 value 7.780486
## iter  50 value 7.780486
## iter  50 value 7.780486
## final  value 7.780486 
## converged
## # weights:  43
## initial  value 138.923213 
## iter  10 value 52.926701
## iter  20 value 0.176695
## iter  30 value 0.008617
## iter  40 value 0.000428
## final  value 0.000089 
## converged
## # weights:  11
## initial  value 129.205347 
## iter  10 value 96.496454
## iter  20 value 49.588250
## iter  30 value 44.638942
## final  value 44.636873 
## converged
## # weights:  27
## initial  value 122.164496 
## iter  10 value 31.620004
## iter  20 value 19.599030
## iter  30 value 18.506400
## iter  40 value 18.218763
## iter  50 value 18.210149
## final  value 18.210148 
## converged
## # weights:  43
## initial  value 130.800718 
## iter  10 value 37.300984
## iter  20 value 18.759130
## iter  30 value 17.287645
## iter  40 value 16.940661
## iter  50 value 16.274556
## iter  60 value 15.673250
## iter  70 value 15.627545
## iter  80 value 15.627302
## final  value 15.627300 
## converged
## # weights:  11
## initial  value 123.907762 
## iter  10 value 54.374315
## iter  20 value 54.322471
## iter  30 value 54.302537
## iter  40 value 51.564041
## iter  50 value 12.719348
## iter  60 value 1.614602
## iter  70 value 0.982662
## iter  80 value 0.980464
## iter  90 value 0.975819
## iter 100 value 0.975564
## final  value 0.975564 
## stopped after 100 iterations
## # weights:  27
## initial  value 148.395053 
## iter  10 value 54.690322
## iter  20 value 34.603060
## iter  30 value 0.386322
## iter  40 value 0.318262
## iter  50 value 0.265261
## iter  60 value 0.214252
## iter  70 value 0.177578
## iter  80 value 0.153422
## iter  90 value 0.128194
## iter 100 value 0.121817
## final  value 0.121817 
## stopped after 100 iterations
## # weights:  43
## initial  value 166.609493 
## iter  10 value 54.654423
## iter  20 value 54.326166
## iter  30 value 7.569432
## iter  40 value 0.220933
## iter  50 value 0.202936
## iter  60 value 0.176985
## iter  70 value 0.157177
## iter  80 value 0.099241
## iter  90 value 0.096628
## iter 100 value 0.087657
## final  value 0.087657 
## stopped after 100 iterations
## # weights:  11
## initial  value 130.132319 
## iter  10 value 42.803951
## iter  20 value 36.532809
## iter  30 value 8.842198
## iter  40 value 0.682450
## iter  50 value 0.032238
## iter  60 value 0.018521
## iter  70 value 0.015334
## iter  80 value 0.013454
## iter  90 value 0.008655
## iter 100 value 0.007892
## final  value 0.007892 
## stopped after 100 iterations
## # weights:  27
## initial  value 147.314743 
## iter  10 value 103.858861
## iter  20 value 0.749867
## iter  30 value 0.000922
## final  value 0.000059 
## converged
## # weights:  43
## initial  value 130.006858 
## iter  10 value 43.358527
## iter  20 value 41.653110
## iter  30 value 2.638726
## iter  40 value 0.012949
## iter  50 value 0.000147
## iter  50 value 0.000074
## iter  50 value 0.000074
## final  value 0.000074 
## converged
## # weights:  11
## initial  value 123.137562 
## iter  10 value 47.039763
## iter  20 value 41.876665
## iter  30 value 41.858302
## final  value 41.858300 
## converged
## # weights:  27
## initial  value 129.532853 
## iter  10 value 69.120792
## iter  20 value 45.024087
## iter  30 value 23.617729
## iter  40 value 20.307744
## iter  50 value 19.222513
## iter  60 value 18.136120
## iter  70 value 16.547339
## iter  80 value 16.524010
## final  value 16.524009 
## converged
## # weights:  43
## initial  value 132.655539 
## iter  10 value 53.608226
## iter  20 value 25.923010
## iter  30 value 17.217113
## iter  40 value 17.090454
## iter  50 value 16.242300
## iter  60 value 15.524174
## iter  70 value 15.017990
## iter  80 value 14.917251
## final  value 14.917242 
## converged
## # weights:  11
## initial  value 124.490361 
## iter  10 value 52.116352
## iter  20 value 43.474190
## iter  30 value 43.459204
## iter  40 value 43.436945
## iter  50 value 43.416285
## iter  60 value 43.385607
## iter  70 value 43.353459
## iter  80 value 43.351717
## iter  90 value 43.094771
## iter 100 value 29.847838
## final  value 29.847838 
## stopped after 100 iterations
## # weights:  27
## initial  value 129.836872 
## iter  10 value 48.628960
## iter  20 value 41.684071
## iter  30 value 0.731636
## iter  40 value 0.309020
## iter  50 value 0.228221
## iter  60 value 0.161171
## iter  70 value 0.110173
## iter  80 value 0.103493
## iter  90 value 0.100371
## iter 100 value 0.096700
## final  value 0.096700 
## stopped after 100 iterations
## # weights:  43
## initial  value 148.941987 
## iter  10 value 2.838661
## iter  20 value 0.551023
## iter  30 value 0.317360
## iter  40 value 0.193343
## iter  50 value 0.153326
## iter  60 value 0.141196
## iter  70 value 0.127237
## iter  80 value 0.119007
## iter  90 value 0.110820
## iter 100 value 0.105460
## final  value 0.105460 
## stopped after 100 iterations
## # weights:  11
## initial  value 129.911203 
## iter  10 value 107.931464
## iter  20 value 35.384276
## iter  30 value 4.282505
## iter  40 value 0.038854
## iter  50 value 0.018847
## iter  60 value 0.013483
## iter  70 value 0.009454
## iter  80 value 0.009342
## iter  90 value 0.008983
## iter 100 value 0.008868
## final  value 0.008868 
## stopped after 100 iterations
## # weights:  27
## initial  value 142.558893 
## iter  10 value 55.400427
## iter  20 value 55.395781
## final  value 55.395696 
## converged
## # weights:  43
## initial  value 131.140739 
## iter  10 value 57.680269
## iter  20 value 2.484071
## iter  30 value 0.033881
## iter  40 value 0.000259
## final  value 0.000046 
## converged
## # weights:  11
## initial  value 128.843773 
## iter  10 value 64.341489
## iter  20 value 47.985462
## final  value 46.773717 
## converged
## # weights:  27
## initial  value 165.048324 
## iter  10 value 43.739636
## iter  20 value 19.998873
## iter  30 value 19.831843
## final  value 19.831496 
## converged
## # weights:  43
## initial  value 181.052290 
## iter  10 value 79.728113
## iter  20 value 44.872418
## iter  30 value 26.475194
## iter  40 value 21.489624
## iter  50 value 20.654254
## iter  60 value 20.062306
## iter  70 value 19.702817
## iter  80 value 19.443565
## iter  90 value 19.289756
## iter 100 value 18.731606
## final  value 18.731606 
## stopped after 100 iterations
## # weights:  11
## initial  value 132.856806 
## iter  10 value 55.874610
## iter  20 value 55.452283
## iter  30 value 55.450229
## iter  40 value 55.444399
## iter  50 value 53.460539
## iter  60 value 39.701548
## iter  70 value 8.091531
## iter  80 value 2.170184
## iter  90 value 1.903514
## iter 100 value 1.850561
## final  value 1.850561 
## stopped after 100 iterations
## # weights:  27
## initial  value 127.422637 
## iter  10 value 65.250551
## iter  20 value 55.592166
## iter  30 value 55.480899
## iter  40 value 55.429257
## iter  50 value 5.677708
## iter  60 value 0.827432
## iter  70 value 0.217143
## iter  80 value 0.209129
## iter  90 value 0.193636
## iter 100 value 0.186620
## final  value 0.186620 
## stopped after 100 iterations
## # weights:  43
## initial  value 144.199630 
## iter  10 value 86.042162
## iter  20 value 8.616521
## iter  30 value 0.279510
## iter  40 value 0.241477
## iter  50 value 0.225218
## iter  60 value 0.214275
## iter  70 value 0.206395
## iter  80 value 0.198201
## iter  90 value 0.184922
## iter 100 value 0.175948
## final  value 0.175948 
## stopped after 100 iterations
## # weights:  11
## initial  value 123.779795 
## iter  10 value 60.652573
## iter  20 value 11.692060
## iter  30 value 1.005027
## iter  40 value 0.873137
## iter  50 value 0.737134
## iter  60 value 0.636811
## iter  70 value 0.477114
## iter  80 value 0.447001
## iter  90 value 0.385198
## iter 100 value 0.171852
## final  value 0.171852 
## stopped after 100 iterations
## # weights:  27
## initial  value 154.443311 
## iter  10 value 55.643274
## iter  20 value 55.637146
## final  value 55.637072 
## converged
## # weights:  43
## initial  value 129.585992 
## iter  10 value 44.421384
## iter  20 value 0.084717
## iter  30 value 0.000297
## final  value 0.000082 
## converged
## # weights:  11
## initial  value 143.585241 
## iter  10 value 74.364543
## iter  20 value 44.355015
## iter  30 value 44.338937
## final  value 44.338923 
## converged
## # weights:  27
## initial  value 137.701292 
## iter  10 value 79.326703
## iter  20 value 34.676394
## iter  30 value 27.029369
## iter  40 value 20.786323
## iter  50 value 19.293789
## iter  60 value 18.905368
## iter  70 value 18.741316
## final  value 18.741312 
## converged
## # weights:  43
## initial  value 145.204929 
## iter  10 value 32.841975
## iter  20 value 18.706972
## iter  30 value 17.928660
## iter  40 value 17.626982
## iter  50 value 17.458201
## iter  60 value 17.384110
## iter  70 value 17.375477
## iter  80 value 17.375283
## final  value 17.375278 
## converged
## # weights:  11
## initial  value 124.395788 
## iter  10 value 56.176039
## iter  20 value 15.023921
## iter  30 value 3.638184
## iter  40 value 2.228763
## iter  50 value 1.784504
## iter  60 value 1.770083
## iter  70 value 1.742850
## iter  80 value 1.720545
## iter  90 value 1.711344
## iter 100 value 1.701082
## final  value 1.701082 
## stopped after 100 iterations
## # weights:  27
## initial  value 138.990976 
## iter  10 value 22.194135
## iter  20 value 3.796016
## iter  30 value 2.133249
## iter  40 value 1.982661
## iter  50 value 1.890907
## iter  60 value 1.852129
## iter  70 value 1.770999
## iter  80 value 1.535774
## iter  90 value 1.141362
## iter 100 value 1.010150
## final  value 1.010150 
## stopped after 100 iterations
## # weights:  43
## initial  value 150.164996 
## iter  10 value 45.785059
## iter  20 value 3.919325
## iter  30 value 0.846193
## iter  40 value 0.747735
## iter  50 value 0.679515
## iter  60 value 0.515911
## iter  70 value 0.384690
## iter  80 value 0.368072
## iter  90 value 0.339890
## iter 100 value 0.285313
## final  value 0.285313 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.412107 
## iter  10 value 51.587259
## iter  20 value 51.430936
## iter  30 value 13.913705
## iter  40 value 3.939073
## iter  50 value 0.431354
## iter  60 value 0.202292
## iter  70 value 0.157757
## iter  80 value 0.131896
## iter  90 value 0.100047
## iter 100 value 0.093507
## final  value 0.093507 
## stopped after 100 iterations
## # weights:  27
## initial  value 148.225523 
## iter  10 value 47.480748
## iter  20 value 20.422174
## iter  30 value 2.043025
## iter  40 value 0.005362
## final  value 0.000053 
## converged
## # weights:  43
## initial  value 156.499762 
## iter  10 value 40.242784
## iter  20 value 0.375741
## iter  30 value 0.000821
## final  value 0.000071 
## converged
## # weights:  11
## initial  value 131.328381 
## iter  10 value 68.118052
## iter  20 value 61.764983
## iter  30 value 55.839606
## iter  40 value 42.659021
## final  value 42.648486 
## converged
## # weights:  27
## initial  value 130.424336 
## iter  10 value 55.242082
## iter  20 value 32.838683
## iter  30 value 23.798410
## iter  40 value 19.589430
## iter  50 value 19.237047
## iter  60 value 19.010073
## iter  70 value 19.007645
## final  value 19.007508 
## converged
## # weights:  43
## initial  value 143.484622 
## iter  10 value 50.993616
## iter  20 value 18.893417
## iter  30 value 17.877331
## iter  40 value 17.664217
## iter  50 value 16.746469
## iter  60 value 16.684871
## final  value 16.684870 
## converged
## # weights:  11
## initial  value 125.205377 
## iter  10 value 48.158324
## iter  20 value 9.407643
## iter  30 value 2.357828
## iter  40 value 1.644087
## iter  50 value 1.503127
## iter  60 value 1.462424
## iter  70 value 1.409956
## iter  80 value 1.370500
## iter  90 value 1.362405
## iter 100 value 1.361103
## final  value 1.361103 
## stopped after 100 iterations
## # weights:  27
## initial  value 138.466842 
## iter  10 value 79.901886
## iter  20 value 51.954623
## iter  30 value 51.864166
## iter  40 value 48.956990
## iter  50 value 13.085044
## iter  60 value 4.349833
## iter  70 value 1.776326
## iter  80 value 1.466151
## iter  90 value 1.450404
## iter 100 value 1.282561
## final  value 1.282561 
## stopped after 100 iterations
## # weights:  43
## initial  value 126.944066 
## iter  10 value 49.948787
## iter  20 value 0.607146
## iter  30 value 0.387235
## iter  40 value 0.350716
## iter  50 value 0.301026
## iter  60 value 0.240642
## iter  70 value 0.228872
## iter  80 value 0.208109
## iter  90 value 0.200837
## iter 100 value 0.182591
## final  value 0.182591 
## stopped after 100 iterations
## # weights:  11
## initial  value 125.949527 
## iter  10 value 69.565889
## iter  20 value 7.590551
## iter  30 value 1.156597
## iter  40 value 0.678397
## iter  50 value 0.591646
## iter  60 value 0.470305
## iter  70 value 0.396315
## iter  80 value 0.193973
## iter  90 value 0.151077
## iter 100 value 0.124863
## final  value 0.124863 
## stopped after 100 iterations
## # weights:  27
## initial  value 132.892973 
## iter  10 value 61.345841
## iter  20 value 54.557785
## iter  30 value 54.548380
## final  value 54.548370 
## converged
## # weights:  43
## initial  value 177.799950 
## iter  10 value 54.605981
## iter  20 value 54.406360
## iter  30 value 5.682116
## iter  40 value 0.250655
## iter  50 value 0.001111
## final  value 0.000085 
## converged
## # weights:  11
## initial  value 129.395649 
## iter  10 value 66.167378
## iter  20 value 62.405938
## iter  30 value 55.035125
## iter  40 value 44.513378
## final  value 44.511783 
## converged
## # weights:  27
## initial  value 147.258304 
## iter  10 value 64.667974
## iter  20 value 32.561246
## iter  30 value 22.635691
## iter  40 value 19.887480
## iter  50 value 19.645020
## iter  60 value 19.566583
## iter  70 value 18.922893
## iter  80 value 18.760886
## final  value 18.760882 
## converged
## # weights:  43
## initial  value 129.125396 
## iter  10 value 68.041780
## iter  20 value 22.807955
## iter  30 value 21.000791
## iter  40 value 20.198269
## iter  50 value 19.087167
## iter  60 value 18.667255
## iter  70 value 18.506863
## iter  80 value 17.960694
## iter  90 value 17.756087
## iter 100 value 17.431386
## final  value 17.431386 
## stopped after 100 iterations
## # weights:  11
## initial  value 118.741468 
## iter  10 value 53.400641
## iter  20 value 53.192937
## iter  30 value 53.144467
## iter  40 value 53.094744
## iter  50 value 53.029852
## iter  60 value 52.696767
## iter  70 value 37.524043
## iter  80 value 5.928502
## iter  90 value 2.860042
## iter 100 value 2.408220
## final  value 2.408220 
## stopped after 100 iterations
## # weights:  27
## initial  value 129.602678 
## iter  10 value 54.688757
## iter  20 value 53.067430
## iter  30 value 52.814841
## iter  40 value 46.192258
## iter  50 value 15.029190
## iter  60 value 4.419943
## iter  70 value 1.908051
## iter  80 value 1.626181
## iter  90 value 1.534292
## iter 100 value 1.515448
## final  value 1.515448 
## stopped after 100 iterations
## # weights:  43
## initial  value 138.090611 
## iter  10 value 59.383821
## iter  20 value 34.745019
## iter  30 value 0.595499
## iter  40 value 0.366319
## iter  50 value 0.270693
## iter  60 value 0.243379
## iter  70 value 0.195284
## iter  80 value 0.158666
## iter  90 value 0.151244
## iter 100 value 0.147856
## final  value 0.147856 
## stopped after 100 iterations
## # weights:  11
## initial  value 130.412988 
## iter  10 value 58.237619
## iter  20 value 56.830023
## iter  30 value 43.184648
## iter  40 value 3.164133
## iter  50 value 0.716527
## iter  60 value 0.448196
## iter  70 value 0.220712
## iter  80 value 0.098271
## iter  90 value 0.069516
## iter 100 value 0.067414
## final  value 0.067414 
## stopped after 100 iterations
## # weights:  27
## initial  value 128.022329 
## iter  10 value 58.506349
## iter  20 value 56.839488
## iter  30 value 56.838070
## final  value 56.838069 
## converged
## # weights:  43
## initial  value 127.032005 
## iter  10 value 0.283053
## iter  20 value 0.001574
## final  value 0.000091 
## converged
## # weights:  11
## initial  value 131.685276 
## iter  10 value 123.933265
## iter  20 value 67.716038
## iter  30 value 45.921618
## final  value 45.898983 
## converged
## # weights:  27
## initial  value 155.088933 
## iter  10 value 59.902117
## iter  20 value 33.431881
## iter  30 value 21.769891
## iter  40 value 20.923765
## iter  50 value 19.481591
## iter  60 value 18.929792
## iter  70 value 18.644443
## iter  80 value 18.629203
## final  value 18.629203 
## converged
## # weights:  43
## initial  value 139.503521 
## iter  10 value 47.875774
## iter  20 value 18.797214
## iter  30 value 17.776687
## iter  40 value 17.207632
## iter  50 value 16.678701
## iter  60 value 16.515423
## iter  70 value 16.398852
## iter  80 value 16.333924
## iter  90 value 16.315481
## iter 100 value 16.285730
## final  value 16.285730 
## stopped after 100 iterations
## # weights:  11
## initial  value 131.930200 
## iter  10 value 61.242817
## iter  20 value 57.027610
## iter  30 value 12.001413
## iter  40 value 1.734016
## iter  50 value 1.375338
## iter  60 value 1.261994
## iter  70 value 1.179729
## iter  80 value 1.170366
## iter  90 value 1.157937
## iter 100 value 1.154190
## final  value 1.154190 
## stopped after 100 iterations
## # weights:  27
## initial  value 128.515642 
## iter  10 value 86.706150
## iter  20 value 14.573344
## iter  30 value 0.239400
## iter  40 value 0.203296
## iter  50 value 0.147047
## iter  60 value 0.126415
## iter  70 value 0.122546
## iter  80 value 0.115405
## iter  90 value 0.105340
## iter 100 value 0.100515
## final  value 0.100515 
## stopped after 100 iterations
## # weights:  43
## initial  value 132.662556 
## iter  10 value 57.117139
## iter  20 value 14.451354
## iter  30 value 0.585803
## iter  40 value 0.373992
## iter  50 value 0.268075
## iter  60 value 0.223549
## iter  70 value 0.166470
## iter  80 value 0.131704
## iter  90 value 0.120006
## iter 100 value 0.110995
## final  value 0.110995 
## stopped after 100 iterations
## # weights:  11
## initial  value 125.846838 
## iter  10 value 116.143591
## iter  20 value 19.400885
## iter  30 value 7.201541
## iter  40 value 3.072062
## iter  50 value 0.079302
## iter  60 value 0.032834
## iter  70 value 0.021008
## iter  80 value 0.020834
## iter  90 value 0.018322
## iter 100 value 0.016463
## final  value 0.016463 
## stopped after 100 iterations
## # weights:  27
## initial  value 146.517660 
## iter  10 value 35.212365
## iter  20 value 0.522789
## iter  30 value 0.001992
## iter  40 value 0.000960
## final  value 0.000062 
## converged
## # weights:  43
## initial  value 121.761118 
## iter  10 value 52.949313
## iter  20 value 51.926197
## iter  30 value 51.869207
## iter  40 value 33.363137
## iter  50 value 11.460710
## iter  60 value 0.953798
## iter  70 value 0.586586
## iter  80 value 0.020522
## iter  90 value 0.015075
## iter 100 value 0.014858
## final  value 0.014858 
## stopped after 100 iterations
## # weights:  11
## initial  value 125.885143 
## iter  10 value 86.755317
## iter  20 value 59.607534
## iter  30 value 46.209730
## final  value 46.205285 
## converged
## # weights:  27
## initial  value 127.516216 
## iter  10 value 59.894310
## iter  20 value 32.002135
## iter  30 value 21.108010
## iter  40 value 19.820531
## iter  50 value 19.735439
## iter  60 value 19.651468
## iter  70 value 19.583064
## final  value 19.583048 
## converged
## # weights:  43
## initial  value 147.254639 
## iter  10 value 60.266769
## iter  20 value 28.364290
## iter  30 value 19.677806
## iter  40 value 18.377179
## iter  50 value 17.786857
## iter  60 value 17.568603
## iter  70 value 17.529031
## iter  80 value 17.524918
## final  value 17.524059 
## converged
## # weights:  11
## initial  value 128.519433 
## iter  10 value 51.993728
## iter  20 value 51.970377
## iter  30 value 51.956295
## iter  40 value 49.352495
## iter  50 value 8.635551
## iter  60 value 1.708762
## iter  70 value 1.660152
## iter  80 value 1.632677
## iter  90 value 1.615923
## iter 100 value 1.611663
## final  value 1.611663 
## stopped after 100 iterations
## # weights:  27
## initial  value 136.962770 
## iter  10 value 52.152514
## iter  20 value 52.081367
## iter  30 value 52.004500
## iter  40 value 51.985072
## iter  50 value 50.420914
## iter  60 value 6.768547
## iter  70 value 0.364995
## iter  80 value 0.336622
## iter  90 value 0.313770
## iter 100 value 0.234848
## final  value 0.234848 
## stopped after 100 iterations
## # weights:  43
## initial  value 139.466520 
## iter  10 value 14.169215
## iter  20 value 11.768935
## iter  30 value 1.170465
## iter  40 value 0.543021
## iter  50 value 0.477815
## iter  60 value 0.440572
## iter  70 value 0.412175
## iter  80 value 0.248705
## iter  90 value 0.172786
## iter 100 value 0.165493
## final  value 0.165493 
## stopped after 100 iterations
## # weights:  11
## initial  value 129.094397 
## iter  10 value 50.110151
## iter  20 value 14.260353
## iter  30 value 0.988551
## iter  40 value 0.058519
## iter  50 value 0.038302
## iter  60 value 0.036103
## iter  70 value 0.035158
## iter  80 value 0.031644
## iter  90 value 0.027225
## iter 100 value 0.026901
## final  value 0.026901 
## stopped after 100 iterations
## # weights:  27
## initial  value 145.004021 
## iter  10 value 98.616706
## iter  20 value 8.664428
## iter  30 value 0.053132
## final  value 0.000072 
## converged
## # weights:  43
## initial  value 140.227679 
## iter  10 value 30.458627
## iter  20 value 3.043083
## iter  30 value 0.040378
## iter  40 value 0.000252
## final  value 0.000051 
## converged
## # weights:  11
## initial  value 134.223119 
## iter  10 value 72.812635
## iter  20 value 45.808863
## iter  30 value 45.009104
## final  value 45.006113 
## converged
## # weights:  27
## initial  value 131.987342 
## iter  10 value 72.512244
## iter  20 value 51.057949
## iter  30 value 38.010862
## iter  40 value 22.616618
## iter  50 value 19.513904
## iter  60 value 18.749389
## iter  70 value 18.715749
## iter  80 value 18.714815
## final  value 18.714814 
## converged
## # weights:  43
## initial  value 160.473963 
## iter  10 value 59.316545
## iter  20 value 35.695580
## iter  30 value 23.642412
## iter  40 value 19.251361
## iter  50 value 18.338195
## iter  60 value 18.280366
## iter  70 value 18.237079
## iter  80 value 18.116106
## iter  90 value 17.736053
## iter 100 value 17.469912
## final  value 17.469912 
## stopped after 100 iterations
## # weights:  11
## initial  value 130.511787 
## iter  10 value 124.904007
## final  value 124.903846 
## converged
## # weights:  27
## initial  value 129.538858 
## iter  10 value 50.041019
## iter  20 value 49.957136
## iter  30 value 49.765505
## iter  40 value 48.924676
## iter  50 value 48.530468
## iter  60 value 38.107181
## iter  70 value 7.882460
## iter  80 value 3.658012
## iter  90 value 2.383607
## iter 100 value 2.062181
## final  value 2.062181 
## stopped after 100 iterations
## # weights:  43
## initial  value 135.010551 
## iter  10 value 5.353186
## iter  20 value 0.339475
## iter  30 value 0.319803
## iter  40 value 0.272969
## iter  50 value 0.245978
## iter  60 value 0.226648
## iter  70 value 0.204383
## iter  80 value 0.197555
## iter  90 value 0.190309
## iter 100 value 0.177932
## final  value 0.177932 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.473660 
## iter  10 value 75.450395
## iter  20 value 50.518959
## iter  30 value 48.154689
## iter  40 value 33.523326
## iter  50 value 6.540908
## iter  60 value 2.509322
## iter  70 value 1.675215
## iter  80 value 0.498709
## iter  90 value 0.382443
## iter 100 value 0.069648
## final  value 0.069648 
## stopped after 100 iterations
## # weights:  27
## initial  value 144.588808 
## iter  10 value 56.918478
## iter  20 value 55.263609
## iter  30 value 33.001548
## iter  40 value 6.309333
## iter  50 value 1.107876
## iter  60 value 0.010383
## iter  70 value 0.000267
## final  value 0.000067 
## converged
## # weights:  43
## initial  value 129.243149 
## iter  10 value 56.845151
## iter  20 value 5.083844
## iter  30 value 0.101394
## iter  40 value 0.000383
## final  value 0.000029 
## converged
## # weights:  11
## initial  value 132.398713 
## iter  10 value 106.205813
## iter  20 value 47.665896
## final  value 47.265873 
## converged
## # weights:  27
## initial  value 140.098645 
## iter  10 value 71.770663
## iter  20 value 23.237960
## iter  30 value 19.706867
## iter  40 value 19.512214
## iter  50 value 19.483921
## final  value 19.482937 
## converged
## # weights:  43
## initial  value 143.148081 
## iter  10 value 49.355438
## iter  20 value 22.548772
## iter  30 value 20.429605
## iter  40 value 19.336454
## iter  50 value 18.776083
## iter  60 value 18.240724
## iter  70 value 18.051495
## iter  80 value 17.943284
## final  value 17.942473 
## converged
## # weights:  11
## initial  value 149.797549 
## iter  10 value 56.792112
## iter  20 value 56.240080
## iter  30 value 28.762583
## iter  40 value 8.673770
## iter  50 value 1.804405
## iter  60 value 1.788935
## iter  70 value 1.777819
## iter  80 value 1.757778
## iter  90 value 1.755818
## iter 100 value 1.755266
## final  value 1.755266 
## stopped after 100 iterations
## # weights:  27
## initial  value 129.994587 
## iter  10 value 57.487632
## iter  20 value 56.891336
## iter  30 value 56.823420
## iter  40 value 56.815236
## iter  50 value 56.805308
## iter  60 value 52.472275
## iter  70 value 14.089221
## iter  80 value 0.929401
## iter  90 value 0.837568
## iter 100 value 0.608295
## final  value 0.608295 
## stopped after 100 iterations
## # weights:  43
## initial  value 122.805912 
## iter  10 value 14.287670
## iter  20 value 0.270113
## iter  30 value 0.247850
## iter  40 value 0.223025
## iter  50 value 0.192928
## iter  60 value 0.182050
## iter  70 value 0.179296
## iter  80 value 0.175442
## iter  90 value 0.164020
## iter 100 value 0.160975
## final  value 0.160975 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.743132 
## iter  10 value 38.143595
## iter  20 value 7.247891
## iter  30 value 2.088055
## iter  40 value 1.151003
## iter  50 value 0.734450
## iter  60 value 0.633737
## iter  70 value 0.474597
## iter  80 value 0.439390
## iter  90 value 0.359654
## iter 100 value 0.349651
## final  value 0.349651 
## stopped after 100 iterations
## # weights:  27
## initial  value 124.506255 
## iter  10 value 49.224292
## iter  20 value 6.718882
## iter  30 value 0.553842
## iter  40 value 0.000788
## final  value 0.000068 
## converged
## # weights:  43
## initial  value 160.459229 
## iter  10 value 32.257024
## iter  20 value 2.072376
## iter  30 value 0.007969
## iter  40 value 0.000274
## final  value 0.000095 
## converged
## # weights:  11
## initial  value 129.987564 
## iter  10 value 115.285501
## iter  20 value 59.723103
## iter  30 value 46.091030
## iter  40 value 46.001436
## final  value 46.001374 
## converged
## # weights:  27
## initial  value 146.655323 
## iter  10 value 52.816055
## iter  20 value 21.047278
## iter  30 value 20.373820
## iter  40 value 20.365404
## iter  50 value 20.364753
## final  value 20.364749 
## converged
## # weights:  43
## initial  value 135.814909 
## iter  10 value 56.533676
## iter  20 value 22.152576
## iter  30 value 19.613089
## iter  40 value 19.279532
## iter  50 value 19.267454
## iter  60 value 19.252823
## final  value 19.252803 
## converged
## # weights:  11
## initial  value 134.871226 
## iter  10 value 52.090220
## iter  20 value 51.380210
## iter  30 value 51.371215
## iter  40 value 49.864016
## iter  50 value 47.168888
## iter  60 value 12.917924
## iter  70 value 3.617963
## iter  80 value 2.225638
## iter  90 value 2.130665
## iter 100 value 2.053285
## final  value 2.053285 
## stopped after 100 iterations
## # weights:  27
## initial  value 137.476164 
## iter  10 value 60.955035
## iter  20 value 51.417002
## iter  30 value 51.390034
## iter  40 value 49.032995
## iter  50 value 23.685900
## iter  60 value 3.743909
## iter  70 value 2.188563
## iter  80 value 2.070221
## iter  90 value 2.023614
## iter 100 value 1.913824
## final  value 1.913824 
## stopped after 100 iterations
## # weights:  43
## initial  value 135.622421 
## iter  10 value 10.208792
## iter  20 value 0.332165
## iter  30 value 0.313105
## iter  40 value 0.250724
## iter  50 value 0.232342
## iter  60 value 0.228732
## iter  70 value 0.198055
## iter  80 value 0.193416
## iter  90 value 0.184233
## iter 100 value 0.173992
## final  value 0.173992 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.349436 
## iter  10 value 125.148671
## iter  20 value 51.974200
## iter  30 value 15.544098
## iter  40 value 0.711336
## iter  50 value 0.102398
## iter  60 value 0.025343
## iter  70 value 0.001225
## iter  80 value 0.001034
## iter  90 value 0.001007
## iter 100 value 0.000990
## final  value 0.000990 
## stopped after 100 iterations
## # weights:  27
## initial  value 123.611872 
## iter  10 value 51.927405
## final  value 51.926023 
## converged
## # weights:  43
## initial  value 156.560243 
## iter  10 value 28.059030
## iter  20 value 0.032527
## iter  30 value 0.002827
## iter  40 value 0.000262
## final  value 0.000023 
## converged
## # weights:  11
## initial  value 137.895825 
## iter  10 value 125.594046
## iter  20 value 94.625085
## iter  30 value 44.013095
## final  value 43.849885 
## converged
## # weights:  27
## initial  value 124.338400 
## iter  10 value 58.274134
## iter  20 value 47.713148
## iter  30 value 44.729850
## iter  40 value 26.936056
## iter  50 value 19.594689
## iter  60 value 18.818781
## iter  70 value 17.600515
## final  value 17.594502 
## converged
## # weights:  43
## initial  value 129.675592 
## iter  10 value 63.310776
## iter  20 value 30.599084
## iter  30 value 17.782329
## iter  40 value 16.777177
## iter  50 value 16.461585
## iter  60 value 16.173774
## iter  70 value 15.940197
## iter  80 value 15.936999
## final  value 15.936998 
## converged
## # weights:  11
## initial  value 126.951507 
## iter  10 value 43.851987
## iter  20 value 4.616169
## iter  30 value 1.678184
## iter  40 value 1.327115
## iter  50 value 1.251548
## iter  60 value 1.197451
## iter  70 value 1.181665
## iter  80 value 1.177081
## iter  90 value 1.170311
## iter 100 value 1.161786
## final  value 1.161786 
## stopped after 100 iterations
## # weights:  27
## initial  value 146.870813 
## iter  10 value 52.945746
## iter  20 value 52.380090
## iter  30 value 2.177965
## iter  40 value 0.417938
## iter  50 value 0.282489
## iter  60 value 0.186264
## iter  70 value 0.148774
## iter  80 value 0.142382
## iter  90 value 0.130250
## iter 100 value 0.104738
## final  value 0.104738 
## stopped after 100 iterations
## # weights:  43
## initial  value 271.311130 
## iter  10 value 74.281195
## iter  20 value 0.643024
## iter  30 value 0.408422
## iter  40 value 0.368762
## iter  50 value 0.318295
## iter  60 value 0.290187
## iter  70 value 0.241934
## iter  80 value 0.207991
## iter  90 value 0.191870
## iter 100 value 0.171193
## final  value 0.171193 
## stopped after 100 iterations
## # weights:  11
## initial  value 123.012348 
## iter  10 value 73.650293
## iter  20 value 59.079931
## iter  30 value 58.533261
## iter  40 value 58.444634
## iter  50 value 58.440572
## iter  60 value 58.439807
## iter  70 value 58.439027
## final  value 58.438861 
## converged
## # weights:  27
## initial  value 235.028157 
## iter  10 value 72.173680
## iter  20 value 0.381737
## iter  30 value 0.000332
## final  value 0.000084 
## converged
## # weights:  43
## initial  value 121.634535 
## iter  10 value 45.508669
## iter  20 value 26.276593
## iter  30 value 6.093393
## iter  40 value 0.092644
## iter  50 value 0.004378
## iter  60 value 0.000199
## final  value 0.000079 
## converged
## # weights:  11
## initial  value 148.020148 
## iter  10 value 123.058917
## iter  20 value 122.495104
## iter  30 value 55.946724
## iter  40 value 45.410599
## final  value 45.367768 
## converged
## # weights:  27
## initial  value 128.551965 
## iter  10 value 44.625633
## iter  20 value 21.253188
## iter  30 value 20.519497
## iter  40 value 19.466590
## iter  50 value 18.875056
## iter  60 value 18.867094
## iter  60 value 18.867094
## iter  60 value 18.867094
## final  value 18.867094 
## converged
## # weights:  43
## initial  value 139.733384 
## iter  10 value 47.550968
## iter  20 value 20.754379
## iter  30 value 18.619272
## iter  40 value 18.147637
## iter  50 value 17.884133
## iter  60 value 17.303088
## iter  70 value 17.190781
## iter  80 value 17.096757
## iter  90 value 17.077928
## iter 100 value 17.069300
## final  value 17.069300 
## stopped after 100 iterations
## # weights:  11
## initial  value 136.143090 
## iter  10 value 122.430493
## final  value 122.427936 
## converged
## # weights:  27
## initial  value 120.805116 
## iter  10 value 59.182510
## iter  20 value 5.259036
## iter  30 value 0.134277
## iter  40 value 0.123526
## iter  50 value 0.121470
## iter  60 value 0.118086
## iter  70 value 0.116296
## iter  80 value 0.114842
## iter  90 value 0.113316
## iter 100 value 0.112518
## final  value 0.112518 
## stopped after 100 iterations
## # weights:  43
## initial  value 131.741457 
## iter  10 value 18.591871
## iter  20 value 0.164112
## iter  30 value 0.149771
## iter  40 value 0.140878
## iter  50 value 0.133660
## iter  60 value 0.125187
## iter  70 value 0.122231
## iter  80 value 0.116296
## iter  90 value 0.114341
## iter 100 value 0.111104
## final  value 0.111104 
## stopped after 100 iterations
## # weights:  11
## initial  value 128.146840 
## iter  10 value 49.171243
## iter  20 value 47.243487
## iter  30 value 47.122727
## iter  40 value 47.102294
## iter  50 value 47.101748
## iter  60 value 47.093062
## iter  70 value 47.077585
## iter  80 value 46.623796
## iter  90 value 44.492471
## iter 100 value 44.190344
## final  value 44.190344 
## stopped after 100 iterations
## # weights:  27
## initial  value 122.511542 
## iter  10 value 35.382517
## iter  20 value 0.157076
## iter  30 value 0.000370
## final  value 0.000059 
## converged
## # weights:  43
## initial  value 130.476856 
## iter  10 value 53.653119
## iter  20 value 26.618378
## iter  30 value 0.080247
## iter  40 value 0.000152
## final  value 0.000072 
## converged
## # weights:  11
## initial  value 133.435412 
## iter  10 value 110.956459
## iter  20 value 48.587231
## iter  30 value 45.496265
## final  value 45.495977 
## converged
## # weights:  27
## initial  value 143.954160 
## iter  10 value 107.871935
## iter  20 value 23.133092
## iter  30 value 19.578933
## iter  40 value 18.489631
## iter  50 value 18.371956
## iter  60 value 18.340849
## iter  70 value 18.318778
## final  value 18.318764 
## converged
## # weights:  43
## initial  value 130.467192 
## iter  10 value 62.375879
## iter  20 value 27.980063
## iter  30 value 18.591806
## iter  40 value 17.979504
## iter  50 value 17.780429
## iter  60 value 17.248861
## iter  70 value 16.809341
## iter  80 value 16.787360
## iter  90 value 16.779486
## iter 100 value 16.777647
## final  value 16.777647 
## stopped after 100 iterations
## # weights:  11
## initial  value 134.808545 
## iter  10 value 50.500991
## iter  20 value 50.017476
## iter  30 value 49.966979
## iter  40 value 46.928587
## iter  50 value 8.821101
## iter  60 value 1.879220
## iter  70 value 1.585865
## iter  80 value 1.405264
## iter  90 value 1.390154
## iter 100 value 1.373107
## final  value 1.373107 
## stopped after 100 iterations
## # weights:  27
## initial  value 125.800912 
## iter  10 value 62.287829
## iter  20 value 5.962954
## iter  30 value 2.766370
## iter  40 value 2.618623
## iter  50 value 2.159733
## iter  60 value 1.760093
## iter  70 value 1.576728
## iter  80 value 1.232711
## iter  90 value 0.863428
## iter 100 value 0.706625
## final  value 0.706625 
## stopped after 100 iterations
## # weights:  43
## initial  value 134.249118 
## iter  10 value 51.755332
## iter  20 value 32.550842
## iter  30 value 0.252612
## iter  40 value 0.162398
## iter  50 value 0.134158
## iter  60 value 0.128202
## iter  70 value 0.119551
## iter  80 value 0.114414
## iter  90 value 0.105884
## iter 100 value 0.102105
## final  value 0.102105 
## stopped after 100 iterations
## # weights:  11
## initial  value 133.079361 
## iter  10 value 21.774854
## iter  20 value 5.848730
## iter  30 value 0.526580
## iter  40 value 0.123912
## iter  50 value 0.114386
## iter  60 value 0.105034
## iter  70 value 0.058520
## iter  80 value 0.051178
## iter  90 value 0.032870
## iter 100 value 0.032277
## final  value 0.032277 
## stopped after 100 iterations
## # weights:  27
## initial  value 130.290215 
## iter  10 value 49.883689
## iter  20 value 0.047698
## final  value 0.000055 
## converged
## # weights:  43
## initial  value 145.448857 
## iter  10 value 53.364381
## iter  20 value 0.282012
## iter  30 value 0.008737
## iter  40 value 0.003501
## iter  50 value 0.000458
## iter  60 value 0.000133
## iter  60 value 0.000093
## iter  60 value 0.000092
## final  value 0.000092 
## converged
## # weights:  11
## initial  value 127.258631 
## iter  10 value 93.958859
## iter  20 value 43.927441
## final  value 43.830848 
## converged
## # weights:  27
## initial  value 132.807538 
## iter  10 value 63.604324
## iter  20 value 19.538277
## iter  30 value 17.339214
## iter  40 value 17.244814
## iter  50 value 17.243005
## iter  50 value 17.243004
## iter  50 value 17.243004
## final  value 17.243004 
## converged
## # weights:  43
## initial  value 122.171173 
## iter  10 value 40.803583
## iter  20 value 18.959010
## iter  30 value 16.334765
## iter  40 value 15.684485
## iter  50 value 15.129684
## iter  60 value 15.069790
## final  value 15.069750 
## converged
## # weights:  11
## initial  value 126.344137 
## iter  10 value 116.213438
## iter  20 value 12.562576
## iter  30 value 7.302202
## iter  40 value 6.206892
## iter  50 value 4.870586
## iter  60 value 4.343619
## iter  70 value 2.009102
## iter  80 value 1.802184
## iter  90 value 1.436772
## iter 100 value 1.225676
## final  value 1.225676 
## stopped after 100 iterations
## # weights:  27
## initial  value 155.324686 
## iter  10 value 54.323729
## iter  20 value 25.376700
## iter  30 value 0.161243
## iter  40 value 0.127704
## iter  50 value 0.118726
## iter  60 value 0.110353
## iter  70 value 0.094061
## iter  80 value 0.090562
## iter  90 value 0.088668
## iter 100 value 0.086082
## final  value 0.086082 
## stopped after 100 iterations
## # weights:  43
## initial  value 180.529979 
## iter  10 value 50.973116
## iter  20 value 12.114120
## iter  30 value 0.225924
## iter  40 value 0.185754
## iter  50 value 0.161980
## iter  60 value 0.150972
## iter  70 value 0.133409
## iter  80 value 0.115084
## iter  90 value 0.099438
## iter 100 value 0.091639
## final  value 0.091639 
## stopped after 100 iterations
## # weights:  11
## initial  value 142.728973 
## iter  10 value 70.413749
## iter  20 value 48.660409
## iter  30 value 47.874199
## final  value 47.158071 
## converged
## # weights:  27
## initial  value 132.403114 
## iter  10 value 48.876436
## iter  20 value 48.109800
## iter  30 value 27.853634
## iter  40 value 3.930871
## iter  50 value 0.013890
## iter  60 value 0.000243
## final  value 0.000089 
## converged
## # weights:  43
## initial  value 133.411971 
## iter  10 value 39.147615
## iter  20 value 1.399631
## iter  30 value 0.002667
## final  value 0.000086 
## converged
## # weights:  11
## initial  value 140.885363 
## iter  10 value 122.504520
## iter  20 value 107.588600
## iter  30 value 82.498422
## iter  40 value 49.211164
## iter  50 value 44.349479
## final  value 44.349478 
## converged
## # weights:  27
## initial  value 170.883632 
## iter  10 value 58.009050
## iter  20 value 35.003163
## iter  30 value 18.149286
## iter  40 value 17.657978
## iter  50 value 17.501268
## iter  60 value 17.501020
## iter  60 value 17.501020
## iter  60 value 17.501020
## final  value 17.501020 
## converged
## # weights:  43
## initial  value 145.070587 
## iter  10 value 74.116619
## iter  20 value 24.325458
## iter  30 value 17.100184
## iter  40 value 16.454775
## iter  50 value 16.039798
## iter  60 value 15.849855
## iter  70 value 15.845903
## iter  80 value 15.845731
## iter  90 value 15.845568
## final  value 15.845565 
## converged
## # weights:  11
## initial  value 129.220149 
## iter  10 value 59.745477
## iter  20 value 34.360340
## iter  30 value 16.522524
## iter  40 value 3.387631
## iter  50 value 1.239806
## iter  60 value 0.998043
## iter  70 value 0.913425
## iter  80 value 0.890567
## iter  90 value 0.880495
## iter 100 value 0.859721
## final  value 0.859721 
## stopped after 100 iterations
## # weights:  27
## initial  value 125.372898 
## iter  10 value 43.294504
## iter  20 value 0.597189
## iter  30 value 0.153814
## iter  40 value 0.129438
## iter  50 value 0.124595
## iter  60 value 0.117244
## iter  70 value 0.114800
## iter  80 value 0.112129
## iter  90 value 0.110931
## iter 100 value 0.109722
## final  value 0.109722 
## stopped after 100 iterations
## # weights:  43
## initial  value 122.303890 
## iter  10 value 54.249220
## iter  20 value 47.740932
## iter  30 value 0.282094
## iter  40 value 0.254518
## iter  50 value 0.238303
## iter  60 value 0.195713
## iter  70 value 0.149366
## iter  80 value 0.108057
## iter  90 value 0.093159
## iter 100 value 0.090972
## final  value 0.090972 
## stopped after 100 iterations
## # weights:  11
## initial  value 131.829808 
## iter  10 value 54.067098
## iter  20 value 51.689532
## iter  30 value 51.658874
## iter  40 value 51.583497
## iter  50 value 50.813738
## iter  60 value 49.756013
## iter  70 value 42.930581
## iter  80 value 39.805994
## iter  90 value 33.168085
## iter 100 value 14.645313
## final  value 14.645313 
## stopped after 100 iterations
## # weights:  27
## initial  value 132.904151 
## iter  10 value 46.097268
## iter  20 value 6.774073
## iter  30 value 0.065951
## iter  40 value 0.007996
## iter  50 value 0.002292
## iter  60 value 0.000359
## final  value 0.000091 
## converged
## # weights:  43
## initial  value 132.573609 
## iter  10 value 37.592651
## iter  20 value 0.054357
## final  value 0.000088 
## converged
## # weights:  11
## initial  value 127.684652 
## iter  10 value 72.664373
## iter  20 value 61.464897
## iter  30 value 52.662795
## iter  40 value 44.971401
## final  value 44.970993 
## converged
## # weights:  27
## initial  value 127.134112 
## iter  10 value 64.541810
## iter  20 value 25.511045
## iter  30 value 18.646068
## iter  40 value 18.397258
## iter  50 value 18.367380
## iter  50 value 18.367380
## iter  50 value 18.367380
## final  value 18.367380 
## converged
## # weights:  43
## initial  value 161.652766 
## iter  10 value 62.605205
## iter  20 value 25.030069
## iter  30 value 19.173039
## iter  40 value 18.358337
## iter  50 value 18.140126
## iter  60 value 18.002962
## iter  70 value 17.959151
## iter  80 value 17.956519
## iter  90 value 17.955510
## iter 100 value 17.953085
## final  value 17.953085 
## stopped after 100 iterations
## # weights:  11
## initial  value 137.131661 
## iter  10 value 59.845742
## iter  20 value 49.840568
## iter  30 value 38.240394
## iter  40 value 12.519257
## iter  50 value 3.462623
## iter  60 value 2.460124
## iter  70 value 1.418957
## iter  80 value 1.366792
## iter  90 value 1.267299
## iter 100 value 1.259822
## final  value 1.259822 
## stopped after 100 iterations
## # weights:  27
## initial  value 172.404329 
## iter  10 value 92.444788
## iter  20 value 3.844847
## iter  30 value 0.694742
## iter  40 value 0.602203
## iter  50 value 0.394827
## iter  60 value 0.294508
## iter  70 value 0.264030
## iter  80 value 0.179629
## iter  90 value 0.141971
## iter 100 value 0.127391
## final  value 0.127391 
## stopped after 100 iterations
## # weights:  43
## initial  value 125.173741 
## iter  10 value 52.404861
## iter  20 value 52.358331
## iter  30 value 52.343193
## iter  40 value 10.433989
## iter  50 value 0.270249
## iter  60 value 0.246834
## iter  70 value 0.229458
## iter  80 value 0.202362
## iter  90 value 0.142578
## iter 100 value 0.128389
## final  value 0.128389 
## stopped after 100 iterations
## # weights:  11
## initial  value 131.513194 
## iter  10 value 114.193882
## iter  20 value 59.702812
## iter  30 value 53.249369
## iter  40 value 50.151643
## iter  50 value 47.629653
## iter  60 value 43.259943
## iter  70 value 38.763366
## iter  80 value 17.275316
## iter  90 value 1.230047
## iter 100 value 0.805593
## final  value 0.805593 
## stopped after 100 iterations
## # weights:  27
## initial  value 140.633627 
## iter  10 value 43.632486
## iter  20 value 29.920690
## iter  30 value 18.098861
## iter  40 value 3.649838
## iter  50 value 0.030781
## iter  60 value 0.001048
## iter  70 value 0.000985
## iter  80 value 0.000939
## final  value 0.000068 
## converged
## # weights:  43
## initial  value 175.105835 
## iter  10 value 45.794187
## iter  20 value 0.198146
## iter  30 value 0.000455
## final  value 0.000060 
## converged
## # weights:  11
## initial  value 126.937176 
## iter  10 value 62.618756
## iter  20 value 57.873786
## iter  30 value 47.886346
## final  value 47.824175 
## converged
## # weights:  27
## initial  value 132.068938 
## iter  10 value 87.564535
## iter  20 value 45.923854
## iter  30 value 26.402336
## iter  40 value 20.036190
## iter  50 value 19.738974
## iter  60 value 19.538591
## iter  70 value 19.354129
## iter  80 value 19.350024
## final  value 19.350024 
## converged
## # weights:  43
## initial  value 151.533273 
## iter  10 value 60.446648
## iter  20 value 38.768512
## iter  30 value 19.060627
## iter  40 value 18.726354
## iter  50 value 18.261874
## iter  60 value 17.375279
## iter  70 value 17.272874
## final  value 17.272708 
## converged
## # weights:  11
## initial  value 124.240545 
## iter  10 value 31.793757
## iter  20 value 2.518988
## iter  30 value 1.350434
## iter  40 value 1.278471
## iter  50 value 1.254587
## iter  60 value 1.250558
## iter  70 value 1.244589
## iter  80 value 1.241666
## iter  90 value 1.239132
## iter 100 value 1.238853
## final  value 1.238853 
## stopped after 100 iterations
## # weights:  27
## initial  value 140.657042 
## iter  10 value 68.608771
## iter  20 value 2.508125
## iter  30 value 0.155276
## iter  40 value 0.148941
## iter  50 value 0.135824
## iter  60 value 0.132117
## iter  70 value 0.120360
## iter  80 value 0.117594
## iter  90 value 0.111091
## iter 100 value 0.106654
## final  value 0.106654 
## stopped after 100 iterations
## # weights:  43
## initial  value 131.474392 
## iter  10 value 51.095077
## iter  20 value 4.258064
## iter  30 value 0.294087
## iter  40 value 0.240637
## iter  50 value 0.147708
## iter  60 value 0.130220
## iter  70 value 0.113449
## iter  80 value 0.105525
## iter  90 value 0.103452
## iter 100 value 0.102410
## final  value 0.102410 
## stopped after 100 iterations
## # weights:  11
## initial  value 126.941216 
## iter  10 value 50.201180
## iter  20 value 11.377953
## iter  30 value 0.833648
## iter  40 value 0.477354
## iter  50 value 0.393074
## iter  60 value 0.284497
## iter  70 value 0.179477
## iter  80 value 0.166860
## iter  90 value 0.136371
## iter 100 value 0.128704
## final  value 0.128704 
## stopped after 100 iterations
## # weights:  27
## initial  value 163.512923 
## iter  10 value 55.154305
## iter  20 value 30.099208
## iter  30 value 13.086336
## iter  40 value 1.564899
## iter  50 value 0.005150
## final  value 0.000095 
## converged
## # weights:  43
## initial  value 165.986685 
## iter  10 value 8.262906
## iter  20 value 0.287275
## iter  30 value 0.008530
## iter  40 value 0.000507
## final  value 0.000060 
## converged
## # weights:  11
## initial  value 130.781547 
## iter  10 value 64.016066
## iter  20 value 59.377091
## iter  30 value 46.305158
## final  value 46.233545 
## converged
## # weights:  27
## initial  value 123.746583 
## iter  10 value 64.169097
## iter  20 value 26.583969
## iter  30 value 23.288764
## iter  40 value 22.830961
## iter  50 value 22.658310
## iter  60 value 21.784170
## iter  70 value 19.521219
## iter  80 value 19.490079
## final  value 19.490077 
## converged
## # weights:  43
## initial  value 129.032554 
## iter  10 value 54.958299
## iter  20 value 30.089499
## iter  30 value 18.907607
## iter  40 value 18.642735
## iter  50 value 18.546593
## iter  60 value 18.482161
## iter  70 value 17.688529
## iter  80 value 17.517222
## iter  90 value 17.417797
## iter 100 value 17.383272
## final  value 17.383272 
## stopped after 100 iterations
## # weights:  11
## initial  value 140.324350 
## iter  10 value 102.545835
## iter  20 value 52.785556
## iter  30 value 52.761902
## iter  40 value 52.747449
## iter  50 value 52.739524
## iter  60 value 52.568751
## iter  70 value 47.522194
## iter  80 value 19.059520
## iter  90 value 2.297552
## iter 100 value 1.569365
## final  value 1.569365 
## stopped after 100 iterations
## # weights:  27
## initial  value 136.066985 
## iter  10 value 47.572753
## iter  20 value 2.669588
## iter  30 value 0.266704
## iter  40 value 0.242218
## iter  50 value 0.227691
## iter  60 value 0.181758
## iter  70 value 0.170911
## iter  80 value 0.162433
## iter  90 value 0.150295
## iter 100 value 0.138600
## final  value 0.138600 
## stopped after 100 iterations
## # weights:  43
## initial  value 126.990370 
## iter  10 value 42.020605
## iter  20 value 1.070532
## iter  30 value 0.150235
## iter  40 value 0.142362
## iter  50 value 0.135815
## iter  60 value 0.124701
## iter  70 value 0.115094
## iter  80 value 0.112376
## iter  90 value 0.110873
## iter 100 value 0.107998
## final  value 0.107998 
## stopped after 100 iterations
## # weights:  11
## initial  value 125.517046 
## iter  10 value 54.133213
## iter  20 value 54.039954
## final  value 54.039844 
## converged
## # weights:  27
## initial  value 134.527176 
## iter  10 value 63.325998
## iter  20 value 54.051174
## iter  30 value 54.039863
## final  value 54.039837 
## converged
## # weights:  43
## initial  value 125.263169 
## iter  10 value 8.369145
## iter  20 value 0.088437
## iter  30 value 0.000121
## iter  30 value 0.000071
## iter  30 value 0.000071
## final  value 0.000071 
## converged
## # weights:  11
## initial  value 132.702757 
## iter  10 value 121.259965
## iter  20 value 69.502372
## iter  30 value 60.884744
## iter  40 value 46.142000
## final  value 46.110662 
## converged
## # weights:  27
## initial  value 129.165179 
## iter  10 value 74.138320
## iter  20 value 48.194396
## iter  30 value 37.098861
## iter  40 value 19.611843
## iter  50 value 19.082309
## iter  60 value 19.055437
## iter  70 value 19.050432
## final  value 19.050432 
## converged
## # weights:  43
## initial  value 147.643825 
## iter  10 value 65.812789
## iter  20 value 29.416666
## iter  30 value 20.987004
## iter  40 value 18.799604
## iter  50 value 17.612592
## iter  60 value 17.180220
## iter  70 value 17.027069
## iter  80 value 16.949303
## iter  90 value 16.913852
## final  value 16.899568 
## converged
## # weights:  11
## initial  value 137.878410 
## iter  10 value 125.136531
## iter  20 value 125.135366
## iter  30 value 116.103410
## iter  40 value 50.084316
## iter  50 value 13.176241
## iter  60 value 1.871320
## iter  70 value 1.801871
## iter  80 value 1.732016
## iter  90 value 1.723453
## iter 100 value 1.717232
## final  value 1.717232 
## stopped after 100 iterations
## # weights:  27
## initial  value 125.065096 
## iter  10 value 55.246466
## iter  20 value 54.134106
## iter  30 value 54.128013
## iter  40 value 54.122799
## iter  50 value 54.093246
## iter  60 value 3.100612
## iter  70 value 0.212589
## iter  80 value 0.193410
## iter  90 value 0.190607
## iter 100 value 0.178396
## final  value 0.178396 
## stopped after 100 iterations
## # weights:  43
## initial  value 128.788133 
## iter  10 value 21.882046
## iter  20 value 1.768992
## iter  30 value 0.997501
## iter  40 value 0.570841
## iter  50 value 0.521656
## iter  60 value 0.471935
## iter  70 value 0.379924
## iter  80 value 0.335013
## iter  90 value 0.308309
## iter 100 value 0.269105
## final  value 0.269105 
## stopped after 100 iterations
## # weights:  11
## initial  value 148.798489 
## iter  10 value 125.163753
## final  value 125.163520 
## converged
## # weights:  27
## initial  value 156.683229 
## iter  10 value 85.974008
## iter  20 value 53.380396
## iter  30 value 53.313970
## final  value 53.313877 
## converged
## # weights:  43
## initial  value 134.909579 
## iter  10 value 1.586914
## iter  20 value 0.004237
## final  value 0.000065 
## converged
## # weights:  11
## initial  value 135.593278 
## iter  10 value 123.159070
## iter  20 value 51.523802
## iter  30 value 44.209709
## final  value 44.208617 
## converged
## # weights:  27
## initial  value 138.808578 
## iter  10 value 52.715702
## iter  20 value 33.298180
## iter  30 value 23.420879
## iter  40 value 18.210789
## iter  50 value 18.028104
## iter  60 value 18.002660
## iter  70 value 17.996770
## final  value 17.996769 
## converged
## # weights:  43
## initial  value 123.981926 
## iter  10 value 48.997938
## iter  20 value 22.674930
## iter  30 value 18.116109
## iter  40 value 17.381232
## iter  50 value 17.162984
## iter  60 value 16.913799
## iter  70 value 16.098548
## iter  80 value 15.850984
## final  value 15.850977 
## converged
## # weights:  11
## initial  value 132.462571 
## iter  10 value 125.149477
## iter  20 value 76.258209
## iter  30 value 50.897050
## iter  40 value 49.176872
## iter  50 value 29.379829
## iter  60 value 3.097808
## iter  70 value 1.453442
## iter  80 value 1.229379
## iter  90 value 1.098936
## iter 100 value 1.054294
## final  value 1.054294 
## stopped after 100 iterations
## # weights:  27
## initial  value 139.613490 
## iter  10 value 54.463500
## iter  20 value 53.406579
## iter  30 value 53.380180
## iter  40 value 52.510927
## iter  50 value 17.329180
## iter  60 value 1.108532
## iter  70 value 0.989261
## iter  80 value 0.983728
## iter  90 value 0.981261
## iter 100 value 0.981098
## final  value 0.981098 
## stopped after 100 iterations
## # weights:  43
## initial  value 133.854004 
## iter  10 value 2.565113
## iter  20 value 0.113211
## iter  30 value 0.104765
## iter  40 value 0.099607
## iter  50 value 0.091713
## iter  60 value 0.087966
## iter  70 value 0.085927
## iter  80 value 0.084539
## iter  90 value 0.082760
## iter 100 value 0.080892
## final  value 0.080892 
## stopped after 100 iterations
## # weights:  11
## initial  value 128.564670 
## iter  10 value 88.307556
## iter  20 value 39.172909
## iter  30 value 7.116214
## iter  40 value 3.691777
## iter  50 value 1.440942
## iter  60 value 0.747253
## iter  70 value 0.561263
## iter  80 value 0.468124
## iter  90 value 0.367579
## iter 100 value 0.350213
## final  value 0.350213 
## stopped after 100 iterations
## # weights:  27
## initial  value 127.353724 
## iter  10 value 37.626698
## iter  20 value 4.934642
## iter  30 value 2.864189
## iter  40 value 0.251006
## iter  50 value 0.011183
## final  value 0.000086 
## converged
## # weights:  43
## initial  value 137.331514 
## iter  10 value 48.049286
## iter  20 value 1.601438
## iter  30 value 0.000673
## final  value 0.000077 
## converged
## # weights:  11
## initial  value 127.036046 
## iter  10 value 49.716049
## iter  20 value 45.046852
## iter  30 value 44.999388
## final  value 44.999250 
## converged
## # weights:  27
## initial  value 128.350838 
## iter  10 value 63.463053
## iter  20 value 35.283754
## iter  30 value 23.704586
## iter  40 value 23.289025
## iter  50 value 22.846703
## iter  60 value 20.537374
## iter  70 value 20.477194
## final  value 20.477176 
## converged
## # weights:  43
## initial  value 150.865565 
## iter  10 value 67.742017
## iter  20 value 25.690311
## iter  30 value 21.070661
## iter  40 value 20.295155
## iter  50 value 19.507446
## iter  60 value 18.909876
## iter  70 value 18.497307
## iter  80 value 18.430471
## iter  90 value 18.418077
## iter 100 value 18.413372
## final  value 18.413372 
## stopped after 100 iterations
## # weights:  11
## initial  value 134.399327 
## iter  10 value 20.911414
## iter  20 value 4.195200
## iter  30 value 2.103994
## iter  40 value 2.048915
## iter  50 value 1.993776
## iter  60 value 1.990088
## iter  70 value 1.985887
## iter  80 value 1.985468
## iter  90 value 1.985342
## iter 100 value 1.985247
## final  value 1.985247 
## stopped after 100 iterations
## # weights:  27
## initial  value 147.884859 
## iter  10 value 33.734448
## iter  20 value 0.655722
## iter  30 value 0.242184
## iter  40 value 0.233739
## iter  50 value 0.211285
## iter  60 value 0.204011
## iter  70 value 0.197594
## iter  80 value 0.193342
## iter  90 value 0.186475
## iter 100 value 0.177945
## final  value 0.177945 
## stopped after 100 iterations
## # weights:  43
## initial  value 113.076507 
## iter  10 value 36.928804
## iter  20 value 0.509703
## iter  30 value 0.279841
## iter  40 value 0.233891
## iter  50 value 0.204863
## iter  60 value 0.193274
## iter  70 value 0.179341
## iter  80 value 0.170747
## iter  90 value 0.164184
## iter 100 value 0.157898
## final  value 0.157898 
## stopped after 100 iterations
## # weights:  27
## initial  value 153.208074 
## iter  10 value 38.129789
## iter  20 value 23.359486
## iter  30 value 22.171744
## iter  40 value 19.942348
## iter  50 value 19.292547
## iter  60 value 19.290461
## final  value 19.290450 
## converged
fit2
## Neural Network 
## 
## 114 samples
##   4 predictor
##   3 classes: 'setosa', 'versicolor', 'virginica' 
## 
## No pre-processing
## Resampling: Bootstrapped (25 reps) 
## Summary of sample sizes: 114, 114, 114, 114, 114, 114, ... 
## Resampling results across tuning parameters:
## 
##   size  decay  Accuracy   Kappa    
##   1     0e+00  0.8524464  0.7840269
##   1     1e-04  0.9144437  0.8810990
##   1     1e-01  0.9632655  0.9443577
##   3     0e+00  0.8689832  0.8053334
##   3     1e-04  0.9705782  0.9555730
##   3     1e-01  0.9765072  0.9644706
##   5     0e+00  0.9705025  0.9553993
##   5     1e-04  0.9764515  0.9643741
##   5     1e-01  0.9765072  0.9644706
## 
## Accuracy was used to select the optimal model using the largest value.
## The final values used for the model were size = 3 and decay = 0.1.

Use it to predict values

On training data:

train_predict2 <- predict(fit2, train)
confusionMatrix(train$species, train_predict2)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         38          0         0
##   versicolor      0         38         0
##   virginica       0          0        38
## 
## Overall Statistics
##                                      
##                Accuracy : 1          
##                  95% CI : (0.9682, 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

And test data

test_predict2 <- predict(fit2, test)
confusionMatrix(test$species, test_predict2)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         12          0         0
##   versicolor      0         10         2
##   virginica       0          0        12
## 
## Overall Statistics
##                                           
##                Accuracy : 0.9444          
##                  95% CI : (0.8134, 0.9932)
##     No Information Rate : 0.3889          
##     P-Value [Acc > NIR] : 2.763e-12       
##                                           
##                   Kappa : 0.9167          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            1.0000           0.8571
## Specificity                 1.0000            0.9231           1.0000
## Pos Pred Value              1.0000            0.8333           1.0000
## Neg Pred Value              1.0000            1.0000           0.9167
## Prevalence                  0.3333            0.2778           0.3889
## Detection Rate              0.3333            0.2778           0.3333
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            0.9615           0.9286

Create model using bayesglm

fit3 <- train(species ~ ., data= train, method ="bayesglm")
fit3
## Bayesian Generalized Linear Model 
## 
## 114 samples
##   4 predictor
##   3 classes: 'setosa', 'versicolor', 'virginica' 
## 
## No pre-processing
## Resampling: Bootstrapped (25 reps) 
## Summary of sample sizes: 114, 114, 114, 114, 114, 114, ... 
## Resampling results:
## 
##   Accuracy   Kappa    
##   0.6764353  0.5085229

Use it to predict values

On training data:

train_predict3 <- predict(fit3, train)
confusionMatrix(train$species, train_predict3)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         38          0         0
##   versicolor      0         38         0
##   virginica       0         38         0
## 
## Overall Statistics
##                                           
##                Accuracy : 0.6667          
##                  95% CI : (0.5723, 0.7522)
##     No Information Rate : 0.6667          
##     P-Value [Acc > NIR] : 0.5439          
##                                           
##                   Kappa : 0.5             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.5000               NA
## Specificity                 1.0000            1.0000           0.6667
## Pos Pred Value              1.0000            1.0000               NA
## Neg Pred Value              1.0000            0.5000               NA
## Prevalence                  0.3333            0.6667           0.0000
## Detection Rate              0.3333            0.3333           0.0000
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            0.7500               NA

And test data

test_predict3 <- predict(fit3, test)
confusionMatrix(test$species, test_predict3)
## Confusion Matrix and Statistics
## 
##             Reference
## Prediction   setosa versicolor virginica
##   setosa         12          0         0
##   versicolor      0         12         0
##   virginica       0         12         0
## 
## Overall Statistics
##                                           
##                Accuracy : 0.6667          
##                  95% CI : (0.4903, 0.8144)
##     No Information Rate : 0.6667          
##     P-Value [Acc > NIR] : 0.5775          
##                                           
##                   Kappa : 0.5             
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: setosa Class: versicolor Class: virginica
## Sensitivity                 1.0000            0.5000               NA
## Specificity                 1.0000            1.0000           0.6667
## Pos Pred Value              1.0000            1.0000               NA
## Neg Pred Value              1.0000            0.5000               NA
## Prevalence                  0.3333            0.6667           0.0000
## Detection Rate              0.3333            0.3333           0.0000
## Detection Prevalence        0.3333            0.3333           0.3333
## Balanced Accuracy           1.0000            0.7500               NA

Simple KNN to determine sepal length

fit4 <- train(sepal_length ~ ., data= train, method ="knn")
train_predict4 <- predict(fit4, train)
blah <- cbind(train, train_predict4)

blah %>% 
  select(sepal_length, train_predict4) %>% 
  ggplot() +
  geom_point(aes(sepal_length, train_predict4)) +
  geom_abline() + 
  expand_limits(x = 0, y = 0) +
  ylim(c(0,8))

Simple LM to determine sepal length

fit5 <- train(sepal_length ~ ., data= train, method ="lm")
train_predict5 <- predict(fit5, train)
blah2 <- cbind(train, train_predict5)
summary(fit5)
## 
## Call:
## lm(formula = .outcome ~ ., data = dat)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.89020 -0.19714  0.01149  0.18649  0.69654 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        2.12889    0.31172   6.830 5.21e-10 ***
## sepal_width        0.47875    0.09591   4.992 2.31e-06 ***
## petal_length       0.86921    0.07681  11.316  < 2e-16 ***
## petal_width       -0.19129    0.17061  -1.121 0.264679    
## speciesversicolor -0.89947    0.26383  -3.409 0.000917 ***
## speciesvirginica  -1.40257    0.36502  -3.842 0.000206 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2962 on 108 degrees of freedom
## Multiple R-squared:  0.8772, Adjusted R-squared:  0.8715 
## F-statistic: 154.3 on 5 and 108 DF,  p-value: < 2.2e-16
blah2 %>% 
  select(sepal_length, train_predict5) %>% 
  ggplot() +
  geom_point(aes(sepal_length, train_predict5)) +
  geom_abline() +
  expand_limits(x = 0, y = 0) +
  ylim(c(0,8))

What happens if I use CV?

Nothing apparently! Both produce the same results

fitControl <- trainControl(method = "cv",
                           number = 100,
                           repeats = 100)
## Warning: `repeats` has no meaning for this resampling method.
fit6 <- train(sepal_length ~ ., data= train, method ="lm", trcontrol = fitControl)
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded

## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'trcontrol' will be disregarded
train_predict6 <- predict(fit6, train)
blah3 <- cbind(train_predict5, train_predict6)

Keras

Set up data

Seperate into X and Y

Xtrain <- train[1:4]
Ytrain <- train[5]

Xtest <- test[1:4]
Ytest <- test[5]

OHE of targets

Ytraincat <- to_categorical(as.numeric(Ytrain$species) -1) 
Ytestcat <- to_categorical(as.numeric(Ytest$species) -1) 

As matrix

Should have done this first!!!

Xtrain <- as.matrix(Xtrain)
Xtest <- as.matrix(Xtest)

Ytraincat <- as.matrix(Ytraincat)
Ytestcat <- as.matrix(Ytestcat)

Construct model

# Initialize a sequential model
model <- keras_model_sequential() 

# Add layers to the model
model %>% 
    layer_dense(units = 8, activation = 'relu', input_shape = c(4)) %>% 
    layer_dense(units = 3, activation = 'softmax')

Compile Model

model %>% compile(
     loss = 'categorical_crossentropy',
     optimizer = 'adam',
     metrics = 'accuracy'
 )

Fit Model

# Store the fitting history in `history` 
history <- model %>% fit(
     Xtrain, 
     Ytraincat, 
     epochs = 200,
     batch_size = 5, 
     validation_split = 0.2
 )

# Plot the history
plot(history)

Confusion Matrx

I should have kept a numeric version of the targets so had to convert here

classes <- model %>% predict_classes(Xtest)

table(as.numeric(Ytest$species) -1, classes)
##    classes
##      0  1  2
##   0 12  0  0
##   1  0 11  1
##   2  0  2 10
classes2 <- model %>% predict_classes(Xtrain)

table(as.numeric(Ytrain$species) -1, classes2)
##    classes2
##      0  1  2
##   0 38  0  0
##   1  0 38  0
##   2  0  5 33

Evaluate Model

On test

testscore <- model %>% evaluate(Xtest, Ytestcat)
testscore
## $loss
## [1] 0.1536488
## 
## $accuracy
## [1] 0.9166667

On train

trainscore <- model %>% evaluate(Xtrain, Ytraincat)
trainscore
## $loss
## [1] 0.1256034
## 
## $accuracy
## [1] 0.9561403