Numpy 배열의 값을 0과 1 사이로 정규화하는 방법


NumPy 배열의 값을 0과 1 사이로 정규화하려면 다음 방법 중 하나를 사용할 수 있습니다.

방법 1: NumPy 사용

 import numpy as np

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

방법 2: Sklearn 사용

 from sklearn import preprocessing as pre

x = x. reshape (-1, 1)

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

두 방법 모두 x가 정규화하려는 NumPy 배열의 이름이라고 가정합니다.

다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.

예시 1: NumPy를 사용하여 값 정규화

다음과 같은 NumPy 배열이 있다고 가정합니다.

 import numpy as np

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

다음 코드를 사용하여 배열의 각 값을 0과 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. ]

NumPy 배열의 각 값은 0과 1 사이로 정규화되었습니다.

작동 방식은 다음과 같습니다.

데이터 세트의 최소값은 13이고 최대값은 71입니다.

13 의 첫 번째 값을 정규화하기 위해 이전에 공유한 공식을 적용합니다.

  • z i = (x i – 최소(x)) / (최대(x) – 최소(x)) = (13 – 13) / (71 – 13) = 0

16 의 두 번째 값을 정규화하기 위해 동일한 공식을 사용합니다.

  • z i = (x i – 최소(x)) / (최대(x) – 최소(x)) = (16 – 13) / (71 – 13) = 0.0517

19 의 세 번째 값을 정규화하기 위해 동일한 공식을 사용합니다.

  • z i = (x i – 최소(x)) / (최대(x) – 최소(x)) = (19 – 13) / (71 – 13) = 0.1034

동일한 공식을 사용하여 원래 NumPy 배열의 각 값을 0과 1 사이로 정규화합니다.

예시 2: sklearn을 사용하여 값 정규화

이번에도 다음과 같은 NumPy 배열이 있다고 가정해 보겠습니다.

 import numpy as np

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

sklearnMinMaxScaler() 함수를 사용하여 배열의 각 값을 0과 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. ]]

NumPy 배열의 각 값은 0과 1 사이로 정규화되었습니다.

이러한 정규화된 값은 이전 방법을 사용하여 계산된 값과 일치합니다.

추가 리소스

다음 튜토리얼에서는 NumPy에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

NumPy 배열의 요소를 정렬하는 방법
NumPy 배열에서 중복 요소를 제거하는 방법
NumPy 배열에서 가장 빈번한 값을 찾는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다