Numpy 행렬을 정규화하는 방법: 예제 포함


행렬을 정규화한다는 것은 행 또는 열 값의 범위가 0과 1 사이가 되도록 값의 크기를 조정하는 것을 의미합니다.

NumPy 행렬의 값을 정규화하는 가장 쉬운 방법은 다음 기본 구문을 사용하는 sklearn 패키지의 Normalize() 함수를 사용하는 것입니다.

 from sklearn. preprocessing import normalize

#normalize rows of matrix
normalize(x, axis= 1 , norm=' l1 ')

#normalize columns of matrix
normalize(x, axis= 0 , norm=' l1 ')

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

예 1: NumPy 행렬의 행 정규화

다음과 같은 NumPy 행렬이 있다고 가정합니다.

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

다음 코드는 NumPy 행렬의 행을 정규화하는 방법을 보여줍니다.

 from sklearn. preprocessing import normalize

#normalize matrix by rows
x_normed = normalize(x, axis= 1 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.33333333 0.66666667]
 [0.25 0.33333333 0.41666667]
 [0.28571429 0.33333333 0.38095238]]

이제 각 행의 값을 더하면 1이 됩니다.

  • 첫 번째 줄의 합: 0 + 0.33 + 0.67 = 1
  • 두 번째 줄의 합: 0.25 + 0.33 + 0.417 = 1
  • 세 번째 행의 합: 0.2857 + 0.3333 + 0.3809 = 1

예제 2: NumPy 행렬의 열 정규화

다음과 같은 NumPy 행렬이 있다고 가정합니다.

 import numpy as np

#create matrix
x = np. arange (0, 36, 4). reshape (3,3)

#view matrix
print (x)

[[ 0 4 8]
 [12 16 20]
 [24 28 32]]

다음 코드는 NumPy 행렬의 행을 정규화하는 방법을 보여줍니다.

 from sklearn. preprocessing import normalize

#normalize matrix by columns
x_normed = normalize(x, axis= 0 , norm=' l1 ')

#view normalized matrix
print (x_normed)

[[0. 0.08333333 0.13333333]
 [0.33333333 0.33333333 0.33333333]
 [0.66666667 0.58333333 0.53333333]]

이제 각 열의 값을 더하면 1이 됩니다.

  • 첫 번째 열의 합: 0 + 0.33 + 0.67 = 1
  • 두 번째 열의 합: 0.083 + 0.333 + 0.583 = 1
  • 세 번째 열의 합: 0.133 + 0.333 + 0.5333 = 1

추가 리소스

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

Python에서 배열을 정규화하는 방법
Pandas DataFrame의 열을 정규화하는 방법

의견을 추가하다

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