이상치 제거하기
먼저 이상치를 제거해줄 데이터에 대해 박스플롯을 찍어 봅니다.
저는 총 세 개의 데이터에 대해 이상치 제거를 해줄 것이므로 박스플롯을 세 번 찍어 주겠습니다.
여기서는 seaborn의 boxplot을 사용해 주었습니다. 컬러는 레드를 넣었습니다.
빨간색 박스가 아래 배치되어 있고 그 위로 수 많은 마름모 모양의 이상치들이 존재하는 걸 확인할 수 있습니다.
두 번째 데이터에 대해 박스플롯을 찍어봅니다.
이번에 박스 컬러를 옐로우로 넣었습니다.
역시 노란색 박스 위로 이상치들이 무수히 많이 존재하는 걸 확인할 수 있습니다.
마지막 데이터도 박스플롯을 찍어봅니다.
이번엔 컬러를 그린으로 주었습니다.
위, 아래로 이상치들이 존재하는 걸 확인할 수 있습니다.
다음 이상치를 제거할 함수를 하나 만들어보겠습니다.
먼저 numpy를 불러옵니다.
그리고 4분의 3에서 4분의 1지점을 빼준 iqr을 계산해준 뒤
lower_bound, upper_bound를 계산하는 식에 넣어줍니다.
데이터가 upper_bound보다 크거나 lower_bound보다 작을 경우를 return해줍니다.
(해당 함수의 이해를 돕기 위해 바로 아래에 그림을 첨부합니다.)
다음 이상치를 제거해줄 데이터들을 정의해준 함수에 차례대로 넣습니다.
각각 데이터들의 이상치에 대해 확인합니다.
그리고 concatenate함수를 이용해 이 (array형태의) 세 함수를 합쳐줍니다.
이상치의 총 개수도 print해줍니다.
for문을 이용해 이상치가 아닌 index를 lead_not_outlier_index에 넣어줍니다.
인덱스를 리셋해준 후 출력해줍니다.
이상치가 모두 제거되었습니다.
'데이터' 카테고리의 다른 글
엑셀 기초 - Vlookup함수와 Hlookup함수 (0) | 2020.09.16 |
---|---|
파이썬 실습 - 결측치(null) 처리하기 (0) | 2020.09.16 |
파이썬 실습 - '민간 아파트 가격동향' 데이터 전처리 (0) | 2020.09.16 |
파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수(2) (0) | 2020.09.16 |
파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수 (0) | 2020.09.16 |