Skip to contents

Support vector machine for classification. Calls kernlab::ksvm() from kernlab.

Dictionary

This Learner can be instantiated via lrn():

lrn("classif.ksvm")

Meta Information

  • Task type: “classif”

  • Predict Types: “response”, “prob”

  • Feature Types: “logical”, “integer”, “numeric”, “character”, “factor”, “ordered”

  • Required Packages: mlr3, mlr3extralearners, kernlab

Parameters

IdTypeDefaultLevelsRange
scaledlogicalTRUETRUE, FALSE-
typecharacterC-svcC-svc, nu-svc, C-bsvc, spoc-svc, kbb-svc-
kernelcharacterrbfdotrbfdot, polydot, vanilladot, laplacedot, besseldot, anovadot-
Cnumeric1\((-\infty, \infty)\)
nunumeric0.2\([0, \infty)\)
cacheinteger40\([1, \infty)\)
tolnumeric0.001\([0, \infty)\)
shrinkinglogicalTRUETRUE, FALSE-
sigmanumeric-\([0, \infty)\)
degreeinteger-\([1, \infty)\)
scalenumeric-\([0, \infty)\)
orderinteger-\((-\infty, \infty)\)
offsetnumeric-\((-\infty, \infty)\)
couplercharacterminpairminpair, pkpd-

References

Karatzoglou, Alexandros, Smola, Alex, Hornik, Kurt, Zeileis, Achim (2004). “kernlab-an S4 package for kernel methods in R.” Journal of statistical software, 11(9), 1–20.

See also

Author

mboecker

Super classes

mlr3::Learner -> mlr3::LearnerClassif -> LearnerClassifKSVM

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerClassifKSVM$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Define the Learner
learner = mlr3::lrn("classif.ksvm")
print(learner)
#> <LearnerClassifKSVM:classif.ksvm>: Support Vector Machine
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3extralearners, kernlab
#> * Predict Types:  [response], prob
#> * Feature Types: logical, integer, numeric, character, factor, ordered
#> * Properties: multiclass, twoclass, weights

# Define a Task
task = mlr3::tsk("sonar")

# 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)
#> Support Vector Machine object of class "ksvm" 
#> 
#> SV type: C-svc  (classification) 
#>  parameter : cost C = 1 
#> 
#> Gaussian Radial Basis kernel function. 
#>  Hyperparameter : sigma =  0.0105877553676388 
#> 
#> Number of Support Vectors : 107 
#> 
#> Objective Function Value : -61.5489 
#> Training error : 0.05036 


# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)

# Score the predictions
predictions$score()
#> classif.ce 
#>  0.2318841