1. 데이터 전 처리의 역할

  • 머신러닝의 입력 형태인 수치형 자료로 데이터 변환 (특성 엔지니어링)
  • 결측값 및 이상치를 처리하여 데이터 정제
  • 학습용 및 평가용 데이터 분리

 

2. 범주형 자료 전 처리

2.1 명목형 자료 변환

1) 수치 맵핑 변환

  • 일반적으로 범주 0, 1로 맵핑
  • (-1, 1), (0,100) 등 다양한 케이스가 있지만 모델에 따라 성능이 달라질 수 있음
  • 3개 이상인 경우 수치의 크기 간격을 같게 하여 수치 맵핑

2) 더미(Dummy) 기법

  • 각 범주를 0 or 1로 변환

2.2 순서형 자료 변환

1) 수치 맵핑 변환

  • 수치에 맵핑하여 변환하지만, 수치 간 크기 차이는 커스텀 가능
  • 크기 차이가 머신러닝 결과에 영향을 끼칠 수 있음

 

3. 수치형 자료 전 처리

3.1 스케일링(Scailing)

  • 변수 값의 범위 및 크기를 변환하는 방식
  • 변수 간의 범위 차이가 클 경우 사용

1) 정규화 (Normalization)

  • 데이터를 특정 구간으로 바꾸는 척도법 (ex. 0~1 or 0~100)
  • 데이터 군 내에서 특정 데이터가 가지는 위치를 볼 때 사용
  • 주기를 가지는 데이터의 경우 과거에 비해 현재 데이터의 위치가 어느정도 인지 파악하기 좋음

2) 표준화 (Standardization)

  • 데이터를 0을 중심 양쪽으로 데이터를 분포시키는 방법
  • 각 데이터들이 평균을 기준으로 얼마나 떨어져 있는지 볼 때 사용
  • 변환된 데이터는 진폭의 감소로 각 데이터들의 간격이 감소

3.2 범주화

  • 변수의 값보다 범주가 중요한 경우 사용
  • 회귀 분석에서 분류 분석으로 문제를 변형하고 싶을 때 사용
  • ex) 평균 이상 = 1, 평균 미만 = 0 으로 변환

 

4. 데이터 정제 및 분리

4.1 결측값 처리

  • 일반적인 머신러닝 모델의 입력 값으로 결측값을 사용할 수 없으므로 결측값 처리 필요
  • Null, None, NaN 등으로 표현
1) 결측값이 존재하는 샘플 삭제
2) 결측값이 많이 존재하는 변수 삭제
3) 결측값을 다른 값으로 대체

4.2 이상치 처리

  • 이상치 존재시 모델의 성능 저하
  • 이상치는 일반적으로 전 처리 과정에서 제거
  • 이상치를 판단하는 기준이 중요
1) 통계 지표(카이제곱 검정, IQR 지표 등)을 사용하여 판단
2) 데이터 분포를 보고 직접 판단
3) 머신러닝 기법을 사용하여 이상치 분류

4.3 데이터 분리

  • 머신러닝 모델의 평가를 위해 학습에 사용되지 않은 평가용 데이터가 필요하므로 데이터 분리
  • 약 7:3 ~ 8:2 비율로 [학습용 데이터 : 평가용 데이터] 분리
  • 지도학습의 경우 feature 데이터와 label 데이터를 분리하여 저장
* Feature 데이터 : label을 예측하기 위한 입력 값
* Label 데이터 : 예측해야 될 대상이 되는 데이터

+ Recent posts