# knnreg: k-Nearest Neighbour Regression In caret: Classification and Regression Training

## Description

\$k\$-nearest neighbour regression that can return the average value for the neighbours.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18``` ```knnreg(x, ...) ## Default S3 method: knnreg(x, ...) ## S3 method for class 'formula' knnreg(formula, data, subset, na.action, k = 5, ...) ## S3 method for class 'matrix' knnreg(x, y, k = 5, ...) ## S3 method for class 'data.frame' knnreg(x, y, k = 5, ...) ## S3 method for class 'knnreg' print(x, ...) knnregTrain(train, test, y, k = 5, use.all = TRUE) ```

## Arguments

 `x` a matrix or data frame of training set predictors. `...` additional parameters to pass to `knnregTrain`. `formula` a formula of the form `lhs ~ rhs` where `lhs` is the response variable and `rhs` a set of predictors. `data` optional data frame containing the variables in the model formula. `subset` optional vector specifying a subset of observations to be used. `na.action` function which indicates what should happen when the data contain `NA`s. `k` number of neighbours considered. `y` a numeric vector of outcomes. `train` matrix or data frame of training set cases. `test` matrix or data frame of test set cases. A vector will be interpreted as a row vector for a single case. `use.all` controls handling of ties. If true, all distances equal to the `k`th largest are included. If false, a random selection of distances equal to the `k`th is chosen to use exactly `k` neighbours.

## Details

`knnreg` is similar to `ipredknn` and `knnregTrain` is a modification of `knn`. The underlying C code from the `class` package has been modified to return average outcome.

## Value

An object of class `knnreg`. See `predict.knnreg`.

## Author(s)

`knn` by W. N. Venables and B. D. Ripley and `ipredknn` by Torsten.Hothorn <Torsten.Hothorn@rzmail.uni-erlangen.de>, modifications by Max Kuhn and Chris Keefer

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```data(BloodBrain) inTrain <- createDataPartition(logBBB, p = .8)[] trainX <- bbbDescr[inTrain,] trainY <- logBBB[inTrain] testX <- bbbDescr[-inTrain,] testY <- logBBB[-inTrain] fit <- knnreg(trainX, trainY, k = 3) plot(testY, predict(fit, testX)) ```

caret documentation built on Oct. 9, 2021, 5:09 p.m.