Fits an `e1071` support vector machine with a consistent interface. Supports classification and regression.

wrap_svm(x, y, ...)

# S3 method for class 'wrap_svm'
predict(object, newx, type = c("class", "prob"), ...)

# S3 method for class 'wrap_svm'
print(x, ...)

Arguments

x

A matrix or data.frame of features.

y

A factor or character vector for classification, numeric for regression.

...

Additional arguments passed to [e1071::svm()]. `probability = TRUE` is set automatically for classification; do not override this if you need `type = "prob"` predictions.

object

A fitted `wrap_svm` object.

newx

A matrix or data.frame of new observations.

type

`"class"` (default) for class labels, `"prob"` for a probability matrix. Ignored for regression.

Value

An object of class `wrap_svm` with fields:

fit

The fitted svm model.

levels

Class levels (NULL for regression).

task

"classification" or "regression".

Examples


X <- as.matrix(iris[, 1:4])
y <- iris$Species
mod <- wrap_svm(X, y, kernel = "radial")
predict(mod, newx = X, type = "class")
#>          1          2          3          4          5          6          7 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>          8          9         10         11         12         13         14 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         15         16         17         18         19         20         21 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         22         23         24         25         26         27         28 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         29         30         31         32         33         34         35 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         36         37         38         39         40         41         42 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         43         44         45         46         47         48         49 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         50         51         52         53         54         55         56 
#>     setosa versicolor versicolor versicolor versicolor versicolor versicolor 
#>         57         58         59         60         61         62         63 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         64         65         66         67         68         69         70 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         71         72         73         74         75         76         77 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         78         79         80         81         82         83         84 
#>  virginica versicolor versicolor versicolor versicolor versicolor  virginica 
#>         85         86         87         88         89         90         91 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         92         93         94         95         96         97         98 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         99        100        101        102        103        104        105 
#> versicolor versicolor  virginica  virginica  virginica  virginica  virginica 
#>        106        107        108        109        110        111        112 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        113        114        115        116        117        118        119 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        120        121        122        123        124        125        126 
#> versicolor  virginica  virginica  virginica  virginica  virginica  virginica 
#>        127        128        129        130        131        132        133 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        134        135        136        137        138        139        140 
#> versicolor  virginica  virginica  virginica  virginica  virginica  virginica 
#>        141        142        143        144        145        146        147 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        148        149        150 
#>  virginica  virginica  virginica 
#> Levels: setosa versicolor virginica
predict(mod, newx = X, type = "prob")
#>          setosa  versicolor   virginica
#> 1   0.980441165 0.010874923 0.008683912
#> 2   0.973151806 0.017477432 0.009370761
#> 3   0.979145046 0.011488740 0.009366213
#> 4   0.975158460 0.014782092 0.010059448
#> 5   0.979648735 0.011210874 0.009140391
#> 6   0.974341878 0.016216623 0.009441499
#> 7   0.975863495 0.013038117 0.011098389
#> 8   0.980298811 0.011003303 0.008697886
#> 9   0.966501882 0.021837855 0.011660263
#> 10  0.976915106 0.013585291 0.009499603
#> 11  0.976711787 0.013827049 0.009461164
#> 12  0.978832766 0.011671772 0.009495462
#> 13  0.975488492 0.015010726 0.009500782
#> 14  0.969415203 0.016499324 0.014085473
#> 15  0.967171024 0.018826929 0.014002046
#> 16  0.959222157 0.022767313 0.018010530
#> 17  0.976026289 0.014447250 0.009526462
#> 18  0.980108900 0.011449759 0.008441340
#> 19  0.967196079 0.021232817 0.011571104
#> 20  0.977293857 0.013278652 0.009427491
#> 21  0.971476806 0.017412849 0.011110345
#> 22  0.977782050 0.013366787 0.008851163
#> 23  0.968511630 0.016676091 0.014812279
#> 24  0.967035425 0.022114825 0.010849751
#> 25  0.975647417 0.013991309 0.010361275
#> 26  0.967563561 0.022098300 0.010338139
#> 27  0.976962384 0.014067760 0.008969856
#> 28  0.979273614 0.011862145 0.008864241
#> 29  0.979154316 0.011781508 0.009064176
#> 30  0.976947254 0.013349065 0.009703681
#> 31  0.975156502 0.015441284 0.009402214
#> 32  0.969826920 0.019258644 0.010914437
#> 33  0.966905436 0.018921977 0.014172587
#> 34  0.968509258 0.018118122 0.013372621
#> 35  0.975966576 0.014853649 0.009179775
#> 36  0.979697775 0.011368597 0.008933628
#> 37  0.973419330 0.015412689 0.011167981
#> 38  0.977797091 0.011685740 0.010517169
#> 39  0.970919900 0.017325042 0.011755058
#> 40  0.979776122 0.011451645 0.008772233
#> 41  0.980543594 0.010877996 0.008578410
#> 42  0.864033509 0.116591995 0.019374496
#> 43  0.972470501 0.014582695 0.012946805
#> 44  0.970813483 0.018655853 0.010530664
#> 45  0.973326939 0.016694782 0.009978279
#> 46  0.971203618 0.019414768 0.009381615
#> 47  0.976611855 0.013469300 0.009918845
#> 48  0.977244703 0.012587678 0.010167619
#> 49  0.978007226 0.012881652 0.009111122
#> 50  0.980203563 0.011083169 0.008713268
#> 51  0.016996736 0.950756838 0.032246426
#> 52  0.009949288 0.970870516 0.019180196
#> 53  0.013160001 0.880998082 0.105841917
#> 54  0.005306173 0.964991601 0.029702226
#> 55  0.009181203 0.922751349 0.068067448
#> 56  0.006618466 0.976364476 0.017017058
#> 57  0.011056456 0.926142509 0.062801035
#> 58  0.025699462 0.957523256 0.016777282
#> 59  0.011026562 0.979079406 0.009894032
#> 60  0.008295792 0.961859471 0.029844737
#> 61  0.024555190 0.943970010 0.031474800
#> 62  0.008217494 0.976358470 0.015424036
#> 63  0.013624035 0.979130231 0.007245734
#> 64  0.006923224 0.959162795 0.033913981
#> 65  0.015226781 0.980657634 0.004115585
#> 66  0.011772143 0.978969831 0.009258026
#> 67  0.009460082 0.945215419 0.045324499
#> 68  0.010356940 0.987313643 0.002329417
#> 69  0.016387636 0.846037001 0.137575363
#> 70  0.006493419 0.988828431 0.004678150
#> 71  0.013031992 0.600000909 0.386967099
#> 72  0.007820067 0.988962170 0.003217763
#> 73  0.011180176 0.698094454 0.290725370
#> 74  0.007957178 0.982796501 0.009246322
#> 75  0.009287833 0.986485804 0.004226362
#> 76  0.010265618 0.980105659 0.009628723
#> 77  0.015033088 0.931620725 0.053346187
#> 78  0.011095724 0.453486983 0.535417293
#> 79  0.006476320 0.945671614 0.047852066
#> 80  0.013157289 0.983864939 0.002977772
#> 81  0.006473064 0.986827640 0.006699296
#> 82  0.008478007 0.986785833 0.004736160
#> 83  0.007399343 0.989654058 0.002946600
#> 84  0.007792298 0.324561880 0.667645822
#> 85  0.012067640 0.932906823 0.055025537
#> 86  0.018419950 0.950876468 0.030703582
#> 87  0.010579099 0.940711432 0.048709469
#> 88  0.014604614 0.955376501 0.030018885
#> 89  0.014155239 0.980545320 0.005299442
#> 90  0.004834898 0.976299648 0.018865454
#> 91  0.005693187 0.976590226 0.017716586
#> 92  0.007658403 0.974654951 0.017686646
#> 93  0.006152690 0.989283479 0.004563831
#> 94  0.019808205 0.964882567 0.015309228
#> 95  0.005852817 0.980983439 0.013163744
#> 96  0.014600773 0.981611033 0.003788194
#> 97  0.008880087 0.985148036 0.005971877
#> 98  0.008132629 0.987487046 0.004380325
#> 99  0.024292575 0.964909201 0.010798224
#> 100 0.007196174 0.986388465 0.006415361
#> 101 0.011771927 0.003307925 0.984920147
#> 102 0.006149447 0.027216393 0.966634161
#> 103 0.006863234 0.004960971 0.988175795
#> 104 0.007301242 0.024762044 0.967936714
#> 105 0.006724651 0.001624431 0.991650919
#> 106 0.009794852 0.007542221 0.982662926
#> 107 0.010624939 0.404687897 0.584687164
#> 108 0.009433715 0.016703228 0.973863056
#> 109 0.009572148 0.028079710 0.962348141
#> 110 0.012440433 0.011807940 0.975751628
#> 111 0.010084990 0.075560360 0.914354650
#> 112 0.006762364 0.019947130 0.973290505
#> 113 0.006842193 0.006901806 0.986256000
#> 114 0.006046723 0.018905463 0.975047815
#> 115 0.008805645 0.001984373 0.989209982
#> 116 0.008786956 0.007063620 0.984149424
#> 117 0.008251622 0.050267311 0.941481067
#> 118 0.019001923 0.020026077 0.960972001
#> 119 0.020487563 0.020043957 0.959468479
#> 120 0.014071037 0.617229801 0.368699162
#> 121 0.007191180 0.003910645 0.988898175
#> 122 0.007365346 0.031116800 0.961517854
#> 123 0.014628727 0.016429006 0.968942267
#> 124 0.008070590 0.141218104 0.850711306
#> 125 0.007716374 0.012690820 0.979592806
#> 126 0.008318503 0.029151855 0.962529642
#> 127 0.008221153 0.207199313 0.784579534
#> 128 0.009454572 0.277416678 0.713128749
#> 129 0.006407789 0.002297659 0.991294552
#> 130 0.014353393 0.140138903 0.845507704
#> 131 0.011018447 0.019931904 0.969049649
#> 132 0.020817543 0.028042345 0.951140112
#> 133 0.006673799 0.001499550 0.991826651
#> 134 0.009210302 0.667354925 0.323434772
#> 135 0.010788965 0.364119897 0.625091139
#> 136 0.011111278 0.010668915 0.978219807
#> 137 0.012190825 0.011222808 0.976586367
#> 138 0.009624568 0.072889429 0.917486003
#> 139 0.009728808 0.350062068 0.640209124
#> 140 0.007243979 0.013336958 0.979419062
#> 141 0.007721602 0.002135927 0.990142471
#> 142 0.008628885 0.010451808 0.980919307
#> 143 0.006149447 0.027216393 0.966634161
#> 144 0.007124045 0.002625356 0.990250599
#> 145 0.009412897 0.003776180 0.986810923
#> 146 0.007876785 0.004545857 0.987577358
#> 147 0.008020364 0.051629619 0.940350016
#> 148 0.007459990 0.023970409 0.968569602
#> 149 0.012858510 0.025137918 0.962003572
#> 150 0.009609463 0.169274792 0.821115745


