1 votos

Evaluación de la precisión de un clasificador múltiple

Una clase

He entrenado un clasificador para encontrar la categoría más probable por usuario de un conjunto de 16 posibles categorías.

Cada usuario puede pertenecer a una o varias categorías y, por término medio, un usuario pertenece a 4 categorías.

Estoy tratando de evaluar la precisión del clasificador, y se me ocurrió esta métrica:

tp=0.0
for user in train_data
   if user.predicted_class in user.actual_classes:
      tp=tp+1

precision=tp/len(train_data)

Clase múltiple

A continuación, me gustaría predecir no sólo la clase más probable, sino también la segunda y tercera clase más probable.

¿Cómo debería medir la precisión si tuviera que predecir más de una clase por usuario?

1voto

Vishal Patel Puntos 46

Este es un reto divertido. Esta es mi sugerencia. Construye un puntuación global de precisión ponderada de manera que no sólo incorpore si un clasificador tuvo éxito o no en la predicción de la clase correcta (como en su cálculo), sino también por cuánto tuvo éxito o fracasó. En otras palabras, el cálculo debe incluir también la probabilidad estimada, además de una medida binaria (éxito/fracaso).

Para demostrarlo, utilizaré un ejemplo de 10 usuarios, cinco clases originales, y haremos tres predicciones: para la primera, la segunda y la tercera clase. A continuación se muestra un ejemplo de las clases originales (C1 a C5) y las probabilidades estimadas (p1 a p5) para un clasificador dado.

enter image description here

El siguiente paso es averiguar las tres probabilidades más altas estimadas (de max_p1 a max_p3), y la verdadera pertenencia a la clase asociada a cada predicción (de C_pred1 a C_pred3):

enter image description here

Por ejemplo, la mayor probabilidad estimada para el usuario nº 1 es 0,26, que corresponde a C1. Y el usuario nº 1 hace no pertenecen a esa clase (porque C1 = 0), se obtiene un indicador de "fallido" de 0 (en lugar de 1 para el éxito) en la columna C_pred1. Del mismo modo, la segunda mejor probabilidad estimada (0,25) pertenece a C4, y como el usuario nº 1 pertenece a C4, obtenemos C_pred2 = 1. Ahora, puede multiplicar 'max_p1' por 'C_pred1', y obtener un conjunto de tres puntuaciones para cada usuario:

enter image description here

Tenga en cuenta que estas puntuaciones incorporan dos cosas: (1) si la primera/segunda/tercera mejor predicción fue correcta o no, y (2) la respectiva probabilidad estimada para la predicción correcta. De este modo, un clasificador que asigne altas probabilidades a las clases correctas tenderá a obtener una mayor puntuación. La suma de esas tres puntuaciones dará la puntuación global de cada usuario, que luego puede sumarse a la de todos los usuarios para obtener el puntuación global de precisión ponderada para un clasificador determinado.

enter image description here

Tenga en cuenta que, en lugar de tomar una suma directa de las tres puntuaciones de cada usuario, puede asignar ponderaciones de forma que la primera predicción obtenga la mayor ponderación y la tercera, la menor. Esto puede basarse en una regla general, dependiendo de la importancia de su predicción principal/segunda frente a las demás.

También puede añadir algunos matices más: antes de tomar la suma de las puntuaciones de los tripletes de cada usuario, divida cada una de las tres puntuaciones por el tamaño del segmento correspondiente. Esto añadirá un ajuste para las clases desequilibradas. En otras palabras, un clasificador tendrá que rendir más que la probabilidad de referencia (es decir, el tamaño original de la clase) para obtener una mejor puntuación.

En resumen, la idea general es la siguiente: Hacer tres predicciones (pertenencia a una clase) basadas en las tres principales probabilidades estimadas para cada usuario. A continuación, tome la suma de esas tres probabilidades, pero considere sólo las probabilidades en las que las predicciones de clase fueron correctas. Por último, la puntuación global de precisión ponderada es la suma de esas puntuaciones a nivel de usuario en toda la muestra. Esta suma puede dividirse por el tamaño de la muestra para restringir su valor entre cero y uno. Elija el clasificador que tenga la mayor puntuación de precisión ponderada global (preferiblemente en un conjunto de validación separado).

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