IQR Score를 활용한 Outlier 탐지

ljho01·2022년 8월 2일
0

인공지능트랙

목록 보기
1/6

Boxplot

수염상자그림 https://towardsdatascience.com/understanding-boxplots-5e2df7bcbd51

boxplot 그림 만들기

df.boxplot(column='columnname', by='columnname')

quartile 계산

  • describe 메소드로 가능하다. 최소, 최대, 평균, 분산 등이 나온다.
df.['columnname'].describe()
  • quantile 메소드 사용하기.
df.['columnname'].quantile(percentage) 기본입력은 0.5

median 계산

df.['columnname'].median()

개수가 적어 애매하게 걸린다면?
위 아래 두 값을 평균내어 사용한다.
예를 들어 a[1]~ a[6]까지면 a[3], a[4]의 평균을 median으로 사용

IQR(Interquartile range)

그림에서 보이는 대로
upper quartile과 lower quartile의 차이를 IQR이라고 한다.

whisker

이 IQR값에 1.5를 곱해 더하면 whisker들이 만들어진다. 그 바깥은 outlier라고 취급한다.
만약 min, max보다 whisker가 바깥에 있다면 그냥 min, max까지를 whisker라고 여긴다.

IQR을 이용하여 outlier를 찾는 경우 정규분포의 경우엔 0.7%정도가 outlier가 된다.
근데 정규분포가 아닐 때는 그렇지 않으니 조심해야 한다.

log로 데이터 스케일링

두 열을 가지고 jointplot을 만들 때 한쪽의 스케일이 너무 클 경우
np.log(열)을 이용해 로그를 씌워준다.

0개의 댓글