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, siy_trueestá en {-1, 1} o {0, 1},pos_labelse 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
isea 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 enmax(y_score) + 1.
Ver también
plot_roc_curveTraza la curva Característica Operativa del Receptor (ROC).
RocCurveDisplayVisualización de Curvas ROC.
det_curveCalcula las tasas de error para diferentes umbrales de probabilidad.
roc_auc_scoreCalcula 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
fprcomo atpr, 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 ])