Fowlkes–Mallows index

(Redirected from Fowlkes–Mallows Index)

Fowlkes–Mallows index[1] is an external evaluation method that is used to determine the similarity between two clusterings (clusters obtained after a clustering algorithm). This measure of similarity could be either between two hierarchical clusterings or a clustering and a benchmark classification. A higher value for the Fowlkes–Mallows index indicates a greater similarity between the clusters and the benchmark classifications.

Preliminaries

The Fowlkes–Mallows index, when results of two clustering algorithms is used to evaluate the results, is defined as[2]

${\displaystyle FM={\sqrt {{\frac {TP}{TP+FP}}\cdot {\frac {TP}{TP+FN}}}}}$
where ${\displaystyle TP}$ is the number of true positives, ${\displaystyle FP}$ is the number of false positives, and ${\displaystyle FN}$ is the number of false negatives.

Definition

Consider two hierarchical clusterings of ${\displaystyle n}$ objects labeled ${\displaystyle A_{1}}$ and ${\displaystyle A_{2}}$. The trees ${\displaystyle A_{1}}$ and ${\displaystyle A_{2}}$ can be cut to produce ${\displaystyle k=2,\ldots ,n-1}$ clusters for each tree (by either selecting clusters at a particular height of the tree or setting different strength of the hierarchical clustering). For each value of ${\displaystyle k}$, the following table can then be created

${\displaystyle M=[m_{i,j}]\qquad (i=1,\ldots ,k{\text{ and }}j=1,\ldots ,k)}$

where ${\displaystyle m_{i,j}}$ is of objects common between the ${\displaystyle i}$th cluster of ${\displaystyle A_{1}}$ and ${\displaystyle j}$th cluster of ${\displaystyle A_{2}}$. The Fowlkes–Mallows index for the specific value of ${\displaystyle k}$ is then defined as

${\displaystyle B_{k}={\frac {T_{k}}{\sqrt {P_{k}Q_{k}}}}}$

where

${\displaystyle T_{k}=\sum _{i=1}^{k}\sum _{j=1}^{k}m_{i,j}^{2}-n}$
${\displaystyle P_{k}=\sum _{i=1}^{k}(\sum _{j=1}^{k}m_{i,j})^{2}-n}$
${\displaystyle Q_{k}=\sum _{j=1}^{k}(\sum _{i=1}^{k}m_{i,j})^{2}-n}$

${\displaystyle B_{k}}$ can then be calculated for every value of ${\displaystyle k}$ and the similarity between the two clusterings can be shown by plotting ${\displaystyle B_{k}}$ versus ${\displaystyle k}$. For each ${\displaystyle k}$ we have ${\displaystyle 0\leq B_{k}\leq 1}$.

Fowlkes–Mallows index can also be defined based on the number of points that are common or uncommon in the two hierarchical clusterings. If we define

${\displaystyle TP}$ as the number of points that are present in the same cluster in both ${\displaystyle A_{1}}$ and ${\displaystyle A_{2}}$.
${\displaystyle FP}$ as the number of points that are present in the same cluster in ${\displaystyle A_{1}}$ but not in ${\displaystyle A_{2}}$.
${\displaystyle FN}$ as the number of points that are present in the same cluster in ${\displaystyle A_{2}}$ but not in ${\displaystyle A_{1}}$.
${\displaystyle TN}$ as the number of points that are in different clusters in both ${\displaystyle A_{1}}$ and ${\displaystyle A_{2}}$.

It can be shown that the four counts have the following property

${\displaystyle TP+FP+FN+TN=n(n-1)/2}$

and that the Fowlkes–Mallows index for two clusterings can be defined as[3]

${\displaystyle FM={\sqrt {{\frac {TP}{TP+FP}}\cdot {\frac {TP}{TP+FN}}}}}$
where ${\displaystyle TP}$ is the number of true positives, ${\displaystyle FP}$ is the number of false positives, and ${\displaystyle FN}$ is the number of false negatives.

Discussion

Since the index is directly proportional to the number of true positives, a higher index means greater similarity between the two clusterings used to determine the index. One of the most basic thing to test the validity of this index is to compare two clusterings that are unrelated to each other. Fowlkes and Mallows showed that on using two unrelated clusterings, the value of this index approaches zero as the number of total data points chosen for clustering increase; whereas the value for the Rand index for the same data quickly approaches ${\displaystyle 1}$[1] making Fowlkes–Mallows index a much more accurate representation for unrelated data. This index also performs well if noise is added to an existing dataset and their similarity compared. Fowlkes and Mallows showed that the value of the index decreases as the component of the noise increases. The index also showed similarity even when the noisy dataset had a different number of clusters than the clusters of the original dataset. Thus making it a reliable tool for measuring similarity between two clusters.

References

1. ^ a b Fowlkes, E. B.; Mallows, C. L. (1 September 1983). "A Method for Comparing Two Hierarchical Clusterings". Journal of the American Statistical Association. 78 (383): 553. doi:10.2307/2288117.
2. ^ Halkidi, Maria; Batistakis, Yannis; Vazirgiannis, Michalis (1 January 2001). "On Clustering Validation Techniques". Journal of Intelligent Information Systems. 17 (2/3): 107–145. doi:10.1023/A:1012801612483.
3. ^ MEILA, M (1 May 2007). "Comparing clusterings—an information based distance". Journal of Multivariate Analysis. 98 (5): 873–895. doi:10.1016/j.jmva.2006.11.013.