Python/Basic Data Analysis

[Python Data Analysis]IQR을 사용하여 이상치 제거하기_Boxplot, Histogram

sohyunkimmm 2023. 1. 10. 22:53
728x90

* 이상값(Outlier)

- 정상적인 범위 밖에 있는 너무 작은 값, 너무 큰 값

- 이상값이 1개라도 있으면 전체 분석에 큰 영향을 주게 됨

 

* IQR방법

- 사분위범위수(IQR)를 사용하여 이상값을 찾는 방법

- IQR = Q3(제3사분위수) - Q1(제1사분위수)

- Q1 - 1.5*IQR 보다 작거나, Q3 + 1.5*IQR보다 큰 경우 이상값으로 판단

사진출처: kdnuggets.com

 

 

 

1. 데이터파일 불러오기 

- .read_csv(""): 파일 불러오기분석에 필요한 csv파일을 구글 드라이브 마운트를 하여 가져오기

.read_csv("")

 

 

2. 이상치 찾기_Boxplot

- boxplot(column=, return_type=)

- boxplot을 통해 이상치 시각화해보기

boxplot그려보기

 

 

3. 이상치 찾기_히스토그램

- .hist()

- 히스토그램을 통해 이상치 시각화해보기

.hist()

 

 

4. IQR값 구하기

- .quantile(q=0.25): 1분위수(Q1)

- .quantile(q=0.75): 3분위수(Q3)

- IQR = Q3 - Q1

- 박스플롯 수염 안 범위= (Q1 - IQR*1.5) & (Q3 + IQR*1.5)

Q1, Q3, IQR구하기
이상치 제거하기
결과값 히스토그램

 

 

번외) 이상치만 뽑아보기

- IQR을 구하는 공식의 부등호 방향을 반대로 하면 이상치 구할 수 있음

- 해당 데이터에서는 Q3 위쪽에서만 이상치가 발견되었음

이상치 추출
이상치 히스토그램

728x90
반응형