Support vector machine for classification.
Calls e1071::svm()
from package e1071.
Dictionary
This mlr3::Learner can be instantiated via the dictionary mlr3::mlr_learners or with the associated sugar function mlr3::lrn()
:
Meta Information
Task type: “classif”
Predict Types: “response”, “prob”
Feature Types: “logical”, “integer”, “numeric”
Required Packages: mlr3, mlr3learners, e1071
Parameters
Id | Type | Default | Levels | Range |
cachesize | numeric | 40 | \((-\infty, \infty)\) | |
class.weights | untyped | NULL | - | |
coef0 | numeric | 0 | \((-\infty, \infty)\) | |
cost | numeric | 1 | \([0, \infty)\) | |
cross | integer | 0 | \([0, \infty)\) | |
decision.values | logical | FALSE | TRUE, FALSE | - |
degree | integer | 3 | \([1, \infty)\) | |
epsilon | numeric | 0.1 | \([0, \infty)\) | |
fitted | logical | TRUE | TRUE, FALSE | - |
gamma | numeric | - | \([0, \infty)\) | |
kernel | character | radial | linear, polynomial, radial, sigmoid | - |
nu | numeric | 0.5 | \((-\infty, \infty)\) | |
scale | untyped | TRUE | - | |
shrinking | logical | TRUE | TRUE, FALSE | - |
tolerance | numeric | 0.001 | \([0, \infty)\) | |
type | character | C-classification | C-classification, nu-classification | - |
References
Cortes, Corinna, Vapnik, Vladimir (1995). “Support-vector networks.” Machine Learning, 20(3), 273–297. doi:10.1007/BF00994018 .
See also
Chapter in the mlr3book: https://mlr3book.mlr-org.com/chapters/chapter2/data_and_basic_modeling.html#sec-learners
Package mlr3extralearners for more learners.
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).mlr3pipelines to combine learners with pre- and postprocessing steps.
Extension packages for additional task types:
mlr3proba for probabilistic supervised regression and survival analysis.
mlr3cluster for unsupervised clustering.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Other Learner:
mlr_learners_classif.cv_glmnet
,
mlr_learners_classif.glmnet
,
mlr_learners_classif.kknn
,
mlr_learners_classif.lda
,
mlr_learners_classif.log_reg
,
mlr_learners_classif.multinom
,
mlr_learners_classif.naive_bayes
,
mlr_learners_classif.nnet
,
mlr_learners_classif.qda
,
mlr_learners_classif.ranger
,
mlr_learners_classif.xgboost
,
mlr_learners_regr.cv_glmnet
,
mlr_learners_regr.glmnet
,
mlr_learners_regr.kknn
,
mlr_learners_regr.km
,
mlr_learners_regr.lm
,
mlr_learners_regr.nnet
,
mlr_learners_regr.ranger
,
mlr_learners_regr.svm
,
mlr_learners_regr.xgboost
Super classes
mlr3::Learner
-> mlr3::LearnerClassif
-> LearnerClassifSVM
Examples
if (requireNamespace("e1071", quietly = TRUE)) {
# Define the Learner and set parameter values
learner = lrn("classif.svm")
print(learner)
# Define a Task
task = tsk("sonar")
# Create train and test set
ids = partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
# print the model
print(learner$model)
# importance method
if("importance" %in% learner$properties) print(learner$importance)
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
}
#> <LearnerClassifSVM:classif.svm>: Support Vector Machine
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3learners, e1071
#> * Predict Types: [response], prob
#> * Feature Types: logical, integer, numeric
#> * Properties: multiclass, twoclass
#>
#> Call:
#> svm.default(x = data, y = task$truth(), probability = (self$predict_type ==
#> "prob"))
#>
#>
#> Parameters:
#> SVM-Type: C-classification
#> SVM-Kernel: radial
#> cost: 1
#>
#> Number of Support Vectors: 110
#>
#> classif.ce
#> 0.1304348