Hoe waarden in de numpy-array tussen 0 en 1 te normaliseren


Om de waarden van een NumPy-array tussen 0 en 1 te normaliseren, kunt u een van de volgende methoden gebruiken:

Methode 1: Gebruik NumPy

 import numpy as np

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

Methode 2: Gebruik Sklearn

 from sklearn import preprocessing as pre

x = x. reshape (-1, 1)

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

Bij beide methoden wordt ervan uitgegaan dat x de naam is van de NumPy-array die u wilt normaliseren.

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.

Voorbeeld 1: Normaliseer waarden met NumPy

Stel dat we de volgende NumPy-array hebben:

 import numpy as np

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

We kunnen de volgende code gebruiken om elke waarde in de array tussen 0 en 1 te normaliseren:

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

Elke waarde in de NumPy-array is genormaliseerd tussen 0 en 1.

Hier is hoe het werkte:

De minimumwaarde in de dataset is 13 en de maximumwaarde is 71.

Om de eerste waarde van 13 te normaliseren, zouden we de eerder gedeelde formule toepassen:

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

Om de tweede waarde van 16 te normaliseren, zouden we dezelfde formule gebruiken:

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

Om de derde waarde van 19 te normaliseren, zouden we dezelfde formule gebruiken:

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

We gebruiken dezelfde formule om elke waarde in de originele NumPy-array tussen 0 en 1 te normaliseren.

Voorbeeld 2: Waarden normaliseren met behulp van sklearn

Stel opnieuw dat we de volgende NumPy-array hebben:

 import numpy as np

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

We kunnen de functie MinMaxScaler() van sklearn gebruiken om elke waarde in de array tussen 0 en 1 te normaliseren:

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

Elke waarde in de NumPy-array is genormaliseerd tussen 0 en 1.

Merk op dat deze genormaliseerde waarden overeenkomen met de waarden die zijn berekend met de vorige methode.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in NumPy kunt uitvoeren:

Hoe elementen in de NumPy-array te bestellen
Hoe dubbele elementen uit de NumPy-array te verwijderen
Hoe u de meest voorkomende waarde in de NumPy-array kunt vinden

Einen Kommentar hinzufügen

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