분포 플롯 (histplot, kdeplot)
데이터 분포를 시각화하면 데이터가 어떻게 퍼져 있는지 확인하고, 패턴을 파악하거나 잠재적 이상치를 탐지하는 데 도움이 됩니다.
Seaborn은 이를 위해 두 가지 주요 함수를 제공합니다.
histplot()
: 데이터의 빈도 분포 시각화kdeplot()
: 데이터의 추정 확률 밀도를 곡선으로 시각화
Histplot: 빈도 분포 시각화
histplot()
은 각 구간(bin)마다 데이터가 몇 개 포함되는지 보여주는 히스토그램을 생성합니다.
기본 히스토그램
import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
sns.histplot(data=tips, x="total_bill")
plt.title("총 결제 금액 분포")
plt.show()
핵심 포인트:
x
: 시각화할 변수 지정- X축 구간(bin)별로 데이터 개수 집계
- 막대 높이: 해당 구간에 포함된 관측치 개수
KDEplot: 밀도 추정 시각화
kdeplot()
은 데이터의 추정 확률 밀도를 부드러운 곡선으로 표현합니다.
기본 KDE 플롯
sns.kdeplot(data=tips, x="total_bill")
plt.title("총 결제 금액 KDE")
plt.show()
핵심 포인트:
- KDE: 커널 밀도 추정(Kernel Density Estimate)
- 데이터의 전반적 분포 경향 파악에 유용
histplot()
과 함께 사용하면 더 나은 맥락 제공 가능
히스토그램과 KDE 결합하기
kde=True
옵션을 사용하면 하나의 histplot()
에서 두 가지를 동시에 표시할 수 있습니다.
KDE가 오버레이된 히스토그램
sns.histplot(data=tips, x="total_bill", kde=True)
plt.title("총 결제 금액 분포(KDE 포함)")
plt.show()
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!