sklearn.metrics
.brier_score_loss¶
- sklearn.metrics.brier_score_loss()¶
Calcula la pérdida de puntaje de Brier.
Cuanto menor sea la pérdida de la puntuación de Brier, mejor, de ahí la denominación con «loss». El puntaje de Brier mide la diferencia cuadrada media entre la probabilidad predicha y el resultado real. La puntuación de Brier siempre toma un valor entre cero y uno, ya que esta es la mayor diferencia posible entre una probabilidad predecible (que debe estar entre cero y uno) y el resultado real (que puede tomar valores de sólo 0 y 1). Se puede descomponer como la suma de pérdida de refinamiento y pérdida de calificación.
El puntaje Brier es apropiado para resultados binarios y categóricos que pueden ser estructurados como verdaderos o falsos, pero es inapropiado para variables ordinales que pueden tomar 3 o más valores (esto es porque el puntaje Brier asume que todos los resultados posibles son equivalentemente «distantes» uno de los otros). Cual etiqueta es considerada como la etiqueta positiva es controlado mediante el parámetro
pos_label
, que por defecto es la etiqueta mayor a menos quey_true
sea todo 0 o todo -1, en cuyo casopos_label
es por defecto 1.Más información en el Manual de usuario.
- Parámetros
- y_truearreglo de forma (n_samples,)
Objetivos verdaderos.
- y_probarreglo de forma (n_samples,)
Probabilidades de la clase positiva.
- sample_weightarray-like de forma (n_samples,), default=None
Ponderados de muestras.
- pos_labelentero o cadena, default=None
Etiqueta de la clase positiva.
pos_label
se inferirá de la siguiente manera:si
y_true
en {-1, 1} o {0, 1},pos_label
predeterminado es 1;de otra forma si
y_true
contiene una cadena, se generará un error ypos_label
debe especificarse explícitamente;de lo contrario,
pos_label
predeterminado es la etiqueta mayor, es decir,np.unique(y_true)[-1]
.
- Devuelve
- scoreflotante
Pérdida de puntuación en Brier.
Referencias
Ejemplos
>>> import numpy as np >>> from sklearn.metrics import brier_score_loss >>> y_true = np.array([0, 1, 1, 0]) >>> y_true_categorical = np.array(["spam", "ham", "ham", "spam"]) >>> y_prob = np.array([0.1, 0.9, 0.8, 0.3]) >>> brier_score_loss(y_true, y_prob) 0.037... >>> brier_score_loss(y_true, 1-y_prob, pos_label=0) 0.037... >>> brier_score_loss(y_true_categorical, y_prob, pos_label="ham") 0.037... >>> brier_score_loss(y_true, np.array(y_prob) > 0.5) 0.0