Você está na página 1de 59

Métricas de desempenho: classificação

prof. Edson Cilos Vargas Júnior


Universidade Federal de Santa Catarina
Introdução

Quão bom é o meu modelo?


I Até então estudamos métricas de desempenho para o problema de
regressão como RMSE, MSE e MAE;
I O objetivo deste módulo é, portanto, ilustrar algumas métricas de
desempenho para o problema de classificação.

2/38
Introdução

Tópicos deste módulo:


I Matriz de confusão;
I Acurácia;
I Revocação;
I Precisão;
I F1 score;
I Fβ score;
I Curva ROC.

3/38
Exemplo: detecção de spam

Figura 1: Imagem de Tumisu por Pixabay.

Figura 2: Imagem de Gerd Altmann por


Pixabay.

4/38
Exemplo

Olá prof. Edson, Quer ficar rico trabalhando apenas


2 horas por dia?
entro em contato para solicitar
informações referente ao curso de compre o nosso curso nesta
Machine Learning. promoção exclusiva para você!

Grato pela atenção, Não perca essa chance!


Aluno Enganacao.com

5/38
Exemplo

Caixa de Spam Caixa de entrada


Enganacao.com Verdadeiro positivo Falso negativo
Aluno Falso positivo Verdadeiro negativo

6/38
Exemplo

Caixa de Spam Caixa de entrada


Enganacao.com Verdadeiro positivo Falso negativo
Aluno Falso positivo Verdadeiro negativo

Suponha que recebemos 1000 e-mails....

Matriz de confusão

Caixa de Spam Caixa de entrada


Enganacao.com 100 170
Aluno 30 700

6/38
Exemplo

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo
Negativo

7/38
Exemplo

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo 5
Negativo

8/38
Exemplo

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo 5 2 (falso negativo)
Negativo

9/38
Exemplo

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo 5 2 (falso negativo)
Negativo 1 (falso positivo)

10/38
Exemplo

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo 5 2 (falso negativo)
Negativo 1 (falso positivo) 6

11/38
Acurácia

I Acurácia é a razão de rótulos acertados sobre o número total de


acertos:
Rótulos acertados
Acurácia = .
Número total de pontos

12/38
Acurácia

I Acurácia é a razão de rótulos acertados sobre o número total de


acertos:
Rótulos acertados
Acurácia = .
Número total de pontos

No nosso exemplo:

Rótulo Real/Rótulo Previsto Positivo Negativo


Positivo 5 2 (falso negativo)
Negativo 1 (falso positivo) 6

11
Ac = ≈ 78.57%
14

12/38
Acurácia: nem sempre é o caso

Suponha que vamos testar 1 milhão de indivíduos, na qual 100


deles possuem uma doença rara.
I Nosso objetivo é encontrar uma boa métrica para avaliar um
modelo de previsão.
I Vamos usar a acurácia e descobrir o que acontece.

13/38
Acurácia: nem sempre é o caso

Suponha que vamos testar 1 milhão de indivíduos, na qual 100


deles possuem uma doença rara.
I Nosso objetivo é encontrar uma boa métrica para avaliar um
modelo de previsão.
I Vamos usar a acurácia e descobrir o que acontece.
I Suponha que eu tenha um modelo que sempre acusa como
saudável o indivíduo - esse modelo é bom ou ruim?

13/38
Acurácia: nem sempre é o caso

Suponha que vamos testar 1 milhão de indivíduos, na qual 100


deles possuem uma doença rara.
I Nosso objetivo é encontrar uma boa métrica para avaliar um
modelo de previsão.
I Vamos usar a acurácia e descobrir o que acontece.
I Suponha que eu tenha um modelo que sempre acusa como
saudável o indivíduo - esse modelo é bom ou ruim?

999900
Ac = = 99.99%
1000000

13/38
Acurácia: nem sempre é o caso

I Mesmo problema se fosse um problema de detecção de fraude.

Ainda assim a acurácia é uma medida muito intuitiva!

14/38
Detecção carro defeituoso v.s. Filtro de Spam

Suponha que uma empresa de carro quer prever se um modelo de


carro oferece risco ao usuários...
I Positivo: oferece risco;
I Negativo: sem risco.

15/38
Detecção carro defeituoso v.s. Filtro de Spam

Suponha que uma empresa de carro quer prever se um modelo de


carro oferece risco ao usuários...
I Positivo: oferece risco;
I Negativo: sem risco.

Positivo (previsto) Negativo (previsto)


Positivo 1000 20
Negativo 800 12000

Entre falso positivo e falso negativo, qual deles é mais grave?

15/38
Detecção carro defeituoso

Suponha que uma empresa de carro quer prever se um modelo de


carro oferece risco ao usuários...
I Positivo: oferece risco;
I Negativo: sem risco.

Positivo (previsto) Negativo (previsto)


Positivo 1000 20
Negativo 800 12000

Entre falso positivo e falso negativo, qual deles é mais grave?

16/38
Medida indicada: Revocação (Recall)

