A probabilidade do modelo é um conceito crucial na aprendizagem de máquina. Ela representa a confiança do modelo em suas previsões, oferecendo insights sobre seu desempenho e confiabilidade.

A ideia em geral é que essa probabilidade, seja empírica, ou seja, refletindo que dados similares caem nesse percentual.

Imagine um modelo de visão computacional que verifica se as cerejas do café estão maduras o suficiente para colheita. Se separarmos todas as cerejas às quais o modelo atribuiu um score probabilístico de 0.80 e, manualmente, verificarmos que 40% delas estão realmente maduras, logo que o modelo está descalibrado. Isso poderá trazer risco a colheita, dando falsas expectativas e sendo imprevisivel seus resultados, demonstrando uma alta confiança. Em contra partida, a calibração quando bem feita oferece maior segurança de que o modelo se comportará adequadamente em um ambiente de produção, além de fornecer informações importantes sobre as incertezas do modelo, proporcionando previsibilidade para os stakeholders.

Isto é bem exemplificado no artigo Calibration: the Achilles heel of predictiveanalytics:

Se o algoritmo é usado para informar pacientes, estimativas de risco mal calibradas levam a falsas expectativas tanto para pacientes quanto para profissionais de saúde. Os pacientes podem tomar decisões pessoais antecipando um evento, ou sua ausência, que na verdade eram equivocadas. Por exemplo, considere um modelo de predição que prevê a chance de um tratamento de fertilização in vitro (FIV) resultar em um nascimento [14]. Independentemente do quão bem os modelos possam discriminar entre tratamentos que resultam em nascimento versus aqueles que não resultam, é claro que uma super ou subestimação da chance de nascimento torna os algoritmos clinicamente inaceitáveis. Por exemplo, uma forte superestimação da chance de nascimento após FIV daria falsas esperanças a casais que já estão passando por uma experiência estressante e emocional. Tratar um casal que, na realidade, tem um prognóstico favorável expõe a mulher desnecessariamente a possíveis efeitos colaterais prejudiciais, como a síndrome de hiperestimulação ovariana.

https://www.youtube.com/watch?v=AunotauS5yI

Não é um problema novo

Glenn W. Brier, meteorologista, enfrentou um problema similar em meados do século 20 com previsões do tempo. Como poderia avaliar a precisão de suas estimativas em relação ao que realmente acontecia? Foi assim que desenvolveu o "Brier Score", uma métrica que avalia a precisão das previsões probabilísticas, comparando as probabilidades previstas com os resultados observados. Um score menor indica previsões mais precisas. Até os dias de hoje, é uma métrica essencial para entendermos o comportamento de nossas previsões.

https://www.youtube.com/watch?v=BiaebXlgfNQ

Outra métrica utilizada nesse contexto é o Log Loss, que quantifica a incerteza na probabilidade das predições do modelo, comparando-as com os resultados reais. Utilizar essas duas métricas pode fornecer perspectivas diferentes sobre o desempenho do modelo.

Em geral, modelos de ML não garantem boa calibração, ou seja, seu score probabilístico pode não representar realmente uma probabilidade. Isso é evidenciado na palestra de Guillaume Lemaitre, que também demonstra como técnicas populares de balanceamento podem prejudicar bastante essa calibração.

Uma forma de observar isso é através da curva de confiabilidade, que compara as probabilidades previstas pelo modelo com as frequências reais observadas dos eventos. Ela demonstra se o modelo está bem calibrado, confiante demais ou não. Para comparação, é criada uma linha diagonal perfeita que representa um modelo perfeitamente calibrado, onde as probabilidades previstas correspondem exatamente às frequências observadas. Se a curva de predição ficar abaixo da linha diagonal, significa que o modelo está confiante demais, prevendo probabilidades mais altas do que deveria em relação ao percentual real de ocorrências. Caso a curva fique acima da linha diagonal, sugere que o modelo está subestimando suas previsões, sendo menos confiante do que deveria.

BMC Medical Informatics and Decision Making

BMC Medical Informatics and Decision Making

Tendo isso em mente, vamos considerar um cenário: você está desenvolvendo um modelo de predição para identificar quando seu pedido no iFood pode resultar em uma experiência ruim. Para isso, você coletou 10 características de 100.000 pedidos (sim, você adora pedir comida!) ao longo de 5 anos. Ao analisar os dados, você percebeu que a distribuição é desbalanceada — apenas 20% dos registros indicam uma experiência negativa. Isso é um bom sinal, mas como seu modelo se comportaria com esse desbalanceamento? Você decide, então, experimentar quatro tipos de modelos:

  1. RandomForestClassifier (RF) sem nenhum tratamento nos dados

  2. BalancedRandomForestClassifier

  3. RF utilizando a técnica de Random Under-Sampling (RUS)

  4. RF utilizando a técnica de Synthetic Minority Over-sampling Technique (SMOTE)

    https://github.com/HeyLucasLeao/cp-study/blob/master/calibration_demo.ipynb

Feito esses quatro modelos, se depara com isso:

Curva de Confiabilidade