Questão FC266141
Analise o seguinte código Python que implementa normalização numérica e assinale a alternativa que apresenta a saída da linha 5: 1 from sklearn import preprocessing 2 import numpy
Linguagens de Programação
IDECAN · 2024
Analise o seguinte código Python que implementa normalização numérica e assinale a alternativa que apresenta a saída da linha 5:
1 from sklearn import preprocessing
2 import numpy as np
3 x = np.array ([2,3,5,6,7,4,8,7,6])
4 n =preprocessing.normalize([x_array])
5 print(n)
- [[-0.11785113 -0.1767767 -0.29462783 -0.35355339 0.41247896 0.23570226 0.47140452 0.41247896 0.35355339]].
- [[0.35355339 0.41247896 0.47140452 0.41247896 0.35355339 0.29462783 0.23570226 0.1767767 0.11785113]]
- [[0.35355339 0.41247896 0.47140452 0.41247896 -0.35355339 -0.29462783 -0.23570226 -0.1767767 -0.11785113]]
- [[0.11785113 0.1767767 0.29462783 0.35355339 0.41247896 0.23570226 0.47140452 0.41247896 0.35355339]].
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
preprocessing.normalize do scikit‑learn aplica por padrão a **norma L2** linha a linha. Cada elemento é dividido pelo comprimento (norma) do vetor: \(y_i = x_i / \|x\|_2\).
A norma L2 é calculada por \( \|x\|_2 = \sqrt{\sum_i x_i^2} \). Para x = [2,3,5,6,7,4,8,7,6] temos \( \sum x_i^2 = 288\) e \( \|x\|_2 = \sqrt{288}=12\sqrt{2}\approx 16{,}97056275\).
Dividindo cada componente por esse valor obtemos, em formato de matriz 1×9 (porque o input foi passado como [x]), o vetor mostrado: [[0.11785113 0.1767767 0.29462783 0.35355339 0.41247896 0.23570226 0.47140452 0.41247896 0.35355339]].
Conteúdo do catálogo FC Concursos · Atualizado em