Supongamos que estoy construyendo un clasificador de regresión logística que predice si alguien está casado o soltero. (1 = casado, 0 = soltero) Quiero elegir un punto en la curva de recuperación de precisión que me brinde al menos un 75% de precisión, por lo que quiero elegir umbrales y , así que eso:
- Si la salida de mi clasificador es mayor que , Salgo "casado".
- Si la salida es inferior , Salgo "single".
- Si la salida está en el medio, saco "No sé".
Un par de preguntas:
- Creo que, según la definición estándar de precisión, la precisión medirá la precisión de la clase de casados solo (es decir, precisión = # veces predigo correctamente casado / total # veces predigo casado). Sin embargo, lo que realmente quiero hacer es medir la precisión general (es decir, el total de # veces que predigo correctamente casado o soltero / total de # veces que predigo casado o soltero). ¿Es esto algo correcto? Si no, ¿qué debo hacer?
- ¿Hay alguna manera de calcular esta curva de precisión / recuperación "general" en R (por ejemplo, usando el paquete ROCR o alguna otra biblioteca)? Actualmente estoy usando el paquete ROCR, pero parece que solo me da la precisión / recuperación de una sola clase a la vez.
fuente
Como Robert lo expresó correctamente, la precisión es el camino a seguir. Solo quiero agregar que es posible calcularlo con ROCR. Consulte la ayuda (rendimiento) para seleccionar diferentes medidas.
Por ejemplo, en ROCR solo se usa un umbral de decisión que se llama corte . El siguiente código traza la precisión frente al corte y extrae el corte para obtener la máxima precisión.
lo que resulta en
Para operar con dos umbrales con el fin de crear una región intermedia de incertidumbre (que es una forma válida de hacerlo si las circunstancias / aplicación de destino lo permite) se pueden crear dos objetos de rendimiento con ROCR
Seleccione un límite adecuado de los vectores de rendimiento (utilizando el método R que) y combínelos para lograr el equilibrio deseado. Esto debería ser sencillo, por lo tanto, lo dejo como un ejercicio para el lector.
Una última nota: ¿Cuál es la diferencia entre precisión y cálculo de precisión para ambas clases por separado y, por ejemplo, combinarlas en un promedio (ponderado)?
La precisión calcula un promedio ponderado, donde el peso para la clase c es equivalente al número de instancias con la clase c. Esto significa que si sufre una fuerte desviación de clase (98% negativas, por ejemplo) puede simplemente "optimizar" la precisión configurando predecir la etiqueta negativa para todas las instancias. En tal caso, un promedio simple no ponderado de ambas precisiones de clase impide el juego de la métrica. En el caso de clases equilibradas, ambos métodos de cálculo conducen, por supuesto, al mismo resultado.
fuente