Python에서 벡터 정규화
- 수학 공식을 사용하여 Python에서 벡터 정규화
-
numpy.linalg.norm()
함수를 사용하여 Python에서 벡터 정규화 -
sklearn.preprocessing.normalize()
함수를 사용하여 Python에서 벡터 정규화
머신 러닝 세계에서 널리 사용되는 개념은 알고리즘에 전달하기 전에 벡터 또는 데이터 세트를 정규화하는 것입니다.
벡터 정규화에 대해 이야기 할 때 벡터 크기는 단위 벡터로 1이라고 말합니다.
이 튜토리얼에서는 numpy 배열을 단위 벡터로 변환합니다.
수학 공식을 사용하여 Python에서 벡터 정규화
이 방법에서는 수학 공식을 사용하여 배열의 벡터 노름을 계산합니다. 이 노름 벡터로 배열을 나누면 정규화 된 벡터를 얻습니다. 다음 코드는이를 구현합니다.
import numpy as np
v = np.random.rand(10)
normalized_v = v / np.sqrt(np.sum(v ** 2))
print(normalized_v)
출력:
[0.10366807 0.05821296 0.11852538 0.42957961 0.27653372 0.36389277
0.47575824 0.32059888 0.2721495 0.41856126]
이 메서드는 벡터의 길이가 0이면 오류를 반환합니다.
numpy.linalg.norm()
함수를 사용하여 Python에서 벡터 정규화
Python의NumPy
모듈에는 배열의 벡터 노름을 반환 할 수있는norm()
함수가 있습니다. 그런 다음이 노름 벡터로 배열을 나누어 정규화 된 벡터를 얻습니다. 예를 들어 아래 코드에서 무작위 배열을 만들고이 방법을 사용하여 정규화 된 형식을 찾습니다.
import numpy as np
v = np.random.rand(10)
normalized_v = v / np.linalg.norm(v)
print(normalized_v)
출력:
[0.10881785 0.32038649 0.51652046 0.05670539 0.12873248 0.52460815
0.32929967 0.32699446 0.0753471 0.32043046]
sklearn.preprocessing.normalize()
함수를 사용하여 Python에서 벡터 정규화
sklearn
모듈에는 데이터 전처리 및 기타 기계 학습 도구에 사용할 수있는 효율적인 방법이 있습니다. 이 라이브러리의normalize()
함수는 일반적으로 2 차원 행렬과 함께 사용되며 L1 및 L2 정규화 옵션을 제공합니다. 아래 코드는이 함수를 1 차원 배열과 함께 사용하고 정규화 된 형식을 찾습니다.
import numpy as np
from sklearn.preprocessing import normalize
v = np.random.rand(10)
normalized_v = normalize(v[:, np.newaxis], axis=0).ravel()
print(normalized_v)
출력:
[0.19361438 0.36752554 0.26904722 0.10672546 0.32089067 0.48359538
0.01824837 0.47591181 0.26439268 0.33180998]
위의 메서드에서 사용 된ravel()
메서드는 Python에서 다차원 배열을 평면화하는 데 사용됩니다.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn