EDA — 탐색적 데이터분석 (GeeksforGeeks)
Source: https://www.geeksforgeeks.org/data-analysis/exploratory-data-analysis-in-python/ Type: Article By: GeeksforGeeks Valid as of: 2026-04-26
핵심 Takeaway
- EDA는 데이터의 주요 특성을 통계·시각화로 요약하는 단계로, 머신러닝 모델 적용 전 필수
- 데이터 검사, 결측치·중복 제거, 단변량·이변량·다변량 분석 3계층 구조로 진행
- 판다스
df.shape,df.info(),df.describe().T로 데이터 기본 현황 파악 - 결측치는
isnull().sum(), 중복은duplicated().sum()으로 식별하고 제거 - 시각화: 막대 그래프(범주형) → 커널밀도(연속), 바이올린·박스플롯(분포) → 히트맵(상관)
- IQR(사분위간 거리) 기법으로 이상치 탐지; 히트맵에서 +1/-1 근처 강한 상관 식별
상세 요약
EDA 개요 및 핵심 개념
EDA는 데이터셋의 주요 특성을 통계량과 시각화로 요약하는 분석 기법이다. 머신러닝 모델을 적용하기 전 데이터의 패턴, 이상치, 결측치를 이해하는 데 필수적이다.
EDA의 중심 원칙:
- 8개 단계: Import → Load → 자료형 확인 → 불필요 컬럼 제거 → 컬럼명 정리 → 중복 제거 → 결측치 처리 → 이상치 탐지 → 시각화
- 각 단계에서 데이터 크기 및 구조 변화를 추적 (예: 11,914행 → 중복 제거 후 9,191행)
데이터 품질 검사
라이브러리 임포트:
pandas,numpy: 데이터 조작matplotlib,seaborn: 정적 시각화plotly: 대시보드형 인터랙티브 플롯
기본 현황 파악:
df.shape: 행/열 개수df.info(): 자료형, 결측치 개수df.describe().T: 통계 요약(평균, 표준편차, 사분위수)
결측치 & 중복:
df.isnull().sum(): 각 컬럼별 결측치 개수 (예: 99개)df.duplicated().sum(): 완전 중복 행 개수 (예: 989개)
이상치 탐지 (Outlier Detection)
IQR 기법 (Interquartile Range):
- 사분위수 Q1(25%), Q3(75%) 계산
- IQR = Q3 - Q1
- 하한: Q1 - 1.5 × IQR, 상한: Q3 + 1.5 × IQR
- 범위 밖의 값이 이상치로 표기됨 (예: 약 1,600개 행 식별)
시각화 기법 4단계
1단계 — 단변량 분석 (Univariate):
- 막대 그래프: 범주형 변수 분포
- 커널밀도플롯(KDE): 연속변수 패턴
- Swarm plot: 개별 값 분포 및 이상치
2단계 — 이변량 분석 (Bivariate):
- Pair plot: 모든 변수 쌍의 분포 및 산점도
- 바이올린플롯: 범주 간 연속변수 분포 비교
- 박스플롯: 중앙값, 사분위수, 이상치 시각화
3단계 — 다변량 분석 (Multivariate):
- 상관 히트맵: 모든 수치형 변수 간 관계
- +1에 근접: 강한 양의 상관
- -1에 근접: 강한 음의 상관
- 0 근처: 상관 없음
선행 개념
이 개념을 배우기 전에 필수로 알아야 할 것:
- Module 1-3 → python-venv-poetry-conda-leapcell: pandas, matplotlib, seaborn 라이브러리 설치
- 왜?: EDA는 이 도구들을 실제로 사용하므로, 먼저 환경설정으로 이들을 설치해야 함
- 기본 파이썬: 변수, 리스트, 딕셔너리, 반복문 등
후속 개념 (이 개념이 선행)
이 개념을 배운 후 다음 단계:
- Module 2-3 → data-visualization-3-layer-guide: EDA의 시각화 부분을 심화
- 이 소스: EDA의 8단계 프로세스 전체 (로드 → 전처리 → 시각화)
- 다음 단계: 시각화의 3계층(단변량 → 이변량 → 다변량) 설계 기법 심화
- Module 3 (ML) 진행 시: 정제된 데이터로 Decision Tree 등 모델 학습
- 이 소스에서 수행한 EDA가 모델 성능의 기반이 됨
연결되는 위키 페이지
- exploratory-data-analysis-eda — EDA 개념 정의 및 학습 목표 매핑
- pandas-dataframe — 판다스 DataFrame 도구
- matplotlib-seaborn — 시각화 라이브러리