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.

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

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.

Factor of classifications of test set. `doubt`

will be returned as `NA`

.

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.

# NOT RUN { train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3]) test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3]) cl <- factor(c(rep("s",25), rep("c",25), rep("v",25))) knn(train, test, cl, k = 3, prob=TRUE) attributes(.Last.value) # }