Reduce Training Set for a k-NN Classifier

DESCRIPTION:

Reduce training set for a k-NN classifier. Used after condense.

USAGE:

reduce.nn(train, ind, class)

REQUIRED ARGUMENTS:

train
matrix for training set
ind
Initial list of members of the training set (from condense).
class
vector of classifications for test set

DETAILS:

All the members of the training set are tried in random order. Any which when dropped do not cause any members of the training set to be wrongly classified are dropped.

VALUE:

index vector of cases to be retained.

REFERENCE:

Gates, G.W. (1972) The reduced nearest neighbor rule. IEEE Trans. Information Theory IT-18, 431-432.

SEE ALSO:

,

EXAMPLES:

train <- rbind(iris[1:25,,1],iris[1:25,,2],iris[1:25,,3])
test <- rbind(iris[26:50,,1],iris[26:50,,2],iris[26:50,,3])
cl <- factor(c(rep("s",25),rep("c",25), rep("v",25)))
set.seed(99)
keep <- condense(train, cl)
knn(train[keep,], test, cl[keep])
keep2 <- reduce.nn(train, keep, cl)
knn(train[keep2,], test, cl[keep2])