Preprocessing - Dealing with Outliers, Missing values

Coaspe·2021년 11월 2일
0

Data Science

목록 보기
3/5

Outlier

1. Definition

  • 이상치로 모델의 학습에 있어서 혼란을 일으킬 수 있는 데이터, 통계적으로는 다른 observations과 거리가 있는 observation을 말한다.
  • 물리적으로 불가능하다면 제거해야하고 가능하다면 고려해야한다.

2. Cause

  • Data Collection & recording errors
  • Variance in the data

3. Identifying

  • Visualization method(boxplot...)
  • Z-score method
  • IQR method

4. Handling

1. Dropping them

  • 확인된 이상치들을 제거한다.
  • 통계적으로 유의미 할 수도 있는 데이터를 지울 우려가 있다.

2. Marking the Outliers

  • 따로 column을 만들어 표시해둔다.

3. Rescaling the data

  • np.log(), normalization 같은 함수를 사용하여 rescaling한다.

4. Double check them

  • Mean, Median과 같은 값으로 변경한다.

Missing

1. Definifion

  • 간단하다 NaN 같은 값들 즉, 비어있는 값들을 의미한다.

2. Handling

1. Do Nothing

  • 아무것도 하지 않고 알고리즘이 알아서 Missing values를 처리하게 둔다.

2. KNNImputer

  • KNNImputer와 같은 Imputer를 사용하면 원하는 인접 이웃 수의 가중 또는 가중 평균을 사용하여 Missing values를 replace한다.
  • 다른 방법들 보다 훨씬 정확한 결과를 얻어낼 수 있지만, source를 많이 차지하고 outlier에 민감하다.

3. Imputation Using Mean/Median Values

  • 각각 column의 정상값들의 Mean/Median을 계산하고 해당 column의 Missing values를 그 값으로 대체한다.
  • 쉽고 빠르지만 정확하지 않고 불확실하다.

4. Imputation Using Most Frequent or Zero/Constant Values

  • 최빈값으로 Missing values를 채우는 방법이다.
  • categorical variables에도 사용할 수 있다.
  • 변수 간 상관관계를 고려하지 않고 데이터의 bias를 만들어낼 수 있다.

5. Imputation Using Deep Learning

  • categorical variable에도 잘 작동하고 CPU, GPU 둘다 지원한다.
  • 매우 정확하지만 single column imputation이고 데이터 사이즈가 크면 오래걸린다.
  • Missing values를 채워넣을 target colunm과 correlation이 높거나, target column의 정보를 포함하고 있는 다른 columns를 직접 지정해주어야 한다.
profile
https://github.com/Coaspe

0개의 댓글