Hoe een numpy-matrix te normaliseren: met voorbeelden


Het normaliseren van een matrix betekent het schalen van de waarden zodat het bereik van rij- of kolomwaarden tussen 0 en 1 ligt.

De eenvoudigste manier om de waarden van een NumPy-matrix te normaliseren is door de functie normalize() uit het sklearn-pakket te gebruiken, die de volgende basissyntaxis gebruikt:

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

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: normaliseer de rijen van de NumPy-matrix

Stel dat we de volgende NumPy-matrix hebben:

 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]]

De volgende code laat zien hoe u de rijen van de NumPy-matrix normaliseert:

 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]]

Merk op dat de waarden in elke rij nu opgeteld één zijn.

  • Som van eerste regel: 0 + 0,33 + 0,67 = 1
  • Som van de tweede regel: 0,25 + 0,33 + 0,417 = 1
  • Som van derde rij: 0,2857 + 0,3333 + 0,3809 = 1

Voorbeeld 2: normaliseer de kolommen van de NumPy-matrix

Stel dat we de volgende NumPy-matrix hebben:

 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]]

De volgende code laat zien hoe u de rijen van de NumPy-matrix normaliseert:

 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]]

Merk op dat de waarden in elke kolom nu opgeteld één zijn.

  • Som van eerste kolom: 0 + 0,33 + 0,67 = 1
  • Som van tweede kolom: 0,083 + 0,333 + 0,583 = 1
  • Som van derde kolom: 0,133 + 0,333 + 0,5333 = 1

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:

Hoe arrays in Python te normaliseren
Hoe kolommen in een Pandas DataFrame te normaliseren

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert