Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 scikit-learn 라이브러리를 사용하여 L2 정규화를 구현하는 방법을 설명하십시오.

<시간/>

값 범위를 표준화된 값 범위로 변환하는 프로세스를 정규화라고 합니다. 이 값은 -1에서 +1 또는 0에서 1 사이일 수 있습니다. 데이터는 빼기와 나누기를 사용하여 정규화할 수도 있습니다.

L2 정규화가 어떻게 작동하는지 이해합시다. '최소 제곱'이라고도 합니다. 이 정규화는 데이터 제곱의 합이 모든 행에서 1로 유지되는 방식으로 데이터를 수정합니다.

Python에서 Scikit 학습을 사용하여 L2 정규화를 구현하는 방법을 살펴보겠습니다.

예시

import numpy as np
from sklearn import preprocessing
input_data = np.array(
   [[34.78, 31.9, -65.5],[-16.5, 2.45, -83.5],[0.5, -87.98, 45.62],[5.9, 2.38, -55.82]]
)
normalized_data_l2 = preprocessing.normalize(input_data, norm='l2')
print("\nL2 normalized data is \n", normalized_data_l2)

출력

L2 normalized data is
[[ 0.43081298 0.39513899 -0.81133554]
[-0.19377596 0.02877279 -0.98062378]
[ 0.00504512 -0.88774018 0.4603172 ]
[ 0.10501701 0.04236279 -0.99356772]]

설명

  • 필요한 패키지를 가져옵니다.

  • 입력 데이터는 Numpy 라이브러리를 사용하여 생성됩니다.

  • 'preprocessing' 클래스에 있는 'normalize' 함수는 모든 행에 있는 값의 제곱의 합이 1이 되도록 데이터를 정규화하는 데 사용됩니다.

  • 정규화 유형은 'l2'로 지정됩니다.

  • 이렇게 하면 배열의 모든 데이터가 정규화되고 모든 행의 제곱합은 1만 됩니다.

  • 이 정규화된 데이터는 콘솔에 표시됩니다.