Autumn 2025
Confusion Matrices y ROC Curves
Sistemas de Visual Analytics para Model Performance
Calibration
Considera un modelo de predicción de enfermedad. Supongamos que la hipotética enfermedad tiene una prevalencia del 5% en la población
El modelo dado converge en la solución de predecir que nadie tiene la enfermedad (es decir, el modelo predice “0” para cada observación)
Nuestro modelo tiene un accuracy del 95%
Sin embargo, los funcionarios de salud pública están desconcertados
Considera un modelo para identificar dígitos manuscritos. Todos los dígitos son igualmente probables e igualmente representados en los training y test datasets.
El modelo identifica correctamente todos los dígitos, excepto el dígito \(5\), clasificando la mitad de las muestras de \(5\) como \(6\), y la otra mitad se identifica correctamente
El accuracy de este modelo es \(95\%\). ¿Es esta información suficiente para determinar si el modelo es bueno o no?

Pros
Contras
El análisis ROC es otra forma de evaluar el output de un classifier
El análisis ROC se desarrolló a partir de la operación de radar en la Segunda Guerra Mundial, donde los operadores estaban interesados en detectar señal (aviones enemigos) versus ruido
Creamos una ROC curve graficando el true positive rate (TPR) contra el false positive rate (FPR) en varios thresholds







Micro-average: Agrega las contribuciones de todas las classes para calcular la métrica. Útil si hay class imbalance.
Macro-average: Calcula la métrica para cada class por separado, luego toma el promedio (trata a todas las classes por igual)
Ren, D., Amershi, S., Lee, B., Suh, J., & Williams, J. D. (2016). Squares: Supporting interactive performance analysis for multiclass classifiers. IEEE transactions on visualization and computer graphics.
Alsallakh, B., Hanbury, A., Hauser, H., Miksch, S., & Rauber, A. (2014). Visual methods for analyzing probabilistic classification data. IEEE transactions on visualization and computer graphics.
Alsallakh, B., Hanbury, A., Hauser, H., Miksch, S., & Rauber, A. (2014). Visual methods for analyzing probabilistic classification data. IEEE transactions on visualization and computer graphics.
Beauxis-Aussalet, E., & Hardman, L. (2014). Visualization of confusion matrix for non-expert users. In IEEE Conference on Visual Analytics Science and Technology (VAST)-Poster Proceedings.
Beauxis-Aussalet, E., & Hardman, L. (2014). Visualization of confusion matrix for non-expert users. In IEEE Conference on Visual Analytics Science and Technology (VAST)-Poster Proceedings.
Talbot, J., Lee, B., Kapoor, A., & Tan, D. S. (2009, April). EnsembleMatrix: interactive visualization to support machine learning with multiple classifiers. In Proceedings of the SIGCHI conference on human factors in computing systems.
Al hacer classification, a menudo nos interesa no solo predecir la class label, sino también la probability del output
Esta probability nos da una especie de confidence score sobre la predicción
Sin embargo, un modelo puede separar bien las classes (teniendo un buen accuracy/AUC), pero estar mal calibrated. En este caso, las estimated class probabilities están lejos de las true class probabilities
Podemos calibrar el modelo, cambiando la scale de las predicted probabilities
Los pronosticadores del clima empezaron a pensar en calibration hace mucho tiempo (Brier, 1950): un pronóstico de “70% de probabilidad de lluvia” debería ir seguido de lluvia el 70% de las veces. Consideremos un pequeño ejemplo de juguete:

Así le va a este pronóstico prediciendo la lluvia:
Slides based on classifier-calibration.github.io


Slides based on classifier-calibration.github.io


Slides based on classifier-calibration.github.io


Slides based on classifier-calibration.github.io
Underconfidence: un classifier piensa que es peor separando classes de lo que realmente es.
Overconfidence: un classifier piensa que es mejor separando classes de lo que realmente es
Un classifier puede ser overconfident para una class y underconfident para la otra
Slides based on classifier-calibration.github.io
Sea \(N\) el total de samples, \(B\) el número de bins, \(n^b\) los samples en el bin \(b\), y \(conf(b)\) el average predicted probability en el bin \(b\).
\[ECE = \sum_{b=1}^B \frac{n^b}{N}|acc(b) - conf(b)|\]
\[MCE = \underset{m \in \{1,2,\dots,|B|\}}{\text{max}} |acc(b) - conf(b)|\]
Image taken from Guo, C., Pleiss, G., Sun, Y., & Weinberger, K. Q. (2017, July). On calibration of modern neural networks. In International Conference on Machine Learning. PMLR.


