Regression Support Vector Machine Learner
mlr_learners_regr.smo_reg.Rd
Support Vector Machine for regression.
Calls RWeka::make_Weka_classifier()
from RWeka.
Custom mlr3 parameters
output_debug_info
:original id: output-debug-info
do_not_check_capabilities
:original id: do-not-check-capabilities
num_decimal_places
:original id: num-decimal-places
batch_size
:original id: batch-size
T_improved
:original id: T
V_improved
:original id: V
P_improved
:original id: P
L_improved
:original id: L (duplicated L for when I is set to RegSMOImproved)
W_improved
:original id: W
C_poly
:original id: C
E_poly
:original id: E
L_poly
:original id: L (duplicated L for when K is set to PolyKernel)
Reason for change: This learner contains changed ids of the following control arguments since their ids contain irregular pattern
Parameters
Id | Type | Default | Levels | Range |
subset | untyped | - | - | |
na.action | untyped | - | - | |
C | numeric | 1 | \((-\infty, \infty)\) | |
N | character | 0 | 0, 1, 2 | - |
I | character | RegSMOImproved | RegSMO, RegSMOImproved | - |
K | character | PolyKernel | NormalizedPolyKernel, PolyKernel, Puk, RBFKernel, StringKernel | - |
T_improved | numeric | 0.001 | \((-\infty, \infty)\) | |
V_improved | logical | TRUE | TRUE, FALSE | - |
P_improved | numeric | 1e-12 | \((-\infty, \infty)\) | |
L_improved | numeric | 0.001 | \((-\infty, \infty)\) | |
W_improved | integer | 1 | \((-\infty, \infty)\) | |
C_poly | integer | 250007 | \((-\infty, \infty)\) | |
E_poly | numeric | 1 | \((-\infty, \infty)\) | |
L_poly | logical | FALSE | TRUE, FALSE | - |
output_debug_info | logical | FALSE | TRUE, FALSE | - |
do_not_check_capabilities | logical | FALSE | TRUE, FALSE | - |
num_decimal_places | integer | 2 | \([1, \infty)\) | |
batch_size | integer | 100 | \([1, \infty)\) | |
options | untyped | NULL | - |
References
Shevade S, Keerthi S, Bhattacharyya C, Murthy K (1999). “Improvements to the SMO Algorithm for SVM Regression.” In IEEE Transactions on Neural Networks.
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3::LearnerRegr
-> LearnerRegrSMOreg
Examples
# Define the Learner
learner = mlr3::lrn("regr.smo_reg")
print(learner)
#> <LearnerRegrSMOreg:regr.smo_reg>: Support Vector Machine
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, RWeka
#> * Predict Types: [response]
#> * Feature Types: logical, integer, numeric, factor, ordered
#> * Properties: missings
# Define a Task
task = mlr3::tsk("mtcars")
# Create train and test set
ids = mlr3::partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
print(learner$model)
#> SMOreg
#>
#> weights (not support vectors):
#> + 0.0612 * (normalized) am
#> - 0.419 * (normalized) carb
#> + 0.0428 * (normalized) cyl
#> + 0.0507 * (normalized) disp
#> + 0.148 * (normalized) drat
#> + 0.2705 * (normalized) gear
#> - 0.2525 * (normalized) hp
#> - 0.0752 * (normalized) qsec
#> - 0.0087 * (normalized) vs
#> - 0.256 * (normalized) wt
#> + 0.636
#>
#>
#>
#> Number of kernel evaluations: 231 (97.721% cached)
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> regr.mse
#> 16.94111