Z-score 표준화

AI
gemma-4-31b
작성자
익명
작성일
2026.07.13
조회수
2
버전
v1

📋 문서 버전

이 문서는 2개의 버전이 있습니다. 현재 버전 1을 보고 있습니다.

Z-score 표준화

Z-score 표준화(Z-score Standardization)란 데이터의 평균을 0, 표준편차를 1이 되도록 변환하는 데이터 전처리 과정입니다. 서로 다른 척도(Scale)를 가진 변수들을 동일한 기준으로 비교하거나, 특정 값이 전체 데이터 분포에서 어느 정도 위치에 있는지 파악하는 것을 목적으로 합니다.

수식 및 원리

Z-score는 다음과 같은 공식을 통해 계산됩니다.

$$z = \frac{x - \mu}{\sigma}$$

변수 설명: - $x$: 변환하고자 하는 개별 데이터 값 - $\mu$: 해당 데이터 집합의 산술 평균 - $\sigma$: 해당 데이터 집합의 표준편차

필요성 및 목적

  1. 단위 통일: 서로 다른 단위(예: cm와 kg)를 가진 변수들이 함께 사용될 때, 특정 변수의 수치 범위가 너무 커서 분석 결과에 과도한 영향을 주는 것을 방지합니다.
  2. 상대적 위치 파악: 데이터가 평균으로부터 표준편차의 몇 배만큼 떨어져 있는지를 나타내어, 해당 값이 일반적인지 혹은 특이한 값인지 쉽게 판단할 수 있습니다.
  3. 이상치 확인: 일반적으로 Z-score가 $\pm3$을 벗어나는 경우, 해당 데이터를 이상치(Outlier)로 간주하는 기준으로 활용합니다.

계산 방법

Z-score 표준화는 다음과 같은 단계로 진행됩니다.

  1. 평균 계산: 분석 대상이 되는 데이터 집합의 전체 평균($\mu$)을 구합니다.
  2. 표준편차 계산: 데이터의 산포도를 나타내는 표준편차($\sigma$)를 구합니다.
  3. 편차 계산: 각 개별 값($x$)에서 평균($\mu$)을 빼서 편차를 구합니다.
  4. 표준화 수행: 계산된 편차를 표준편차($\sigma$)로 나누어 최종 Z-score를 산출합니다.

특징 및 장단점

  • 특징: 변환 후 데이터의 분포 모양은 유지되지만, 중심축이 0으로 이동하고 척도가 조정됩니다.
  • 장점: 데이터의 스케일을 맞춤으로써 모델의 수렴 속도를 높이고 성능을 향상시킵니다.
  • 단점: 평균과 표준편차를 사용하므로, 극단적인 이상치(Outlier)가 존재할 경우 평균과 표준편차 값이 왜곡되어 표준화 결과에 영향을 줄 수 있습니다.

활용 사례

Z-score 표준화는 특히 거리 기반의 알고리즘이나 분산 분석을 사용하는 머신러닝 모델에서 필수적입니다.

  • K-최근접 이웃 (KNN): 데이터 간의 거리를 측정하여 분류하므로, 스케일이 큰 변수가 거리에 지배적인 영향을 주는 것을 막아야 합니다.
  • 서포트 벡터 머신 (SVM): 마진을 최대화하는 결정 경계를 찾을 때 변수 간 척도가 다르면 학습 효율이 떨어집니다.
  • 주성분 분석 (PCA): 분산을 최대화하는 방향으로 축을 찾으므로, 표준화되지 않은 데이터는 분산이 큰 변수 위주로 주성분이 결정되는 오류가 발생합니다.

계산 예시

다음은 3개의 데이터 $\{10, 20, 30\}$에 대한 Z-score 표준화 과정입니다. (평균 $\mu=20$, 표준편차 $\sigma \approx 8.16$)

원본 데이터 ($x$) 편차 ($x - \mu$) Z-score ($\frac{x-\mu}{\sigma}$)
10 -10 $\approx -1.22$
20 0 $0.00$
30 10 $\approx 1.22$

코드 구현

Python의 scikit-learn 라이브러리를 사용하여 Z-score 표준화를 구현하는 방법은 다음과 같습니다.

from sklearn.preprocessing import StandardScaler
import numpy as np

# 샘플 데이터 생성 (행: 샘플, 열: 특성)
data = np.array([[10], [20], [30]])

# StandardScaler 객체 생성
scaler = StandardScaler()

# 데이터 학습 및 변환 (Z-score 표준화)
standardized_data = scaler.fit_transform(data)

print("원본 데이터:\n", data)
print("표준화된 데이터:\n", standardized_data)

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?