Image taken from Minderer, Matthias, et al. (2021). Revisiting the calibration of modern neural networks. Advances in Neural Information Processing Systems.
Las proper scoring rules se calculan a nivel de observación, mientras que ECE está en bins
Piénsalo como poner cada item en su propio bin, y luego calcular el promedio de alguna loss para cada predicted probability y su corresponding observed label
Slides based on classifier-calibration.github.io
\[BS = \frac{1}{N} \sum_{i=1}^N (\hat{y}_i - y_i)^2\]
Log-loss/Cross entropy:
Frecuentemente usada como la training loss de métodos de machine learning, como las neural networks
Solo penaliza la probability dada a la true class
\[LL = -\frac{1}{N} \sum_{i=1}^N [y_i \text{log}(\hat{y}_i) + (1-y_i)\text{log}( 1 - \hat{y}_i)]\]
Slides based on classifier-calibration.github.io
Una forma intuitiva de descomponer las proper scoring rules es en refinement loss y calibration loss
Refinement loss: es la loss debida a producir la misma probability para instances de distintas classes
Calibration loss: es la loss debida a la diferencia entre las probabilities predichas por el modelo y la proporción de positives entre instances con el mismo output
Slides based on classifier-calibration.github.io
La calibration Parametric implica modelar las score distributions dentro de cada class
Platt scaling: La calibration logistic se puede derivar asumiendo que los scores dentro de ambas classes se distribuyen normalmente con la misma variance (Platt, 2000)
Beta calibration: emplea Beta distributions en su lugar, para lidiar con scores que ya están en una scale [0, 1] (Kull et al., 2017)
Dirichlet calibration para más de dos classes (Kull et al., 2019)
La calibration Non-parametric a menudo ignora los scores y emplea ranks
Slides based on classifier-calibration.github.io
\[p(y_i = 1 | \hat{y}_i) = \frac{1}{1 + exp(\mathbf{A}\hat{y}_i + \mathbf{b})}\]
Funciona mejor si el calibration error es simétrico (el output del classifier para cada binary class se distribuye normalmente con la misma variance)
Esto puede ser un problema para problemas de classification muy imbalanced, donde los outputs no tienen igual variance
En general es más efectivo cuando el modelo sin calibrar es underconfident y tiene calibration errors similares tanto para outputs altos como bajos
Ajusta un non-parametric isotonic regressor, que produce una función step-wise no decreciente
Isotonic regression es más general comparada con Platt scaling, ya que la única restricción es que la mapping function sea monótonamente creciente
Es más powerful ya que puede corregir cualquier distorsión monotónica del modelo sin calibrar
Sin embargo, es más propensa al overfitting, especialmente en small datasets
Los reliability diagrams son una forma estándar de visualizar calibration
ECE es un resumen de lo que muestran los reliability diagrams
Las proper scoring rules (Log loss, Brier score) miden distintos aspectos de la probability correctness
Sin embargo, las proper scoring rules no pueden decirnos dónde un modelo está miscalibrated
Image taken from Xenopoulos, P., Rulff, J., Nonato, L. G., Barr, B., & Silva, C. (2022). Calibrate: Interactive analysis of probabilistic model output. IEEE Transactions on Visualization and Computer Graphics.
Xenopoulos, P., Rulff, J., Nonato, L. G., Barr, B., & Silva, C. (2022). Calibrate: Interactive analysis of probabilistic model output. IEEE Transactions on Visualization and Computer Graphics.
Xenopoulos, P., Rulff, J., Nonato, L. G., Barr, B., & Silva, C. (2022). Calibrate: Interactive analysis of probabilistic model output. IEEE Transactions on Visualization and Computer Graphics.
Xenopoulos, P., Rulff, J., Nonato, L. G., Barr, B., & Silva, C. (2022). Calibrate: Interactive analysis of probabilistic model output. IEEE Transactions on Visualization and Computer Graphics.
Błasiok, J., & Nakkiran, P. (2023). Smooth ECE: Principled Reliability Diagrams via Kernel Smoothing. arXiv preprint arXiv:2309.12236.
Błasiok, J., & Nakkiran, P. (2023). Smooth ECE: Principled Reliability Diagrams via Kernel Smoothing. arXiv preprint arXiv:2309.12236.
Image taken from Vaicenavicius, Juozas, et al. Evaluating model calibration in classification. The 22nd International Conference on Artificial Intelligence and Statistics. PMLR, 2019.
Niculescu-Mizil, A., & Caruana, R. (2005, August). Predicting good probabilities with supervised learning. In Proceedings of the 22nd international conference on Machine learning (pp. 625-632).
Nixon, J., Dusenberry, M. W., Zhang, L., Jerfel, G., & Tran, D. (2019, June). Measuring Calibration in Deep Learning. In CVPR Workshops (Vol. 2, No. 7).
Guo, C., Pleiss, G., Sun, Y., & Weinberger, K. Q. (2017, July). On calibration of modern neural networks. In International Conference on Machine Learning (pp. 1321-1330). PMLR.
Vaicenavicius, J., Widmann, D., Andersson, C., Lindsten, F., Roll, J., & Schön, T. (2019, April). Evaluating model calibration in classification. In The 22nd International Conference on Artificial Intelligence and Statistics (pp. 3459-3467). PMLR.
Kull, M., & Flach, P. (2015, September). Novel decompositions of proper scoring rules for classification: Score adjustment as precursor to calibration. In Joint European Conference on Machine Learning and Knowledge Discovery in Databases (pp. 68-85). Springer, Cham.
ECML/PKDD 2020 Tutorial: Evaluation metrics and proper scoring rules