[python] NumPy로 배열을 정규화하거나 표준화하는 방법은 무엇인가요?
정규화(Normalization)
import numpy as np
def normalize(arr):
min_val = np.min(arr)
max_val = np.max(arr)
normalized_arr = (arr - min_val) / (max_val - min_val)
return normalized_arr
위의 코드에서 normalize
함수는 입력 배열 arr
을 받아서 정규화된 배열을 반환합니다. np.min()
함수를 사용하여 배열의 최소값을 찾고, np.max()
함수를 사용하여 배열의 최대값을 찾습니다. 그런 다음, 각 원소에서 최소값을 빼고, 최대값과 최소값의 차이로 나누어 정규화된 배열을 계산합니다.
표준화(Standardization)
import numpy as np
def standardize(arr):
mean_val = np.mean(arr)
std_val = np.std(arr)
standardized_arr = (arr - mean_val) / std_val
return standardized_arr
위의 코드에서 standardize
함수는 입력 배열 arr
을 받아서 표준화된 배열을 반환합니다. np.mean()
함수를 사용하여 배열의 평균을 계산하고, np.std()
함수를 사용하여 배열의 표준 편차를 계산합니다. 각 원소에서 평균을 빼고, 표준 편차로 나누어 표준화된 배열을 계산합니다.
이제, 주어진 배열을 normalize
또는 standardize
함수에 전달하여 원하는 변환을 수행할 수 있습니다.
예제
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
# 정규화
normalized_arr = normalize(arr)
print(normalized_arr)
# 표준화
standardized_arr = standardize(arr)
print(standardized_arr)
위의 예제에서는 1부터 5까지의 원소를 가진 배열을 생성한 후, 각각의 변환 함수에 전달하여 정규화된 배열과 표준화된 배열을 출력합니다.
참고 자료:
- NumPy 공식 문서: https://numpy.org/doc/
- NumPy 정규화 관련 문서: https://numpy.org/doc/stable/reference/generated/numpy.linalg.norm.html
- NumPy 표준화 관련 문서: https://numpy.org/doc/stable/reference/generated/numpy.std.html