Jak znormalizować macierz numpy: z przykładami


Normalizowanie macierzy oznacza skalowanie wartości w taki sposób, aby zakres wartości wierszy lub kolumn mieścił się w przedziale od 0 do 1.

Najłatwiejszym sposobem znormalizowania wartości macierzy NumPy jest użycie funkcji normalize() z pakietu sklearn, która wykorzystuje następującą podstawową składnię:

 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 ')

Poniższe przykłady pokazują, jak używać tej składni w praktyce.

Przykład 1: normalizacja wierszy macierzy NumPy

Załóżmy, że mamy następującą macierz 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]]

Poniższy kod pokazuje, jak znormalizować wiersze macierzy 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]]

Zauważ, że wartości w każdym wierszu sumują się teraz do jednego.

  • Suma pierwszej linii: 0 + 0,33 + 0,67 = 1
  • Suma drugiej linii: 0,25 + 0,33 + 0,417 = 1
  • Suma trzeciego rzędu: 0,2857 + 0,3333 + 0,3809 = 1

Przykład 2: normalizacja kolumn macierzy NumPy

Załóżmy, że mamy następującą macierz 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]]

Poniższy kod pokazuje, jak znormalizować wiersze macierzy 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]]

Zauważ, że wartości w każdej kolumnie sumują się teraz do jednego.

  • Suma pierwszej kolumny: 0 + 0,33 + 0,67 = 1
  • Suma drugiej kolumny: 0,083 + 0,333 + 0,583 = 1
  • Suma trzeciej kolumny: 0,133 + 0,333 + 0,5333 = 1

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:

Jak normalizować tablice w Pythonie
Jak normalizować kolumny w ramce danych Pandas

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *