Estimate the number of clusters thanks to the gap computation.
computeGap2(sim, Kmax)
The function returns a list containing:
vector containing the eigenvalues of the similarity matrix.
vector containing gap values between two successive eigenvalues.
estimated number of clusters.
similarity matrix.
maximal number of clusters.
computeGap2 returns an estimated number of clusters
dat <- rbind(matrix(rnorm(100, mean = 0, sd = 0.3), ncol = 2),
matrix(rnorm(100, mean = 2, sd = 0.3), ncol = 2),
matrix(rnorm(100, mean = 4, sd = 0.3), ncol = 2))
sim <- computeGaussianSimilarity(dat, 1)
res <- computeGap2(sim, Kmax = 20)
plot(res$val[1:20], type = "o", ann = FALSE, axes = FALSE)
abline(v = res$Kmax, col = "darkred")
abline(h = res$val[res$Kmax], col = "darkred")
axis(side = 1, at = c(seq(0,20,by=5), res$Kmax),
labels = c(seq(0,20,by=5), res$Kmax), cex.axis = .7)
axis(side = 2)
title("Automatic estimation of number of clusters - Gap method")
mtext("Number of clusters", side = 1, line = 3)
mtext("Eigenvalue", side = 2, line = 3)
box()
Run the code above in your browser using DataLab