Come normalizzare una matrice numpy: con esempi


Normalizzare una matrice significa ridimensionare i valori in modo tale che l’intervallo dei valori di riga o colonna sia compreso tra 0 e 1.

Il modo più semplice per normalizzare i valori di una matrice NumPy è utilizzare la funzione normalize() del pacchetto sklearn, che utilizza la seguente sintassi di base:

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

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: normalizza le righe della matrice NumPy

Supponiamo di avere la seguente matrice 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]]

Il codice seguente mostra come normalizzare le righe della matrice 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]]

Tieni presente che i valori in ciascuna riga ora si sommano a uno.

  • Somma della prima riga: 0 + 0,33 + 0,67 = 1
  • Somma della seconda riga: 0,25 + 0,33 + 0,417 = 1
  • Somma della terza riga: 0,2857 + 0,3333 + 0,3809 = 1

Esempio 2: normalizza le colonne della matrice NumPy

Supponiamo di avere la seguente matrice 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]]

Il codice seguente mostra come normalizzare le righe della matrice 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]]

Tieni presente che la somma dei valori in ciascuna colonna ora dà come risultato uno.

  • Somma della prima colonna: 0 + 0,33 + 0,67 = 1
  • Somma della seconda colonna: 0,083 + 0,333 + 0,583 = 1
  • Somma della terza colonna: 0,133 + 0,333 + 0,5333 = 1

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:

Come normalizzare gli array in Python
Come normalizzare le colonne in un Pandas DataFrame

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *