mlr_learners_surv.svm: Survival Support Vector Machine Learner

mlr_learners_surv.svmR Documentation

Survival Support Vector Machine Learner

Description

Survival support vector machine. Calls survivalsvm::survivalsvm() from survivalsvm.

Details

Four possible SVMs can be implemented, dependent on the type parameter. These correspond to predicting the survival time via regression (regression), predicting a continuous rank (vanbelle1, vanbelle2), or a hybrid of the two (hybrid). Whichever type is chosen determines how the crank predict type is calculated, but in any case all can be considered a valid continuous ranking.

makediff3 is recommended when using type = "hybrid".

Dictionary

This Learner can be instantiated via lrn():

lrn("surv.svm")

Meta Information

  • Task type: “surv”

  • Predict Types: “crank”, “response”

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

  • Required Packages: mlr3, mlr3proba, mlr3extralearners, survivalsvm

Parameters

Id Type Default Levels Range
type character regression regression, vanbelle1, vanbelle2, hybrid -
diff.meth character - makediff1, makediff2, makediff3 -
gamma numeric NULL (-\infty, \infty)
mu numeric NULL (-\infty, \infty)
opt.meth character quadprog quadprog, ipop -
kernel character lin_kernel lin_kernel, add_kernel, rbf_kernel, poly_kernel -
kernel.pars untyped - -
sgf.sv integer 5 [0, \infty)
sigf integer 7 [0, \infty)
maxiter integer 20 [0, \infty)
margin numeric 0.05 [0, \infty)
bound numeric 10 [0, \infty)
eig.tol numeric 1e-06 [0, \infty)
conv.tol numeric 1e-07 [0, \infty)
posd.tol numeric 1e-08 [0, \infty)

Prediction types

This learner returns up to two prediction types:

  1. crank: a vector containing the continuous ranking scores, where each score corresponds to a specific test observation.

  2. response: the survival time of each test observation, equal to -crank. This prediction type if only available for "type" equal to regression or hybrid.

Custom mlr3 parameters

  • gamma, mu have replaced gamma.mu so that it's easier to tune these separately. mu is only used when type = "hybrid".

Super classes

mlr3::Learner -> mlr3proba::LearnerSurv -> LearnerSurvSVM

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage
LearnerSurvSVM$new()

Method clone()

The objects of this class are cloneable with this method.

Usage
LearnerSurvSVM$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

RaphaelS1

References

Van Belle, Vanya, Pelckmans, Kristiaan, Van Huffel, Sabine, Suykens, AK J (2011). “Improved performance on high-dimensional survival data by application of Survival-SVM.” Bioinformatics, 27(1), 87–94.

Van Belle, Vanya, Pelckmans, Kristiaan, Van Huffel, Sabine, Suykens, AK J (2011). “Support vector methods for survival analysis: a comparison between ranking and regression approaches.” Artificial intelligence in medicine, 53(2), 107–118.

Shivaswamy, K P, Chu, Wei, Jansche, Martin (2007). “A support vector approach to censored targets.” In Seventh IEEE international conference on data mining (ICDM 2007), 655–660. IEEE.

See Also

Examples


set.seed(123)
# Define the Learner and set parameter values
learner = lrn("surv.svm", gamma = 0.1)
print(learner)

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

# Create train and test set
ids = mlr3::partition(task)

# Train the learner on the training ids
learner$train(task, row_ids = ids$train)

# print the model
print(learner$model)

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

# Score the predictions
predictions$score()


mlr-org/mlr3extralearners documentation built on Dec. 21, 2024, 2:21 p.m.