svm_linear() defines a support vector machine model. For classification, the model tries to maximize the width of the margin between classes. For regression, the model optimizes a robust loss function that is only affected by very large model residuals.

This SVM model uses a linear function to create the decision boundary or regression line.

There are different ways to fit this model. See the engine-specific pages for more details:

More information on how parsnip is used for modeling is at

svm_linear(mode = "unknown", engine = "LiblineaR", cost = NULL, margin = NULL)



A single character string for the prediction outcome mode. Possible values for this model are "unknown", "regression", or "classification".


A single character string specifying what computational engine to use for fitting.


A positive number for the cost of predicting a sample within or on the wrong side of the margin


A positive number for the epsilon in the SVM insensitive loss function (regression only)


This function only defines what type of model is being fit. Once an engine is specified, the method to fit the model is also defined.

The model is not trained or fit until the fit.model_spec() function is used with the data.

References, Tidy Models with R

See also


#> # A tibble: 4 × 2 #> engine mode #> <chr> <chr> #> 1 LiblineaR classification #> 2 LiblineaR regression #> 3 kernlab classification #> 4 kernlab regression
svm_linear(mode = "classification")
#> Linear Support Vector Machine Specification (classification) #> #> Computational engine: LiblineaR #>