머신러닝 모델링에서 데이터 전처리는 단순히 데이터를 정리하는 수준이 아니라, 모델 학습 결과와 성능을 좌우하는 핵심 과정입니다. 특히 결측치(Missing Values), 이상치(Outliers), 중복값(Duplicates) 처리는 데이터 품질을 높이기 위한 연속적인 작업입니다.

1. 결측치(Missing Values) 처리: 비어있는 퍼즐 조각 채우기

데이터 분석 초기에는 값이 비어 있는 경우를 먼저 확인해야 합니다.

확인 방법

  • df.isnull().sum(): 컬럼별 결측치 개수 확인
  • 히트맵 시각화: 결측치 분포 파악

처리 방법

  • 제거: 결측치 비율이 매우 높은 컬럼(예: 90% 이상) 삭제
  • 대체:
    • 최빈값(Mode): 범주형 변수, 정수형 카운트 변수
    • 평균/중앙값: 연속형 변수

주의할 점은 평균 대체 시 이상치가 있으면 평균이 왜곡될 수 있다는 점입니다.

2. 이상치(Outliers) 처리: 튀는 퍼즐 조각 바로잡기

이상치는 값은 존재하지만 일반적인 데이터 패턴에서 크게 벗어난 값입니다.

확인 방법

  • df.describe(): 최소/최대/평균/표준편차 기반 점검
  • Boxplot: 극단값 탐지

판단 기준

  • 도메인 지식: 현실적으로 불가능하거나 비정상적인 값
  • 통계 기준(IQR): Q1 - 1.5*IQR 미만 또는 Q3 + 1.5*IQR 초과

처리 방법

  • 제거: 왜곡이 큰 경우
  • 변환: 로그 변환 등으로 분포 안정화
  • 대체: 중앙값 등으로 치환

이상치를 먼저 다루지 않으면 결측치 대체 기준(평균 등)이 왜곡될 수 있으므로, 일반적으로 이상치 점검을 먼저 병행하는 것이 안정적입니다.

3. 중복값(Duplicates) 처리: 겹치는 퍼즐 조각 정리

중복값은 동일 데이터가 반복되어 특정 패턴을 과도하게 학습하게 만들 수 있습니다.

확인 및 제거

  • df.duplicated(): 중복 여부 확인
  • df.drop_duplicates(): 중복 행 제거

중복 데이터는 샘플 수를 부풀려 보이게 하지만, 실제 정보량은 늘리지 않기 때문에 제거가 필요합니다.

4. 세 가지 전처리의 연결성

세 작업은 서로 다른 문제가 아니라 같은 목표를 향합니다.

  • 결측치: 정보의 공백
  • 이상치: 패턴을 흔드는 노이즈
  • 중복값: 정보의 과잉 반복

이 세 가지를 함께 관리해야 데이터가 현실을 더 균형 있게 반영합니다.

5. 결론

데이터 전처리는 모델링의 준비 단계가 아니라 성능을 결정하는 핵심 단계입니다.

  • 결측치는 빈칸을 메우고,
  • 이상치는 왜곡을 줄이며,
  • 중복값은 불필요한 반복을 제거합니다.

세 과정을 유기적으로 처리할 때, 데이터는 모델이 학습하기 좋은 신뢰 가능한 재료가 됩니다.