nearest_neighbor() defines a model that uses the K most similar data points from the training set to predict new samples.

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 = "kknn",
  neighbors = NULL,
  weight_func = NULL,
  dist_power = 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 single integer for the number of neighbors to consider (often called k). For kknn, a value of 5 is used if neighbors is not specified.


A single character for the type of kernel function used to weight distances between samples. Valid choices are: "rectangular", "triangular", "epanechnikov", "biweight", "triweight", "cos", "inv", "gaussian", "rank", or "optimal".


A single number for the parameter used in calculating Minkowski distance.


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: 2 × 2 #> engine mode #> <chr> <chr> #> 1 kknn classification #> 2 kknn regression
nearest_neighbor(neighbors = 11)
#> K-Nearest Neighbor Model Specification (unknown) #> #> Main Arguments: #> neighbors = 11 #> #> Computational engine: kknn #>