특성 스케일링의 중요성과 실천 방법 - 머신러닝 필수 기술
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

특성 스케일링의 중요성과 실천 방법

카테고리

데이터 과학/AI

서브카테고리

머신러닝

대상자

  • 머신러닝 초보자 및 실무자
  • 수치적 특성 전처리에 관심 있는 데이터 과학자
  • 모델 성능 최적화를 목표로 하는 개발자
  • 난이도: 중간 (기초 수학 지식 필요)

핵심 요약

  • 특성 스케일링모델 편향 방지, 거리 기반 알고리즘 성능 향상, 최적화 알고리즘 속도 개선에 필수적
  • StandardScalermean=0, std=1 (로지스틱 회귀, SVM 등에 적합)
  • MinMaxScaler0~1 범위 조정 (신경망, KNN 등에 적합)
  • RobustScaler외부값에 강한 스케일링 (IQR 기반)

섹션별 세부 요약

1. 특성 스케일링의 필요성

  • * 특성의 수치 범위 차이로 인한 모델 편향 예방 (예: 연령 vs 급여)
  • * 거리 기반 알고리즘 (KNN, SVM)의 정확도 향상
  • * 경사 하강법 등 최적화 알고리즘의 수렴 속도 개선
  • * 단위 차이로 인한 데이터 불일치 해결 (kg vs 미터)

2. 주요 스케일링 방법

  • StandardScaler
  • * 수식: z = (x - μ)/σ
  • * mean=0, std=1 조정 (로지스틱 회귀, PCA 등에 적합)
  • * 코드 예시: from sklearn.preprocessing import StandardScaler
  • MinMaxScaler
  • * 수식: X_scaled = (X - X_min)/(X_max - X_min)
  • * 0~1 범위로 조정 (신경망, KNN 등에 적합)
  • * 코드 예시: from sklearn.preprocessing import MinMaxScaler
  • RobustScaler
  • * IQR 기반 스케일링 (외부값에 강함)
  • * 코드 예시: from sklearn.preprocessing import RobustScaler

3. 스케일링 적용 시 주의사항

  • * Train/Test 분할 후 스케일링 적용 (데이터 누설 방지)
  • * 범주형 특성은 스케일링 제외 (수치형만 대상)
  • * 트리 기반 모델 (랜덤 포레스트, XGBoost 등)은 스케일링 필요 없음

결론

  • StandardScaler는 대부분의 모델에 적합하고, MinMaxScaler는 범위가 명확한 데이터에 효과적
  • 스케일링은 모델 성능 향상의 핵심 전처리 단계로, 반드시 Train/Test 분할 후에 적용해야 함
  • 외부값이 많은 경우 RobustScaler를 사용하고, 범주형 특성은 무시해야 함