카테고리 없음

seaborn을 이용한 tips 데이터 시각화

왕초보코딩러 2025. 6. 19. 18:46
728x90

 

일반적으로 많이 사용하는 그래프 형태

그래프 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=)

 

 

sex(성별)별 total_bill(총 식사 금액)의 평균

 

sex(성별)별 size(식사 인원수)의 평균


5. box plot

범주별 수치형 변수의 분포(사분위수, 이상치 등) 시각화

sns.boxplot(x='범주형 변수', y='수치형 변수', data=)

 

 

기본값: 수치형 변수들의 분포 시각화

 

sex(성별)별 tip(팁)의 평균

 

 

size(식사 인원수)별 tip(팁)의 평균


6. violin plot

boxplot + 밀도 분포 시각화

sns.violinplot(x='범주형 변수', y='수치형 변수', data=)

 

기본값: 수치형 변수들의 분포 시각화
sex(성별)별 tip(팁)의 평균

 

size(식사 인원수)별 tip(팁)의 평균


7. cat plot

범주형 변수에 따른 수치형 변수의 분포 시각화(기본은 산점도)

sns.catplot(x='범주형 변수', y='수치형 변수', data=)

 

sex(성별)별 total_bill(총 식사 금액)의 산점도

 

kind 파라미터 추가

box, violin, bar 등이 쓰임

sex(성별)별 total_bill(총 식사 금액)의 바이올린 플롯

 

row, col 파라미터 추가

row, col 값에 따라 산점도 보여줌

sex(성별)에 따른 total_bill(총 식사 금액)의 산점도를 size(식사 인원수)별로 서브 플롯에 나눔

 

 


8. scatter plot

 연속형 변수 간의 관계(상관성) 시각화

sns.scatterplot(x='연속형 변수', y='연속형 변수', data=)

total_bill(총 식사 금액)과 tip(팁)의 상관 관계


9. lm plot

scatterplot + 회귀선 시각화

sns.lmplot(x='연속형 변수', y='연속형 변수', data=)

total_bill(총 식사 금액)과 tip(팁)의 상관 관계(회귀선과 함께)


10. joint plot

scatterplot + 각 변수의 분포 시각화

sns.jointplot(x='연속형 변수', y='연속형 변수', data=)

 


11. pair plot

여러 수치형 변수들 별 산점도 + 분포 시각화(산점도, 히스토그램/KDE)

sns.pairplot(data=)

 

 

hue 파라미터 추가

범주형 변수으로 구분하여 시각화 가능


12. heatmap

수치형 변수 간 상관관계 또는 행렬 형태의 데이터 시각화

sns.heatmap(data=)

 

수치형 변수의 상관관계 구하기

 

상관관계 행렬 히트맵으로 변환

 

annot=True 했을 때 숫자도 나타남