서론
머신러닝, 혹은 딥러닝의 학습에 있어 가장 중요한것은 데이터의 양과 질입니다. 데이터의 질을 개선하는데에는 여러가지 방법이 있겠지만, 편향되거나 너무 크거나 너무 작은 데이터를 제거하는것이 일반적인 방법입니다.
데이터에 따라 적용되는 기법은 여러가지가 있으며, 데이터의 분포와 형태 또한 고려해야합니다.
본 문서는 kaggle의 Outlier “detection methods!” 라는 글을 읽고 학습하며 정리한 글입니다.
import numpy as np
import pandas as pd
import seaborn as sns
from matplo
tlib import pyplot as plt
from collections import Counter
%matplotlib inline
Tukey's IQR method
- 분포에 대한 가정을 하지 않기 때문에 편향되거나, non bell shape distribution(정규분포와 유사한 분포)에서 이상치를 탐지하는데에 사용될 수 있다. 그러나, 작은 사이즈의 데이터에서 사용하는것은 적절하지 않다.
Standard deviation method
- 데이터의 분포가 정규분포, 혹은 정규분포와 유사한 형태일때 표준편차를 이용해 이상치를 제거할 수 있다.
- 그러나 이상치가 표준편차를 극단적으로 늘리기 때문에, 이상치가 극단적일수록 표준편차가 영향을 받는 경향이 있다.
Z-score method
- Z- score은 평균이 0인 새로운 데이터 셋으로 변환하고, 중심에서 떨어진 지점의 데이터를 찾는다.
- 앞선 standard deviation method와 유사하나, 데이터가 정규분포를 따른다고 가정할때 만 유효하다.
- 앞선 방법의 단점이 그대로 적용되어 z-score은 극단적인 값의 영향을 받는다.
Modified z-score
- 앞서 z-score가 극단적인 값에 영향을 많이 받는다는 단점을 해결하고자 MAD를 고려한 수정된 계산식을 사용.
- 표준편차와 분산의 측정에 영향을 덜 미치도록 고안되었으며, 데이터가 정규분포를 따르지 않을수록 더욱 유효한 추론이 된다. → 정규분포를 따를 때에는 표준편차를 이용한 분석이 유효하다.
Isolation Forest