knn {class} | R Documentation |
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.
data(iris3) 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)