sklearn.metrics.recall_score

sklearn.metrics.recall_score()

Calcula la exhaustividad.

La exhaustividad es la razó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.

El mejor valor es 1 y el peor valor es 0.

Lee más en el Manual de usuario.

Parámetros
y_truearray-like 1d, o arreglo indicador de etiqueta / matriz dispersa

Valores objetivo (correctos) de verdad fundamental.

y_predarray-like 1d, o arreglo indicador de etiqueta / matriz dispersa

Objetivos estimados devueltos por un clasificador.

labelsarray-like, default=None

El conjunto de etiquetas a incluir cuando average != 'binary', y su orden si average is None. Las etiquetas presentes en los datos pueden ser excluidas, por ejemplo para calcular un promedio multiclase ignorando una clase mayoritariamente negativa, mientras que las etiquetas no presentes en los datos resultarán en 0 componentes en un macro promedio. Para los objetivos multietiqueta, las etiquetas son índices de columna. Por defecto, todas las etiquetas en y_true y y_pred se utilizan en orden ordenado.

Distinto en la versión 0.17: Parámetro labels mejorado para problemas multiclase.

pos_labelstr o int, default=1

La clase para informar si average='binary' y los datos son binarios. Si los datos son multiclase o multietiqueta, esto se ignorará; la configuración de `` labels = [pos_label] “” y `` average! = “binary”`` reportará puntajes para esa etiqueta solamente.

average{“micro”, “macro”, “samples”, “weighted”, “binary”} default=”binary”

Este parámetro es necesario para objetivos multiclase/multietiqueta. Si es None, se devuelven las puntuaciones de cada clase. De lo contrario, determina el tipo de promedio realizado en los datos:

'binary':

Sólo informa de los resultados para la clase especificada por pos_label. Esto es aplicable sólo si los objetivos (y_{true,pred}) son binarios.

'micro':

Calcula las métricas globalmente contando el total de verdaderos positivos, falsos negativos y falsos positivos.

'macro':

Calcula las métricas para cada etiqueta y encuentra su media no ponderada. Esto no tiene en cuenta el desequilibrio de etiquetas.

'weighted':

Calcula las métricas para cada etiqueta y encuentra su promedio ponderado por soporte (el número de instancias verdaderas para cada etiqueta). Esto altera “macro” para tener en cuenta el desequilibrio de la etiqueta; puede resultar en una puntuación F que no esté entre la precisión y la exhaustividad.

'samples':

Calcula las métricas para cada instancia, y encuentra su promedio (sólo tiene sentido para la clasificación multietiqueta donde esto difiere de accuracy_score).

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

Ponderaciones de la muestra.

zero_division«warn», 0 o 1, default=»warn»

Establece el valor que se devolverá cuando haya una división cero. Si se establece en «warn», esto actúa como 0, pero también se generan advertencias.

Devuelve
recallfloat (if average is not None) o array of float of shape

(n_unique_labels,) Exhaustividad de la clase positiva en la clasificación binaria o promedio ponderado de la exhaustividad de cada clase para la tarea multiclase.

Notas

Cuando true positive + false positive == 0, la exhaustividad devuelve 0 y genera UndefinedMetricWarning. Este comportamiento puede ser modificado con zero_division.

Ejemplos

>>> from sklearn.metrics import recall_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> recall_score(y_true, y_pred, average='macro')
0.33...
>>> recall_score(y_true, y_pred, average='micro')
0.33...
>>> recall_score(y_true, y_pred, average='weighted')
0.33...
>>> recall_score(y_true, y_pred, average=None)
array([1., 0., 0.])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> recall_score(y_true, y_pred, average=None)
array([0.5, 0. , 0. ])
>>> recall_score(y_true, y_pred, average=None, zero_division=1)
array([0.5, 1. , 1. ])

Ejemplos utilizando sklearn.metrics.recall_score