k-nearest neighbour classification cross-validation from training set.

```
knn.cv(train, cl, k = 1, prob = FALSE, algorithm=c("kd_tree",
"cover_tree", "brute"))
```

train

matrix or data frame of training set cases.

cl

factor of true classifications of training set

k

number of neighbours considered.

prob

if this is true, the proportion of the votes for the winning class
are returned as attribute `prob`

.

algorithm

nearest neighbor search algorithm.

factor of classifications of training set. `doubt`

will be returned as `NA`

.
distances and indice of k nearest neighbors are also returned as attributes.

This uses leave-one-out cross validation.
For each row of the training set `train`

, the `k`

nearest
(in Euclidean distance) other 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.

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 { data(iris3) train <- rbind(iris3[,,1], iris3[,,2], iris3[,,3]) cl <- factor(c(rep("s",50), rep("c",50), rep("v",50))) knn.cv(train, cl, k = 3, prob = TRUE) attributes(.Last.value) # }