04.1 시본 기본 개념 알아보기
import seaborn as sns
sns.get_dataset_names()
시본(seaborn)
- 맷플롯립 기반의 데이터 시각화 라이브러리
- 맷플롯립보다 간편하게 사용, 효과적으로 모양을 다듬을 수 있다.
- 통계 데이터를 시각적으로 표현하는데 적절, 더 높은 수준의 그래프 생성 가능
- 자체 데이터셋이 포함
04.2 여섯 가지 그래프 이해하기
범주형 변수 산점도 그래프
sns.stripplot(x='day', y='tip', hue='sex', data=tips, alpha=0.7, ax=ax1)
sns.swarmplot(x='day', y='tip', hue='sex', data=tips, palette='Set2', alpha=0.7, ax=ax2)
- 범주형 변수와 연속형 변수 간의 관계를 시각화, 데이터 분포 확인
- scatterplot() 함수: 연속형 변수와 연속형 변수의 관계
- stripplot() 함수: 범주형 변수의 분포를 점으로, 주로 하나의 변수에 대한 데이터, 점이 겹칠 수 있음, 밀도 표현 유용
- swarmplot() 함수: 겹치지 않도록 시각화, 중첩되지 않게 나열, 데이터의 분포를 시각적으로 파악
- 연속형 변수: 연속적인 값, 무한히 많은 값, 실수, ex) 온도, 키, 시간
- 범주형 변수: 명목형: 서로 구별되는 범주 ex) 성별, 혈액형 순서형: 순서 또는 등급이 있음 ex) 학력 수준, 만족도
남성이 전반적으로 팁을 더 많이 주는 경향, 주말의 남성 팁이 더 높음.
주말에 팁이 더 높게 나타나는 경향, 남성의 팁 분포가 여성보다 더 넓게 퍼져 있음.
빈도 그래프
sns.countplot(x='time', data=tips, ax=ax1)
sns.countplot(x='time', hue='day', data=tips, palette='Set2', ax=ax2)
- 범주형 변수의 카테고리별 빈도를 막대 그래프로
- countplot() 함수
Dinner에서 팁을 받은 빈도가 더 높다. 특히 Saturday가 상대적으로 다른 날에 비해 높은 빈도.
선형 회귀선이 있는 산점도 그래프
sns.regplot(x='total_bill', y='tip', data=tips, color='blue', scatter_kws={'s': 50, 'alpha': 0.5}, line_kws={'linestyle': '--'}, ax=ax1)
sns.regplot(x='total_bill', y='tip', data=tips, color='blue', scatter_kws={'s': 50, 'alpha': 0.5}, line_kws={'linestyle': '--'}, ax=ax2, fit_reg=False)
- 두 변수 간의 선형 관계 시각화
- 두 변수 간의 추세 확인
- regplot() 함수: fit_reg 매개변수를 False로 지정하면 회귀선을 그리지 않는다.
선형 회귀선을 통해 Total bill 변수와 tip 변수 간에 어느 정도 양의 선형 관계가 있음을 알 수 있다.
선형 회귀선이 없는 그래프는 관계성은 잘 안 보이지만, 데이터 분포에 집중할 때는 오히려 나을 수 있다.
히스토그램과 커널 밀도 추정 그래프
sns.histplot(tips['tip'], bins=30, kde=True, color='skyblue')
- 커널 밀도 추정 그래프: 데이터 분포를 나타냄. 곡선을 사용
- histplot() 함수: kde 매개변수를 True로 지정하면 커널 밀도 추정(KDE) 곡선을 히스토그램 위에 그림
대부분의 팁은 0에서 5사이에 분포
조인트 그래프
sns.jointplot(x='size', y='tip', data=tips, kind='scatter')
- 두 연속형 변수 간의 이변량 분포 표현
- 주로 산점도와 히스토그램으로 함께 시각화
- 데이터 간의 관계 확인
- 이변량: 두변수
- 이변량 분포: 각 변수가 개별적으로 어떻게 분포하는지와 두 변수가 함께 어떻게 변하는지를 함께 고려
- jointplot() 함수
식사를 함께 한 그룹의 인원 수(size)가 커지면 tip이 많아짐
팁의 식사 인원은 양의 상관 관계를 가짐.
관계 그래프
sns.pairplot(data=tips, hue='sex', diag_kind='hist', palette = 'husl')
- 데이터셋의 모든 연속형 변수들 간의 산점도와 각 변수의 히스토그램을 한번에 나타냄
- 데이터의 특성을 빠르게 시각적으로 탐색, 상관 관계 확인하는데 주로 사용
- pairplot() 함수: diag_kind 매개변수를 통해 대각선에 나타날 그래프의 종류 선택
왼쪽 위에서 오른쪽 아래로 가로지르는 방향에 히스토그램을 그리도록 설정.
성별에 따른 산점도를 통해 팁과 다른 변수들 간의 관계 시각적으로 확인
인당 지불한 총 식사 비용이 높으면 더 많은 팁을 주는 경향
'데이터 분석 > 파이썬 데이터 분석가 되기+챗GPT' 카테고리의 다른 글
05장 웹 데이터 수집 라이브러리, 뷰티풀수프 (0) | 2025.02.16 |
---|---|
4장 연습문제 (0) | 2025.02.08 |
3장 연습문제 (0) | 2025.01.25 |
03장 데이터 시각화 라이브러리, 맷플롯립 (0) | 2025.01.25 |
2장 연습문제 (0) | 2025.01.20 |