값 범위를 표준화된 값 범위로 변환하는 프로세스를 정규화라고 합니다. 이 값은 -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만 됩니다.
-
이 정규화된 데이터는 콘솔에 표시됩니다.