Curvas ROC

Curvas ROC.
Información sobre la plantilla
Concepto:Una curva ROC es ROC es una representación gráfica con la Razón de Falsos Positivos (FPrate=1-Sp) en el eje X y la Razón de Verdaderos Positivos (TPrate) en el eje Y.

Curvas ROC. Las curvas quedan en el cuadrado [0,1]x[0,1]. El vértice superior izquierdo de este cuadrado: (0,1) representa al clasificador perfecto porque clasifica todos los casos positivos y todos los casos negativos correctamente pues FPrate=0 y Prate=1. El vértice inferior izquierdo (0,0) representa un clasificador que predice todos los casos como negativos, mientras que el vértice superior derecho (1,1) corresponde a un clasificador que predice todos los casos como positivos. El punto (1,0) es un clasificador pésimo que resulta incorrecto en todas las clasificaciones.

Funcionamiento

Para medir el desempeño de un clasificador supervisado y su comparación con otros posibles clasificadores aplicados al mismo conjunto de datos, se usan en particular las curvas ROC (en inglés Receiver Operating Characteristics) conjuntamente con las matrices de confusión. Cuando un clasificador depende de un parámetro, cada valor del mismo puede suministrar un par (FPrate,TPrate) o lo que es lo mismo, un punto sobre el cuadrado [0,1]x[0,1], y una serie de tales puntos puede utilizarse para plotear la llamada curva ROC. Un clasificador que no dependa de parámetros, se representa por un punto simple, correspondiente a su par (FPrate,TPrate). El gráfico debajo muestra la curva ROC de dos clasificadores en los que se puede gobernar un parámetro (Clasificadores A y B) y un punto correspondiente a un clasificador simple no paramétrico.

Los hechos fundamentales de las curvas ROC son los siguientes:

  • Una curva (o un punto) ROC es independiente de la distribución de las clases o el costo de los errores, esto es, no depende de que en la base de aprendizaje haya más casos negativos que positivos o viceversa
  • Una curva ROC resume toda la información contenida en la matriz de confusión ya que FN es el complemento de TP y TN es el complemento de FP.Las curvas ROC constituyen una herramienta visual para examinar el equilibrio entre la habilidad de un clasificador para identificar correctamente los casos positivos y el número de casos negativos que están incorrectamente clasificados.

Las curvas ROC tienen la “virtud” de no ser sensibles a bases de datos desbalanceadas, porque sus parámetros (TP y FP) se calculan como porcentajes de los datos reales observados. Pero esta virtud puede ser contra producente. Si se quiere tener en cuenta el posible desbalance de las bases, usar el contraste Precision-Recall (Davis and Goadrich, 2006)

El área bajo la curva ROC (AUC) puede ser usada como una medida de la exactitud en muchas aplicaciones. Si se comparan dos clasificadores, a través de sendas curvas ROC podemos decidir en general que la de mayor área bajo ella identifica al mejor clasificador, o el clasificador para el cual se pueda obtener un punto más alto en el eje Y (mayor ordenada) con un punto más bajo en el eje X (menor abcisa).

Para un clasificador no paramétrico, e identificado por un punto ROC, la eficiencia puede medirse en términos de la distancia del punto (FPrate,TPrate) correspondiente, al punto (0,1). Siempre pueden introducirse pesos en términos de la importancia relativa de los FP o los TP.

En la figura de ejemplo, el Clasificador B resulta mejor que el A porque tiene un área mayor (AUC) bajo la curva y el clasificador no paramétrico C, representado por el punto, es competitivo con el Clasificador A, pero no supera al Clasificador B.

Implementación en R

En R (R Core Team, 2017) se pueden calcular matrices de confusión con la función roc() de la librería analogue que entre sus salidas entrega una matriz de confusión, además la librería CMA tiene implementada la función roc().Existen múltiples implementaciones de curvas ROC en diferentes librerías de R.

Fuentes

  • Dougherty J, Kahavi R y Sahami M. Supervised and unsupervised discretization of continuous features. En Machine Learning: Proceedings of the Twelth International Conference, 1995
  • Cuadras, C. M. (1981). Métodos de Análisis Multivariante. Eunibar. D.L. XII: 642
  • Fawcett, T. (2003) ROC Graphs: Notes and Practical Considerations for Data Mining Researchers, Hewlett-Packard Company.
  • Gower JC (1971) A general coefficient of similarity and some of its properties. Biometrics 27:857-871
  • Johnson, D. E. (2000). Métodos Multivariados aplicados al análisis de datos. S.A. International Thomson Editores.
  • Kohavi, R., and Provost, F. (1998), Glossary of Terms, Editorial for the Special Issue on Applications of Machine Learning and the Knowledge Discovery Process, Vol 30, No 2/3, Feb/March 1998.
  • Maimon, O. and Rokach,L. (2005) Data Mining and Knowledge Discovery Handbook, Springer US, 2005.
  • Podani J, Schmera D (2006) On dendrogram-based measures of functional diversity. Oikos 115:179-185
  • Provost, F. and Fawcett, T. (2001). Robust classification for imprecise environments, Machine Learning 42: 203–231.
  • R Core Team. 2017. R: A Language and Environment for Statistical Computing. Vienna, Austria: RFoundation for Statistical Computing. https://www.R-project.org/.
  • Smith L, A Tutorial on Components Analysis, Tech. report, Universidad de Otago (Nueva Zelanda), 2002
  • Sneath, P. H. A. y R. R. Sokal (1973). Numerical taxonomy. The principles and practice of numerical classification. San Francisco, California, EE.UU., W. H. Freeman and Co.
  • Sokal, R. R. y P. H. A. Sneath (1963). Principies of numerical taxonomy. San Francisco y Londres, Freeman and Cía.
  • Weiss, G. M., and Provost, F. (2003) Learning When Training Data are Costly: The Effect of Class Distribution on Tree Induction, JAIR 19, 315–354