Estoy trabajando con datos desequilibrados, donde hay alrededor de 40 casos de clase = 0 para cada clase = 1. Puedo discriminar razonablemente entre las clases usando características individuales, y entrenar a un ingenuo clasificador Bayes y SVM en 6 características y datos balanceados arrojaron una mejor discriminación (curvas ROC a continuación).
Eso está bien, y pensé que me estaba yendo bien. Sin embargo, la convención para este problema particular es predecir los golpes a un nivel de precisión, generalmente entre 50% y 90%. por ejemplo, "Detectamos algunos golpes con una precisión del 90%". Cuando probé esto, la precisión máxima que pude obtener de los clasificadores fue de aproximadamente el 25% (línea negra, curva PR a continuación).
Podría entender esto como un problema de desequilibrio de clase, ya que las curvas PR son sensibles al desequilibrio y las curvas ROC no lo son. Sin embargo, el desequilibrio no parece afectar las características individuales: puedo obtener una precisión bastante alta usando las características individuales (azul y cian).
No entiendo lo que está pasando. Podría entenderlo si todo funcionara mal en el espacio de relaciones públicas, ya que, después de todo, los datos están muy desequilibrados. También podría entenderlo si los clasificadores se veían mal en ROC y en el espacio de relaciones públicas, tal vez solo sean malos clasificadores. Pero, ¿qué está sucediendo para mejorar los clasificadores según lo juzgado por ROC, pero peor según lo juzgado por Precision-Recall ?
Editar : Noté que en las áreas bajas de TPR / recuperación (TPR entre 0 y 0.35), las características individuales superan constantemente a los clasificadores en las curvas ROC y PR. Quizás mi confusión se deba a que la curva ROC "enfatiza" las áreas de alto TPR (donde los clasificadores funcionan bien) y la curva PR enfatiza el bajo TPR (donde los clasificadores son peores).
Edición 2 : El entrenamiento en datos no balanceados, es decir, con el mismo desequilibrio que los datos sin procesar, devolvió la vida a la curva PR (ver más abajo). Supongo que mi problema era entrenar incorrectamente a los clasificadores, pero no entiendo totalmente lo que sucedió.
fuente
La mejor manera de evaluar un modelo es observar cómo se usará en el mundo real y desarrollar una función de costo.
Por otro lado, por ejemplo, hay demasiado énfasis en r al cuadrado, pero muchos creen que es una estadística inútil. Así que no te obsesiones con ninguna estadística.
Sospecho que su respuesta es un ejemplo de la paradoja de la precisión.
https://en.m.wikipedia.org/wiki/Accuracy_paradox
La recuperación (también conocida como sensibilidad, también conocida como tasa positiva verdadera) es la fracción de instancias relevantes que se recuperan.
tpr = tp / (tp + fn)
La precisión (también conocido como valor predictivo positivo) es la fracción de instancias recuperadas que son relevantes.
ppv = tp / (tp + fp)
Digamos que tiene un conjunto muy desequilibrado de 99 positivos y uno negativo.
Digamos que un modelo está entrenado en el que el modelo dice que todo es positivo.
tp = 99 fp = 1 ppv se convierte en 0.99
Claramente un modelo basura a pesar del "buen" valor predictivo positivo.
Recomiendo construir un conjunto de entrenamiento que sea más equilibrado, ya sea mediante sobremuestreo o submuestreo. Después de construir el modelo, utilice un conjunto de validación que mantenga el desequilibrio original y cree un gráfico de rendimiento sobre eso.
fuente
Permítanme señalar que esto es al revés: ROC es sensible al desequilibrio de clase, mientras que PR es más robusto cuando se trata de distribuciones de clase asimétricas. Ver https://www.biostat.wisc.edu/~page/rocpr.pdf .
También muestran que "los algoritmos que optimizan el área bajo la curva ROC no están garantizados para optimizar el área bajo la curva PR".
fuente