sklearn.calibration
.calibration_curve¶
- sklearn.calibration.calibration_curve()¶
Calcula las probabilidades verdaderas y predichas para una curva de calibración.
El método asume que las entradas vienen de un clasificador binario, y discretizar el intervalo [0, 1] en intervalos (bins).
Las curvas de calibración también pueden denominarse diagramas de fiabilidad.
Lee más en el Manual de usuario.
- Parámetros
- y_truearray-like de forma (n_samples,)
Objetivos verdaderos.
- y_probarray-like de forma (n_samples,)
Probabilidades de la clase positiva.
- normalizebool, default=False
Si y_prob necesita ser normalizado en el intervalo [0, 1], es decir, no es una probabilidad adecuada. Si es True, el valor más pequeño de y_prob se mapea linealmente a 0 y el más grande a 1.
- n_binsint, default=5
Número de intervalos (bins) para discretizar el intervalo [0, 1]. Un número mayor requiere más datos. Los intervalos sin muestras (es decir, sin valores correspondientes en
y_prob
) no se devolverán, por lo que los arreglos devueltos pueden tener menos valores quen_bins
.- strategy{“uniform”, “quantile”}, default=”uniform”
Estrategia utilizada para definir la amplitud de los intervalos (bins).
- uniforme
Los intervalos (bin) tienen una amplitud idéntica.
- cuantil
Los intervalos (bins) tienen el mismo número de muestras y dependen de
y_prob
.
- Devuelve
- prob_truendarray de forma (n_bins,) o smaller
La proporción de muestras cuya clase es la clase positiva, en cada intervalo (fracción de positivos).
- prob_predndarray de forma (n_bins,) o smaller
La probabilidad media predicha en cada intervalo.
Referencias
Alexandru Niculescu-Mizil and Rich Caruana (2005) Predicting Good Probabilities With Supervised Learning, in Proceedings of the 22nd International Conference on Machine Learning (ICML). Ver sección 4 (Qualitative Analysis of Predictions).
Ejemplos
>>> import numpy as np >>> from sklearn.calibration import calibration_curve >>> y_true = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1]) >>> y_pred = np.array([0.1, 0.2, 0.3, 0.4, 0.65, 0.7, 0.8, 0.9, 1.]) >>> prob_true, prob_pred = calibration_curve(y_true, y_pred, n_bins=3) >>> prob_true array([0. , 0.5, 1. ]) >>> prob_pred array([0.2 , 0.525, 0.85 ])