머신러닝이나 데이터 분석을 하기 전에 꼭 필요한 과정이 **데이터 전처리(Data Preprocessing)**인데, 그중에서도 결측값, 중복값, 이상치 처리는 대표적인 핵심 단계입니다
🔹 1. 결측값(Missing Values) 처리
데이터에 값이 빠져 있는 경우. (NaN, 빈칸, NULL 등)
✅ 원인
- 설문 응답 누락
- 센서 오류
- 데이터 수집 과정에서 손실
✅ 처리 방법
- 삭제
- 결측값이 적고, 무작위라면 해당 행/열 삭제
- 예: df.dropna()
- 대체(Imputation)
- 평균, 중앙값, 최빈값으로 대체
- 선형 보간법(interpolation)으로 추정
- 머신러닝 기반 대체(KNN, MICE 등)
- 별도 범주 처리
- 범주형 데이터라면 "Unknown" 같은 새로운 범주 추가
🔹 2. 중복값(Duplicates) 처리
동일한 데이터가 여러 번 기록된 경우.
✅ 원인
- 중복 수집 (예: 크롤링 시 같은 데이터 두 번 저장)
- 데이터 통합 과정에서 중복 발생
✅ 처리 방법
- 완전 중복 제거
- 행 전체가 같은 경우 → df.drop_duplicates()
- 부분 중복 처리
- 일부만 중복일 경우 → 우선순위 기준으로 하나만 남김
- 예: 최신 데이터만 유지, 평균값으로 통합
🔹 3. 이상치(Outliers) 처리
일반적인 데이터 분포와 크게 벗어난 값.
✅ 원인
- 입력 오류 (ex: 키 180cm인데 1800cm로 입력)
- 측정 기기 오류
- 실제로 특이한 사례 (ex: 연봉 데이터에서 억대 연봉자)
✅ 탐지 방법
- 통계적 방법
- Z-Score (평균에서 몇 표준편차 떨어졌는지)
- IQR(사분위 범위): Q1 - 1.5×IQR 이하, Q3 + 1.5×IQR 이상
- 시각화
- 박스플롯(Box Plot), 산점도(Scatter Plot)
- 머신러닝 기반
- Isolation Forest, DBSCAN, LOF(Local Outlier Factor)
✅ 처리 방법
- 삭제 → 극단적인 오류라면 제거
- 변환 → 로그 변환, 정규화
- 대체 → 중앙값이나 평균으로 교체
- 분리 분석 → 실제 중요한 특이 사례라면 별도로 분석
📌 정리
- 결측값 → 삭제 / 평균·중앙값 대체 / 예측 기반 대체
- 중복값 → 완전 중복 삭제 / 부분 중복은 규칙에 따라 통합
- 이상치 → 탐지 후 삭제·대체·변환 or 별도 분석
👉 즉, 전처리의 핵심은 "데이터를 최대한 깨끗하고 일관성 있게 만드는 것"이에요.
'AI 엔지니어준비' 카테고리의 다른 글
| 데이터 테이블에서 표준편차를 볼때 (1) | 2025.08.18 |
|---|---|
| EDA란? (1) | 2025.08.18 |
| 선형대수학이 머신러닝에 필요한 이유 (7) | 2025.08.18 |
| pandas describe()에 대해 (1) | 2025.08.14 |
| 컴퓨터 관점으로본 5,[5]의 백터 (4) | 2025.08.13 |