Cluster Stability

library(clustAnalytics)
#> Loading required package: igraph
#> 
#> Attaching package: 'igraph'
#> The following objects are masked from 'package:stats':
#> 
#>     decompose, spectrum
#> The following object is masked from 'package:base':
#> 
#>     union

Here we perform a nonparametric bootstrap to the karate club graph and the same selection of algorithms. For each instance, the set of vertices is resampled, the induced graph is obtained by taking the new set of vertices with the induced edges from the original graph, and the clustering algorithms are applied. Then, these results are compared to the induced original clusterings using several metrics: the variation of information (VI), normalized reduced mutual information (NRMI) and both adjusted and regular Rand index (Rand and adRand):

data(karate, package="igraphdata")
boot_alg_list(g=karate, return_data=FALSE, R=99,
              alg_list=list(Louvain=cluster_louvain, 
                            "label prop"= cluster_label_prop, 
                            walktrap=cluster_walktrap)) 
#>              Louvain label prop  walktrap
#> VI         0.2635035  0.2740998 0.2666967
#> NRMI       0.6630513  0.5839512 0.6746111
#> Rand       0.8474225  0.8015989 0.8492051
#> AdRand     0.6347288  0.5923595 0.6426116
#> n_clusters 5.0404040  4.7474747 5.8787879