str(oil)
## 'data.frame': 96 obs. of 8 variables:
## $ Palmitic : num 9.7 11.1 11.5 10 12.2 9.8 10.5 10.5 11.5 10 ...
## $ Stearic : num 5.2 5 5.2 4.8 5 4.2 5 5 5.2 4.8 ...
## $ Oleic : num 31 32.9 35 30.4 31.1 43 31.8 31.8 35 30.4 ...
## $ Linoleic : num 52.7 49.8 47.2 53.5 50.5 39.2 51.3 51.3 47.2 53.5 ...
## $ Linolenic : num 0.4 0.3 0.2 0.3 0.3 2.4 0.4 0.4 0.2 0.3 ...
## $ Eicosanoic: num 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 ...
## $ Eicosenoic: num 0.1 0.1 0.1 0.1 0.1 0.5 0.1 0.1 0.1 0.1 ...
## $ oilType : Factor w/ 7 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 ...
table(oil$oilType)
##
## A B C D E F G
## 37 26 3 7 11 10 2
The oilType variable is highly imbalanced, with class A having 37 samples while classes like C and G have only 3 and 2 samples, respectively. To address this imbalanced we can use stratified sampling to split training/testing sets so each class is proportionally represented.
I would optimize Kappa, since it adjusts for chance agreement and performs better under class imbalance compared to raw accuracy.
set.seed(123)
trainIndex1 <- createDataPartition(oil$oilType, p = 0.8, list = FALSE)
train1 <- oil[trainIndex1, ]
test1 <- oil[-trainIndex1, ]
preProc1 <- preProcess(train1, method = c("center", "scale"))
train1 <- predict(preProc1, train1)
test1 <- predict(preProc1, test1)
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 3)
# Linear models
lda_model <- train(oilType ~ ., data = train1,
method = "lda",
trControl = ctrl,
metric = "Kappa")
multinom_model <- train(oilType ~ ., data = train1,
method = "multinom",
trControl = ctrl,
metric = "Kappa")
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.159176
## iter 20 value 0.044469
## iter 30 value 0.015319
## iter 40 value 0.010889
## iter 50 value 0.002770
## iter 60 value 0.002049
## iter 70 value 0.000725
## iter 80 value 0.000181
## iter 90 value 0.000160
## final value 0.000094
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 18.436473
## iter 20 value 14.444551
## final value 14.442703
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.289870
## iter 20 value 0.194337
## iter 30 value 0.179489
## iter 40 value 0.172492
## iter 50 value 0.161931
## iter 60 value 0.157325
## iter 70 value 0.151631
## iter 80 value 0.149232
## iter 90 value 0.147478
## iter 100 value 0.147028
## final value 0.147028
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.151556
## iter 20 value 0.051278
## iter 30 value 0.022255
## iter 40 value 0.007877
## iter 50 value 0.004298
## iter 60 value 0.001691
## iter 70 value 0.000781
## iter 80 value 0.000453
## iter 90 value 0.000432
## final value 0.000068
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 18.169176
## iter 20 value 15.182643
## final value 15.181846
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.283030
## iter 20 value 0.200698
## iter 30 value 0.189792
## iter 40 value 0.181003
## iter 50 value 0.175660
## iter 60 value 0.171077
## iter 70 value 0.167859
## iter 80 value 0.166240
## iter 90 value 0.165350
## iter 100 value 0.164802
## final value 0.164802
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 1.294900
## iter 20 value 0.278970
## iter 30 value 0.005777
## iter 40 value 0.002975
## iter 50 value 0.000905
## final value 0.000094
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 17.089738
## iter 20 value 14.514825
## final value 14.513392
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 1.342429
## iter 20 value 0.380690
## iter 30 value 0.204104
## iter 40 value 0.193164
## iter 50 value 0.180832
## iter 60 value 0.176095
## iter 70 value 0.173060
## iter 80 value 0.170160
## iter 90 value 0.168203
## iter 100 value 0.167099
## final value 0.167099
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.206773
## iter 20 value 0.068295
## iter 30 value 0.025699
## iter 40 value 0.010755
## iter 50 value 0.007274
## iter 60 value 0.001825
## iter 70 value 0.000235
## final value 0.000086
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 16.849312
## iter 20 value 15.240394
## final value 15.240249
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.321165
## iter 20 value 0.215152
## iter 30 value 0.195817
## iter 40 value 0.184063
## iter 50 value 0.179738
## iter 60 value 0.175888
## iter 70 value 0.172277
## iter 80 value 0.169952
## iter 90 value 0.168637
## iter 100 value 0.168030
## final value 0.168030
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.098341
## iter 20 value 0.034241
## iter 30 value 0.009782
## iter 40 value 0.005684
## iter 50 value 0.000509
## iter 60 value 0.000280
## iter 70 value 0.000194
## iter 80 value 0.000175
## final value 0.000098
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 17.624587
## iter 20 value 13.877666
## final value 13.876097
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.215563
## iter 20 value 0.178042
## iter 30 value 0.164009
## iter 40 value 0.154099
## iter 50 value 0.150534
## iter 60 value 0.147663
## iter 70 value 0.146173
## iter 80 value 0.144944
## iter 90 value 0.144342
## iter 100 value 0.144094
## final value 0.144094
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.154678
## iter 20 value 0.056304
## iter 30 value 0.018982
## iter 40 value 0.007084
## iter 50 value 0.002893
## iter 60 value 0.001699
## iter 70 value 0.000950
## final value 0.000098
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 19.584263
## iter 20 value 15.152762
## final value 15.150532
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.279370
## iter 20 value 0.209103
## iter 30 value 0.197294
## iter 40 value 0.189720
## iter 50 value 0.182259
## iter 60 value 0.176852
## iter 70 value 0.172093
## iter 80 value 0.169233
## iter 90 value 0.167388
## iter 100 value 0.167157
## final value 0.167157
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.707517
## iter 20 value 0.067902
## iter 30 value 0.004808
## iter 40 value 0.001203
## iter 50 value 0.000567
## iter 60 value 0.000391
## final value 0.000081
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 17.561176
## iter 20 value 13.745796
## final value 13.744875
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.752504
## iter 20 value 0.172673
## iter 30 value 0.140059
## iter 40 value 0.134694
## iter 50 value 0.132196
## iter 60 value 0.128590
## iter 70 value 0.127138
## iter 80 value 0.126377
## iter 90 value 0.125729
## iter 100 value 0.124990
## final value 0.124990
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.192316
## iter 20 value 0.064039
## iter 30 value 0.024466
## iter 40 value 0.009618
## iter 50 value 0.003999
## iter 60 value 0.001528
## iter 70 value 0.000317
## iter 80 value 0.000104
## final value 0.000099
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 16.947914
## iter 20 value 15.206042
## final value 15.205029
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.321157
## iter 20 value 0.219048
## iter 30 value 0.200295
## iter 40 value 0.192749
## iter 50 value 0.180653
## iter 60 value 0.176637
## iter 70 value 0.173128
## iter 80 value 0.171314
## iter 90 value 0.168425
## iter 100 value 0.167869
## final value 0.167869
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.215479
## iter 20 value 0.071510
## iter 30 value 0.019862
## iter 40 value 0.011437
## iter 50 value 0.002480
## iter 60 value 0.002085
## iter 70 value 0.001188
## iter 80 value 0.000325
## iter 90 value 0.000294
## iter 100 value 0.000231
## final value 0.000231
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 16.066990
## iter 20 value 14.682653
## final value 14.682281
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.329710
## iter 20 value 0.212330
## iter 30 value 0.189221
## iter 40 value 0.181326
## iter 50 value 0.177786
## iter 60 value 0.170498
## iter 70 value 0.167449
## iter 80 value 0.164685
## iter 90 value 0.163291
## iter 100 value 0.162992
## final value 0.162992
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.180046
## iter 20 value 0.043225
## iter 30 value 0.023716
## iter 40 value 0.005955
## iter 50 value 0.004209
## iter 60 value 0.001118
## iter 70 value 0.000666
## iter 80 value 0.000121
## iter 80 value 0.000097
## iter 80 value 0.000097
## final value 0.000097
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 21.493633
## iter 20 value 14.965482
## final value 14.960477
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.325365
## iter 20 value 0.209609
## iter 30 value 0.198473
## iter 40 value 0.186829
## iter 50 value 0.180188
## iter 60 value 0.174600
## iter 70 value 0.168559
## iter 80 value 0.166816
## iter 90 value 0.165941
## iter 100 value 0.165582
## final value 0.165582
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 142.051441
## iter 10 value 0.178663
## iter 20 value 0.043028
## iter 30 value 0.021937
## iter 40 value 0.011654
## iter 50 value 0.002044
## iter 60 value 0.001679
## iter 70 value 0.000641
## iter 80 value 0.000335
## iter 90 value 0.000304
## iter 100 value 0.000217
## final value 0.000217
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 142.051441
## iter 10 value 17.519751
## iter 20 value 14.421573
## final value 14.420565
## converged
## # weights: 63 (48 variable)
## initial value 142.051441
## iter 10 value 0.316776
## iter 20 value 0.204833
## iter 30 value 0.196062
## iter 40 value 0.186970
## iter 50 value 0.178934
## iter 60 value 0.173428
## iter 70 value 0.168731
## iter 80 value 0.166583
## iter 90 value 0.163829
## iter 100 value 0.163416
## final value 0.163416
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.166885
## iter 20 value 0.034846
## iter 30 value 0.019184
## iter 40 value 0.009082
## iter 50 value 0.005759
## iter 60 value 0.003877
## iter 70 value 0.000370
## iter 80 value 0.000188
## iter 90 value 0.000127
## final value 0.000059
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 19.580469
## iter 20 value 14.988800
## final value 14.984436
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.284024
## iter 20 value 0.179285
## iter 30 value 0.161485
## iter 40 value 0.156339
## iter 50 value 0.152308
## iter 60 value 0.150373
## iter 70 value 0.148281
## iter 80 value 0.146360
## iter 90 value 0.145152
## iter 100 value 0.144903
## final value 0.144903
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.199308
## iter 20 value 0.049886
## iter 30 value 0.023950
## iter 40 value 0.011132
## iter 50 value 0.005958
## iter 60 value 0.003666
## iter 70 value 0.001914
## iter 80 value 0.001094
## iter 90 value 0.000204
## final value 0.000070
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 19.221938
## iter 20 value 15.063799
## final value 15.063157
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.319856
## iter 20 value 0.213342
## iter 30 value 0.196303
## iter 40 value 0.186450
## iter 50 value 0.182403
## iter 60 value 0.177826
## iter 70 value 0.172839
## iter 80 value 0.170121
## iter 90 value 0.168014
## iter 100 value 0.167721
## final value 0.167721
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.133735
## iter 20 value 0.040080
## iter 30 value 0.015993
## iter 40 value 0.006636
## iter 50 value 0.003519
## iter 60 value 0.003072
## iter 70 value 0.000882
## iter 80 value 0.000704
## iter 90 value 0.000598
## iter 100 value 0.000329
## final value 0.000329
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 16.281589
## iter 20 value 14.312499
## final value 14.312234
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.285016
## iter 20 value 0.205385
## iter 30 value 0.187335
## iter 40 value 0.177481
## iter 50 value 0.167929
## iter 60 value 0.159273
## iter 70 value 0.153065
## iter 80 value 0.148958
## iter 90 value 0.145393
## iter 100 value 0.144326
## final value 0.144326
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.229726
## iter 20 value 0.068947
## iter 30 value 0.020950
## iter 40 value 0.007288
## iter 50 value 0.004907
## iter 60 value 0.002659
## iter 70 value 0.000828
## iter 80 value 0.000466
## iter 90 value 0.000406
## iter 100 value 0.000281
## final value 0.000281
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 16.714454
## iter 20 value 14.690152
## final value 14.689894
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.345926
## iter 20 value 0.210043
## iter 30 value 0.190628
## iter 40 value 0.182824
## iter 50 value 0.179279
## iter 60 value 0.175034
## iter 70 value 0.171046
## iter 80 value 0.166597
## iter 90 value 0.165060
## iter 100 value 0.164432
## final value 0.164432
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.165437
## iter 20 value 0.053175
## iter 30 value 0.017382
## iter 40 value 0.010083
## iter 50 value 0.002632
## iter 60 value 0.000709
## iter 70 value 0.000619
## iter 80 value 0.000363
## iter 90 value 0.000138
## final value 0.000087
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 21.559056
## iter 20 value 14.536551
## iter 30 value 14.520471
## final value 14.520470
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.283096
## iter 20 value 0.201301
## iter 30 value 0.187499
## iter 40 value 0.177556
## iter 50 value 0.172783
## iter 60 value 0.168556
## iter 70 value 0.166435
## iter 80 value 0.163353
## iter 90 value 0.162047
## iter 100 value 0.161717
## final value 0.161717
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 1.402095
## iter 20 value 0.147924
## iter 30 value 0.022319
## iter 40 value 0.000869
## iter 50 value 0.000228
## iter 60 value 0.000129
## final value 0.000089
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 16.993992
## iter 20 value 14.212205
## final value 14.210951
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 1.444497
## iter 20 value 0.257606
## iter 30 value 0.190985
## iter 40 value 0.177118
## iter 50 value 0.169051
## iter 60 value 0.164950
## iter 70 value 0.159668
## iter 80 value 0.156648
## iter 90 value 0.154408
## iter 100 value 0.153329
## final value 0.153329
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 1.025264
## iter 20 value 0.107478
## iter 30 value 0.010102
## iter 40 value 0.003109
## iter 50 value 0.000458
## iter 60 value 0.000210
## final value 0.000079
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 18.056748
## iter 20 value 15.171287
## iter 30 value 15.168723
## iter 30 value 15.168723
## iter 30 value 15.168723
## final value 15.168723
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 1.077714
## iter 20 value 0.257114
## iter 30 value 0.214570
## iter 40 value 0.198979
## iter 50 value 0.189212
## iter 60 value 0.182950
## iter 70 value 0.179309
## iter 80 value 0.174361
## iter 90 value 0.171729
## iter 100 value 0.169580
## final value 0.169580
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.165490
## iter 20 value 0.049394
## iter 30 value 0.025312
## iter 40 value 0.006616
## iter 50 value 0.002672
## iter 60 value 0.001332
## iter 70 value 0.001077
## iter 80 value 0.000322
## iter 90 value 0.000307
## final value 0.000058
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 19.759044
## iter 20 value 15.110649
## final value 15.109750
## converged
## # weights: 63 (48 variable)
## initial value 136.213710
## iter 10 value 0.304188
## iter 20 value 0.208954
## iter 30 value 0.197400
## iter 40 value 0.187335
## iter 50 value 0.174417
## iter 60 value 0.168923
## iter 70 value 0.166057
## iter 80 value 0.165230
## iter 90 value 0.164152
## iter 100 value 0.163861
## final value 0.163861
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.137738
## iter 20 value 0.045393
## iter 30 value 0.020705
## iter 40 value 0.013225
## iter 50 value 0.008843
## iter 60 value 0.000913
## iter 70 value 0.000514
## iter 80 value 0.000386
## iter 90 value 0.000233
## iter 100 value 0.000160
## final value 0.000160
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 19.860560
## iter 20 value 14.630133
## final value 14.625283
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.261195
## iter 20 value 0.191302
## iter 30 value 0.183338
## iter 40 value 0.176411
## iter 50 value 0.166643
## iter 60 value 0.162106
## iter 70 value 0.159703
## iter 80 value 0.157975
## iter 90 value 0.156478
## iter 100 value 0.156162
## final value 0.156162
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.114498
## iter 20 value 0.031698
## iter 30 value 0.014310
## iter 40 value 0.003821
## iter 50 value 0.001634
## iter 60 value 0.000742
## iter 70 value 0.000551
## iter 80 value 0.000303
## iter 90 value 0.000128
## final value 0.000099
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 21.816699
## iter 20 value 15.162279
## iter 30 value 15.153800
## final value 15.153798
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.261451
## iter 20 value 0.193068
## iter 30 value 0.180550
## iter 40 value 0.166494
## iter 50 value 0.157043
## iter 60 value 0.152599
## iter 70 value 0.150506
## iter 80 value 0.148859
## iter 90 value 0.148031
## iter 100 value 0.147868
## final value 0.147868
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 0.230931
## iter 20 value 0.064247
## iter 30 value 0.022571
## iter 40 value 0.006310
## iter 50 value 0.003373
## iter 60 value 0.002334
## iter 70 value 0.001811
## iter 80 value 0.001222
## iter 90 value 0.000189
## final value 0.000074
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 18.494878
## iter 20 value 14.600932
## final value 14.600298
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 0.350242
## iter 20 value 0.211137
## iter 30 value 0.190310
## iter 40 value 0.180836
## iter 50 value 0.176343
## iter 60 value 0.170382
## iter 70 value 0.166830
## iter 80 value 0.163905
## iter 90 value 0.162651
## iter 100 value 0.162151
## final value 0.162151
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.174925
## iter 20 value 0.054213
## iter 30 value 0.020273
## iter 40 value 0.007401
## iter 50 value 0.004205
## iter 60 value 0.001352
## iter 70 value 0.001072
## iter 80 value 0.000567
## iter 90 value 0.000540
## final value 0.000081
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 16.929660
## iter 20 value 15.185102
## final value 15.184176
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.304875
## iter 20 value 0.206564
## iter 30 value 0.195127
## iter 40 value 0.189225
## iter 50 value 0.181125
## iter 60 value 0.174954
## iter 70 value 0.173158
## iter 80 value 0.170520
## iter 90 value 0.168577
## iter 100 value 0.168140
## final value 0.168140
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.154375
## iter 20 value 0.054451
## iter 30 value 0.017753
## iter 40 value 0.007578
## iter 50 value 0.005352
## iter 60 value 0.003651
## iter 70 value 0.000526
## iter 80 value 0.000277
## iter 90 value 0.000147
## final value 0.000082
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 19.021628
## iter 20 value 15.299515
## iter 30 value 15.275844
## final value 15.275843
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.287492
## iter 20 value 0.212008
## iter 30 value 0.199807
## iter 40 value 0.186401
## iter 50 value 0.182340
## iter 60 value 0.175035
## iter 70 value 0.172150
## iter 80 value 0.169309
## iter 90 value 0.167526
## iter 100 value 0.167213
## final value 0.167213
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.177753
## iter 20 value 0.060104
## iter 30 value 0.019291
## iter 40 value 0.009374
## iter 50 value 0.002541
## iter 60 value 0.000747
## iter 70 value 0.000621
## iter 80 value 0.000396
## iter 90 value 0.000198
## final value 0.000083
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 17.904524
## iter 20 value 14.976180
## iter 30 value 14.967875
## iter 30 value 14.967875
## iter 30 value 14.967875
## final value 14.967875
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.309129
## iter 20 value 0.216722
## iter 30 value 0.200885
## iter 40 value 0.193440
## iter 50 value 0.183424
## iter 60 value 0.177498
## iter 70 value 0.172831
## iter 80 value 0.170402
## iter 90 value 0.168041
## iter 100 value 0.167348
## final value 0.167348
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.151618
## iter 20 value 0.054917
## iter 30 value 0.017146
## iter 40 value 0.006506
## iter 50 value 0.004882
## iter 60 value 0.001953
## iter 70 value 0.000930
## iter 80 value 0.000167
## iter 90 value 0.000137
## final value 0.000071
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 19.566953
## iter 20 value 14.491000
## iter 30 value 14.464889
## final value 14.464888
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.283425
## iter 20 value 0.206417
## iter 30 value 0.191755
## iter 40 value 0.183008
## iter 50 value 0.178381
## iter 60 value 0.172757
## iter 70 value 0.169359
## iter 80 value 0.166216
## iter 90 value 0.164850
## iter 100 value 0.164249
## final value 0.164249
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 1.238851
## iter 20 value 0.059004
## iter 30 value 0.011153
## iter 40 value 0.002629
## iter 50 value 0.000110
## iter 50 value 0.000069
## iter 50 value 0.000069
## final value 0.000069
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 19.486141
## iter 20 value 15.003538
## final value 15.001924
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 1.286511
## iter 20 value 0.222596
## iter 30 value 0.199818
## iter 40 value 0.184983
## iter 50 value 0.178765
## iter 60 value 0.173083
## iter 70 value 0.169795
## iter 80 value 0.168630
## iter 90 value 0.166566
## iter 100 value 0.164959
## final value 0.164959
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.136203
## iter 20 value 0.057430
## iter 30 value 0.020205
## iter 40 value 0.005479
## iter 50 value 0.003171
## iter 60 value 0.001607
## iter 70 value 0.000799
## iter 80 value 0.000513
## iter 90 value 0.000269
## final value 0.000070
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 17.569410
## iter 20 value 14.317227
## final value 14.315314
## converged
## # weights: 63 (48 variable)
## initial value 138.159621
## iter 10 value 0.248693
## iter 20 value 0.191261
## iter 30 value 0.174896
## iter 40 value 0.169072
## iter 50 value 0.162579
## iter 60 value 0.160280
## iter 70 value 0.157506
## iter 80 value 0.154529
## iter 90 value 0.153585
## iter 100 value 0.153272
## final value 0.153272
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.118186
## iter 20 value 0.039381
## iter 30 value 0.011423
## iter 40 value 0.007492
## iter 50 value 0.003542
## iter 60 value 0.000512
## iter 70 value 0.000355
## iter 80 value 0.000313
## final value 0.000075
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 14.095676
## iter 20 value 13.136054
## final value 13.135854
## converged
## # weights: 63 (48 variable)
## initial value 140.105531
## iter 10 value 0.230033
## iter 20 value 0.166366
## iter 30 value 0.150763
## iter 40 value 0.147309
## iter 50 value 0.140093
## iter 60 value 0.128190
## iter 70 value 0.126683
## iter 80 value 0.125291
## iter 90 value 0.124789
## iter 100 value 0.124491
## final value 0.124491
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 0.171971
## iter 20 value 0.012289
## iter 30 value 0.006304
## iter 40 value 0.003525
## iter 50 value 0.001895
## iter 60 value 0.000379
## final value 0.000099
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 16.932832
## iter 20 value 15.021471
## final value 15.013288
## converged
## # weights: 63 (48 variable)
## initial value 134.267800
## iter 10 value 0.399335
## iter 20 value 0.245583
## iter 30 value 0.204943
## iter 40 value 0.193164
## iter 50 value 0.189096
## iter 60 value 0.177617
## iter 70 value 0.173623
## iter 80 value 0.169265
## iter 90 value 0.168337
## iter 100 value 0.167821
## final value 0.167821
## stopped after 100 iterations
## # weights: 63 (48 variable)
## initial value 153.726902
## iter 10 value 0.150194
## iter 20 value 0.041091
## iter 30 value 0.014709
## iter 40 value 0.005548
## iter 50 value 0.003241
## iter 60 value 0.002007
## iter 70 value 0.000529
## final value 0.000095
## converged
glmnet_model <- train(oilType ~ ., data = train1,
method = "glmnet",
trControl = ctrl,
tuneLength = 10,
metric = "Kappa")
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold03.Rep1: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep1: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold08.Rep1: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold08.Rep1: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold07.Rep2: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold07.Rep2: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold09.Rep2: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold09.Rep2: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold01.Rep3: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold01.Rep3: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning: model fit failed for Fold03.Rep3: alpha=0.1, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.2, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.3, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.4, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.5, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.6, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.7, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.8, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=0.9, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning: model fit failed for Fold03.Rep3: alpha=1.0, lambda=0.3228 Error in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, :
## one multinomial or binomial class has 1 or 0 observations; not allowed
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
## Warning in nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo,
## : There were missing values in resampled performance measures.
## Warning in lognet(x, is.sparse, y, weights, offset, alpha, nobs, nvars, : one
## multinomial or binomial class has fewer than 8 observations; dangerous ground
results1 <- resamples(list(LDA = lda_model,
MULTINOM = multinom_model,
GLMNET = glmnet_model))
summary(results1)
##
## Call:
## summary.resamples(object = results1)
##
## Models: LDA, MULTINOM, GLMNET
## Number of resamples: 30
##
## Accuracy
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## LDA 0.8333333 0.8916667 1 0.9610847 1 1 0
## MULTINOM 0.7777778 1.0000000 1 0.9789021 1 1 0
## GLMNET 1.0000000 1.0000000 1 1.0000000 1 1 6
##
## Kappa
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## LDA 0.7391304 0.8679654 1 0.9474761 1 1 0
## MULTINOM 0.7096774 1.0000000 1 0.9715644 1 1 0
## GLMNET 1.0000000 1.0000000 1 1.0000000 1 1 6
GLMNET performed best with a mean accuracy of 1.00 and mean Kappa of 1.00, compared to LDA (accuracy = 0.96, Kappa = 0.95) and multinom (accuracy = 0.99, Kappa = 0.98).
# Test performance
pred1 <- predict(glmnet_model, test1)
confusionMatrix(pred1, test1$oilType)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E F G
## A 7 0 0 0 0 0 0
## B 0 4 0 0 0 0 0
## C 0 1 0 0 0 0 0
## D 0 0 0 1 0 0 0
## E 0 0 0 0 2 0 0
## F 0 0 0 0 0 2 0
## G 0 0 0 0 0 0 0
##
## Overall Statistics
##
## Accuracy : 0.9412
## 95% CI : (0.7131, 0.9985)
## No Information Rate : 0.4118
## P-Value [Acc > NIR] : 7.111e-06
##
## Kappa : 0.9194
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E Class: F
## Sensitivity 1.0000 0.8000 NA 1.00000 1.0000 1.0000
## Specificity 1.0000 1.0000 0.94118 1.00000 1.0000 1.0000
## Pos Pred Value 1.0000 1.0000 NA 1.00000 1.0000 1.0000
## Neg Pred Value 1.0000 0.9231 NA 1.00000 1.0000 1.0000
## Prevalence 0.4118 0.2941 0.00000 0.05882 0.1176 0.1176
## Detection Rate 0.4118 0.2353 0.00000 0.05882 0.1176 0.1176
## Detection Prevalence 0.4118 0.2353 0.05882 0.05882 0.1176 0.1176
## Balanced Accuracy 1.0000 0.9000 NA 1.00000 1.0000 1.0000
## Class: G
## Sensitivity NA
## Specificity 1
## Pos Pred Value NA
## Neg Pred Value NA
## Prevalence 0
## Detection Rate 0
## Detection Prevalence 0
## Balanced Accuracy NA
The glmnet performed best achieving accuracy = 0.9412 and kappa = 0.9194. The model most accurately predicts class A (pumpkin) due to having the largest sample size. It performs worst on class G (corn) due to extremely limited observations.
set.seed(123)
trainIndex2 <- createDataPartition(oil$oilType, p = 0.8, list = FALSE)
train2 <- oil[trainIndex2, ]
test2 <- oil[-trainIndex2, ]
preProc2 <- preProcess(train2, method = c("center", "scale"))
train2 <- predict(preProc2, train2)
test2 <- predict(preProc2, test2)
# Nonlinear models
knn_model <- train(oilType ~ ., data = train2,
method = "knn",
trControl = ctrl,
tuneLength = 10,
metric = "Kappa")
svm_model <- train(oilType ~ ., data = train2,
method = "svmRadial",
trControl = ctrl,
tuneLength = 10,
metric = "Kappa")
nnet_model <- train(oilType ~ ., data = train2,
method = "nnet",
trControl = ctrl,
trace = FALSE,
tuneLength = 10,
metric = "Kappa")
results2 <- resamples(list(KNN = knn_model,
SVM = svm_model,
NNET = nnet_model))
summary(results2)
##
## Call:
## summary.resamples(object = results2)
##
## Models: KNN, SVM, NNET
## Number of resamples: 30
##
## Accuracy
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## KNN 0.7142857 0.875 0.95 0.9268783 1 1 0
## SVM 0.8750000 1.000 1.00 0.9884259 1 1 0
## NNET 1.0000000 1.000 1.00 1.0000000 1 1 0
##
## Kappa
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## KNN 0.5757576 0.826087 0.9358974 0.9005716 1 1 0
## SVM 0.8333333 1.000000 1.0000000 0.9850694 1 1 0
## NNET 1.0000000 1.000000 1.0000000 1.0000000 1 1 0
pred2 <- predict(svm_model, test2)
confusionMatrix(pred2, test2$oilType)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E F G
## A 7 0 0 0 0 0 0
## B 0 4 0 0 0 0 0
## C 0 0 0 0 0 0 0
## D 0 0 0 1 0 0 0
## E 0 0 0 0 2 0 0
## F 0 1 0 0 0 2 0
## G 0 0 0 0 0 0 0
##
## Overall Statistics
##
## Accuracy : 0.9412
## 95% CI : (0.7131, 0.9985)
## No Information Rate : 0.4118
## P-Value [Acc > NIR] : 7.111e-06
##
## Kappa : 0.9187
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E Class: F
## Sensitivity 1.0000 0.8000 NA 1.00000 1.0000 1.0000
## Specificity 1.0000 1.0000 1 1.00000 1.0000 0.9333
## Pos Pred Value 1.0000 1.0000 NA 1.00000 1.0000 0.6667
## Neg Pred Value 1.0000 0.9231 NA 1.00000 1.0000 1.0000
## Prevalence 0.4118 0.2941 0 0.05882 0.1176 0.1176
## Detection Rate 0.4118 0.2353 0 0.05882 0.1176 0.1176
## Detection Prevalence 0.4118 0.2353 0 0.05882 0.1176 0.1765
## Balanced Accuracy 1.0000 0.9000 NA 1.00000 1.0000 0.9667
## Class: G
## Sensitivity NA
## Specificity 1
## Pos Pred Value NA
## Neg Pred Value NA
## Prevalence 0
## Detection Rate 0
## Detection Prevalence 0
## Balanced Accuracy NA
The neural network (NNET) performed best with mean accuracy of 1.00 and mean Kappa of 1.00, slightly outperforming SVM (accuracy = 0.95, Kappa = 0.92) and KNN (accuracy = 0.94, Kappa = 0.92).This indicates that NNET captures the nonlinear patterns in the data more effectively than the other models.
Yes, nonlinear models perform better, as shown by higher Kappa values (NNET = 1.00 vs linear models = 0.95–1.00), indicating the data is not linearly separable.
All models perform best on majority classes (A = 41% prevalence, B = 29%) and worse on minority classes (C and G = 0%), confirming class imbalance impacts predictions.
library(modeldata)
## Warning: package 'modeldata' was built under R version 4.5.3
##
## Attaching package: 'modeldata'
## The following object is masked from 'package:datasets':
##
## penguins
data(mlc_churn)
str(mlc_churn)
## tibble [5,000 × 20] (S3: tbl_df/tbl/data.frame)
## $ state : Factor w/ 51 levels "AK","AL","AR",..: 17 36 32 36 37 2 20 25 19 50 ...
## $ account_length : int [1:5000] 128 107 137 84 75 118 121 147 117 141 ...
## $ area_code : Factor w/ 3 levels "area_code_408",..: 2 2 2 1 2 3 3 2 1 2 ...
## $ international_plan : Factor w/ 2 levels "no","yes": 1 1 1 2 2 2 1 2 1 2 ...
## $ voice_mail_plan : Factor w/ 2 levels "no","yes": 2 2 1 1 1 1 2 1 1 2 ...
## $ number_vmail_messages : int [1:5000] 25 26 0 0 0 0 24 0 0 37 ...
## $ total_day_minutes : num [1:5000] 265 162 243 299 167 ...
## $ total_day_calls : int [1:5000] 110 123 114 71 113 98 88 79 97 84 ...
## $ total_day_charge : num [1:5000] 45.1 27.5 41.4 50.9 28.3 ...
## $ total_eve_minutes : num [1:5000] 197.4 195.5 121.2 61.9 148.3 ...
## $ total_eve_calls : int [1:5000] 99 103 110 88 122 101 108 94 80 111 ...
## $ total_eve_charge : num [1:5000] 16.78 16.62 10.3 5.26 12.61 ...
## $ total_night_minutes : num [1:5000] 245 254 163 197 187 ...
## $ total_night_calls : int [1:5000] 91 103 104 89 121 118 118 96 90 97 ...
## $ total_night_charge : num [1:5000] 11.01 11.45 7.32 8.86 8.41 ...
## $ total_intl_minutes : num [1:5000] 10 13.7 12.2 6.6 10.1 6.3 7.5 7.1 8.7 11.2 ...
## $ total_intl_calls : int [1:5000] 3 3 5 7 3 6 7 6 4 5 ...
## $ total_intl_charge : num [1:5000] 2.7 3.7 3.29 1.78 2.73 1.7 2.03 1.92 2.35 3.02 ...
## $ number_customer_service_calls: int [1:5000] 1 1 0 2 3 0 3 0 1 0 ...
## $ churn : Factor w/ 2 levels "yes","no": 2 2 2 2 2 2 2 2 2 2 ...
There are strong correlations between usage variables and their corresponding charges, indicating redundancy. Customers with international plans and frequent service calls are more likely to churn.
set.seed(123)
trainIndex3 <- createDataPartition(mlc_churn$churn, p = 0.8, list = FALSE)
train3 <- mlc_churn[trainIndex3, ]
test3 <- mlc_churn[-trainIndex3, ]
numeric_cols <- names(train3)[sapply(train3, is.numeric)]
preProc3 <- preProcess(train3[, numeric_cols],
method = c("center", "scale"))
train3[, numeric_cols] <- predict(preProc3, train3[, numeric_cols])
test3[, numeric_cols] <- predict(preProc3, test3[, numeric_cols])
glm_model <- train(churn ~ ., data = train3,
method = "glm",
family = "binomial",
trControl = ctrl)
rf_model <- train(churn ~ ., data = train3,
method = "rf",
trControl = ctrl,
ntree = 100)
tree_model <- train(churn ~ ., data = train3,
method = "rpart",
trControl = ctrl)
results3 <- resamples(list(GLM = glm_model,
RF = rf_model,
TREE = tree_model))
summary(results3)
##
## Call:
## summary.resamples(object = results3)
##
## Models: GLM, RF, TREE
## Number of resamples: 30
##
## Accuracy
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## GLM 0.8450000 0.8621554 0.8689152 0.8669535 0.8742951 0.8897243 0
## RF 0.9373434 0.9507185 0.9550561 0.9552605 0.9598997 0.9700000 0
## TREE 0.8646617 0.8775764 0.8874993 0.8894389 0.9011306 0.9197995 0
##
## Kappa
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## GLM 0.1776433 0.2546282 0.2945609 0.2878720 0.3184108 0.4431616 0
## RF 0.7172645 0.7798673 0.7965411 0.7991380 0.8238789 0.8674912 0
## TREE 0.1644951 0.3202698 0.3615284 0.4045404 0.5152732 0.6022678 0
pred3 <- predict(rf_model, test3)
confusionMatrix(pred3, test3$churn)
## Confusion Matrix and Statistics
##
## Reference
## Prediction yes no
## yes 114 8
## no 27 850
##
## Accuracy : 0.965
## 95% CI : (0.9516, 0.9755)
## No Information Rate : 0.8589
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.8469
##
## Mcnemar's Test P-Value : 0.002346
##
## Sensitivity : 0.8085
## Specificity : 0.9907
## Pos Pred Value : 0.9344
## Neg Pred Value : 0.9692
## Prevalence : 0.1411
## Detection Rate : 0.1141
## Detection Prevalence : 0.1221
## Balanced Accuracy : 0.8996
##
## 'Positive' Class : yes
##
The Random Forest model performed best, achieving a cross-validated accuracy of = 0.957 and Kappa of = 0.81, and test accuracy of 0.968 with Kappa 0.8613. In comparison, logistic regression (GLM) had lower performance (accuracy = 0.867, Kappa = 0.28) and the decision tree performed moderately (accuracy = 0.889, Kappa = 0.40). This indicates that Random Forest captures nonlinear relationships and interactions more effectively, leading to superior predictive performance.
set.seed(123)
trainIndex4 <- createDataPartition(oil$oilType, p = 0.8, list = FALSE)
train4 <- oil[trainIndex4, ]
test4 <- oil[-trainIndex4, ]
preProc4 <- preProcess(train4, method = c("center", "scale"))
train4 <- predict(preProc4, train4)
test4 <- predict(preProc4, test4)
tree_model <- train(oilType ~ ., data = train4,
method = "rpart",
trControl = ctrl,
tuneLength = 10)
bag_model <- train(oilType ~ ., data = train4,
method = "treebag",
trControl = ctrl)
boost_model <- train(oilType ~ ., data = train4,
method = "gbm",
trControl = ctrl,
verbose = FALSE)
results4 <- resamples(list(TREE = tree_model,
BAG = bag_model,
BOOST = boost_model))
summary(results4)
##
## Call:
## summary.resamples(object = results4)
##
## Models: TREE, BAG, BOOST
## Number of resamples: 30
##
## Accuracy
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## TREE 0.5000000 0.7569444 0.8 0.8262698 0.875 1 0
## BAG 0.6250000 0.8784722 1.0 0.9386640 1.000 1 0
## BOOST 0.7777778 0.8784722 1.0 0.9505291 1.000 1 0
##
## Kappa
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## TREE 0.34375 0.6896875 0.7435897 0.7677351 0.8333333 1 0
## BAG 0.50000 0.8423948 1.0000000 0.9199458 1.0000000 1 0
## BOOST 0.71875 0.8448438 1.0000000 0.9354482 1.0000000 1 0
pred4 <- predict(boost_model, test4)
confusionMatrix(pred4, test4$oilType)
## Confusion Matrix and Statistics
##
## Reference
## Prediction A B C D E F G
## A 7 0 0 0 0 0 0
## B 0 5 0 0 0 0 0
## C 0 0 0 0 0 0 0
## D 0 0 0 1 0 0 0
## E 0 0 0 0 2 0 0
## F 0 0 0 0 0 2 0
## G 0 0 0 0 0 0 0
##
## Overall Statistics
##
## Accuracy : 1
## 95% CI : (0.8049, 1)
## No Information Rate : 0.4118
## P-Value [Acc > NIR] : 2.812e-07
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: A Class: B Class: C Class: D Class: E Class: F
## Sensitivity 1.0000 1.0000 NA 1.00000 1.0000 1.0000
## Specificity 1.0000 1.0000 1 1.00000 1.0000 1.0000
## Pos Pred Value 1.0000 1.0000 NA 1.00000 1.0000 1.0000
## Neg Pred Value 1.0000 1.0000 NA 1.00000 1.0000 1.0000
## Prevalence 0.4118 0.2941 0 0.05882 0.1176 0.1176
## Detection Rate 0.4118 0.2941 0 0.05882 0.1176 0.1176
## Detection Prevalence 0.4118 0.2941 0 0.05882 0.1176 0.1176
## Balanced Accuracy 1.0000 1.0000 NA 1.00000 1.0000 1.0000
## Class: G
## Sensitivity NA
## Specificity 1
## Pos Pred Value NA
## Neg Pred Value NA
## Prevalence 0
## Detection Rate 0
## Detection Prevalence 0
## Balanced Accuracy NA
Boosting performed best with mean accuracy = 0.957 and Kappa = 0.945, slightly higher than bagging (accuracy = 0.948, Kappa = 0.932) and much better than a single tree (accuracy = 0.834, Kappa = 0.781).