Autumn 2025
Confusion Matrices e ROC Curves
Sistemas de Visual Analytics para Model Performance
Calibration
Considere um modelo de previsão de doença. Suponha que a hipotética doença tenha uma prevalência de 5% na população
O modelo dado converge para a solução de prever que ninguém tem a doença (ou seja, o modelo prediz “0” para cada observação)
Nosso modelo tem accuracy de 95%
Ainda assim, os funcionários de saúde pública ficam intrigados
Considere um modelo para identificar dígitos manuscritos. Todos os dígitos são igualmente prováveis e igualmente representados nos training e test datasets.
O modelo identifica corretamente todos os dígitos, exceto o dígito \(5\), classificando metade das amostras de \(5\) como \(6\), sendo a outra metade identificada corretamente
O accuracy deste modelo é \(95\%\). Essa informação é suficiente para determinar se o modelo é bom ou não?

Prós
Contras
A análise ROC é outra forma de avaliar o output de um classifier
A análise ROC surgiu da operação de radar na Segunda Guerra Mundial, onde os operadores estavam interessados em detectar sinal (aviões inimigos) versus ruído
Criamos uma ROC curve plotando o true positive rate (TPR) contra o false positive rate (FPR) em vários thresholds







Micro-average: Agrega as contribuições de todas as classes para calcular a métrica. Útil quando há class imbalance.
Macro-average: Calcula a métrica para cada class separadamente, e depois tira a média (trata todas as classes igualmente)
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.
Ao fazer classification, frequentemente estamos interessados não só em prever a class label, mas também na probability do output
Essa probability nos dá uma espécie de confidence score sobre a predição
No entanto, um modelo pode separar bem as classes (tendo um bom accuracy/AUC), mas estar mal calibrated. Nesse caso, as estimated class probabilities estão longe das true class probabilities
Podemos calibrar o modelo, mudando a scale das predicted probabilities
Os meteorologistas começaram a pensar em calibration há muito tempo (Brier, 1950): uma previsão de “70% de chance de chuva” deveria ser seguida por chuva 70% das vezes. Vamos considerar um pequeno exemplo:

Veja como essa previsão se saiu ao prever a chuva:
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: um classifier pensa que é pior separando classes do que realmente é.
Overconfidence: um classifier pensa que é melhor separando classes do que realmente é
Um classifier pode ser overconfident para uma class e underconfident para a outra
Slides based on classifier-calibration.github.io
Seja \(N\) o total de samples, \(B\) o número de bins, \(n^b\) os samples no bin \(b\), e \(conf(b)\) o average predicted probability no 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.
As proper scoring rules são calculadas no nível da observação, enquanto ECE é feita em bins
Pense nisso como colocar cada item em seu próprio bin, e então calcular a média de alguma loss para cada predicted probability e sua 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:
Frequentemente usada como a training loss de métodos de machine learning, como as neural networks
Penaliza apenas a probability dada à 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
Uma forma intuitiva de decompor as proper scoring rules é em refinement loss e calibration loss
Refinement loss: é a loss devida a produzir a mesma probability para instances de classes diferentes
Calibration loss: é a loss devida à diferença entre as probabilities preditas pelo modelo e a proporção de positives entre instances com o mesmo output
Slides based on classifier-calibration.github.io
A calibration Parametric envolve modelar as score distributions dentro de cada class
Platt scaling: A calibration logistic pode ser derivada assumindo que os scores dentro de ambas as classes são normalmente distribuídos com a mesma variance (Platt, 2000)
Beta calibration: emprega Beta distributions em vez disso, para lidar com scores que já estão em uma scale [0, 1] (Kull et al., 2017)
Dirichlet calibration para mais de duas classes (Kull et al., 2019)
A calibration Non-parametric frequentemente ignora os scores e emprega 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 melhor se o calibration error for simétrico (o output do classifier para cada binary class é normalmente distribuído com a mesma variance)
Isso pode ser um problema para problemas de classification altamente imbalanced, onde os outputs não têm variance igual
Em geral é mais eficaz quando o modelo não calibrado é underconfident e tem calibration errors semelhantes tanto para outputs altos quanto baixos
Ajusta um non-parametric isotonic regressor, que produz uma função step-wise não decrescente
Isotonic regression é mais geral quando comparada ao Platt scaling, já que a única restrição é que a mapping function seja monotonicamente crescente
É mais powerful pois pode corrigir qualquer distorção monotônica do modelo não calibrado
No entanto, é mais propensa a overfitting, especialmente em small datasets
Reliability diagrams são uma forma padrão de visualizar calibration
ECE é um resumo do que os reliability diagrams mostram
As proper scoring rules (Log loss, Brier score) medem diferentes aspectos da probability correctness
No entanto, as proper scoring rules não conseguem dizer onde um 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