knn.cv {class} | R Documentation

## k-Nearest Neighbour Cross-Validatory Classification

### Description

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

### Usage

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

### Arguments

`train` | matrix or data frame of training set cases.
`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.

### Details

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.

### Value

factor of classifications of training 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.

### See Also

`knn`

### Examples

    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)

[Package Contents]