Description Usage Arguments Details Value References Examples
For two clusterings of the same data set, this function calculates the 2x2 contingency table of agreements and disagreements of the corresponding two vectors of comemberships. Basically, the comembership is defined as the pairs of observations that are clustered together.
1 | comembership_table(labels1, labels2)
|
labels1 |
a vector of |
labels2 |
a vector of |
The contingency table calculated is typically utilized in the calculation of a similarity statistic (e.g., Rand index, Jaccard index) between the two clusterings. The 2x2 contingency table consists of the following four cells:
the number of observation pairs where both observations are comembers in both clusterings
the number of observation pairs where the observations are comembers in the first clustering but not the second
the number of observation pairs where the observations are comembers in the second clustering but not the first
the number of observation pairs where neither pair are comembers in either clustering
Tibshirani and Walther (2005) use the term 'co-membership', which we shorten to 'comembership'. Some authors instead use the terms 'connectivity' or 'co-occurrence'.
We use the Rcpp
package to improve the runtime speed of this
function.
named list containing the contingency table calculated
Tibshirani, R. and Walther, G. (2005). Cluster Validation by Prediction Strength. Journal of Computational and Graphical Statistics, 14, 3, 511-528. http://amstat.tandfonline.com/doi/abs/10.1198/106186005X59243.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # We generate K = 3 labels for each of n = 10 observations and compute the
# comembership for all 'n choose 2' pairs.
set.seed(42)
K <- 3
n <- 10
labels1 <- sample.int(K, n, replace = TRUE)
labels2 <- sample.int(K, n, replace = TRUE)
comembership_table(labels1, labels2)
# Here, we cluster the \code{\link{iris}} data set with the K-means and
# hierarchical algorithms using the true number of clusters, K = 3.
# Then, we compute the 2x2 contingency table agreements and disagreements of
#' the comemberships.
iris_kmeans <- kmeans(iris[, -5], centers = 3)$cluster
iris_hclust <- cutree(hclust(dist(iris[, -5])), k = 3)
comembership_table(iris_kmeans, iris_hclust)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.