Python/[코칭스터디 10기] Beyond AI Basic

[쇼핑데이터를 활용한 머신러닝] 5. 정형 데이터 전처리 (2)

김초송 2023. 5. 8. 18:02

3) 결측치 처리

- Pattern 파악

  1. Random -> 단변량, 다변량 기법 사용
  2. Rule -> 데이터를 직접보고 파악

Rule

- Univariate

  • 결측치 패턴이 랜덤한 경우 변수를 사용해서 결측치를 채우는 방법
  1. 제거
    1. 변수 제거
      : 해당 변수의 결측치 비율이 클 경우 사용
    2. 데이터 포인트 제거
      : 데이터가 충분히 많지 않으면 X
  2. 평균값 삽입
  3. 중위값 삽입
  4. 상수값 삽입

문제점 예시

  • 문제점
    : 상관계수가 1인 데이터에 결측치를 평균으로 채움
    -> 오른쪽 아래처럼 분포 망가짐
    결측치가 많은 상태에서 결측치를 채우면 target 과 상관관계가 많이 떨어짐

- Multivariate

  1. 회귀분석
    • 머신러닝 모델을 사용해서 주변 변수들의 값을 이용해 결측치 예측
  2. KNN nearest
    • 결측치가 가진 sample 과 가장 유사한 sample 의 값으로 결측치 넣음
  • 단변량 보다는 분포, 상관관계가 훨씬 잘 보존
  • 데이터 크기가 크다면 시간이 많이 소모
  1. 합리적 접근법
    • 변수 간의 의미를 보고 합리적으로 결측치 채움

합리적 접근법

 

4) 이상치 처리

  • 일반적인 데이터와 크게 다른 데이터
  • 모델 성능에 크게 영향을 미칠 수 있음
  • 영향 : 선형모델 > 트리모델

- 이상치 탐색

  1. Z-Score
  2. IQR

- 이상치 처리 관점

  1. 정성적인 측면
    • 이상치 발생 이유
    • 이상치 의미
  2. 성능적인 측면
    • Train Test Distribution
      : test 데이터에도 이상치가 있다면 train 에서 제거하면 X