Como normalizar valores no array numpy entre 0 e 1


Para normalizar os valores de um array NumPy entre 0 e 1, você pode usar um dos seguintes métodos:

Método 1: use NumPy

 import numpy as np

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

Método 2: use Sklearn

 from sklearn import preprocessing as pre

x = x. reshape (-1, 1)

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

Ambos os métodos assumem que x é o nome do array NumPy que você deseja normalizar.

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: normalizar valores usando NumPy

Suponha que temos o seguinte array NumPy:

 import numpy as np

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

Podemos usar o seguinte código para normalizar cada valor na matriz entre 0 e 1:

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

Cada valor na matriz NumPy foi normalizado para estar entre 0 e 1.

Veja como funcionou:

O valor mínimo no conjunto de dados é 13 e o valor máximo é 71.

Para normalizar o primeiro valor de 13 , aplicaríamos a fórmula compartilhada anteriormente:

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

Para normalizar o segundo valor de 16 , usaríamos a mesma fórmula:

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

Para normalizar o terceiro valor de 19 , usaríamos a mesma fórmula:

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

Usamos esta mesma fórmula para normalizar cada valor na matriz NumPy original entre 0 e 1.

Exemplo 2: Normalizar valores usando sklearn

Novamente, suponha que temos o seguinte array NumPy:

 import numpy as np

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

Podemos usar a função MinMaxScaler() do sklearn para normalizar cada valor no array entre 0 e 1:

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

Cada valor na matriz NumPy foi normalizado para estar entre 0 e 1.

Observe que esses valores normalizados correspondem aos calculados pelo método anterior.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no NumPy:

Como ordenar elementos no array NumPy
Como remover elementos duplicados do array NumPy
Como encontrar o valor mais frequente no array NumPy

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *