누락 데이터(결측값) 처리
결측값 처리는 데이터 전처리 단계에서 매우 중요합니다. 대표적인 접근 방식은 다음과 같습니다.
| 접근 방식 | 개념 | 장점 | 단점 및 주의사항 |
|---|---|---|---|
| 삭제 (Drop) | 결측값이 포함된 행(row) 또는 열(column)을 제거하는 방법 | - 구현이 매우 간단함 - 잡음 제거 효과가 있음 | - 데이터 양이 감소하여 정보 손실 발생 - 중요한 변수(컬럼)를 잃을 수 있음 |
| 대체 (Impute) | 결측 위치를 추정값으로 채워 넣는 방법 | - 데이터 손실을 최소화 - 대부분의 모델에서 성능이 향상됨(데이터 보존) | - 노이즈나 편향 유입 가능성 존재 - 대체 방식 선택에 따라 결과가 달라질 수 있음 |
결측치 처리에는 완벽한 정답이 없으며, 각 방법마다 장단점이 분명합니다.
주요 대체 기법
- 기본값(default)으로 채우기
- 평균, 중앙값, 최빈값 등 통계량으로 채우기
- (고급) K-NN, 모델 기반 다중 대체 등 기법 활용
핵심 메시지
- 머신러닝에서는 일반적으로 데이터가 많을수록 성능이 좋으므로, 무작정 삭제는 최후의 선택이어야 합니다.
- 대체(Impute)를 할 경우, 노이즈 및 편향 위험을 항상 고려하고 다양한 방법을 실험해보는 것이 중요합니다.
B) 2. 피처 스케일링 (Feature Scaling)
서로 다른 범위·분포를 가진 피처들을 공통 스케일로 맞추어 모델 학습 안정성·속도·성능을 높이는 과정.
| 기법 | 수식 | 특징 | 사용 시점·주의 |
|---|---|---|---|
| 정규화 (Min-Max Scaling) | → [0, 1] 범위 | - 분포 형태는 유지 - 값이 0-1로 압축돼 직관적 | - 극단값(outlier)에 민감 - 트리류 모델에는 영향 적음 |
| 표준화 (Z-score Scaling) | → 평균 0, 표준편차 1 | - 정규분포 가정 모델(선형회귀, 로지스틱, SVM 등)에 적합 - outlier 영향 상대적으로 작음 | - 결과 해석 직관성 ↓ (단위가 사라짐) |
B.1.1) 언제 사용해야 할까?
- 피처 간 범위 차이가 클 때 (예: 나이는 0~100, 연소득은 수천만)
- 거리 기반(K-NN, K-Means), 경사하강법 기반(딥러닝, 선형모델 등) 알고리즘 활용 시
- 왜곡된 분포 때문에 학습에 어려움이 있을 때(→ 표준화 추천)
C) 실무 적용 팁
- 결측값 처리와 스케일링 단계를 파이프라인에 포함시켜, 학습/추론 시 일관되게 적용하세요.
- 반드시 결측치 처리를 스케일링보다 먼저 수행해야 수식 오류를 방지할 수 있습니다.
- 여러 방법을 교차 검증(Cross Validation)을 통해 비교 후 최적 방식을 선택하세요.
D) Categorical Features
For categorical features, we replace infrequent features (min_count=10) with a default “OOV” token. min_count=2 도 사용하기도 한다.
E) Numerical Features
숫자 데이터를 단순히 정규화하는 대신 다음과 같이 이산화(discretize)할 수 있습니다.
즉, 이면 로 변환하고,그 외에는 모두 1로 처리합니다.