Como normalizar uma matriz numpy: com exemplos


Normalizar uma matriz significa dimensionar os valores de forma que o intervalo de valores da linha ou coluna esteja entre 0 e 1.

A maneira mais fácil de normalizar os valores de uma matriz NumPy é usar a função normalize() do pacote sklearn, que usa a seguinte sintaxe básica:

 from sklearn. preprocessing import normalize

#normalize rows of matrix
normalize(x, axis= 1 , norm=' l1 ')

#normalize columns of matrix
normalize(x, axis= 0 , norm=' l1 ')

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo 1: normalize as linhas da matriz NumPy

Suponha que temos a seguinte matriz NumPy:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

O código a seguir mostra como normalizar as linhas da matriz NumPy:

 from sklearn. preprocessing import normalize

#normalize matrix by rows
x_normed = normalize(x, axis= 1 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.33333333 0.66666667]
 [0.25 0.33333333 0.41666667]
 [0.28571429 0.33333333 0.38095238]]

Observe que os valores em cada linha agora somam um.

  • Soma da primeira linha: 0 + 0,33 + 0,67 = 1
  • Soma da segunda linha: 0,25 + 0,33 + 0,417 = 1
  • Soma da terceira linha: 0,2857 + 0,3333 + 0,3809 = 1

Exemplo 2: normalize as colunas da matriz NumPy

Suponha que temos a seguinte matriz NumPy:

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

O código a seguir mostra como normalizar as linhas da matriz NumPy:

 from sklearn. preprocessing import normalize

#normalize matrix by columns
x_normed = normalize(x, axis= 0 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.08333333 0.13333333]
 [0.33333333 0.33333333 0.33333333]
 [0.66666667 0.58333333 0.53333333]]

Observe que os valores em cada coluna agora somam um.

  • Soma da primeira coluna: 0 + 0,33 + 0,67 = 1
  • Soma da segunda coluna: 0,083 + 0,333 + 0,583 = 1
  • Soma da terceira coluna: 0,133 + 0,333 + 0,5333 = 1

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em Python:

Como normalizar arrays em Python
Como normalizar colunas em um DataFrame do Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *