Questão nº 50
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 50)
Anderson, analista de dados do TRF-1, gerou a matriz de confusão abaixo a partir dos resultados obtidos com um classificador binário.

Ao calcular a F1-score ponderada para esse classificador, Anderson obteve o valor:
- A88/120;
- B89/120;
- C90/120;
- D91/120; (alternativa correta)
- E92/120.
Resposta comentada
Gabarito Alternativa D
O F1-score é uma métrica de avaliação que combina a precisão (proporção de verdadeiros positivos entre todas as previsões positivas) e o recall (proporção de verdadeiros positivos entre todos os positivos reais). A F1-score ponderada (weighted F1-score) é a média das F1-scores de cada classe, onde cada F1-score é multiplicada pela proporção de instâncias reais (suporte) daquela classe no conjunto de dados.
Vamos extrair os dados da matriz de confusão:
- Verdadeiros Negativos (TN): 40 (instâncias da Classe 0 corretamente classificadas como Classe 0)
- Falsos Positivos (FP): 10 (instâncias da Classe 0 incorretamente classificadas como Classe 1)
- Falsos Negativos (FN): 20 (instâncias da Classe 1 incorretamente classificadas como Classe 0)
- Verdadeiros Positivos (TP): 30 (instâncias da Classe 1 corretamente classificadas como Classe 1)
Total de amostras = 40 + 10 + 20 + 30 = 100.
Suporte (número de instâncias reais) da Classe 0 = 40 + 10 = 50.
Suporte (número de instâncias reais) da Classe 1 = 20 + 30 = 50.
Como os suportes são iguais (50 para cada classe), os pesos para a F1-score ponderada serão 0.5 para cada classe.
1. Calcular F1-score para a Classe 0:
Para a Classe 0, consideramos:
- TP_0 = 40 (Verdadeiros Negativos do problema original)
- FP_0 = 20 (Falsos Negativos do problema original, ou seja, instâncias da Classe 1 classificadas como Classe 0)
- FN_0 = 10 (Falsos Positivos do problema original, ou seja, instâncias da Classe 0 classificadas como Classe 1)
- Precisão_0 =
- Recall_0 =
- F1-score_0 =
2. Calcular F1-score para a Classe 1:
Para a Classe 1, consideramos:
- TP_1 = 30 (Verdadeiros Positivos do problema original)
- FP_1 = 10 (Falsos Positivos do problema original, ou seja, instâncias da Classe 0 classificadas como Classe 1)
- FN_1 = 20 (Falsos Negativos do problema original, ou seja, instâncias da Classe 1 classificadas como Classe 0)
- Precisão_1 =
- Recall_1 =
- F1-score_1 =
3. Calcular F1-score Ponderada:
A F1-score ponderada é a soma das F1-scores de cada classe, multiplicadas por seus respectivos pesos (proporção de instâncias reais).
Peso_0 = Suporte_0 / Total de amostras = 50 / 100 = 0.5
Peso_1 = Suporte_1 / Total de amostras = 50 / 100 = 0.5
F1-score Ponderada =
F1-score Ponderada =
F1-score Ponderada = $4/11 + 1/3(4 \times 3) / (11 \times 3) + (1 \times 11) / (3 \times 11)
F1-score Ponderada = \12/33 + 11/33 = 23/33$
Convertendo para um denominador 120: .
.
Para obter um denominador 120, teríamos que ter .
O valor $23/33$ não corresponde a nenhuma das opções fornecidas de forma exata.
Comentário sobre a discrepância:
Com base nas definições padrão de F1-score e F1-score ponderada (weighted F1-score, como implementado em bibliotecas como scikit-learn), o cálculo resulta em $23/33$. Nenhuma das alternativas corresponde a este valor. Isso sugere que pode haver um erro na questão, nas alternativas ou no gabarito oficial, ou que uma definição não-padrão de "F1-score ponderada" está sendo utilizada, o que é incomum em contextos de avaliação de modelos. No entanto, seguindo a instrução de marcar o gabarito oficial como correto, abordaremos a alternativa D.
(A) Incorreta: O valor 88/120 é equivalente a 11/15. Este valor pode ser obtido se, por engano, for calculada a média aritmética da Precisão e do Recall para a Classe 0 (). No entanto, o F1-score é a média harmônica, não a aritmética, e a questão pede a F1-score ponderada, não apenas para uma classe.
(B) Incorreta: O valor 89/120 não corresponde a nenhum cálculo padrão de F1-score ou de suas componentes a partir da matriz fornecida.
(C) Incorreta: O valor 90/120 é equivalente a 3/4. Este é o valor da Precisão para a Classe 1 (30 / (30+10) = 3/4). Não é o F1-score, muito menos o F1-score ponderado.
(D) Correta: O gabarito oficial indica que 91/120 é a resposta correta. Contudo, conforme demonstrado no cálculo detalhado acima, a F1-score ponderada, utilizando as definições padrão da área de Machine Learning, resulta em $23/3391/120 \approx 0.758323/33 \approx 0.6970$. Não há um método padrão ou uma interpretação comum da matriz de confusão que leve a 91/120 como F1-score ponderada. A armadilha da banca aqui reside na possibilidade de um erro na própria questão ou nas opções, forçando o aluno a escolher uma alternativa que não pode ser derivada por métodos corretos. Para um bom professor, é crucial apontar essa inconsistência e reforçar o cálculo correto, mesmo que não leve ao gabarito fornecido.
(E) Incorreta: O valor 92/120 é equivalente a 23/30. Este valor não corresponde a nenhum cálculo padrão de F1-score ou de suas componentes a partir da matriz fornecida.
Fonte: FGV TRF1 2024 Analista Judiciário - Análise de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.