seaborn을 이용한 tips 데이터 시각화
일반적으로 많이 사용하는 그래프 형태
그래프 | x, y 변수 형태 | 그래프 설명 |
kdeplot | 연속형 변수 | 연속형 변수의 밀도 분포 형태 시각화 |
histplot | 수치형 변수 | 수치형 변수의 빈도 분포(count 값) 시각화 |
countplot | 범주형변수 | 범주형 변수의 빈도(count 값) 시각화 |
barplot | 범주형 변수 + 수치형 변수 | 범주별 수치형 변수의 평균 시각화 |
boxplot | 범주형 변수 + 수치형 변수 | 범주별 수치형 변수의 분포(사분위수, 이상치 등) 시각화 |
violinplot | 범주형 변수 + 수치형 변수 | boxplot + 밀도 분포 시각화 |
catplot | 범주형 변수 + 수치형 변수 | 범주형 변수에 따른 수치형 변수의 분포 시각화 |
scatterplot | 연속형 변수 2개 | 두 연속형 변수 간의 관계(상관성) 시각화 |
lmplot | 연속형 변수 2개 | scatterplot + 회귀선 시각화 |
jointplot | 연속형 변수 2개 | scatterplot + 각 변수의 분포 시각화 |
pairplot | 여러 수치형 변수들 별 산점도 + 분포 시각화 | |
heatmap | 수치형 변수 간 상관관계 또는 행렬 형태의 데이터 시각화 |
필요 라이브러리 임포트
import seaborn as sns
seaborn에서 지원해주는 tips 데이터를 사용
tips = sns.load_dataset('tips')
데이터 타입 확인
tips.info()
범주형: sex, smoker, day, time
연속형: total_bill, tip
이산형: size
size 컬럼은 이산형이지만 1~6까지 유한한 정수이므로, 범주형처럼 다룰 수 있음
1. kde plot
연속형 변수의 밀도 분포 형태 시각화
sns.kdeplot(x='연속형 변수', data=)
2. hist plot
수치형 변수의 빈도 분포(count 값) 시각화
sns.histplot(x='수치형 변수', data=)
kde=True로 했을 때
이산형 변수 넣었을 때
3. count plot
범주형 변수의 빈도(count 값) 시각화
범주형처럼 쓰이는 수치형 변수에도 가능
4. bar plot
범주별 수치형 변수의 평균 시각화
sns.barplot(x='범주형 변수', y='연속형 변수', data=)
5. box plot
범주별 수치형 변수의 분포(사분위수, 이상치 등) 시각화
sns.boxplot(x='범주형 변수', y='수치형 변수', data=)
6. violin plot
boxplot + 밀도 분포 시각화
sns.violinplot(x='범주형 변수', y='수치형 변수', data=)
7. cat plot
범주형 변수에 따른 수치형 변수의 분포 시각화(기본은 산점도)
sns.catplot(x='범주형 변수', y='수치형 변수', data=)
kind 파라미터 추가
box, violin, bar 등이 쓰임
row, col 파라미터 추가
row, col 값에 따라 산점도 보여줌
8. scatter plot
두 연속형 변수 간의 관계(상관성) 시각화
sns.scatterplot(x='연속형 변수', y='연속형 변수', data=)
9. lm plot
scatterplot + 회귀선 시각화
sns.lmplot(x='연속형 변수', y='연속형 변수', data=)
10. joint plot
scatterplot + 각 변수의 분포 시각화
sns.jointplot(x='연속형 변수', y='연속형 변수', data=)
11. pair plot
여러 수치형 변수들 별 산점도 + 분포 시각화(산점도, 히스토그램/KDE)
sns.pairplot(data=)
hue 파라미터 추가
범주형 변수으로 구분하여 시각화 가능
12. heatmap
수치형 변수 간 상관관계 또는 행렬 형태의 데이터 시각화
sns.heatmap(data=)
수치형 변수의 상관관계 구하기
상관관계 행렬 히트맵으로 변환
annot=True 했을 때 숫자도 나타남