이변량 분석이란?
두 변수 간에 관계가 존재하는지 확인하는 분석 단계
수치형 변수와 범주형 변수와의 관계를 파악해보기 !
- 수치형 변수: Age
- 범주형 변수: Survived (0/1)
“나이라는 숫자가 생존 여부라는 범주 결과와 관련이 있는가?”
숫자 -> 범주 시각화
📌 KDE Plot을 사용하는 이유
- 히스토그램보다 분포의 흐름을 부드럽게 표현
- 집단 간 분포 차이와 겹치는 구간을 직관적으로 확인 가능
숫자 -> 범주
sns.histplot(x='Age', data = titanic, hue = 'Survived')
plt.show()

- x축: Age (나이, 수치형 변수)
- y축: Count (해당 나이 구간에 속한 인원 수)
- 색상(hue):
- Survived = 0 → 사망자
- Survived = 1 → 생존자
- 전체 연령 분포 특징
- 전체적으로 20~40대 구간에 승객이 가장 많이 분포
- 특히 30대 전후에서 가장 높은 빈도를 보임
- 고령층(60대 이상)과 저연령층(10세 이하)은 상대적으로 표본 수가 적음
- 전체 연령 분포 특징
- 전체적으로 20~40대 구간에 승객이 가장 많이 분포
- 특히 30대 전후에서 가장 높은 빈도를 보임
- 고령층(60대 이상)과 저연령층(10세 이하)은 상대적으로 표본 수가 적음
import seaborn as sns
import matplotlib.pyplot as plt
sns.kdeplot( x='Age', data=titanic, hue='Survived', common_norm=False )
plt.show()

- x축: Age (나이)
- y축: Density (확률 밀도)
- 색상(hue):
- Survived = 0 → 사망자
- Survived = 1 → 생존자
- common_norm=False
- 생존자와 사망자의 분포를 각각 독립적으로 정규화
- 두 집단의 분포 형태 자체를 비교하는 데 목적
- 전체적인 분포 특징
- 두 집단 모두 20~40대 구간에 분포의 중심이 위치
- 특히 30대 전후에서 가장 높은 밀도를 보임
- 전체 연령 분포가 오른쪽으로 긴 꼬리를 가지는 우측 편향(right-skewed) 형태
- 생존자 vs 사망자 분포 차이
- 사망자(Survived = 0)
- 30대 전후에서 더 뾰족한 피크(높은 밀도) 형성
- 이는 해당 연령대에 사망자가 집중되어 있음을 의미
- 생존자(Survived = 1)
- 분포가 상대적으로 완만하게 퍼져 있음
- 저연령층(0~10세) 구간에서
사망자 대비 상대적으로 높은 밀도가 관찰됨
- 사망자(Survived = 0)
- 두 분포가 교차하는 구간
- 생존자와 사망자 분포가 여러 연령대에서 겹침
- 이는 나이 하나만으로
- 생존 여부를 명확하게 구분하기 어렵다는 점을 의미
sns.kdeplot(x='Age', data = titanic, hue ='Survived'
, multiple = 'fill')#모든 구간에 대한 100% 비율로 kde plot 그리기
plt.axhline(titanic['Survived'].mean(), color = 'r') #평균선
plt.show()

- x축: Age (나이)
- y축: Density (각 나이 구간에서의 생존/사망 비율 합 = 1)
- 색상(hue):
- Survived = 0 → 사망 비율
- Survived = 1 → 생존 비율
- multiple='fill'
- 각 나이 구간을 100% 기준으로 분해
- 연령대별 생존 비율 비교에 최적화된 시각화
- 빨간 수평선
- 전체 평균 생존율 (약 0.38)
- 저연령층 (약 0~15세)
- 생존 비율이 전체 평균 생존율보다 뚜렷하게 높음
- 어린 승객이 구조 우선순위에 있었음을 시각적으로 확인 가능
- 청·장년층 (약 20~40대)
- 생존 비율이 평균선 이하로 내려가는 구간이 다수 존재
- 특히 30대 전후에서
- 생존 비율이 가장 낮아지는 지점 중 하나가 나타남
- 해당 연령대는
- 전체 승객 비중은 높았으나
- 상대적으로 생존 확률은 낮았음을 의미
- 중·장년층 (약 50~70대)
- 생존 비율이 급격히 감소
- 평균 생존율을 크게 하회
- 고령일수록 생존 가능성이 낮아지는 경향이 분명히 나타남
- 고령 극단 구간 (80세 이상)
- 생존 비율이 다시 급격히 상승
- 다만 해당 구간은
- 표본 수가 매우 적은 영역으로
- 해석에 주의가 필요
- 평균선(빨간선)을 기준으로 한 해석
- 평균선 위 구간
→ 전체 평균보다 생존 가능성이 높은 연령대 - 평균선 아래 구간
→ 상대적으로 생존 가능성이 낮은 연령대
- 평균선 위 구간
이 기준을 통해,
- 단순 분포 비교가 아니라
- 연령대별 생존 위험 구간을 명확히 구분할 수 있다.
EDA에서 한 단계 더 나아가는 지점이라고 느껴졌다.
단변량 → 이변량/ 감각적인 그래프 → 근거 있는 해석/ 코드 작성 → 분석 스토리 구성 이라는 행동을 하며
조금 더 데이터 분석이라는 것에 가까워진 것 같다.
앞으로 남은 BDAI 활동에서도
이런 방식으로 “왜 이런 결과가 나왔는지 설명할 수 있는 분석” 을 계속 연습해보고 싶다.
'BDA' 카테고리의 다른 글
| [BDA] 10주차 머신러닝 모델링 개요 (0) | 2026.01.23 |
|---|---|
| [BDA] 7주차 이변량 분석2 범주형 vs 범주형 (0) | 2025.12.01 |
| [BDA] 6주차 수치형 vs 수치형 (0) | 2025.11.23 |
| [BDA] 5주차 단변량 분석 범주형 (0) | 2025.11.06 |
| [BDA] 4주차 단변량 분석 (1) | 2025.10.13 |