This learner provides fitting procedures for support vector machines, using the routines from e1071 (described in Meyer et al. (2021) and Chang and Lin (2011) , the core library to which e1071 is an interface) through a call to the function svm.

Format

An R6Class object inheriting from Lrnr_base.

Value

A learner object inheriting from Lrnr_base with methods for training and prediction. For a full list of learner functionality, see the complete documentation of Lrnr_base.

Parameters

  • scale = TRUE: A logical vector indicating the variables to be scaled. For a detailed description, please consult the documentation for svm.

  • type = NULL: SVMs can be used as a classification machine, as a a regression machine, or for novelty detection. Depending of whether the outcome is a factor or not, the default setting for this argument is "C-classification" or "eps-regression", respectively. This may be overwritten by setting an explicit value. For a full set of options, please consult the documentation for svm.

  • kernel = "radial": The kernel used in training and predicting. You may consider changing some of the optional parameters, depending on the kernel type. Kernel options include: "linear", "polynomial", "radial" (the default), "sigmoid". For a detailed description, consult the documentation for svm.

  • fitted = TRUE: Logical indicating whether the fitted values should be computed and included in the model fit object or not.

  • probability = FALSE: Logical indicating whether the model should allow for probability predictions.

  • ...: Other parameters passed to svm. See its documentation for details.

References

Chang C, Lin C (2011). “LIBSVM: A library for support vector machines.” ACM Transactions on Intelligent Systems and Technology, 2(3), 27:1--27:27. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm.

Meyer D, Dimitriadou E, Hornik K, Weingessel A, Leisch F (2021). e1071: Misc Functions of the Department of Statistics, Probability Theory Group (Formerly: E1071), TU Wien. R package version 1.7-6, https://CRAN.R-project.org/package=e1071.

Examples

data(mtcars)
# create task for prediction
mtcars_task <- sl3_Task$new(
  data = mtcars,
  covariates = c(
    "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am",
    "gear", "carb"
  ),
  outcome = "mpg"
)
# initialization, training, and prediction with the defaults
svm_lrnr <- Lrnr_svm$new()
svm_fit <- svm_lrnr$train(mtcars_task)
svm_preds <- svm_fit$predict()