Verdadeiro Positivo 1000


Recall = = ≈ 98.04%
Verdadeiro Previsto + Falso Negativo 1020

Positivo (previsto) Negativo (previsto)


Positivo 1000 20
Negativo 800 12000

B Queremos poucos falsos negativos!

17/38
Filtro Spam

Detecção de spam
I Positivo: Spam;
I Negativo: E-mail normal.

Positivo (previsto) Negativo (previsto)


Positivo 120 200
Negativo 12 1320

Entre falso positivo e falso negativo, qual deles é mais grave?

18/38
Filtro Spam

Detecção de spam
I Positivo: Spam;
I Negativo: E-mail normal.

Positivo (previsto) Negativo (previsto)


Positivo 120 200
Negativo 12 1320

Entre falso positivo e falso negativo, qual deles é mais grave?

19/38
Medida indicada: Precisão (Precision)

Verdadeiro Positivo 120


Precisão = = ≈ 90.91%
Verdadeiro Previsto + Falso Positivo 120 + 12

Positivo (previsto) Negativo (previsto)


Positivo 120 200
Negativo 12 1320

B Queremos poucos falsos positivos!

20/38
Carro defeituoso

Verdadeiro Positivo 1000


Revocação = = ≈ 98.04%
Verdadeiro Positivo + Falso Negativo 1020

Verdadeiro Positivo 1000


Precisão = = ≈ 55.56%
Verdadeiro Positivo + Falso Positivo 1800

Positivo (previsto) Negativo (previsto)


Positivo 1000 20
Negativo 800 12000

B Nesse caso, modelo razoável mesmo com pouca precisão!

21/38
Filtro de SPAM

Verdadeiro Positivo 120


Revocação = = = 37.50%
Verdadeiro Positivo + Falso Negativo 320

Verdadeiro Positivo 120


Precisão = = ≈ 90.91%
Verdadeiro Positivo + Falso Positivo 120 + 12

Positivo (previsto) Negativo (previsto)


Positivo 120 200
Negativo 12 1320

B Nesse caso, modelo razoável mesmo com baixa revocação!

22/38
Equilibrando revocação e precisão

Quando construímos nossos modelos, precisar definir o score de


desempenho para otimizar o estimador.
I Qual escolher: precisão ou revocação?
I Seria útil também um score que consiga medir precisão e revocação
ao mesmo tempo!

23/38
Primeira tentativa: média

I Filtros de SPAM:

(Revocação, Precisão) = (37.50%, 90.91%) =⇒ Média ≈ 64.20%.

I Carro defeituoso:

(Revocação, Precisão) = (98.04%, 55.56%) =⇒ Média ≈ 76.80%.

B Seria a média um bom score?

24/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

25/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

B Esse modelo seria bom ou não?

25/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

B Esse modelo seria bom ou não?


Verdadeiro Positivo 1
Revocação = = = 1%
Verdadeiro Positivo + Falso Negativo 1 + 99

Verdadeiro Positivo 1
Precisão = = = 100%
Verdadeiro Positivo + Falso Positivo 1+0

Média = 55.5%

25/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

26/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

B Esse modelo seria bom ou não?

26/38
Caso extremo: detecção de fraude em cartão de crédito

Fraude (previsto) Normal (previsto)


Fraude 1 99
Normal 0 9900

B Esse modelo seria bom ou não?


Verdadeiro Positivo 1
Revocação = = = 1%
Verdadeiro Positivo + Falso Negativo 1 + 99

Verdadeiro Positivo 1
Precisão = = = 100%
Verdadeiro Positivo + Falso Positivo 1+0

Média = 55.5%

26/38
F1 score

Uma alternativa é usar a média harmônica entre precisão e


revocação.
I A média harmônica é a “recíproca” da média aritmética.
A média harmônica entre precisão e revocação é chamado F 1 score:
 1 1
−1
Precisão + Revocação  P ·R
F1 =  =2
2 P +R

27/38
F1 score

I Filtros de SPAM:

(Revocação, Precisão) = (37.50%, 90.91%) =⇒ F1 ≈ 53.10%

I Carro defeituoso:

(Revocação, Precisão) = (98.04%, 55.56%) =⇒ F1 ≈ 70.1%

I Detecção de fraude:

(Revocação, Precisão) = (1%, 100%) =⇒ F1 ≈ 1.98%

28/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0 ⇔ x 2 + y 2 ≥ 2xy .

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0 ⇔ x 2 + y 2 ≥ 2xy .
I 2xy ≤ x 2 + y 2

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0 ⇔ x 2 + y 2 ≥ 2xy .
I 2xy ≤ x 2 + y 2 ⇔ 2xy + 2xy ≤ x 2 + y 2 + 2xy

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0 ⇔ x 2 + y 2 ≥ 2xy .
I 2xy ≤ x 2 + y 2 ⇔ 2xy + 2xy ≤ x 2 + y 2 + 2xy ⇔ 4xy ≤ (x + y )2 .

