Histogram과 Boxplot
1. 히스토그램 (Histogram)
1) 정의
- 데이터를 일정한 구간(빈, bin)으로 나누고 각 구간에 포함된 데이터 개수를 시각화하는 막대 그래프
- 데이터의 빈도를 중심으로 분포를 확인할 수 있음
2) 특징
- x축은 데이터의 값 또는 값의 범위를 나타냄
- y축은 각 구간(bin)에 포함된 데이터 개수(빈도)를 나타냄
- 특정 값에 데이터가 몰려 있는지, 또는 고르게 분포되어 있는지 확인 가능
3) 장단점
- 장점
- 데이터의 전체 분포를 직관적으로 파악 가능
- 대량의 데이터를 요약해서 보여줌
- 단점
- 빈(bin)의 크기와 개수에 따라 결과가 달라질 수 있음
- 개별 데이터의 세부 정보를 확인할 수 없음
4) 히스토그램과 막대 그래프의 차이점
구분 | 히스토그램 | 막대 그래프 |
---|---|---|
데이터 유형 | 연속형 데이터 | 범주형 데이터 |
막대 간격 | 막대가 연결되어 있음 | 막대 사이에 간격이 있음 |
용도 | 데이터의 분포 확인 | 데이터의 비교 |
x축 | 값의 범위 | 데이터의 이름 또는 범주 |
y축 | 값의 빈도수 | 값의 크기 또는 수량 |
- 히스토그램은 연속적인 데이터를 특정 구간으로 나누어 표시(예: 키, 몸무게, 나이).
- 막대 그래프는 카테고리 데이터(예: 제품 A, B, C의 매출 비교)를 표시할 때 적합.
5) 예제 코드
import matplotlib.pyplot as plt
import seaborn as sns
# 예제 데이터
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
# 히스토그램
plt.figure(figsize=(7, 4))
sns.histplot(data, bins=5, kde=False)
plt.title('히스토그램')
plt.xlabel('값')
plt.ylabel('빈도')
plt.show()
2. 박스 플롯 (Boxplot)
1) 정의
- 데이터의 요약 통계량(중앙값, 사분위수 등)을 시각화하며 분포와 이상치를 효과적으로 보여주는 그래프
- 박스는 1사분위수(Q1)와 3사분위수(Q3) 사이를 나타내고, 중앙선은 중앙값(Median)을 의미
- 수염(whisker)은 IQR(Interquartile Range) 내의 데이터를 나타냄
- 이상치는 수염 밖의 점으로 표시
2) 특징
- 데이터의 요약 통계량을 시각적으로 표현
- 이상치와 분포의 대칭성을 한눈에 파악 가능
3) 장단점
- 장점
- 데이터의 주요 통계 정보(중앙값, 사분위수, 이상치 등)를 명확히 보여줌
- 분포의 대칭성 여부를 확인하기 용이
- 단점
- 데이터의 빈도를 직접적으로 알 수 없음
- 분포의 세부적인 모양은 덜 보여줌
4) 예제 코드
plt.figure(figsize=(7, 4))
sns.boxplot(data=data)
plt.title('박스 플롯')
plt.xlabel('데이터')
plt.show()
3. 히스토그램과 박스 플롯 비교
특징 | 히스토그램 | 박스 플롯 |
---|---|---|
목적 | 데이터 분포와 빈도 확인 | 데이터의 요약 통계량 및 이상치 파악 |
x축 | 데이터 값 또는 값의 범위 | 단일 축 (데이터의 그룹이나 이름) |
y축 | 각 값 또는 범위의 빈도 | 없음 (데이터 통계 정보 중심) |
분포 확인 | 데이터 분포의 모양과 밀집된 영역 확인 | 중앙값, 범위 및 이상치 확인 |
이상치 표시 | 직접적으로 표시하지 않음 | 이상치를 명확히 표시 |