sklearn.metrics
.average_precision_score¶
- sklearn.metrics.average_precision_score()¶
Calcula la precisión media (AP) de los puntajes de predicción.
AP resume una curva de precisión-recuperación como la media ponderadas de precisiones obtenida en cada umbral, con el incremento en exhaustividad desde el ultimo umbral usado como el ponderado:
\[\text{AP} = \sum_n (R_n - R_{n-1}) P_n\]donde \(P_n\) y \(R_n\) son la precisión y exhaustividad en el umbral n-ésimo [1]. Esta implementación no está interpolada y es diferente de calcular el área bajo la curva de precisión-exhaustividad con la regla trapezoidal, que utiliza la interpolación lineal y puede ser demasiado optimista.
Nota: esta implementación está restringida a la tarea de clasificación binaria o a la tarea de clasificación multietiqueta.
Más información en el Manual de usuario.
- Parámetros
- y_truendarray de forma (n_samples,) o (n_samples, n_classes)
Etiquetas binarias verdaderas o indicadores de etiquetas binarias.
- y_scorendarray de forma (n_samples,) o (n_samples, n_classes)
Los puntajes objetivo, pueden ser estimados de probabilidad de la clase positiva, valores de confianza, o una medida sin umbrales de decisiones (como es devuelva por decision_function en algunos clasificadores).
- average{“micro”, “samples”, “weighted”, “macro”} o None default=”macro”
Si es
None
, los valores para cada clase son devueltos. De lo contrario, esto determina el tipo de promedio realizado en los datos:'micro'
:Calcula las métricas globalmente considerando cada elemento de la matriz de indicadores de etiqueta como una etiqueta.
'macro'
:Calcula las métricas para cada etiqueta y encuentra su media no ponderada. Esto no tiene en cuenta el desequilibrio de la etiqueta.
'weighted'
:Calcula las métricas para cada etiqueta y encuentra su media, ponderada por apoyo (el número de instancias verdaderas para cada etiqueta).
'samples'
:Calcula las métricas para cada instancia, y encuentra su media.
Será ignorado cuando
y_true
es binario.- pos_labelentero o cadena de caracteres, default=1
La etiqueta de la clase positiva. Sólo aplicada al binario
y_true
. Para el indicador multietiquetay_true
,pos_label
se fija a 1.- sample_weightarray-like de forma (n_samples,), default=None
Ponderados de muestras.
- Devuelve
- average_precisionflotante
Ver también
roc_auc_score
Calcula el área bajo la curva ROC.
precision_recall_curve
Calcula los pares de precisión-exhaustividad para diferentes umbrales de probabilidad.
Notas
Distinto en la versión 0.19: En lugar de interpolar linealmente entre los puntos operativos, las precisiones se ponderan por el cambio en la exhaustividad desde el último punto operativo.
Referencias
Ejemplos
>>> import numpy as np >>> from sklearn.metrics import average_precision_score >>> y_true = np.array([0, 0, 1, 1]) >>> y_scores = np.array([0.1, 0.4, 0.35, 0.8]) >>> average_precision_score(y_true, y_scores) 0.83...