sklearn.metrics
.precision_recall_curve¶
- sklearn.metrics.precision_recall_curve()¶
Calcula los pares de precisión-exhaustividad para diferentes umbrales de probabilidad.
Nota: esta implementación está restringida a la tarea de clasificación binaria.
La precisión es la relación
tp / (tp + fp)
dondetp
es el número de verdaderos positivos yfp
el número de falsos positivos. La precisión es intuitivamente la capacidad del clasificador de no etiquetar como positiva una muestra que es negativa.La exhaustividad es la relación
tp / (tp + fn)
dondetp
es el número de verdaderos positivos yfn
el número de falsos negativos. La exhaustividad es, intuitivamente, la capacidad del clasificador para encontrar todas las muestras positivas.Los últimos valores de precisión y exhaustividad son 1. y 0. respectivamente y no tienen un umbral correspondiente. Esto garantiza que el gráfico comience en el eje y.
Más información 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}, se debe indicar explícitamente pos_label.
- probas_predndarray de forma (n_samples,)
Probabilidades estimadas o salida de una función de decisión.
- 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
Ponderados de muestras.
- Devuelve
- precisionndarray de forma (n_thresholds + 1,)
Valores de precisión tales que el elemento i es la precisión de las predicciones con score >= thresholds[i] y el último elemento es 1.
- recallndarray de forma (n_thresholds + 1,)
Disminuir los valores de recuerdo tales que el elemento que yo es la exhaustividad de predicciones con score >= thresholds[i] y el último elemento es 0.
- thresholdsndarray de forma (n_thresholds,)
Aumentando los umbrales de la función de decisión usada para calcular la precisión y exhaustividad. n_Mainholds <= len(np.unique(probas_pred)).
Ver también
plot_precision_recall_curve
Representar la curva de precisión y exhaustividad de los clasificadores binarios.
PrecisionRecallDisplay
Visualización de precisión y exhaustividad.
average_precision_score
Calcula la precisión media de los valores de predicción.
det_curve
Calcula las tasas de error para diferentes umbrales de probabilidad.
roc_curve
Calcula la curva de características operativas del receptor (ROC).
Ejemplos
>>> import numpy as np >>> from sklearn.metrics import precision_recall_curve >>> y_true = np.array([0, 0, 1, 1]) >>> y_scores = np.array([0.1, 0.4, 0.35, 0.8]) >>> precision, recall, thresholds = precision_recall_curve( ... y_true, y_scores) >>> precision array([0.66666667, 0.5 , 1. , 1. ]) >>> recall array([1. , 0.5, 0.5, 0. ]) >>> thresholds array([0.35, 0.4 , 0.8 ])