jaccard_indep: Computes the Jaccard similarity coefficient of two...

Description Usage Arguments Details Value Examples

View source: R/similarity.r

Description

For two clusterings of the same data set, this function calculates the Jaccard similarity coefficient of the clusterings from the comemberships of the observations. Basically, the comembership is defined as the pairs of observations that are clustered together.

Usage

1
  jaccard_indep(labels1, labels2)

Arguments

labels1

a vector of n clustering labels

labels2

a vector of n clustering labels

Details

To calculate the Rand index, we compute the 2x2 contingency table, consisting of the following four cells:

n_11

the number of observation pairs where both observations are comembers in both clusterings

n_10

the number of observation pairs where the observations are comembers in the first clustering but not the second

n_01

the number of observation pairs where the observations are comembers in the second clustering but not the first

n_00

the number of observation pairs where neither pair are comembers in either clustering

The Jaccard similarity coefficient is defined as:

J = \frac{n_{11}}{n_{11} + n_{10} + n_{01}}

.

In the special case that the Jaccard coefficient results in 0/0, we define J = 0. For instance, this case can occur when both clusterings consist of all singleton clusters.

To compute the contingency table, we use the comembership_table function.

Value

the Jaccard coefficient for the two sets of cluster labels (See Details.)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
## Not run: 
# We generate K = 3 labels for each of n = 10 observations and compute the
# Jaccard similarity coefficient between the two clusterings.
set.seed(42)
K <- 3
n <- 10
labels1 <- sample.int(K, n, replace = TRUE)
labels2 <- sample.int(K, n, replace = TRUE)
jaccard_indep(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 Jaccard similarity coefficient between the two
# clusterings.
iris_kmeans <- kmeans(iris[, -5], centers = 3)$cluster
iris_hclust <- cutree(hclust(dist(iris[, -5])), k = 3)
jaccard_indep(iris_kmeans, iris_hclust)

## End(Not run)

clusteval documentation built on May 29, 2017, 11:45 p.m.