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

 knnreg R Documentation

## k-Nearest Neighbour Regression

### Description

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

### Usage

``````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

``````
data(BloodBrain)

inTrain <- createDataPartition(logBBB, p = .8)[[1]]

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 March 31, 2023, 9:49 p.m.