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_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 enmax(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 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 ])