Compare a set of clusterings by calculating their pairwise average element-centric clustering similarities.
element_sim_matrix(
clustering_list,
output_type = "matrix",
alpha = 0.9,
r = 1,
rescale_path_type = "max",
ppr_implementation = "prpack",
dist_rescaled = FALSE,
row_normalize = TRUE
)The list of clustering results, each of which is either:
A numeric/character/factor vector of cluster labels for each element.
A samples x clusters matrix/Matrix::Matrix of nonzero membership values.
An hclust object.
A string specifying whether the output should be a matrix or a data.frame.
A numeric giving the personalized PageRank damping factor; 1 - alpha is the restart probability for the PPR random walk.
A numeric hierarchical scaling parameter.
A string; rescale the hierarchical height by:
"max" : the maximum path from the root.
"min" : the minimum path form the root.
"linkage" : use the linkage distances in the clustering.
Choose a implementation for personalized page-rank calculation:
"prpack": use PPR algorithms in igraph.
"power_iteration": use power_iteration method.
A logical: if TRUE, the linkage distances are linearly rescaled to be in-between 0 and 1.
Whether to normalize all rows in clustering_result so they sum to one before calculating ECS. It is recommended to set this to TRUE, which will lead to slightly different ECS values compared to clusim.
A matrix or data.frame containing the pairwise ECS values.
Gates, A. J., Wood, I. B., Hetrick, W. P., & Ahn, Y. Y. (2019). Element-centric clustering comparison unifies overlaps and hierarchy. Scientific reports, 9(1), 1-13. https://doi.org/10.1038/s41598-019-44892-y
# cluster across 20 random seeds
clustering.list <- lapply(1:20, function(x) kmeans(mtcars, centers = 3)$cluster)
element_sim_matrix(clustering.list, output_type = "matrix")
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 1 0.5396205 0.5396205 0.5396205 0.5396205 1.0000000 0.7012775
#> [2,] NA 1.0000000 1.0000000 1.0000000 1.0000000 0.5396205 0.5503724
#> [3,] NA NA 1.0000000 1.0000000 1.0000000 0.5396205 0.5503724
#> [4,] NA NA NA 1.0000000 1.0000000 0.5396205 0.5503724
#> [5,] NA NA NA NA 1.0000000 0.5396205 0.5503724
#> [6,] NA NA NA NA NA 1.0000000 0.7012775
#> [7,] NA NA NA NA NA NA 1.0000000
#> [8,] NA NA NA NA NA NA NA
#> [9,] NA NA NA NA NA NA NA
#> [10,] NA NA NA NA NA NA NA
#> [11,] NA NA NA NA NA NA NA
#> [12,] NA NA NA NA NA NA NA
#> [13,] NA NA NA NA NA NA NA
#> [14,] NA NA NA NA NA NA NA
#> [15,] NA NA NA NA NA NA NA
#> [16,] NA NA NA NA NA NA NA
#> [17,] NA NA NA NA NA NA NA
#> [18,] NA NA NA NA NA NA NA
#> [19,] NA NA NA NA NA NA NA
#> [20,] NA NA NA NA NA NA NA
#> [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> [1,] 1.0000000 0.5396205 0.5396205 1.0000000 1.0000000 1.0000000 1.0000000
#> [2,] 0.5396205 1.0000000 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [3,] 0.5396205 1.0000000 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [4,] 0.5396205 1.0000000 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [5,] 0.5396205 1.0000000 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [6,] 1.0000000 0.5396205 0.5396205 1.0000000 1.0000000 1.0000000 1.0000000
#> [7,] 0.7012775 0.5503724 0.5503724 0.7012775 0.7012775 0.7012775 0.7012775
#> [8,] 1.0000000 0.5396205 0.5396205 1.0000000 1.0000000 1.0000000 1.0000000
#> [9,] NA 1.0000000 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [10,] NA NA 1.0000000 0.5396205 0.5396205 0.5396205 0.5396205
#> [11,] NA NA NA 1.0000000 1.0000000 1.0000000 1.0000000
#> [12,] NA NA NA NA 1.0000000 1.0000000 1.0000000
#> [13,] NA NA NA NA NA 1.0000000 1.0000000
#> [14,] NA NA NA NA NA NA 1.0000000
#> [15,] NA NA NA NA NA NA NA
#> [16,] NA NA NA NA NA NA NA
#> [17,] NA NA NA NA NA NA NA
#> [18,] NA NA NA NA NA NA NA
#> [19,] NA NA NA NA NA NA NA
#> [20,] NA NA NA NA NA NA NA
#> [,15] [,16] [,17] [,18] [,19] [,20]
#> [1,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [2,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [3,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [4,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [5,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [6,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [7,] 0.7012775 1.0000000 0.5503724 0.5503724 0.5503724 0.7012775
#> [8,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [9,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [10,] 0.5396205 0.5503724 1.0000000 1.0000000 1.0000000 0.5396205
#> [11,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [12,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [13,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [14,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [15,] 1.0000000 0.7012775 0.5396205 0.5396205 0.5396205 1.0000000
#> [16,] NA 1.0000000 0.5503724 0.5503724 0.5503724 0.7012775
#> [17,] NA NA 1.0000000 1.0000000 1.0000000 0.5396205
#> [18,] NA NA NA 1.0000000 1.0000000 0.5396205
#> [19,] NA NA NA NA 1.0000000 0.5396205
#> [20,] NA NA NA NA NA 1.0000000