# knn {class}

### Description

k-nearest neighbour classification for test set from training set. For each row of the test set, the `k`

nearest (in Euclidean distance) training set vectors are found, and the classification is decided by majority vote, with ties broken at random. If there are ties for the `k`

th nearest vector, all candidates are included in the vote.

### Usage

knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)

### Arguments

- 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.
- cl
- factor of true classifications of training set
- k
- number of neighbours considered.
- l
- minimum vote for definite decision, otherwise
`doubt`

. (More precisely, less than`k-l`

dissenting votes are allowed, even if`k`

is increased by ties.) - prob
- If this is true, the proportion of the votes for the winning class are returned as attribute
`prob`

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

### Values

Factor of classifications of test set. `doubt`

will be returned as `NA`

.

### References

Ripley, B. D. (1996) *Pattern Recognition and Neural Networks.* Cambridge.

Venables, W. N. and Ripley, B. D. (2002) *Modern Applied Statistics with S.* Fourth edition. Springer.

### Examples

Documentation reproduced from package class, version 7.3-14. License: GPL-2 | GPL-3