A. 금일 학습내용

1-1. 이상치 탐색

- IQR (Interquartile Range) : 데이터의 중간 50% 범위인 IQR을 사용하여 이상치를 정의하고 탐지

- 데이터 분포의 중심적 경향과 분산에 영향을 받지 않으며, 데이터 상위 25%와 하위 25%사이의 범위를 계산한다.

- 데이터의 IQR를 계산하고, 이에 1.5배를 사용하여 상위 및 하위 한계를 정의한다.

- 해당 범위를 벗어나는 데이터 포인트를 이상치로 간주한다.

IQR 를 나타낸 Boxplot

- 이상치 탐색 이유

1) 데이터 오류 탐지: 데이터 입력 오류, 시스템 오류, 잘못된 측정 등의 이유로 발생한 이상치를 감지하고 제거함으로써 데이터의 정확성과 신뢰성을 높일 수 있다.

- 예측 모델 정확도 향상: 이상치는 예측 모델에 영향을 미칠 가능성이 있어 이를 제거하거나 대체하여 모델의 성능을 향상시킬 수 있다.

1-2. 이상치 처리

- df.drop(columns), df.drop(인덱스 리스트), df.dropna() : 컬럼삭제, 해당 인덱스 리스트 행삭제, 결측치가 있는 행 삭제

- df.drop_duplicates() : 중복행 삭제

- 해당 컬럼은 int data type으로 이루어지도록 데이터를 처리한다.

- IQR를 구하여 이상치 기준을 세우는 코드는 위와 같다.

2. 시각화

- seaborn 라이브러리, matplotlib.pyplot 라이브러리, misiingno 라이브러리를 사용하여 결측치를 시각화 할 수 있다.

- 위의 코드를 활용하여 시각화를 하면 아래와 같은 결과가 도출된다.

- 이상치가 존재함을 분명히 알 수 있다.

B. 마무리

결측치 및 이상치를 처리하는 방법은 데이터 분석가의 능력이라 한다. pandas를 활용하여 각 컬럼별로 데이터를 분석하고 이를 탐색, 분석하여 데이터에서 좋은 인사이트를 도출할 수 있는 사람이 되고 싶다.

+ Recent posts