데이터 전처리 및 스케일링 방법: SVM, 신경망 최적화
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

데이터 전처리 및 스케일링 방법

카테고리

데이터 과학/AI

서브카테고리

데이터 분석

대상자

  • 데이터 과학자, 머신러닝 엔지니어
  • 중간 난이도: 스케일링 기법의 원리와 알고리즘별 적용 방법 이해 필요

핵심 요약

  • 스케일링은 SVM, 신경망 등에 민감한 알고리즘의 성능 향상에 필수적
  • StandardScaler: 평균 0, 분산 1로 조정 (예: StandardScaler().fit_transform(data))
  • RobustScaler: 중앙값과 사분위수로 이상치 영향 최소화
  • MinMaxScaler: 0~1 범위로 조정, 정규화는 유럽clidean 길이 1로 변환

섹션별 세부 요약

1. 스케일링의 필요성

  • 신경망, SVM, PCA 등은 데이터 범위에 민감
  • 특성 간 스케일 차이로 인해 중요도 판단 오류 발생 (예: 키 150~190cm vs 체중 40~90kg)
  • 이상치(예: 측정 오류)로 인한 모델 불안정 방지 필요

2. StandardScaler 동작 원리

  • 평균 0으로 중심화: 데이터 - 평균
  • 분산 1로 스케일링: 중심화된 데이터 / 표준편차
  • 예시: 키 평균 170cm → 180cm → 10 → 표준편차 10 → 1

3. RobustScaler의 특징

  • 중앙값과 사분위수 사용: 이상치에 강건
  • 표준편차 대신 IQR(사분위수 범위)으로 스케일링
  • 측정 오류, 극단적 값 무시

4. MinMaxScaler 및 정규화

  • MinMaxScaler: 0~1 범위로 조정 (예: (X - X.min()) / (X.max() - X.min()))
  • 정규화: 유럽clidean 길이 1로 변환 (X / np.linalg.norm(X, axis=1))
  • 방향만 중요한 경우 (예: 텍스트 임베딩)에 유리

결론

  • 알고리즘 특성에 맞는 스케일러 선택: 신경망 → StandardScaler, 이상치 많음 → RobustScaler
  • scikit-learn 라이브러리 활용: from sklearn.preprocessing import StandardScaler, RobustScaler
  • 데이터 분포 분석 후 적용: 스케일링 전 결측치 처리 및 이상치 탐지 필수