Inspect the consistency of a set of clusterings by calculating their element-wise clustering consistency (also known as element-wise frustration).
Usage
element_consistency(
clustering_list,
alpha = 0.9,
r = 1,
rescale_path_type = "max",
ppr_implementation = "prpack",
dist_rescaled = FALSE,
row_normalize = TRUE
)
Arguments
- clustering_list
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.
- alpha
A numeric giving the personalized PageRank damping factor; 1 - alpha is the restart probability for the PPR random walk.
- r
A numeric hierarchical scaling parameter.
- rescale_path_type
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.
- ppr_implementation
Choose a implementation for personalized page-rank calculation:
"prpack": use PPR algorithms in igraph.
"power_iteration": use power_iteration method.
- dist_rescaled
A logical: if TRUE, the linkage distances are linearly rescaled to be in-between 0 and 1.
- row_normalize
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.
Value
A vector containing the element-wise consistency. If
calculate_sim_matrix
is set to TRUE
, the element similarity matrix
will be returned as well.
References
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
Examples
# cluster across 20 random seeds
clustering.list <- lapply(1:20, function(x) kmeans(mtcars, centers = 3)$cluster)
element_consistency(clustering.list)
#> Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive
#> 0.7192531 0.7192531 0.8587655 0.5922761
#> Hornet Sportabout Valiant Duster 360 Merc 240D
#> 0.7402256 0.5071650 0.7402256 0.8587655
#> Merc 230 Merc 280 Merc 280C Merc 450SE
#> 0.8587655 0.7192531 0.7192531 0.6785714
#> Merc 450SL Merc 450SLC Cadillac Fleetwood Lincoln Continental
#> 0.6785714 0.6785714 0.6927736 0.6927736
#> Chrysler Imperial Fiat 128 Honda Civic Toyota Corolla
#> 0.6927736 0.8587655 0.8587655 0.8587655
#> Toyota Corona Dodge Challenger AMC Javelin Camaro Z28
#> 0.8587655 0.6785714 0.6785714 0.7402256
#> Pontiac Firebird Fiat X1-9 Porsche 914-2 Lotus Europa
#> 0.6927736 0.8587655 0.8587655 0.8587655
#> Ford Pantera L Ferrari Dino Maserati Bora Volvo 142E
#> 0.7402256 0.7192531 0.7402256 0.8587655