knn
From class v7.3-0
by Brian Ripley
k-Nearest Neighbour Classification
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.
- Keywords
- classif
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 thank-l
dissenting votes are allowed, even ifk
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 thek
th is chosen to use exactlyk
neighbours.
Value
- factor of classifications of test set.
doubt
will be returned asNA
.
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
Examples
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)
Community examples
Looks like there are no examples yet.