표준화와 정규화

혜쿰·2023년 11월 15일
0
post-thumbnail

표준화(Standardization)와 정규화(Normalization)는 데이터 전처리 과정에서 사용되는 방법으로, 데이터의 스케일을 조정하여 모델의 성능을 향상시키는 데 도움을 준다. 두 기법은 데이터의 단위와 범위를 조정하는 데 목적이 있지만, 방식과 목표가 조금 다르다.

1. 표준화 (Standardization)

  • 목적: 데이터의 평균을 0으로, 표준편차를 1로 만들어 정규 분포에 가깝게 만드는 것이 목표이다.
  • 방법: 각 데이터 포인트에서 평균을 빼고, 표준편차로 나누어 데이터를 변환한다.
  • 수식: X평균표준편차X-평균\over표준편차
  • 장점:
    • 이상치에 영향을 덜 받는다.
    • 모든 특성이 동일한 스케일을 가지므로, 모델이 더 빠르게 수렴하고 좀 더 안정적으로 학습될 수 있다.

🖇️ 코드 예제

데이터를 로드하고 정제하는 과정은 생략하겠다.

from sklearn.preprocessing import StandardScaler

# StandardScaler 객체 생성
scaler = StandardScaler()

# 데이터 표준화
standardized_data = scaler.fit_transform(data)

수식을 활용하여 표준화할 수도 있지만, 데이터가 많고 복잡한 경우에는 Scikit-learn의 StandardScaler를 사용하여 더 편리하게 데이터를 표준화할 수 있다. 위 코드가 바로 Scikit-learn의 StandardScaler를 사용하여 표준화한 예시이다.

StandardScaler 객체를 생성하고,
fit_transform 메서드를 사용하여 데이터를 표준화할 수 있다.

2. 정규화 (Normalization)

  • 목적: 데이터의 범위를 특정 범위 내로 조정하여 각 데이터의 상대적인 크기를 비교하기 쉽게 만드는 것이 목표이다.
  • 방법: 각 데이터 포인트에서 최솟값을 뺀 후, 최댓값과 최솟값의 차이로 나누어 데이터를 변환한다.
  • 수식: X최솟값최댓값최솟값X-최솟값\over최댓값-최솟값
  • 장점:
    • 데이터의 상대적인 크기 비교가 용이하다.
    • 각 특성이 동일한 스케일을 갖지만, 분포가 다른 경우에 유용하다.

🖇️ 코드 예제

데이터를 로드하고 정제하는 과정은 생략하겠다.

from sklearn.preprocessing import StandardScaler

# StandardScaler 객체 생성
scaler = StandardScaler()

# 데이터 정규화
normalized_data = scaler.fit_transform(data)
from sklearn.preprocessing import MinMaxScaler

# MinMaxScaler 객체 생성
scaler = MinMaxScaler()

# 데이터 정규화
normalized_data = scaler.fit_transform(data)
from sklearn.preprocessing import RobustScaler

# RobustScaler 객체 생성
scaler = RobustScaler()

# 데이터 정규화
normalized_data = scaler.fit_transform(data)

표준화와 마찬가지로, 수식을 활용하여 정규화할 수도 있지만, 데이터가 많고 복잡한 경우에는 Scikit-learn의 StandardScaler를 사용하여 더 편리하게 데이터를 정규화할 수 있다.

정규화를 하기 위해서 사용되는 객체는 StandardScaler, MinMaxScaler, RobustScaler 세 종류가 있다. 각각 차이점이 존재한다. 그 차이점은 이 사이트를 참고하면 좋을 것같다.
StandardScaler는 표준화에서도 정규화에서도 쓰이는 것으로 보이는데, StandardScaler는 평균 0, 표준편차 1 기준 정규화하는 방법을 사용한다. 이것은 표준화의 개념에 더 가깝다고 생각한다.



정리하자면, 표준화는 평균과 표준 편차에 의존하고, 정규화는 최솟값과 최댓값에 의존한다는 점에서 차이가 있다. 전혀 다른 방법은 아니지만 약간의 차이가 있다. 어떤 방법을 선택할지는 데이터와 상황에 따라 다를 수 있다.

0개의 댓글

관련 채용 정보