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) donde tp es el número de verdaderos positivos y fp 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) donde tp es el número de verdaderos positivos y fn 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 ])

Ejemplos usando sklearn.metrics.precision_recall_curve