데이터 시각화: 3계층 아키텍처 (단변량→이변량→다변량)
Source: raw/articles/2026-04-26-data-visualization-3-layer-matplotlib-seaborn.md Type: article By: Real Python + Towards Data Science Valid as of: 2026-04-26
핵심 Takeaway
- 3계층 시각화: 단변량(개별 분포) → 이변량(관계) → 다변량(패턴)
- 단변량 도구: 히스토그램·KDE·박스플롯·바이올린 — 분포·이상치 파악
- 이변량 도구: 산점도·라인플롯·히트맵·조건부 분포 — 상관성·추세 파악
- 다변량 도구: 페어플롯·3D·등고선·회귀선 — 군집·상호작용 발견
- 포트폴리오: 30-40개 시각화로 구성된 완전한 EDA (단변량 5개→이변량 5개→다변량 3개)
학습 목표 연계
Lecture Plan 2026 — 2-3: 시각화 3계층 설계 (Bloom L6-Create)
| 학습목표 | 증거 | 상태 |
|---|---|---|
| Behavior: 단변량→이변량→다변량 3계층 설계 | 3계층별 10개 차트 유형 상세 설명 | ✅ |
| Condition: matplotlib/seaborn 라이브러리 | 모든 예제가 matplotlib/seaborn 코드 포함 | ✅ |
| Degree: 각 계층의 목적에 맞는 차트 선택 | 선택 기준 의사결정 트리 + 포트폴리오 구성 | ✅ |
내용 구성
1. 3계층이 필요한 이유
- EDA의 자연스러운 흐름
- 각 계층의 역할: 분포→관계→패턴
2. 계층 1: 단변량 시각화
- 히스토그램: 연속형 분포, 도수
- KDE: 부드러운 확률밀도함수
- 박스플롯: 사분위수, 중앙값, IQR, 이상치
- 바이올린 플롯: 분포의 형태까지 표현
- 해석 포인트: 평균, 범위, 치우침, 이상치
3. 계층 2: 이변량 시각화
- 산점도: 연속×연속 (상관성)
- 라인 플롯: 시계열 또는 순서 데이터
- 히트맵: 상관계수 행렬
- 바이올린+스트립: 카테고리×연속
- 조건부 분포: FacetGrid로 조건별 비교
- 해석 포인트: 양의/음의 상관, 비선형, 상호작용
4. 계층 3: 다변량 시각화
- 페어플롯: 모든 변수 쌍의 관계
- 3D 산점도: 3개 연속형 변수
- 등고선/Hexbin: 2개 변수의 밀도
- 회귀선: 추세와 신뢰도 구간
- 색상/크기/투명도: 3-4번째 변수 인코딩
5. 실전 예제: 고객 분석
- 3계층을 모두 포함한 9개 차트 통합 대시보드
- 각 시각화의 목적과 해석 설명
6. 시각화 선택 기준
- 변수 개수 기준 (1개 vs 2개 vs 3+개)
- 데이터 타입 기준 (연속형 vs 범주형)
- 의사결정 트리로 체계적 선택
7. 포트폴리오 작성 가이드
- ✅ 좋은 EDA: 단변량 5개→이변량 5개→다변량 3개 구성
- ❌ 피해야 할 것: 3D 파이, 가독성 낮은 색상, 범례 누락
8. 마지막 팁
- 각 차트에 명확한 제목, 축 레이블, 범례
- 통계 요약 (평균, 중앙값, 표준편차)
- 주요 발견사항 5개 정리
관련 개념
- exploratory-data-analysis-eda — EDA 8-9단계 프로세스
- matplotlib-seaborn — matplotlib·seaborn 도구 엔티티
다른 Module 2 학습목표와의 연계
- 2-1 eda-exploratory-data-analysis-geeksforgeeks — 8단계 EDA 프로세스
- 2-2 outlier-detection-iqr-zscore-medium — 이상치 탐지 (박스플롯의 IQR과 연결)
- 2-3 data-visualization-3-layer-guide ← 현재 문서 (시각화 3계층)
실전 구현 체크리스트
- 샘플 데이터셋 로드 (11,000+ 행 권장)
- 단변량: 각 변수별 히스토그램 + 박스플롯
- 이변량: 주요 변수 쌍의 산점도 (5개 이상)
- 다변량: 페어플롯 또는 3D 시각화
- 포트폴리오 구성: 30-40개 차트 통합
- 각 차트에 제목, 축 레이블, 범례 추가
- 통계 요약 표 작성 (평균, 중앙값, 표준편차)
- 발견사항 5개 문장으로 정리
- PDF 또는 HTML로 내보내기
자주하는 실수와 해결책
| 실수 | 원인 | 해결책 |
|---|---|---|
| 한 변수만 시각화 | 단변량에만 집중 | 이변량·다변량까지 진행 |
| 너무 많은 차트 | 모든 쌍을 시각화 | 페어플롯으로 축약 |
| 범례 없음 | 급하게 작성 | 모든 색상·기호에 범례 추가 |
| 폰트 너무 작음 | figsize 설정 누락 | figsize=(12, 8) 이상 사용 |
| 3D 파이 차트 | 예쁘다고 생각 | 2D 막대 또는 도넛 차트 대체 |
선행 개념
이 개념을 배우기 전에 필수로 알아야 할 것:
- Module 2-1 → eda-exploratory-data-analysis-geeksforgeeks, eda-python-tds-prabhu: EDA의 전체 8-9단계 프로세스
- 왜?: 이 소스는 EDA 프로세스의 “시각화” 부분을 특화하고 심화함
- 예: 데이터 정제까지 완료했다는 가정 하에 시작
- Module 1-3: pandas, matplotlib, seaborn 환경 설정
후속 개념 (이 개념이 선행)
이 개념을 배운 후 다음 단계:
- Module 3-1 → decision-tree-gini-entropy-tds: EDA 결과를 바탕으로 Decision Tree 모델 선택
- 예: “데이터 분포 분석 결과, 특정 변수가 강한 분류 신호를 보임” → 이를 Decision Tree의 분할 기준(Gini/Entropy)과 연결
- Module 7-1 (Mini-project): 포트폴리오에 3계층 시각화 포함
추천 학습 경로
- 이 자료로 기초 학습 (1시간)
- Kaggle EDA 노트북 5개 모방 (2시간)
- 자신의 데이터셋으로 실습 (3시간)
- 포트폴리오 작성 (2시간)
- 동료 리뷰 및 피드백 (1시간)
총 투자 시간: 9시간 → 완전한 EDA 실력 습득