k-nearest neighbor

近傍法は近い点の距離を計算する。

library(FNN)
#k-nearest neighbor
# ??? works not well
topn <- 8
alg <- c("cover_tree", "kd_tree", "VR", "CR", "brute")
res <- array(0, c(nrow(data0), topn, length(alg)))
for(i in seq(nrow(data0))){
for(alg0 in seq(alg)){
	knn5 <- knn.dist(data0, 5, algorithm=alg[alg0])
	res[i, , alg0] <- head(order(rowSums(knn5), decreasing=TRUE), topn)
}}