A. 금일 학습내용
1-1. 이상치 탐색
- IQR (Interquartile Range) : 데이터의 중간 50% 범위인 IQR을 사용하여 이상치를 정의하고 탐지
- 데이터 분포의 중심적 경향과 분산에 영향을 받지 않으며, 데이터 상위 25%와 하위 25%사이의 범위를 계산한다.
- 데이터의 IQR를 계산하고, 이에 1.5배를 사용하여 상위 및 하위 한계를 정의한다.
- 해당 범위를 벗어나는 데이터 포인트를 이상치로 간주한다.
- 이상치 탐색 이유
1) 데이터 오류 탐지: 데이터 입력 오류, 시스템 오류, 잘못된 측정 등의 이유로 발생한 이상치를 감지하고 제거함으로써 데이터의 정확성과 신뢰성을 높일 수 있다.
- 예측 모델 정확도 향상: 이상치는 예측 모델에 영향을 미칠 가능성이 있어 이를 제거하거나 대체하여 모델의 성능을 향상시킬 수 있다.
1-2. 이상치 처리
- df.drop(columns), df.drop(인덱스 리스트), df.dropna() : 컬럼삭제, 해당 인덱스 리스트 행삭제, 결측치가 있는 행 삭제
- df.drop_duplicates() : 중복행 삭제
- 해당 컬럼은 int data type으로 이루어지도록 데이터를 처리한다.
- IQR를 구하여 이상치 기준을 세우는 코드는 위와 같다.
2. 시각화
- seaborn 라이브러리, matplotlib.pyplot 라이브러리, misiingno 라이브러리를 사용하여 결측치를 시각화 할 수 있다.
- 위의 코드를 활용하여 시각화를 하면 아래와 같은 결과가 도출된다.
- 이상치가 존재함을 분명히 알 수 있다.
B. 마무리
결측치 및 이상치를 처리하는 방법은 데이터 분석가의 능력이라 한다. pandas를 활용하여 각 컬럼별로 데이터를 분석하고 이를 탐색, 분석하여 데이터에서 좋은 인사이트를 도출할 수 있는 사람이 되고 싶다.
'Today I Learned' 카테고리의 다른 글
[내일배움캠프_데이터분석] 5주차 금요일 TIL _ 피벗테이블 (0) | 2024.07.26 |
---|---|
[내일배움캠프_데이터분석]5주차 목요일 TIL _ 가상환경 (0) | 2024.07.25 |
[내일배움캠프_데이터분석] 5주차 월요일 TIL _ EDA분석, 결측치 (0) | 2024.07.22 |
[내일배움캠프_데이터분석] 4주차 금요일 TIL _ pandas (0) | 2024.07.19 |
[내일배움캠프_데이터분석] 4주차 목요일 TIL _ 컴프리핸선 (0) | 2024.07.18 |