# 데이터 정규화 (Data Normalization)Value)

Ryan·2025년 2월 5일

Python/Pandas

목록 보기
16/23

데이터 정규화란?

데이터 정규화(Data Normalization)는 서로 단위가 다른 데이터를 동일한 크기로 변환하여 비교 가능하도록 만드는 과정입니다. 일반적으로 0과 1 사이의 값으로 변환하는 Min-Max Normalization(최소-최대 정규화) 방법이 가장 많이 사용됩니다.

정규화 공식

Normalized Value=Individual ValueMax Value of the Feature\text{Normalized Value} = \frac{\text{Individual Value}}{\text{Max Value of the Feature}}

Normalized Value=Max Value of the FeatureIndividual Value

이 공식은 각 개별 데이터를 해당 특성(feature)의 최댓값으로 나누어 0에서 1 사이의 값으로 변환하는 방식입니다.

예제 1: 주가 데이터 정규화

예를 들어, 한 회사의 주가가 다음과 같다고 가정합니다.

  • 최소 주가: 10,000원
  • 최대 주가: 100,000원
  • 특정 날짜의 주가: 50,000원

이를 정규화하면:

50,000100,000=0.5\frac{50,000}{100,000} = 0.5

100,00050,000=0.5

즉, 해당 주가는 0과 1 사이에서 0.5의 크기를 가지게 됩니다.

데이터 정규화의 필요성

  1. 단위 차이 제거: 키(cm)와 몸무게(kg)처럼 단위가 다른 데이터를 함께 사용할 때 크기 차이로 인해 모델이 특정 값에 더 의존하는 문제를 방지합니다.
  2. 머신러닝 알고리즘 최적화: 많은 머신러닝 모델(특히 Gradient Descent 기반 모델)이 정규화된 데이터를 사용할 때 수렴 속도가 빨라지고 성능이 향상됩니다.
  3. 이상치(outlier) 영향 감소: 정규화를 통해 극단적인 값(이상치)이 모델 훈련에 미치는 영향을 줄일 수 있습니다.

정규화 방법 비교

정규화는 여러 방식이 있으며, 상황에 따라 적절한 방법을 선택해야 합니다.

정규화 기법공식특징
Min-Max Scalingx′=x−xminxmax−xminx' = \frac{x - x{min}}{x{max} - x_{min}}x′=xmax​−xmin​x−xmin​​0~1 사이 값으로 변환, 이상치 영향을 크게 받음
Z-score Normalizationx′=x−μσx' = \frac{x - \mu}{\sigma}x′=σx−μ​평균이 0, 표준편차가 1이 되도록 변환, 이상치에 강함
Decimal Scalingx′=x10jx' = \frac{x}{10^j}x′=10jx​가장 큰 수의 자릿수를 고려한 정규화

언제 Min-Max 정규화를 사용할까?

  • 데이터의 분포가 일정하고, 이상치가 많지 않은 경우
  • 데이터를 0과 1 사이의 특정 범위로 맞춰야 하는 경우 (예: 이미지 픽셀 값 조정)
  • 신경망(Neural Network) 모델을 사용할 때 입력 값을 일정한 범위로 정리해야 할 때

결론

데이터 정규화는 서로 다른 단위를 가진 데이터를 동일한 범위로 변환하여 분석 및 머신러닝 모델에서 보다 효과적으로 활용할 수 있도록 도와줍니다. 다양한 정규화 기법이 있으며, 데이터의 특성과 분석 목적에 맞는 방식을 선택하는 것이 중요합니다.

0개의 댓글