So normalisieren sie werte im numpy-array zwischen 0 und 1


Um die Werte eines NumPy-Arrays zwischen 0 und 1 zu normalisieren, können Sie eine der folgenden Methoden verwenden:

Methode 1: Verwenden Sie NumPy

 import numpy as np

x_norm = (x-np. min (x))/(np. max (x)-np. min (x))

Methode 2: Verwenden Sie Sklearn

 from sklearn import preprocessing as pre

x = x. reshape (-1, 1)

x_norm = pre. MinMaxScaler (). fit_transform (x)

Bei beiden Methoden wird davon ausgegangen, dass x der Name des NumPy-Arrays ist, das Sie normalisieren möchten.

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.

Beispiel 1: Werte mit NumPy normalisieren

Angenommen, wir haben das folgende NumPy-Array:

 import numpy as np

#create NumPy array
x = np. array ([13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71])

Wir können den folgenden Code verwenden, um jeden Wert im Array zwischen 0 und 1 zu normalisieren:

 #normalize all values to be between 0 and 1
x_norm = (x-np. min (x))/(np. max (x)-np. min (x))

#view normalized array
print (x_norm)

[0. 0.05172414 0.10344828 0.15517241 0.17241379 0.43103448
 0.5862069 0.74137931 0.77586207 0.86206897 0.89655172 0.98275862
 1. ]

Jeder Wert im NumPy-Array wurde so normalisiert, dass er zwischen 0 und 1 liegt.

So hat es funktioniert:

Der Mindestwert im Datensatz beträgt 13 und der Höchstwert 71.

Um den ersten Wert von 13 zu normalisieren, würden wir die zuvor geteilte Formel anwenden:

  • z i = (x i – min(x)) / (max(x) – min(x)) = (13 – 13) / (71 – 13) = 0

Um den zweiten Wert von 16 zu normalisieren, würden wir dieselbe Formel verwenden:

  • z i = (x i – min(x)) / (max(x) – min(x)) = (16 – 13) / (71 – 13) = 0,0517

Um den dritten Wert von 19 zu normalisieren, würden wir dieselbe Formel verwenden:

  • z i = (x i – min(x)) / (max(x) – min(x)) = (19 – 13) / (71 – 13) = 0,1034

Wir verwenden dieselbe Formel, um jeden Wert im ursprünglichen NumPy-Array zwischen 0 und 1 zu normalisieren.

Beispiel 2: Werte mit sklearn normalisieren

Nehmen wir erneut an, wir haben das folgende NumPy-Array:

 import numpy as np

#create NumPy array
x = np. array ([13, 16, 19, 22, 23, 38, 47, 56, 58, 63, 65, 70, 71])

Wir können die MinMaxScaler() -Funktion von sklearn verwenden, um jeden Wert im Array zwischen 0 und 1 zu normalisieren:

 from sklearn import preprocessing as pre

#reshape array so that it works with sklearn
x = x. reshape (-1, 1)

#normalize all values to be between 0 and 1
x_norm = pre. MinMaxScaler (). fit_transform (x)

#view normalized array
print (x_norm)

[[0. ]
 [0.05172414]
 [0.10344828]
 [0.15517241]
 [0.17241379]
 [0.43103448]
 [0.5862069]
 [0.74137931]
 [0.77586207]
 [0.86206897]
 [0.89655172]
 [0.98275862]
 [1. ]]

Jeder Wert im NumPy-Array wurde so normalisiert, dass er zwischen 0 und 1 liegt.

Beachten Sie, dass diese normalisierten Werte mit denen übereinstimmen, die mit der vorherigen Methode berechnet wurden.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in NumPy ausführen:

So ordnen Sie Elemente im NumPy-Array an
So entfernen Sie doppelte Elemente aus dem NumPy-Array
So finden Sie den häufigsten Wert im NumPy-Array

Einen Kommentar hinzufügen

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