Questão FC331210
Considere o código abaixo, escrito na linguagem de programação Python (versão 3.10.12), com uso da biblioteca sklearn (scikit- learn) versão 1.5.2. Com relação ao código acima, ana
Linguagens de Programação
FGV · 2025
Considere o código abaixo, escrito na linguagem de programação Python (versão 3.10.12), com uso da biblioteca sklearn (scikit- learn) versão 1.5.2.

Com relação ao código acima, analise os itens a seguir.
I. O valor atribuído a s0 (na linha 4) será ou True ou False.
II. O valor atribuído a s1 (na linha 5) será diferente de s0.
III. A operação na linha 6 causa erro do tipo ValueError.
Está correto o que se afirma em
- I, apenas.
- II, apenas.
- III, apenas.
- I e II, apenas.
- II e III, apenas.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A afirmação é verdadeira porque a métrica calculada é a precisão, definida por \(precision = \frac{VP}{VP+FP}\), e depende da ordem entre y\_true e y\_pred ao chamar precision_score.
Para os vetores do enunciado obtém‑se, explicitamente, s0 = precision_score(y0, y1, average=None) = [0.5, 0.5, 0.0] e s1 = precision_score(y1, y0, average=None) = [1.0, 1.0, 0.0].
Esses vetores são diferentes porque ao inverter as entradas mudam os contadores de VP e FP por classe: em uma ordem há falsos positivos que reduzem a precisão; na ordem invertida esses mesmos casos viram falsos negativos e não entram no denominador, alterando o valor.
Portanto, s1 é distinto de s0, justificando a alternativa indicada.
Conteúdo do catálogo FC Concursos · Atualizado em