En el contexto del análisis de conglomerados, La pureza es un criterio externo de evaluación de la calidad de las agrupaciones. Es el porcentaje del número total de objetos (puntos de datos) que se clasificaron correctamente, en el intervalo de unidades [0..1].
$$Purity = \frac 1 N \sum_{i=1}^k max_j | c_i \cap t_j | $$
donde $N$ = número de objetos (puntos de datos), $k$ = número de conglomerados, $c_i$ es una agrupación en $C$ y $t_j$ es la clasificación que tiene el recuento máximo para el clúster $c_i$
Cuando decimos "correctamente" implica que cada agrupación $c_i$ ha identificado un grupo de objetos como de la misma clase que la verdad sobre el terreno ha indicado. Utilizamos la clasificación de la verdad sobre el terreno $t_i$ de esos objetos como medida de la corrección de la asignación, pero para ello debemos saber qué cluster $c_i$ mapas a los que se refiere la clasificación de la verdad sobre el terreno $t_i$ . Si fuera 100% exacto entonces cada $c_i$ correspondería exactamente a 1 $t_i$ pero en realidad nuestro $c_i$ contiene algunos puntos cuya verdad fundamental los clasificó como varias otras clasificaciones. Naturalmente entonces podemos ver que la mayor calidad de agrupamiento se obtendrá utilizando la $c_i$ a $t_i$ que tenga el mayor número de clasificaciones correctas, es decir. $c_i \cap t_i$ . Ahí es donde el $max$ en la ecuación.
Para calcular la Pureza, cree primero su matriz de confusión Esto puede hacerse recorriendo en bucle cada cluster $c_i$ y contar cuántos objetos se clasificaron en cada clase $t_i$ .
| T1 | T2 | T3
---------------------
C1 | 0 | 53 | 10
C2 | 0 | 1 | 60
C3 | 0 | 16 | 0
A continuación, para cada conglomerado $c_i$ seleccione el valor máximo de su fila, súmelos y divídalos por el número total de puntos de datos.
Purity = (53 + 60 + 16) / 140 = 0.92142