condense.RdCondense training set for k-NN classifier
condense(train, class, store, trace = TRUE)The store set is used to 1-NN classify the rest, and misclassified patterns are added to the store set. The whole set is checked until no additions occur.
Index vector of cases to be retained (the final store set).
P. A. Devijver and J. Kittler (1982) Pattern Recognition. A Statistical Approach. Prentice-Hall, pp. 119–121.
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.
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)))
keep <- condense(train, cl)
#> [1] 33
#> [1] 3 33
#> [1] 3 33 61
#> [1] 3 32 33 61
#> [1] 3 32 33 61 72
#> [1] 3 32 33 42 61 72
#> [1] 3 32 33 42 57 61 72
#> [1] 3 32 33 35 42 57 61 72
knn(train[keep, , drop=FALSE], test, cl[keep])
#> [1] s s s s s s s s s s s s s s s s s s s s s s s s s c c v c c c c c v c c c c
#> [39] c c c c c c c c c c c c v c c v v v v v c v v v v c v v v v v v v v v v v
#> Levels: c s v
keep2 <- reduce.nn(train, keep, cl)
knn(train[keep2, , drop=FALSE], test, cl[keep2])
#> [1] s s s s s s s s s s s s s s s s s s s s s s s s s c c v c c c c c v c c c c
#> [39] c c c c c c c c c c c c v c c v v v v v c v v v v c v v v v v v v v v v v
#> Levels: c s v