decision_tree() defines a model as a set of if/then statements that creates a tree-based structure.

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

  mode = "unknown",
  engine = "rpart",
  cost_complexity = NULL,
  tree_depth = NULL,
  min_n = 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 the cost/complexity parameter (a.k.a. Cp) used by CART models (specific engines only).


An integer for maximum depth of the tree.


An integer for the minimum number of data points in a node that are required for the node to be split further.


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: 5 × 2 #> engine mode #> <chr> <chr> #> 1 rpart classification #> 2 rpart regression #> 3 C5.0 classification #> 4 spark classification #> 5 spark regression
decision_tree(mode = "classification", tree_depth = 5)
#> Decision Tree Model Specification (classification) #> #> Main Arguments: #> tree_depth = 5 #> #> Computational engine: rpart #>