⊢MachineLearning

데이터 전처리(Data Cleaning)

최 수빈 2025. 3. 1. 00:54

 

데이터 전처리(Data Cleaning)

 

데이터 분석 및 머신러닝 모델링을 위해 데이터를 정리하고 준비하는 과정

 

원시 데이터(raw data)는 불완전하거나, 노이즈가 많거나, 형식이 일관되지 않아 직접 모델링에 사용하기 어려움

→ 데이터 전처리과정을 통해 데이터의 품질을 높이고, 분석 결과의 신뢰성을 확보

 

결측값 처리 데이터셋에서 누락된 값을 처리하는 작업
이상값 처리 데이터셋에서 비정상적으로 큰 값이나 작은 값을 처리하는 작업
중복 데이터 제거 동일한 데이터가 여러 번 나타나는 경우 이를 제거
데이터 타입 변환 데이터의 타입을 적절하게 변환하는 작업
데이터 정규화 데이터의 범위를 일정하게 맞추는 작업
인코딩 범주형 데이터를 수치형 데이터로 변환
샘플링 데이터셋의 크기를 줄이거나 늘리는 작업
특징 선택 및 추춟 모델 성능을 높이기 위해 중요한 특징을 선택하거나 새로운 특징을 추출

 

  • 데이터 품질 향상: 결측치, 이상치, 중복 데이터를 처리하여 데이터의 신뢰도를 높임
  • 모델 성능 향상: 적절한 스케일링, 정규화를 통해 모델의 학습 속도와 성능 개선 가능
  • 데이터 일관성 확보: 서로 다른 출처에서 수집된 데이터를 일관된 형식으로 변환
  • 특성 공학(Feature Engineering): 유용한 특성(Feature)을 생성하거나 변환하여 모델의 예측 성능을 향상

 

 

데이터 전처리의 주요 기법

 

결측치 처리 (Handling Missing Data)

결측치

데이터셋에서 누락된 값

→ 이를 적절히 처리하지 않으면 모델의 성능이 저하될 수 있음

  • 삭제 (Deletion): 결측치가 포함된 행 또는 열을 삭제
  • 대체 (Imputation): 평균, 중앙값, 최빈값 등으로 결측치를 대체
  • 예측 (Prediction-based Imputation): 다른 특성을 활용하여 결측치를 예측하고 채움

 

이상치 처리 (Handling Outliers)

이상치

데이터에서 비정상적으로 크거나 작은 값

→ 모델의 성능을 저하시킬 수 있음

  • 제거 (Removal): 이상치를 데이터셋에서 제거
  • 변환 (Transformation): 이상치를 다른 값으로 변환 (예: 상한선이나 하한선으로 대체)
  • IQR 방법 (Interquartile Range Method): 사분위수를 활용하여 이상치를 탐지하고 처리

 

데이터 정규화 (Normalization)

정규화

데이터를 일정한 범위로 스케일링하는 과정

주로 [0, 1] 범위로 변환

 

  • Min-Max 정규화
𝑿𝑛𝒐𝑟𝑚 = 𝑿𝑚𝑎𝑥 - 𝑿𝑚𝑖𝑛𝑿 - 𝑿𝑚𝑖𝑛
$$ X_{norm} = \frac{X - X_{min}}{X_{max} - X_{min}} $$

 

 

데이터 표준화 (Standardization)

데이터를 평균 0, 분산 1로 변환하는 과정

  • Z-점수 표준화
$$ X_{std} = \frac{X - \mu}{\sigma} $$

여기서 𝜇는 평균, 𝜎는 표준편차

 

 

특성 공학 (Feature Engineering)

데이터로부터 새로운 유용한 특성을 생성하는 과정

  • 특성 생성: 기존 데이터를 기반으로 새로운 특성을 생성 (예: 날짜 데이터를 사용하여 요일 특성 생성)
  • 특성 선택: 모델 성능에 중요한 특성을 선택하고, 중요하지 않은 특성을 제거

 

데이터 인코딩 (Data Encoding)

비정형 데이터를 모델이 이해할 수 있는 형태로 변환

  • 레이블 인코딩 (Label Encoding): 범주형 데이터를 숫자로 변환
  • 원-핫 인코딩 (One-Hot Encoding): 범주형 데이터를 이진 벡터로 변환

 

데이터 분할 (Data Splitting)

데이터를 학습용(train), 검증용(validation), 테스트용(test)으로 분할하여 모델의 일반화 성능을 평가

  • 학습 데이터 (Training Data): 모델 학습에 사용
  • 검증 데이터 (Validation Data): 모델 튜닝 및 성능 검증에 사용
  • 테스트 데이터 (Test Data): 최종 모델 평가에 사용