knn.cv                 package: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)

