sklearn.metrics.roc_curve

sklearn.metrics.roc_curve()

Calcula la Característica Operativa del Receptor (ROC).

Nota: esta implementación está restringida a la tarea de clasificación binaria.

Lee más en el Manual de Usuario.

Parámetros
y_truendarray de forma (n_samples,)

Etiquetas binarias verdaderas. Si las etiquetas no son {-1, 1} o {0, 1}, debe indicarse explícitamente pos_label.

y_scorendarray de forma (n_samples,)

Las puntuaciones objetivo, pueden ser estimaciones de probabilidad de la clase positiva, valores de confianza o medidas de decisiones sin umbral (según lo devuelto por «decision_function» en algunos clasificadores).

pos_labelentero o cadena de caracteres, default=None

La etiqueta de la clase positiva. Cuando pos_label=None, si y_true está en {-1, 1} o {0, 1}, pos_label se establece en 1, de lo contrario se producirá un error.

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones de la muestra.

drop_intermediatebool, default=True

Si se eliminan algunos umbrales subóptimos que no aparecerían en una curva ROC trazada. Esto es útil para crear curvas ROC más claras.

Nuevo en la versión 0.17: parámetro drop_intermediate.

Devuelve
fprndarray de forma (>2,)

Incrementa las tasas de falsos positivos tal que el elemento i sea la tasa de falsos positivos de las predicciones con puntuación >= thresholds[i].

tprndarray de forma (>2,)

Incrementa las tasas de verdaderos positivos tal que el elemento i sea la tasa de verdaderos positivos de las predicciones con puntuación >= thresholds[i].

thresholdsndarray de forma = (n_thresholds,)

Umbrales decrecientes en la función de decisión utilizada para calcular fpr y tpr. thresholds[0] representa que no se predice ninguna instancia y se fija arbitrariamente en max(y_score) + 1.

Ver también

plot_roc_curve

Traza la curva Característica Operativa del Receptor (ROC).

RocCurveDisplay

Visualización de Curvas ROC.

det_curve

Calcula las tasas de error para diferentes umbrales de probabilidad.

roc_auc_score

Calcula el área bajo la curva ROC.

Notas

Dado que los umbrales están ordenados de menor a mayor valor, se invierten al devolverlos para asegurar que corresponden tanto a fpr como a tpr, que se ordenan en orden inverso durante su cálculo.

Referencias

1

Entrada de Wikipedia para la característica operativa del receptor

2

Fawcett T. An introduction to ROC analysis[J]. Pattern Recognition Letters, 2006, 27(8):861-874.

Ejemplos

>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr
array([0. , 0. , 0.5, 0.5, 1. ])
>>> tpr
array([0. , 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([1.8 , 0.8 , 0.4 , 0.35, 0.1 ])

Ejemplos utilizando sklearn.metrics.roc_curve