X <- as.matrix(iris[, 1:4])
y <- iris$Species
mod <- wrap_svm(X, y, kernel = "radial")
predict(mod, newx = X, type = "class")
#>          1          2          3          4          5          6          7 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>          8          9         10         11         12         13         14 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         15         16         17         18         19         20         21 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         22         23         24         25         26         27         28 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         29         30         31         32         33         34         35 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         36         37         38         39         40         41         42 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         43         44         45         46         47         48         49 
#>     setosa     setosa     setosa     setosa     setosa     setosa     setosa 
#>         50         51         52         53         54         55         56 
#>     setosa versicolor versicolor versicolor versicolor versicolor versicolor 
#>         57         58         59         60         61         62         63 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         64         65         66         67         68         69         70 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         71         72         73         74         75         76         77 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         78         79         80         81         82         83         84 
#>  virginica versicolor versicolor versicolor versicolor versicolor  virginica 
#>         85         86         87         88         89         90         91 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         92         93         94         95         96         97         98 
#> versicolor versicolor versicolor versicolor versicolor versicolor versicolor 
#>         99        100        101        102        103        104        105 
#> versicolor versicolor  virginica  virginica  virginica  virginica  virginica 
#>        106        107        108        109        110        111        112 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        113        114        115        116        117        118        119 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        120        121        122        123        124        125        126 
#> versicolor  virginica  virginica  virginica  virginica  virginica  virginica 
#>        127        128        129        130        131        132        133 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        134        135        136        137        138        139        140 
#> versicolor  virginica  virginica  virginica  virginica  virginica  virginica 
#>        141        142        143        144        145        146        147 
#>  virginica  virginica  virginica  virginica  virginica  virginica  virginica 
#>        148        149        150 
#>  virginica  virginica  virginica 
#> Levels: setosa versicolor virginica
predict(mod, newx = X, type = "prob")
#>          setosa  versicolor   virginica
#> 1   0.980486029 0.011236459 0.008277513
#> 2   0.973089341 0.018059728 0.008850930
#> 3   0.979195227 0.011856640 0.008948132
#> 4   0.975140619 0.015248327 0.009611054
#> 5   0.979645384 0.011546112 0.008808504
#> 6   0.974140190 0.016675499 0.009184311
#> 7   0.975914938 0.013408700 0.010676362
#> 8   0.980372937 0.011378974 0.008248089
#> 9   0.966244887 0.022436460 0.011318653
#> 10  0.976972526 0.014040940 0.008986534
#> 11  0.976653897 0.014254597 0.009091506
#> 12  0.978895201 0.012048170 0.009056629
#> 13  0.975457600 0.015501400 0.009041000
#> 14  0.969431068 0.016836463 0.013732468
#> 15  0.965125475 0.021037299 0.013837227
#> 16  0.959312048 0.022872783 0.017815169
#> 17  0.975868855 0.014814424 0.009316721
#> 18  0.980142118 0.011840835 0.008017046
#> 19  0.967037689 0.021864344 0.011097966
#> 20  0.977186445 0.013631800 0.009181755
#> 21  0.971627381 0.017983580 0.010389039
#> 22  0.977700550 0.013785881 0.008513570
#> 23  0.968350083 0.017110305 0.014539612
#> 24  0.967067782 0.022831310 0.010100908
#> 25  0.975721824 0.014443226 0.009834950
#> 26  0.967487794 0.022815388 0.009696818
#> 27  0.977011496 0.014552630 0.008435874
#> 28  0.979327927 0.012264285 0.008407788
#> 29  0.979256030 0.012185765 0.008558205
#> 30  0.976990879 0.013785900 0.009223222
#> 31  0.975155739 0.015959059 0.008885202
#> 32  0.969931239 0.019889359 0.010179403
#> 33  0.966762658 0.019187350 0.014049992
#> 34  0.968382718 0.018352951 0.013264331
#> 35  0.975987396 0.015358592 0.008654013
#> 36  0.979791058 0.011757733 0.008451209
#> 37  0.973532143 0.015906575 0.010561282
#> 38  0.977820256 0.011986082 0.010193662
#> 39  0.970824059 0.017791515 0.011384427
#> 40  0.979862086 0.011846701 0.008291213
#> 41  0.980571970 0.011237205 0.008190825
#> 42  0.861592080 0.118565405 0.019842515
#> 43  0.972531979 0.014940226 0.012527795
#> 44  0.970819279 0.019264511 0.009916210
#> 45  0.973175060 0.017189347 0.009635593
#> 46  0.971071454 0.020053620 0.008874926
#> 47  0.976518467 0.013810573 0.009670960
#> 48  0.977286613 0.012972996 0.009740391
#> 49  0.977948952 0.013276149 0.008774899
#> 50  0.980296034 0.011466081 0.008237886
#> 51  0.017329389 0.943367032 0.039303579
#> 52  0.010252330 0.966221127 0.023526543
#> 53  0.013507094 0.859755712 0.126737194
#> 54  0.005603732 0.958008839 0.036387429
#> 55  0.009439185 0.908171738 0.082389077
#> 56  0.006848044 0.972218350 0.020933606
#> 57  0.011477991 0.912454686 0.076067323
#> 58  0.027139432 0.953281779 0.019578789
#> 59  0.011307340 0.976553474 0.012139186
#> 60  0.008698730 0.954797442 0.036503828
#> 61  0.026087610 0.936358565 0.037553825
#> 62  0.008494040 0.972550005 0.018955955
#> 63  0.014029461 0.977204637 0.008765902
#> 64  0.007165616 0.951348318 0.041486067
#> 65  0.015674436 0.979564515 0.004761049
#> 66  0.012083480 0.976582945 0.011333575
#> 67  0.009832430 0.934975377 0.055192194
#> 68  0.010652236 0.986631149 0.002716614
#> 69  0.016802790 0.819831589 0.163365621
#> 70  0.006743952 0.987524117 0.005731930
#> 71  0.014100910 0.552011279 0.433887811
#> 72  0.008043441 0.988035051 0.003921507
#> 73  0.011553624 0.655203400 0.333242975
#> 74  0.008190688 0.980424659 0.011384653
#> 75  0.009534691 0.985308254 0.005157055
#> 76  0.010543028 0.977636368 0.011820604
#> 77  0.015254470 0.919988521 0.064757009
#> 78  0.011664119 0.405832535 0.582503346
#> 79  0.006748708 0.934967935 0.058283357
#> 80  0.013572447 0.983081535 0.003346018
#> 81  0.006763489 0.985014461 0.008222049
#> 82  0.008839628 0.985443962 0.005716410
#> 83  0.007630573 0.988793230 0.003576197
#> 84  0.008304446 0.283755807 0.707939747
#> 85  0.012524131 0.920711681 0.066764188
#> 86  0.019002258 0.943672946 0.037324796
#> 87  0.010860583 0.929878698 0.059260719
#> 88  0.014880396 0.948457292 0.036662311
#> 89  0.014571019 0.979113243 0.006315738
#> 90  0.005066493 0.971726148 0.023207359
#> 91  0.005924402 0.972279532 0.021796066
#> 92  0.007905349 0.970355012 0.021739639
#> 93  0.006360613 0.988024780 0.005614606
#> 94  0.021029668 0.960872877 0.018097455
#> 95  0.006071286 0.977709717 0.016218997
#> 96  0.015002862 0.980586021 0.004411117
#> 97  0.009166092 0.983527681 0.007306227
#> 98  0.008365207 0.986270575 0.005364218
#> 99  0.025389576 0.962283594 0.012326830
#> 100 0.007440424 0.984671146 0.007888430
#> 101 0.012724445 0.003101318 0.984174237
#> 102 0.006598397 0.022899012 0.970502591
#> 103 0.007411710 0.004320024 0.988268265
#> 104 0.007872279 0.020864098 0.971263623
#> 105 0.007273304 0.001482002 0.991244694
#> 106 0.010535170 0.006706209 0.982758622
#> 107 0.011488778 0.358836594 0.629674628
#> 108 0.010199192 0.014274651 0.975526157
#> 109 0.010332919 0.023825442 0.965841639
#> 110 0.013384925 0.010367103 0.976247972
#> 111 0.010457229 0.063796937 0.925745834
#> 112 0.007305317 0.016826403 0.975868281
#> 113 0.007397484 0.005896772 0.986705744
#> 114 0.006529066 0.015930835 0.977540098
#> 115 0.009523880 0.001830268 0.988645851
#> 116 0.009500869 0.006063210 0.984435920
#> 117 0.008711305 0.042345382 0.948943313
#> 118 0.018801469 0.018611239 0.962587292
#> 119 0.020365691 0.018746491 0.960887818
#> 120 0.014486342 0.570221211 0.415292447
#> 121 0.007770106 0.003438996 0.988790898
#> 122 0.007904644 0.026197167 0.965898189
#> 123 0.014585726 0.015063600 0.970350674
#> 124 0.008583396 0.119893336 0.871523269
#> 125 0.008349340 0.010761619 0.980889041
#> 126 0.008957442 0.024672193 0.966370365
#> 127 0.008792582 0.177653082 0.813554336
#> 128 0.010185622 0.240587758 0.749226620
#> 129 0.006929632 0.002031323 0.991039045
#> 130 0.014248008 0.119344474 0.866407518
#> 131 0.010867140 0.017616348 0.971516513
#> 132 0.021569113 0.024371260 0.954059627
#> 133 0.007218482 0.001378642 0.991402877
#> 134 0.009757436 0.622191364 0.368051200
#> 135 0.011281734 0.320648237 0.668070030
#> 136 0.011946894 0.009382159 0.978670947
#> 137 0.013173326 0.009666895 0.977159780
#> 138 0.009983066 0.061507890 0.928509044
#> 139 0.010507439 0.307393471 0.682099091
#> 140 0.007838661 0.011300547 0.980860792
#> 141 0.008349297 0.001965805 0.989684899
#> 142 0.009328978 0.008921870 0.981749152
#> 143 0.006598397 0.022899012 0.970502591
#> 144 0.007700830 0.002363168 0.989936002
#> 145 0.010170599 0.003417849 0.986411552
#> 146 0.008514559 0.003958068 0.987527373
#> 147 0.008432521 0.043516821 0.948050658
#> 148 0.008049506 0.020205854 0.971744641
#> 149 0.013918418 0.021324656 0.964756925
#> 150 0.010349881 0.144295417 0.845354702