Normalisieren eines Vektors in Python

Normalisieren eines Vektors in Python

Manav Narula Jul-18, 2021 Mar-30, 2021 NumPy NumPy Vector
  1. Verwenden Sie die mathematische Formel, um einen Vektor in Python zu normalisieren
  2. Verwendung von die Funktion numpy.linalg.norm() zum einen Vektor in Python zu normalisieren
  3. Verwenden Sie die Funktion sklearn.preprocessing.normalize(), um einen Vektor in Python zu normalisieren

In der Welt des maschinellen Lernens ist es weit verbreitet, einen Vektor oder Datensatz zu normalisieren, bevor er an den Algorithmus übergeben wird.

Wenn wir über die Normalisierung eines Vektors sprechen, sagen wir, dass seine Vektorgröße 1 als Einheitsvektor ist.

In diesem Tutorial konvertieren wir ein NumPy-Array in einen Einheitsvektor.

Verwenden Sie die mathematische Formel, um einen Vektor in Python zu normalisieren

Bei dieser Methode berechnen wir die Vektornorm eines Arrays mithilfe der mathematischen Formel. Wenn wir das Array mit diesem Normvektor teilen, erhalten wir den normalisierten Vektor. Der folgende Code implementiert dies.

import numpy as np

v = np.random.rand(10)

normalized_v = v / np.sqrt(np.sum(v**2))
print(normalized_v)

Ausgabe:

[0.10366807 0.05821296 0.11852538 0.42957961 0.27653372 0.36389277
 0.47575824 0.32059888 0.2721495  0.41856126]

Beachten Sie, dass diese Methode einen Fehler zurückgibt, wenn die Länge des Vektors 0 ist.

Verwendung von die Funktion numpy.linalg.norm() zum einen Vektor in Python zu normalisieren

Das Modul NumPy in Python verfügt über die Funktion norm(), die die Vektornorm des Arrays zurückgeben kann. Dann teilen wir das Array mit diesem Normvektor, um den normalisierten Vektor zu erhalten. Im folgenden Code erstellen wir beispielsweise ein zufälliges Array und ermitteln mit dieser Methode seine normalisierte Form.

import numpy as np

v = np.random.rand(10)
normalized_v = v/np.linalg.norm(v)
print(normalized_v)

Ausgabe:

[0.10881785 0.32038649 0.51652046 0.05670539 0.12873248 0.52460815
 0.32929967 0.32699446 0.0753471  0.32043046]

Verwenden Sie die Funktion sklearn.preprocessing.normalize(), um einen Vektor in Python zu normalisieren

Das Modul sklearn verfügt über effiziente Methoden für die Datenvorverarbeitung und andere Tools für maschinelles Lernen. Die Funktion normalize() in dieser Bibliothek wird normalerweise mit 2D-Matrizen verwendet und bietet die Option der L1- und L2-Normalisierung. Der folgende Code verwendet diese Funktion mit einem 1-D-Array und findet seine normalisierte Form.

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)

Ausgabe:

[0.19361438 0.36752554 0.26904722 0.10672546 0.32089067 0.48359538
 0.01824837 0.47591181 0.26439268 0.33180998]

Die in der obigen Methode verwendete Methode ravel() wird verwendet, um ein mehrdimensionales Array in Python zu reduzieren.

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

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

Verwandter Artikel - NumPy Vector

  • Teilen Sie die Matrix durch den Vektor in NumPy