## create two Gaussian clouds
cl1 <- cbind(rnorm(100,0.2,0.05),rnorm(100,0.8,0.06))
cl2 <- cbind(rnorm(50,0.7,0.08),rnorm(50,0.3,0.05))
x <- rbind(cl1,cl2)
## create similarity matrix
sim <- negDistMat(x, r=2)
## run affinity propagation (p defaults to median of similarity)
apres <- apcluster(sim)
## show details of clustering results
show(apres)
## plot clustering result
plot(apres, x)
## run affinity propagation with default preference of 10% quantile
## of similarities; this should lead to a smaller number of clusters
apres <- apcluster(sim, q=0.1)
show(apres)
plot(apres, x)
## now try the same with RBF kernel
sim <- expSimMat(x, r=2)
apres <- apcluster(sim, q=0.2)
show(apres)
plot(apres, x)
Run the code above in your browser using DataLab