29/38
Média harmônica ≤ Média aritmética

Considere x , y reais tais que x + y > 0.


I (x − y )2 ≥ 0 ⇔ x 2 − 2xy + y 2 ≥ 0 ⇔ x 2 + y 2 ≥ 2xy .
I 2xy ≤ x 2 + y 2 ⇔ 2xy + 2xy ≤ x 2 + y 2 + 2xy ⇔ 4xy ≤ (x + y )2 .
I 4xy ≤ (x + y )2 ⇔ x2xy 1
+y ≤ 2 (x + y ).

29/38
Fβ score
Definimos o Fβ score como sendo:

P ·R
Fβ = (1 + β 2 ) .
β2 ·P +R

Note que:

I F0 = P·R
R = Precisão;
P·R
I F1 = 2 P+R = F1 score usual;
P ·R
I lim Fβ = lim (1 + β 2 ) , então:
β→+∞ β→+∞ β2 ·P +R
1 P ·R
 
lim Fβ = lim +1 = Revocação.
β→+∞ β→+∞ β2 P + β12 R

30/38
Intermediário entre Precisão e Recall

Precisão F1 1 F20 Revocação


2 (P + R)

31/38
Intermediário entre Precisão e Recall

Precisão F1 1 F20 Revocação


2 (P + R)

Considere o exemplo de concessão de crédito:

31/38
Intermediário entre Precisão e Recall

Precisão F1 1 F20 Revocação


2 (P + R)

Considere o exemplo de concessão de crédito:


I Se β grande, Fβ estará próximo da Revocação. Neste caso, vamos
priorizar possuir menos falsos negativos (e se importar menos com
falsos positivos, ou seja, assumimos um risco maior ao conceder
mais crédito);

31/38
Intermediário entre Precisão e Recall

Precisão F1 1 F20 Revocação


2 (P + R)

Considere o exemplo de concessão de crédito:


I Se β grande, Fβ estará próximo da Revocação. Neste caso, vamos
priorizar possuir menos falsos negativos (e se importar menos com
falsos positivos, ou seja, assumimos um risco maior ao conceder
mais crédito);
I Se β pequeno, Fβ estará próximo da Precisão. Neste caso, vamos
priorizar possuir menos falsos positivos (e se importar menos com
falsos negativos, ou seja, assumimos uma postura mais
conservadora ao conceder crédito).

B Quanto deverá ser β?


31/38
Intermediário entre Precisão e Recall

Precisão F1 1 F20 Revocação


2 (P + R)

Considere o exemplo de concessão de crédito:


I Se β grande, Fβ estará próximo da Revocação. Neste caso, vamos
priorizar possuir menos falsos negativos (e se importar menos com
falsos positivos, ou seja, assumimos um risco maior ao conceder
mais crédito);
I Se β pequeno, Fβ estará próximo da Precisão. Neste caso, vamos
priorizar possuir menos falsos positivos (e se importar menos com
falsos negativos, ou seja, assumimos uma postura mais
conservadora ao conceder crédito).

B Quanto deverá ser β? Depende da política de concessão de crédito!


31/38
Receiver operating characteristic - ROC1

Perfeito

1
Exemplo análogo ao do curso “Introdução ao Machine Learning” da Udacity.
32/38
Receiver operating characteristic - ROC1

Perfeito

Bom

1
Exemplo análogo ao do curso “Introdução ao Machine Learning” da Udacity.
32/38
Receiver operating characteristic - ROC1

Perfeito

Bom

Aleatório

B À direita da barra vertifical o modelo classifica como positivo (azul)


e à esquerda como negativo (vermelho).

1
Exemplo análogo ao do curso “Introdução ao Machine Learning” da Udacity.
32/38
Curva ROC

Verdadeiro Positivos 6
Taxa de Verdadeiro Positivos = = = 0.857
Todos os positivos 7

Falso Positivos 2
Taxa de Falso Positivos = = = 0.286
Todos os positivos 7

33/38
Curva ROC - extremo esquerdo

Verdadeiro Positivos 7
Taxa de Verdadeiro Positivos = = =1
Todos os positivos 7
Falso Positivos 7
Taxa de Falso Positivos = = =1
Todos os positivos 7

(0.826, 0.857)

34/38
Curva ROC - extremo direito

Verdadeiro Positivos 0
Taxa de Verdadeiro Positivos = = =0
Todos os positivos 7
Falso Positivos 0
Taxa de Falso Positivos = = =0
Todos os positivos 7

(1, 1) (0.826, 0.857)

35/38
Curva ROC

(1, 1) (0.571, 1) (0.826, 0.857) (0, 0.429) (0, 0)

36/38
Curva ROC e AUC

Figura 3: Adaptado de Gron, A. Hands-On Machine Learning with Scikit-Learn and


TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems.
Sebastopol: O’Reilly Media, Inc, 2017.

37/38
Obrigado!
Contato:
edson.junior@ufsc.br

Você também pode gostar