24 votos

¿Cómo calcular la pureza?

En el análisis de conglomerados, ¿cómo se calcula la pureza? ¿Cuál es la ecuación?

No busco un código que lo haga por mí.

enter image description here

Sea $\omega_k$ sea el conglomerado k, y $c_j$ sea la clase j.

Parece que estamos sumando la cantidad de clases realmente clasificadas por clúster sobre el tamaño de la muestra.

fuente de la ecuación

La pregunta es: ¿cuál es la relación entre el output y el input?

Si hay Verdadero Positivo (TP), Verdadero Negativo (TN), Falso Positivo (FP), Falso Negativo (FN). ¿Es $Purity = \frac{TP_K}{(TP+TN+FP+FN)}$ ?

35voto

RichardD Puntos 46

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X