Normalizza un vettore in Python
- Usa la formula matematica per normalizzare un vettore in Python
-
Usa la funzione
numpy.linalg.norm()
per normalizzare un vettore in Python -
Usa la funzione
sklearn.preprocessing.normalize()
per normalizzare un vettore in Python
Una nozione prevalente nel mondo dell’apprendimento automatico è normalizzare un vettore o un set di dati prima di passarlo all’algoritmo.
Quando parliamo di normalizzare un vettore, diciamo che la sua grandezza del vettore è 1, come vettore unitario.
In questo tutorial, convertiremo un array numpy in un vettore unitario.
Usa la formula matematica per normalizzare un vettore in Python
In questo metodo, calcoleremo la norma vettoriale di un array utilizzando la formula matematica. Quando dividiamo l’array con questo vettore norma, otteniamo il vettore normalizzato. Il codice seguente implementa questo.
import numpy as np
v = np.random.rand(10)
normalized_v = v / np.sqrt(np.sum(v ** 2))
print(normalized_v)
Produzione:
[0.10366807 0.05821296 0.11852538 0.42957961 0.27653372 0.36389277
0.47575824 0.32059888 0.2721495 0.41856126]
Nota che questo metodo restituirà un errore se la lunghezza del vettore è 0.
Usa la funzione numpy.linalg.norm()
per normalizzare un vettore in Python
Il modulo NumPy
in Python ha la funzione norm()
che può restituire la norma vettoriale dell’array. Quindi dividiamo l’array con questo vettore norma per ottenere il vettore normalizzato. Ad esempio, nel codice seguente, creeremo un array casuale e troveremo la sua forma normalizzata usando questo metodo.
import numpy as np
v = np.random.rand(10)
normalized_v = v / np.linalg.norm(v)
print(normalized_v)
Produzione:
[0.10881785 0.32038649 0.51652046 0.05670539 0.12873248 0.52460815
0.32929967 0.32699446 0.0753471 0.32043046]
Usa la funzione sklearn.preprocessing.normalize()
per normalizzare un vettore in Python
Il modulo sklearn
dispone di metodi efficienti per la pre-elaborazione dei dati e altri strumenti di apprendimento automatico. La funzione normalize()
in questa libreria viene solitamente utilizzata con matrici 2-D e fornisce l’opzione di normalizzazione L1 e L2. Il codice seguente utilizzerà questa funzione con un array 1-D e troverà la sua forma normalizzata.
import numpy as np
from sklearn.preprocessing import normalize
v = np.random.rand(10)
normalized_v = normalize(v[:, np.newaxis], axis=0).ravel()
print(normalized_v)
Produzione:
[0.19361438 0.36752554 0.26904722 0.10672546 0.32089067 0.48359538
0.01824837 0.47591181 0.26439268 0.33180998]
Il metodo ravel()
usato nel metodo sopra è usato per appiattire un array multidimensionale in Python.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn